728x90

💡 CPU 작동 원리 💡

🔍 CPU?

CPU는 컴퓨터에서 가장 핵심적인 역할을 수행하는 부분.
'인간의 두뇌'
연산장치, 제어장치, 레지스터 3가지로 구성됨

🔍 CPU의 구성

  • 연산장치: 산술 연산과 논리 연산을 수행
    연산에 필요한 데이터를 레지스터에서 가져오고, 연산 결과를 다시 레지스터로 보내 저장.
  • 제어장치: 명령어를 순서대로 실행할 수 있도록 제어
    주기억장치에서 프로그램 명령어를 꺼내 해독
    그 결과에 따라 명령어 실행에 필요한 제어 신호를 기억장치, 연산장치, 입출력장치로 보냄.
    보낸 신호를 받아 다음에 수행할 동작 결정.
  • 레지스터: 고속기억장치로 명령어 주소, 코드, 연산에 필요한 데이터, 연산 결과 등을 임시로 저장
    • 범용 레지스터: 연산에 필요한 데이터나 연산 결과를 임시로 저장하는 레지스터
    • 특수 레지스터: 특별한 용도로 사용하는 레지스터. 용도와 기능에 따라 구분
    • - MAR (메모리 주소 레지스터): 읽기와 쓰기 연산을 수행할 주기억장치 주소 저장 - PC (프로그램 카운터): 다음에 수행할 명령어 주소 저장 - IR (명령어 레지스터): 현재 실행 중인 명령어 저장 - MBR(메모리 버퍼 레지스터): 주기억장치에서 읽어온 데이터 or 저장할 데이터 임시 저장 - AC (누산기): 연산 결과 임시 저장

🔍 CPU 동작

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

인출 사이클의 마이크로연산

T0: MAR <- PC
T1: MBR <- M[MAR], PC <- PC + 1
T2: IR <- MBR

PC에 지정된 주소를 MAR로 전달.
MAR에 저장된 내용을 토대로 주기억장치의 해당 주소에서 명령어 인출
인출한 명령어를 MBR에 저장

다음 명령어 인출을 위해 PC(프로그램카운터) 값 증가

MBR(메모리 버퍼 레지스터)에 저장된 내용을 IR(명령어 레지스터)에 전달.

ADD Addr명령어 연산

T0: MAR <- IR(Addr)
T1: MBR <- M[MAR]
T2: AC <- AC + MBR

메모리에 저장된 데이터 값을 MBR에 저장
IR에 MBR의 값이 이미 저장된 상태이기 때문에 PC <- PC + 1 명령어는 필요하지 않음.
AC에 MBR을 더한 값 저장.

🔍 용어정리

중앙처리장치 CPU
인간으로 따지면 두뇌에 해당하는 부분
주기억장치에서 프로그램 명령어와 데이터를 읽어와 처리하고 명령어의 수행 순서를 제어함

  • 중앙처리장치는 비교와 연산을 담당하는 산술논리연산장치(ALU)
  • 명령어의 해석과 실행을 담당하는 제어장치,
  • 속도가 빠른 데이터 기억장소인 레지스터로 구성
    개인용 컴퓨터와 같은 소형 컴퓨터에서는 CPU를 마이크로프로세서라고 부름

연산장치
산술 연산과 논리 연산을 수행
연산에 필요한 데이터를 레지스터에서 가져오고, 연산 결과를 다시 레지스터로 보내 저장.

제어장치
명령어를 순서대로 실행할 수 있도록 제어
주기억장치에서 프로그램 명령어를 꺼내 해독
그 결과에 따라 명령어 실행에 필요한 제어 신호를 기억장치, 연산장치, 입출력장치로 보냄.
보낸 신호를 받아 다음에 수행할 동작 결정.

레지스터
고속기억장치로 명령어 주소, 코드, 연산에 필요한 데이터, 연산 결과 등을 임시로 저장

범용 레지스터
연산에 필요한 데이터나 연산 결과를 임시로 저장하는 레지스터
특수 레지스터
특별한 용도로 사용하는 레지스터. 용도와 기능에 따라 구분

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

728x90

'Computer Science > Computer Architecture' 카테고리의 다른 글

6. 파이프라이닝  (0) 2023.06.27
5. 패리티비트 & 해밍코드  (0) 2021.08.02
4. 고정소수점 & 부동소수점  (0) 2021.08.02
3. Cache Memory  (0) 2021.07.20
1. Structure  (0) 2021.07.14

+ Recent posts