ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • CPU의 내부 구성 - 레지스터
    CS/운영체제 2025. 7. 27. 23:48

    유튜브에 공개된 『혼자 공부하는 컴퓨터 구조+운영체제』 강의를 보고 정리한 내용입니다.

     

    출처 : 유튜브 - 혼자 공부하는 컴퓨터 구조+운영체제


    레지스터 : CPU 내부에 작은 임시 저장 장치

    하지만, 프로그래머는 레지스터가 중요함 → 프로그램 결과값이 레지스터에 저장되고, 관찰할 수 있기 때문

    레지스터의 종류

    프로그램 카운터

    메모리에서 가져올 명령어의 주소 저장(메모리에서 읽어들인 명령어의 주소)

    명령어 레지스터

    해석할 명령어를 저장(방금 메모리에서 읽어들인 명령어)

    메모리 주소 레지스터

    메모리의 주소 저장(CPU가 읽어들이고자 하는 주소를 주소 버스로 보낼 때 거치는 레지스터)

    메모리 버퍼 레지스터

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

    그림으로 이해하기

    CPU가 실행하고자 하는 프로그램 - 1000 ~ 1101

     

    실행 흐름

    1. 다음으로 실행할 메모리부터 가져올 명령어 주소 저장 - 1000 저장

     

    2.메모리로부터 읽어오기 위해 메모리 주소 레지스터로 복사

     

    3. 메모리에게 메모리 읽기 & 주소를 데이터 버스를 통해전달

     

    4. 프로그램 카운터는 1이 증가

     

    5. 가져온 명령어를 제어장치가 해석하기 위해 명령어 레지스터에 복사

     

    6. 다음 프로그램 순차 실행

     

    순차적인 실행 흐름이 끊기는 경우

    • 특정 메모리 주소로 실행 흐름을 이동하는 명령어 실행 시(JUMP, CONDITIONAL JUMP, CALL, ..)
    • 인터럽트 발생 시
    • 기타 상황

    플래그 레지스터

    연산 결과 또는 CPU 상태에 대한 부가적인 정보 저장

    범용 레지스터

    다양하고 일반적인 상황에서 자유롭게 사용(보통 여러 개 존재 - 주소, 명령어, 데이터 등을 담을 수 있음)

    스택 포인터

    주소 지정에 사용, 스택의 꼭대기를 가리킴

     

    스택 주소 지정 방식 : 스택과 스택 포인터를 이용한 주소 지정 방식

     

    스택 포인터 : 스택의 꼭대기를 가리키는 레지스터

     

    스택은 어디 있는가? → 메모리 안에 존재 - 스택 영역

     

     

     

    베이스 레지스터

    주소 지정에 사용, 기준 주소 저장

     

    변위 주소 지정 방식

    • 오퍼랜드 필드의 값(변위)과 특정 레지스터의 값을 더하여 유효 주소를 얻는 방식

     

     

     

    변위 주소 지정 방식 명령어의 모양

    두 가지 변위 주소 지정 방식 존재

    • 상대 주소 지정 방식: 오퍼랜드 필드의 값(변위)과 프로그램 카운터 값을 더하여 유효 주소 얻기

    • 베이스 레지스터(기준) 주소 지정 방식 : : 오퍼렌드 필드의 값(변위)와 베이스 레지스터의 값을 더하여 유효 주소 얻기

     


    출처 : 유튜브 - 혼자 공부하는 컴퓨터 구조+운영체제

     

    반응형

    댓글

Designed by Tistory.