CS - 컴퓨터 구조(2)

wlsdnboy·2022년 2월 12일
0

오늘 알아볼건 컴퓨터의 두뇌 중앙처리장치이다.

오늘 알아볼 건 컴퓨터의 두뇌 중앙처리장치이다.

앞서 배웠다시피 중앙처리장치는 3가지로 나눌 수 있는데 ALU, 제어장치, 레지스터이다.
우선 ALU에 대해서 알아보자.

- 산술연산장치(ALU)

연산 장치는 레지스터에서 데이터를 가지고 와서 연산 결과를 다시 레지스터로 보낸다.

연산장치의 구성요소는 누산기, 가산기, 데이터 레지스터, 상태 레지스터로 구성되어 있다.

  • 누산기 - 연산 결과를 기억한다
  • 가산기 - 누산기와 레지스터에 데이터를 연산하여 결과를 누산기에 저장한다
  • 데이터 레지스터 - 주 기억 장치로부터 데이터를 보관한다
  • 상태 레지스터 - 오버플로, 인터럽트 발생 여부 등 상태 정보 저장한다

- 제어장치

주 기억장치에서 명령어를 꺼내 해석한 후 결과를 해당하는 장치에 제어 신호를 보낸다.

- 레지스터

레지스터는 처리할 명령어나 연산의 결과, 주소 등을 일시적으로 저장하는 고속 임시 기억 장소이다.
메모리 중에서 속도가 가장 빠르며 가장 최근에 내용 밖에 기억하지 못한다.
레지스터는 연산 속도를 향상하기 위해 사용한다.

레지스터의 종류는 프로그램 카운터(PC), 명령 레지스터(IR), 누산기(AC) , 메모리 주소 레지스터(MAR), 메모리 버퍼 레지스터(MBR) 등으로 이루어져 있다

  • 프로그램 카운터 - 앞으로 실행할 명령어의 주소를 저장한다
  • 명령 레지스터 - 현재 실행 중인 명령어를 저장한다
  • 누산기 - 연산 결과를 임시적으로 저장한다
  • 메모리 주소 레지스터 - 데이터를 읽거나 쓰려는 메모리의 주소를 저장한다
  • 메모리 버퍼 레지스터 - 메모리를 읽거나 쓰려는 데이터 또는 명령어를 일시적으로 저장한다

- CPU의 동작 과정

  • 주 기억 장치는 입출력장치에서 입력받은 데이터나 보조기억장치에서 저장된 프로그램을 읽어옴
  • CPU는 프로그램을 실행하기 위해 주 기억장치에 저장된 프로그램 명령어와 데이터를 읽어와 처리하고 결과를 다시 주기억장치에 저장
  • 주 기억장치는 처리 결과를 보조기억장치에 저장하거나 출력장치로 보냄
  • 제어장치는 1~3 과정에서 명령어가 순서대로 실행되도록 각 장치를 제어한다.

- 명령어 사이클

프로그램을 실행하기 위해 주 기억장치에서 명령어를 가져오고 해독하는 과정이다.

명령어 사이클은 크게 4가지인데, 인출 사이클(Fetch Cycle), 실행 사이클(Execute Cycle), 간접 사이클(Indirect Cycle), 인터럽트 사이클(Interrupt Cycle)이다

  • 인출 사이클 - 주 기억장치로부터 수행할 명령어를 순차적으로 CPU로 가져오는 단계이다.
  • 간접 사이클 - 메모리를 참조할 때 간접 주소 방식을 사용하는 경우에 실행한다.
  • 실행 사이클 - 명령어의 코드를 해독하고 제어신호를 발생시키고 명령어를 실행한다.
  • 인터럽트 사이클 - 프로그램을 실행할 때, 예외 상황이 발생하여 처리가 필요한 경우에 마이크로프로세서에게 알려 처리할 수 있도록 하는 것이다.

- 명령어 인출 사이클과 실행 사이클의 과정

  • 인출 사이클의 과정
    명령어가 저장된 주소 지정
    t1 : MAR <- PC : PC에 저장된 명령어 주소를 MAR로 전송
    MAR 번지 메모리 명령어를 MBR로 전송, PC가 다음번 명령어 주소를 가리키도록 준비
    t2 : MBR <- M[MAR], PC <- PC + n
    인출한 명령어를 IR로 전송
    t3 : IR <- MBR

  • 실행 사이클의 과정
    t0 : MAR ← IR(Addr)
    t1 : MBR ← M[MAR]
    t2 : AC ← AC + MBR

profile
초보 개발자

0개의 댓글