컴퓨터 구조 - CPU 작동원리

고태희·2022년 2월 9일
0

CS

목록 보기
3/20

CPU는 크게 연산장치(ALU) , 제어장치(CU) , 레지스터 이렇게 3가지로 구성된다.

Register

  • CPU의 속도와 비슷한 고속의 기억장치.
  • 데이터, 상태 , 명령어, 주소 등을 임시저장
  • 목적에 따라 범용 레지스터 / 특수목적 레지스터로 구분된다.

특수목적 레지스터

  • MAR(메모리주소 레지스터) : 읽기/쓰기를 수행할 주기억장치 주소저장
  • PC(프로그램 카운터) : 다음에 수행할 명령어 주소 저장
  • IR(명령어 레지스터) : 현재 실행중인 명령어 저장
  • MBR(메모리 버퍼 레지스터) : 주기억장치에서 읽어온 데이터 or 저장할 데이터 임시저장
  • AC(누산기) : 연산 결과 임시 저장

CPU 동작 과정

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

명령어 세트

CPU가 실행할 명령어의 집합

구성

  • 연산코드
    실행하는 연산의 종류에 따라 네가지 기능으로 나뉜다.
    • 연산기능 : 산술논리연산 수행
    • 제어기능 : 명령어의 실행 순서 제어
    • 데이터 전달 기능
    • 입출력 기능
  • 피연산자
    • 주소 : 기억장치 혹은 레지스터의 주소가 저장됨
    • 숫자/문자
    • 논리 데이터



명령어 사이클

CPU가 주기억장치에서 하나의 명령어를 읽어와 수행하는 일련의 과정

명령어 사이클에는 인출 / 실행 / 간접 / 인터럽트 가 있지만 간접과 인터럽트는 필수적이지 않다.

인출과 실행 사이클에 의한 명령어 처리 과정

  • 인출
  1. PC에 저장된 주소를 MAR로 전달
  2. 저장된 내용을 토대로 주기억장치의 해당주소에서 명령어 인출
  3. 인출한 명령어를 MBR에 저장
  4. 다음 명령어를 인출하기 위해 PC값 증가 ⭐️⭐️⭐️
  5. MBR에 저장된 내용을 IR에 전달

이를 정리하면,

T0 : MAR <- PC
T1 : MBR <- M[MAR]
T2 : IR <- MBR
  • 실행
T0 : MAR <- IR[Addr]
T1 : MBR <- M[MAR]
T2 : AC <- AC + MBR

0개의 댓글