CPU

모르는개산책·2024년 2월 26일

혼공

목록 보기
1/4

비전공자로서 컴퓨터 구조는 미로나 마찬가지다.
책에는 아주 간단하게만 나와있는 CPU word size가 이해되지 않아 천천히 찾아보고 이해했다.

CPU의 구조

  1. ALU(산술논리연산장치)

  2. CU(Control Unit, 제어장치)

  3. 레지스터

    1) 프로그램 카운터(PC, Program Counter) == 명령어 포인터

    메모리에서 가져올 명령어의 주소를 저장

    2) 명령어 레지스터(IR, Instruction Register)

    메모리에서 읽어온 명령어를 저장

    3) 메모리 주소 레지스터(MAR, Memory Address Register)

    메모리의 주소를 저장
    CPU가 읽어 들이고자 하는 주소 값을 주소 버스로 보낼 때 메모리 주소 레지스터를 거침

    4) 메모리 버퍼 레지스터(MBR, Memory Buffer Register)

    메모리와 주고 받은 데이터나 명령어을 저장

    5) 범용 레지스터(general purpose register)

    자유롭게 사용할 수 잇는 레지스터(데이터와 주소 모두 저장 가능)

    6) 플래그 레지스터(flag register)

    플래그(ALU 연산 결과에 따른 부가적인 정보)를 저장

    5) 스택 포인터(stack pointer)

    스택에 마지막으로 저장한 값의 위치를 저장

    8) 베이스 레지스터(base register)

    베이스 레지스터 주소 지정 방식에서 사용하는 '기준 주소를 저장

    ※ 출처 : https://velog.io/@hyunji015/컴퓨터구조-4-ALU-제어장치-레지스터


32bit vs 64bit

  • 32bit, 64bit는 word size를 말함. (word : 컴퓨터의 데이터 기본 처리 단위)
  • 프로그램 카운터(명령어 주소 저장 레지스터) 사이즈도 word size와 동일함.
  • 32bit CPU의 프로그램 카운터(32bit)가 저장할 수 있는 주소의 갯수는 2^32개임.
  • 메모리는 1byte(=8bit)를 묶어서 하나의 주소를 할당함.
  • 그러므로 32bit 프로그램 카운터가 저장할 수 있는 주소의 메모리 총 크기는 2^32 x 8bit = 4GB(4×1024×1024×1024×8 bit)임.

⇒ 따라서 32bit CPU는 프로그램 카운터에 4GB 메모리의 주소밖에 저장할 수 없으므로 4GB 이상의 메모리는 사용하지 못함

※ 출처 : https://eine.tistory.com/entry/64비트-32비트-CPU와-운영체제-에-대하여

0개의 댓글