2주차(1/8 ~ 1/14) Chapter 04 ~ 05 p. 125의 확인 문제 2번, p. 155의 확인 문제 4번 풀고 인증하기 Ch.05(05-1) 코어와 스레드, 멀티 코어와 멀티 스레드의 개념을 정리하기

4. CPU의 작동 원리(컴퓨터의 4가지 핵심 부품-CPU)

ALU와 제어장치

<aside> ☝🏻 [대전제] 계산을 하기 위해서는 피연산자와 연산자가 필요하다. (명령어의 구조가 그러하듯)

</aside>

  1. ALU(산술논리연산장치): 레지스터를 통해 피연산자를 받아들이고 제어장치로부터 연산자를 알려주는 제어 신호를 받아들임 → 결과값을 레지스터(+플래그 레지스터)에 저장함

Untitled

  1. 제어장치: 제어 버스를 통해 제어 신호를 받고, 레지스터(명령어 레지스터+플래그 레지스터)에서 명령어를 받아들이며, 클럭에 맞게 가동함 → CPU 내부, 즉 레지스터와 ALU에 제어신호 전달, 그리고 CPU 외부인 메모리, 입출력장치 등에 제어 버스를 통해 제어 신호 전달

Untitled

레지스터

<aside> ☝🏻 정보) CPU마다 레지스터가 다 다름. 이 레지스터는 각각 CPU 제조사 홈페이지나 공식 문서에서 확인 가능. 그러나 우리가 지금 알아볼 것은 공통으로 포함하고 있는 여덟 개의 레지스터임.

</aside>

  1. 레지스터

    <메모리에 저장된 프로그램 실행 과정>

    a. 프로그램 카운터: 메모리에서 가져올 명령어의 주소 저장

    b. 메모리 주소 레지스터: 메모리의 주소를 저장(메모리 접근-주소 버스 이용)

    c. 메모리 버퍼 레지스터: 메모리와 주고받을 값 저장(메모리 접근-데이터 버스 이용)

    d. 명령어 레지스터: 메모리에서 읽어들인 명령어 저장

    해당 사진은 메모리에 저장된 프로그램 실행 과정 중 하나임

    해당 사진은 메모리에 저장된 프로그램 실행 과정 중 하나임

    <부가 정보 및 편의 실행 과정>

    e. 범용 레지스터: 다양하고 일반적인 상황에서 자유롭게 사용할 수 있는 레지스터

    f. 플래그 레지스터: 연산 결과, 또는 CPU 상태에 대한 부가적인 정보를 저장하는 레지스터

    Untitled

    <특정 레지스터를 이용한 주소 지정 방식>

    g. 스택 포인터(←스택 주소 지정 방식): 스택에 마지막으로 저장한 값의 위치를 저장하는 레지스터

    h. 베이스 레지스터(←변위 주소 지정 방식-베이스 레지스터 주소 지정 방식): 기준 주소를 저장하는 레지스터

    변위 주소 지정 방식

    변위 주소 지정 방식