[혼자 공부하는 컴퓨터구조 + 운영체제] - 레지스터

2023. 4. 23. 23:00·CS

레지스터는 CPU 내부의 작은 임시저장장치

프로그램 속 명령어와 데이터는 실행 전후로 레지스터에 저장된다

 

CPU 내부에는 다양한 레지스터들이 있고, 각기 다른 역할을 가진다 

 

 

반드시 알아야 할 레지스터

1. 프로그램 카운터 : 메모리에서 가져올 명령어의 주소 (메모리에서 읽어 들일 명령어의 주소)

2. 명령어 레지스터 : 해석할 명령어 (방금 메모리에서 읽어 들인 명령어) _ 제어장치가 해석

3. 메모리 주소 레지스터 : 메모리의 주소 _ CPU가 읽어 들이고자 하는 주소를 주소 버스로 보낼 때 거치는 레지스터

4. 메모리 버퍼 레지스터 : 메모리와 주고 받을 값, 즉 데이터와 명령어를 저장함

5. 플래그 레지스터 : 연산 결과 또는 CPU 상태에 대한 부가적인 정보

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

7. 스택 포인터 : 스택의 꼭대기를 가르킴

8. 베이스 레지스터 :  기준 주소 저장

 

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

 - 특정 메모리 주소로 실행 흐름을 이동하는 명령어 실행시 (ex. JUMP, CONDITIONAL JUMP, CALL , RET)

- 인터럽트 발생시

- 등등 ..

 

 

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

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

스택 주소 지정 방식

 

- 변위 주소 지정 방식 : 오퍼랜드 필드의 값과 특정 레지스터의 값을 더하여 유효 주소 얻기

변위 주소 지정 방식(베이스 레지스터)

변위 주소 지정 방식에는 두 가지가 있다

1. 오퍼랜드 필드의 값 + 베이스 레지스터 

2. 오퍼랜드 필드의 값 + 프로그램 카운터 

 

프로그램 카운터를 더해서 얻는 방식은 상대 주소 지정 방식

 

 

베이스 레지스터 값을 더해서 얻는 방식이 베이스 레지스터 주소 지정 방식 

'CS' 카테고리의 다른 글

[혼자 공부하는 컴퓨터구조 + 운영체제] - 빠른 CPU를 위한 설계 기법  (0) 2023.05.07
[혼자 공부하는 컴퓨터구조 + 운영체제] - 명령어 사이클과 인터럽트  (0) 2023.04.23
[혼자 공부하는 컴퓨터구조 + 운영체제] - ALU와 제어 장치  (0) 2023.04.16
[혼자 공부하는 컴퓨터구조 + 운영체제] - 명령어의 구조  (0) 2023.04.16
[혼자 공부하는 컴퓨터구조 + 운영체제] - 소스 코드와 명령어  (0) 2023.04.01
'CS' 카테고리의 다른 글
  • [혼자 공부하는 컴퓨터구조 + 운영체제] - 빠른 CPU를 위한 설계 기법
  • [혼자 공부하는 컴퓨터구조 + 운영체제] - 명령어 사이클과 인터럽트
  • [혼자 공부하는 컴퓨터구조 + 운영체제] - ALU와 제어 장치
  • [혼자 공부하는 컴퓨터구조 + 운영체제] - 명령어의 구조
yoozung
yoozung
  • yoozung
    yoozung의 개발블로그
    yoozung
  • 전체
    오늘
    어제
    • 분류 전체보기
      • TIL
      • 알고리즘
      • CS
      • 책
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • 이전블로그(이사중)
  • 공지사항

  • 인기 글

  • 태그

    티스토리챌린지
    imos
    jdk설정
    leetcode175
    데이터내보내기
    환경설정
    MySQL
    오블완
    알고리즘누적합
    알고리즘이모스
    DBeaver
    이모스
    프로그래머스
    백준23295
    leetcode176
    보호소에서 중성화한 동물
    springdi
    누적합
    디비버
    테이블내보내기
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
yoozung
[혼자 공부하는 컴퓨터구조 + 운영체제] - 레지스터
상단으로

티스토리툴바