컴퓨터 구조 #2. CPU의 구성

zlwmxkdla·2023년 3월 17일

CPU의 구성

CPU는 ALU(계산 장치), 레지스터, 제어 장치로 구성되어 있다.

  • 위의 그림에서 나오는 메모리는 cpu에 포함되어있다는 의미는 아니다. 시스템 버스를 통해 연결되어있는 것을 표현하고자 같이 나타내었다.

  • Memory Unit에 4096X16이라고 씌어있다. 이 때 16은 word, 즉 사이즈를 의미한다. 1바이트는 8비트인데 1word가 몇 비트인지는 컴퓨터마다 다르다. 운영체제에서 나오는 instruction은 code와 text와 모두 동의어로 볼 수 있는데, 1word가 16비트라는 것은 하나의 데이터나 하나의 명령이 16비트라는 소리이다.
    -->즉, 4096X16에서의 16은 저장하는 데이터 혹은 명령어의 용량이다. 따라서, Memory Unit과 동일한 길이의 레지스터에는 데이터나 명령어가 저장된다.

  • 레지스터는 플립플롭(=비트의 정보를 보관, 유지할 수 있는 회로)으로, 플립플롭은 gate로 구성되어 있고 즉, 레지스터는 gate로 구성되어 있다. 즉, CPU내부의 모든 것은 gate로 이루어져 있고 gate는 NAND나 NOR로 이루어져 있다.

레지스터의 종류와 목적

  • PC(Program Counter)
    PC는 앞으로 실행할 프로그램(=명령어)의 메모리 주소를 저장한다. 하지만, 위의 그림에서 보면 PC에서 메모리로 연결 경로가 없어 PC에 있는 명령어 주소를 메모리로 보낼 수 없는데, 따라서 이를 AR로 보낸 후 메모리로 보내게 된다.

  • AR (Address Register)
    AR은 주소를 저장하기 위한 공간이다. AR은 데이터의 주소를 저장한다. 또한, PC로부터 받은 명령어의 주소도 갖고 있다.

  • IR(Instruction Register)
    IR에는 실행할 명령어가 저장된다.

  • DR(Data Register)
    DR에는 실행할 데이터가 저장된다. 또한 두 번째 operand(오퍼랜드)를 갖는다.

    ####명령어는 연산코드와 오퍼랜드로 구성되어 있다. 연산 코드는 CPU가 실행할 수 있는 연산이며, 오퍼랜드는 연산이 이루어지는 대상의 데이터 혹은 데이터의 주소이다.

  • AC(Accumulator)
    AC는 연산을 수행하는 데이터를 저장하고 연산 결과 또한 갖고 있으며 첫 번째 operand(오퍼랜드)를 갖는다.


    모든 레지스터는 3가지 기능을 갖는다.
    -> 1) LD : 플립플롭의 속성으로 바깥의 데이터가 안으로 들어온다.
    2) INR : 전압을 가하면 레지스터의 값이 1 증가한다.
    3) CLR : 데이터를 리셋한다.
    하지만!!! 명령어를 함부로 바꾸면 안되므로 IR에는 INR과 CPU가 없다.

profile
개발 공부 기록

0개의 댓글