CPU가 먼데...?

김떡만두·2023년 9월 11일

컴퓨터기초

목록 보기
5/5
  • CPU의 구조

ALU가 뭔데?

  • 레지스터한테 피연산자를 받아드리고, 제어장치로부터 제어신호를 받아드린다.
    그리고 해당 결괏값을 레지스터에 저장한다.
    웅? 왜 메모리 말고 레지스터에 저장해? : CPU가 접근하기엔 레지스터가 더 빠르기 떄문!
  • 플래그 : 연산 결과에 대한 부가 정보
    --> 결과값이 양수인지, 음수인지 등과 같은 부가 정보를 저장하는 친구임!

제어장치

  • 제어장치의 구조

  • 명령어 레지스터에서 해석할 명령어를 받아온다.

  • 플래그 : 부가정보를 제어장치도 알고 있어야 하니까 플래그값도 받음!

  • 제어신호
    - 레지스터 : 레지스터 간에 어떤 정보를 이동해라

    • ALU : 어떤 연산을 수행해라
    • 메모리 : 메모리를 써라
    • 입출력장치 : 입출력 시행해라!
  • 클럭 : 컴퓨터의 모든 부품을 일사불란하게 움직일 수 있게 하는 시간 단위

    --> 클럭신호의 박자에 맞춰서 명령어가 실행된다.

레지스터

: CPU 내부의 작은 임시저장장치, 프로그램 속 명령어&데이터는 실행 전후로 레지스터에 저장.

프로그램 카운터

: 메모리에서 가져올 명령어의 주소

명령어 레지스터

: 제어장치가 해석할 명령어

메모리 주소 레지스터

: 메모리의 주소

메모리 버퍼 레지스터

: 메모리와 주고받을 값 ( CPU가 정보를 데이터버스로 주고받을 때 거치는 레지스터)

ex)
- 실행할 프로그램을 이루는 명령어들이 하나의 메모리 번지를 차지한다고 가정했을 때,

[1]

-프로그램 카운터에 1000번지 메모리가 담김

[2]

-제어장치와 함께 메모리 주소 레지스터는 몇 번지 주소의 메모리를 읽고싶은지 쓰게됨

[3]

-프로그램 카운터는 다음으로 실행할 메모리의 주소를 읽어옴.

[4]

-메모리 버퍼 레지스터와 명령어 레지스터는 메모리의 값을 읽어불러옴.

✨ 프로그램을 순차적으로 실행할 수 있는 원리 (프로그램 카운터의 증가)

플래그 레지스터

범용 레지스터

스택 포인터

베이스 레지스터

profile
학교 과제용 블로그

0개의 댓글