[스터디] 컴퓨터의 구조와 성능 향상

Jun_k·2026년 6월 20일

CS

목록 보기
14/18

CPU 비트 수와 버스 대역폭

CPU의 처리 단위: 워드(Word)와 비트(Bit)

  • CPU가 한 번에 처리할 수 있는 데이터의 최대 크기를 워드라고 한다.

  • 32비트 CPU의 1워드 = 32비트 (4 Byte)

  • 64비트 CPU의 1워드 = 64비트 (8 Byte)

  • 64비트 CPU는 32비트 CPU보다 한 번에 2배 많은 데이터를
    처리할 수 있어 연산 효율이 더 높다.


대역폭과 버스의 구조

  • 책에서는 CPU의 워드 크기와 버스의 대역폭은 항상 동일하다고,
    나와있는데 약간의 오류가 있는 것 같다.

  • 실제 구조: 데이터 버스의 폭인 대역폭은 CPU 워드 크기와 반드시
    일치하지는 않는데 예를 들면 32비트 CPU인 인텔 80486은
    32비트 데이터 버스를 가졌지만

    펜티엄 CPU는 내부적으로 32비트
    아키텍처이면서도 외부 데이터 버스는 64비트였다.
    현대의 64비트 CPU 시스템도 대용량 데이터 전송을 위해
    메모리 버스 대역폭을 128비트 이상으로 확장하여 사용한다.


아키텍처, 운영체제(OS)의 호환성

  • 명칭의 유래: 인텔 8086 프로세서 시리즈(80186, 80286, 80386...)에서 유래하여
    인텔 계열 32비트 아키텍처를 x86이라 부른다.
    이후 AMD가 x86을 64비트로 확장한 표준을 만들었고, 이를 x64라고 부른다.

  • 물론 64비트 CPU는 하위 호환성을 지원하므로 32비트 OS도 설치 및 구동이 가능하다만
    CPU 성능을 온전히 사용하기 위해서는 64비트 OS를 권장한다.)


윈도우(Windows)의 응용 프로그램 관리

구분64비트 응용 프로그램32비트 응용 프로그램
설치 폴더C:\Program FilesC:\Program Files (x86)
실행 방식CPU가 64비트 모드로 직접 실행WOW64 호환 서브시스템을 거쳐 실행 (API 호출 및 경로 변환 담당)

JVM 환경에서의 32비트 -> 64비트 변화

32비트는 4GB 할당이 한계치였다.

  • 32비트 시스템에서 메모리 주소는 32개의 비트(0과 1)로 표현된다.

  • 32비트로 표현할 수 있는 주소 개수 = 2³² = 약 43억 개

  • 주소 1개당 1바이트(byte)를 가리키므로 → 2³² 바이트 = 메모리 용량 단위로 환산하면
    4GB가 표현 가능한 최대치이다.

  • 즉, 아무리 RAM이 많이 꽂혀 있어도 "주소를 적을 수 있는 칸"이 32개뿐이라
    4GB를 넘는 주소는 애초에 표현 자체가 불가능하다.

  • JVM이 객체를 저장하는 힙도 결국 메모리 주소 공간 안에 있어야 한다.
    32비트 환경에서는 OS, JVM 자체 코드 등이 주소 공간 일부를 이미 사용하므로
    실제 자바 애플리케이션이 쓸 수 있는 힙은 4GB보다도 더 작은 경우가 많았다.

64비트로 바뀐 뒤 변화

  • 주소 비트 수가 64개로 늘어남 → 표현 가능한 주소 = 2⁶⁴ (사실상 천문학적으로 큰 수)

  • 따라서 이론적으로는 4GB라는 벽 자체가 사라진다.

  • 실제로 -Xmx 옵션으로 힙 크기를 수십~수백 GB까지 설정 가능
    (물리적 RAM과 OS 한계 내에서)


HBM

  • HBM은 High Bandwidth Memory의 약자로
    말 그대로 데이터를 주고받는 통로가 엄청나게 넓은 '고대역폭 휘발성 메모리'이다.

  • 초고속 데이터 처리가 필수적인 AI(인공지능) 서버와
    고성능 그래픽카드에 필수로 사용된다.

