CPU의 작동 원리 [컴퓨터 구조]

이름이름·2023년 8월 8일
0

컴퓨터 구조

목록 보기
6/6

ALU

기억을 되살려 보면

  • CPU메모리에 저장된 저장된 명령어를 읽어 들이고 해석하고 실행하는 장치 이고

CPU내부에는 아래와 같은 부품들이 존재합니다.

  • 계산을 담당하는 : ALU
  • 명령어를 읽어 들이고 해석하는 : 제어장치
  • 작은 임시 저장 장치 : 레지스터

ALU는 레지스터를 통해 피연산자를 받아들이고
제어장치로부터 수행할 연산을 알려주는 제어신호를 받아들입니다.

ALU가 연산을 통해 결과를 도출해내면 그 결과값은 일시적으로 레지스터에 저장됩니다.
ALU가 연산할 때마다 결과값을 메모리에 저장한다면 CPU는 메모리에 자주 접근하게 되고 이는 CPU가 프로그램 실행 속도를 늦출 수 있기 때문입니다.

플래그

ALU는 연산 결과값 외에도 플래그라는 정보를 내보냅니다.
이 정보는 '방금의 결과값은 음수다' 같은 거나 '방금의 결과는 결과를 담을 레지스터보다 크다'와 같은 정보들입니다.
다양한 플래그 정보들이 존재합니다.

그리고 이 플래그는 플래그 레지스터에 저장됩니다.

이런식으로 플래그 레지스터에 해당 플래그가 1이 되어있으면 그 해당하는 정보를 나타낸다고 볼 수 있습니다.

제어장치

제어장치는 제어 신호를 내보내고 명령어를 해석하는 부품입니다.
제어 신호는 컴퓨터 부품들을 관리하고 작동시키기 위한 일종의 전기 신호 입니다.

  1. 제어장치는 클럭 신호를 받아들입니다.
  • 클럭 신호에 맞춰 한 레지스터에서 다른 레지스터로 이동되거나
    ALU에서 연산이 수행되거나
    CPU가 메모리에 저장된 명령어를 읽어들입니다.
  1. 해석해야할 명령어를 받아들입니다.
  • CPU가 해석해야할 명령어는 명령어 레지스터라는 특별한 레지스터에 저장됩니다.
    제어장치는 이 명령어 레지스터로부터 해석해야할 명령어를 받아들이고 해석한 뒤 제어 신호를 발생시켜 컴퓨터 부품들에게 수행해야 할 내용을 알려줍니다.
  1. 제어장치는 플래그 레지스터 속 플래그 값을 받아들입니다.
  • ALU가 만든 결과에 대한 추가 정보인 플래그 받아들이고 참고하여 제어 신호르 발생시킵니다.
  1. 제어장치는 시스템 버스, 그 중에서 제어 버스로 전달된 제어 신호를 받아들입니다.
  • 제어신호는 CPU뿐만 아니라 입출력장치를 비롯한 CPU 외부 장치도 발생시킬 수 있습니다.
    제어장치는 제어 버스를 통해 외부로부터 전달된 제어 신호를 받아들이기도 합니다.

제어장치가 메모리에 값을 읽거나 쓰고 싶으면 메모리로 제어 신호를 보내고 입출력장치의 값을 읽거나 새로운 값을 쓰고 싶으면 입출력장치로 제어 신호를 보냅니다.

레지스터

프로그램 속 명령어와 데이터는 실행 전후로 반드시 레지스터에 저장됩니다.
각 레지스터들은 저마다의 역할이 있고 그에 걸맞는 내용을 저장합니다.

profile
공부 정리

0개의 댓글