CPU 작동원리

Ju_Nik_e·2023년 6월 4일
0

혼공컴운

목록 보기
3/3

ALU와 제어장치

ALU

  • 레지스터를 통해 피연산자를 받아들이고, 제어장치로부터 수행할 연산을 알려주는 제어신호를 받아들여서 다양한 연산을 수행함

  • 연산 수행의 결과를 일시적으로 레지스터에 저장시킴(CPU가 직접 메모리에 접근하면 속도가 느려지기 때문)
    -> 계산 결과와 플래그도 내보낸다.

  • 플래그 : 연산 결과에 대한 추가적인 정보로,
    - 음수인지 양수인지를 구분하는 부호 플래그,
    - 연산 결과가 레지스트보다 크다고 알리는 오버플로그 플래그
    등이 있다.

  • 플래그들은 플래그 레지스터에 저장되며, 이 레지스터를 통해 연산결과의 추가정보를 얻을 수 있게 된다.

제어장치

  • 제어장치 : 제어 신호를 내보내고, 명령어를 해석하는 부품
  • 제어신호 : 컴퓨터 부품들을 관리하고 작동시키는 일종의 전기 신호

제어장치가 받아들이는 정보

  1. 클럭(clock) 신호
    컴퓨터의 시간단위, 컴퓨터의 모든 부품이 일정 클럭 신호주기에 맞춰 작동함.
  2. 해석해야 할 명령어
    명령어 레지스터 로부터 해석할 명령어를 받아들이고 해석한 뒤, 제어 신호를 발생시켜 컴퓨터 부품들을 작동시킴
  3. 플래그 값
    플래그 레지스터로부터 플래그 값을 받아들여 제어 신호를 발생시킴
  4. 제어 신호
    제어 버스(시스템 버스 중 하나)로부터 제어 신호를 받아들임

제어장치가 내보내는 정보

  1. CPU 외부에 전달하는 제어신호
    == 제어버스를 통해 제어 신호를 내보내는 것, 메모리에 전달하는 제어 신호입출력장치에 전달하는 제어신호가 있음
  2. CPU 내부에 전달하는 제어신호
    1) ALU에 전달하는 제어 신호(수행할 연산을 지시)와 2) 레지스터에 전달하는 제어 신호(레지스터 간 데이터 이동 o r 리지스터에 저장된 명령어 해석)가 있음

레지스터

명령어와 데이터는 실행 전후로 반드시 레지스터에 저장됨
-> 레지스터에 저장된 값만 잘 관찰해도 프로그램의 실행 흐름을 파악할 수 있음

반드시 알아야할 레지스터의 종류

1. 프로그램 카운터(PC)

메모리에서 가져올 명령어의 주소, 즉 메모리에서 읽어들일 명령어의 주소를 저장2

2. 명령어 레지스터(IR)

해석할 명령어, 즉 방금 메모리에서 읽어들인 명령어를 저장

3. 메모리 주소 레지스터(MAR)

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

4. 메모리 버퍼 레지스터(MBR)

메모리와 주고받을 값(데이터, 명령어)을 저장, 메모리에 쓰고 싶은 값이나 전달받은 값(데이터 버스로 주고받을 값)은 이 레지스터를 거친다.

0개의 댓글