기존 메모리(DDR) vs HBM 구조 비교

  • 둘의 차이는 메모리를 배열하는 차원과 데이터를 나르는 통로의 수에 있다.

기존 DDR 메모리 평면 주택 (2D)

  • 구조: 메모리 칩을 바닥에 옆으로 나란히 붙이는 평면 방식

  • 1층짜리 단독주택들을 옆으로 이어 붙여 마을을 만든 형태이다.
    땅을 많이 차지하고, 당연히 옆으로 쭉 이어 붙이니 그만큼 거리 또한
    칩과 CPU 사이의 거리가 멀어져 데이터를 주고받는 데 시간이 더 걸린다.

HBM 메모리: 아파트 (3D)

  • 구조: 메모리 칩을 위로 차곡차곡 쌓아 올린 3차원 입체 구조

  • 똑같은 땅에 고층 아파트를 지은 형태이다.
    공간을 적게 차지하며 CPU 바로 옆에 붙일 수 있어서
    데이터 이동 거리가 극단적으로 짧아진다.

그럼 HBM을 빠르게 만든 핵심 기술은 뭔가?

  • HBM이 압도적으로 빠른 이유는 칩을 수직으로 뚫어 연결한
    TSV(관통 실리콘 비아) 기술 덕분이다.

  • HBM은 D램을 수직으로 여러 층으로 쌓고, 이 수직으로 쌓인
    칩들 사이에 수천 개의 미세한 구멍을 뚫고, 이를 수직 전극(TSV)으로
    연결하여 대규모 데이터가 한 번에 이동할 수 있는
    넓은 통로 즉 대역폭을 만든 것이다.

    비유로 정리하면 각 층을 연결하는 초고속 엘리베이터 통로를 뚫은 것이다.

    기존 DDR은 건물에 엘리베이터가 32 ~ 64개뿐이다.
    입주민(데이터)이 아무리 많아도 이 좁은 개수의 통로로만
    오르락내리락 해야 돼서 줄을 서며 기다려야 한다.

    HBM은 같은 건물에 엘리베이터를 1,024개~8,192개 이상 뚫어놓은 것과 같다.
    통로 개수 자체가 압도적으로 많아서, 한 번에 엄청난 인원을 동시에 실어 나를 수 있다.


마스터 부트 레코드(MBR)와 부팅 과정

  • MBR (Master Boot Record): 컴퓨터가 켜진 후 저장장치(HDD/SSD)에서
    가장 먼저 읽는 첫 번째 섹터(공간)이다.
    (부팅에 필요한 이정표 역할을 한다.)

  • 바이오스 (BIOS): 메인보드에 내장된 기본 프로그램으로
    컴퓨터 전원이 켜지면 하드웨어(CPU, 메모리 등)를 점검하고,
    MBR을 찾아 실행시키는 역할을 한다.

  • 부트로더 (Bootloader): MBR에 저장되어 있는 작은 프로그램이다.
    하드디스크에 있는 운영체제(OS)를 찾아서
    컴퓨터 메모리(RAM)에 올려 실행시켜 주는 안내원 같은 역할을 한다.

컴퓨터 부팅의 흐름

[전원 ON] ➔ [BIOS가 하드웨어 점검] ➔ [MBR 방문 및 부트로더 실행] 
➔ [OS를 메모리에 탑재] ➔ [부팅 완료]

왜 공격 대상이 되는가? (MBR과 보안)

  • 컴퓨터가 켜지자마자 가장 먼저 실행되는 곳이 MBR이기 때문에
    바이러스가 이곳을 장악하거나 파괴하면 운영체제 자체가 아예 켜지지 않는 상태가 된다.

  • 그래서 일부 컴퓨터는 바이러스가 MBR을 마음대로 수정하지 못하도록
    차단하는 'MBR 수정 방지 옵션'을 제공한다.

  • 이 보호 옵션을 켜두면 바이러스뿐만 아니라 정상적인 운영체제
    설치 프로그램도 MBR에 접근할 수 없기에
    따라서 OS를 새로 설치할 때는 반드시 이 보호 옵션을 일시적으로 해제해야
    새로운 부트로더를 정상적으로 저장할 수 있다.

profile
개발을 즐겨보자.

0개의 댓글