CPU

이경환·2023년 7월 10일

CS

목록 보기
6/6

학습계획

CPU에 대해 학습한다. CPU의 구성요소와 작동원리에 대해 학습한다.

CPU 구성요소

캐쉬 메모리

캐쉬 메모리는 하드디스크나, ram에 비해 매우 빠르다. 값이 상대적으로 비싸며 중요한 정보만 기억하도록 해야한다. cpu는 하드와 직접 소통하지않는다 ram과만 소통한다. 중요하고 빠르게 접근해야 할 것은 캐쉬 메모리에 저장한다고 보면된다.

CPU에는 이러한 캐시 메모리가 2~3개 정도가 사용된다. 이를 L1, L2, L3 캐시 메모리라 하며, 여기서 L은 ‘Level’을 의미한다. 우리 말로 하면 '1차 캐시', '2차 캐시', '3차 캐시 메모리'가 된다. 이는 속도와 크기에 따라 분류한 것으로, L1 캐시는 일반적으로 CPU 칩 안에 내장되어 데이터 사용/참조에 가장 먼저 사용된다. L1 캐시는 보통 8~64KB 정도의 용량으로 CPU가 가장 빠르게 접근하게 되며, 여기서 데이터를 찾지 못하면, 이제 L2 캐시 메모리로 넘어간다.

참고로 L3 캐시는 CPU가 아닌 메인보드에 내장되는 경우가 더 많다.

제어장치(Control Unit)

명령레지스터에서 읽은 명령어를 해석, 해당하는 장치로 보내는 역할을한다. cpu의 작동을 컨트롤한다고 보면된다.

CPU의 작동

CPU는 Fetch, Decode 및 Execute 라는 세 단계로 구성된 기본 명령 주기를 수행한다.

  • 인출 fecth : 메모리(RAM)에 데이터를 로드해 레지스터(메모리 버퍼 레지스터)에 적재하는 과정을 말한다.
  • 해석 Decode : 명령어 레지스터에 저장된 (ex : LOAD[10]) 같은 명령어는 제어장치로 이동한 후 해석된다. 실제 메모리 주소 레지스터에 값 이 입력되고 그 주소에 있는 값을 메모리 버퍼 레지스터에 저장한다.
  • 실행 excute : 명령과 데이터로 cpu가 산술 및 논리 연산을 수행하는 과정
  • 간접 indirect
  • 인터럽트 interrrupt
    cpu 명령어 순서 : 인출 -> 해석 -> 실행 -> 저장

연산장치(ALU)

제어 장치의 지시를 받아 산술, 논리, 비트 연산등의 실제 연산을 수행하는 장치다.

레지스터

cpu 내부에서 처리할 명령어나 연산의 결과나 주소 등을 기억하는 임시 기억 장소,가격도 비싸며 속도도 캐쉬 메모리보다 비싸다.

종류

  • PC(Program Counter) : 다음번에 사용할 메모리 주소가 들어있다.
  • 메모리 주소 레지스터 : 프로그램 카운터(PC)에서 수행할 주소를 넘겨 받은 다음에 그 주소를 찾아가 데이터를 가져오는 역할을 한다.
  • 메모리 버퍼 레지스터 : 메모리 주소 레지스터가 가져온 데이터나 명령들을 일시적으로 저장한다. 이 때 저장 된 내용중 명령은 명령어 레디스터로 이동하고 연산에 사용될 데이터는 누산기 레지스터로 이동한다.
  • 명령어 레지스터 : 명령에 관한 데이터가 저장된다.
  • 누산기 레지스터 : 연산의 결과 값이나 중간 값을 저장한다. 누산기 레지스터의 최종결과는 메모리 버퍼 레지스터를 통해 메모리로 전송된다.

정리

프로세스가 동작 할 수있게 하는 하드웨어 -> cpu

  • cpu 동작 과정
    1. 주기억장치(Rom,Ram)는 입력장치에서 입력받은 데이터 또는 보조기억장치에 저장된 프로그램을 읽어 온다.
    2. CPU는 프로그램을 실행하기 위해 주기억장치에 저장된 프로그램 명령어와 데이터를 읽어와 처리하고 결과를 다시 주기억장치에 저장
    3. 주기억장치는 처리 결과를 보조기억장치에 저장하거나 출력장치로 보냄
    4. 제어장치는 1~3 과정에서 명령어가 순서대로 실행되도록 각 장치를 제어
profile
개선하는 개발자, 이경환입니다

0개의 댓글