ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • CS지식 7일차
    CS지식 2025. 9. 2. 19:25

    레지스터

    CPU 사진

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

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

    레지스터 종류

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

    - 명령어 레지스터 : 해석할 명령어(방금 읽어들인 명령어)

    - 메모리 주소 레지스터 : 메모리 주소를 저장

    - 메모리 버퍼 레지스터 : 메모리와 주고 받을 값(데이터와 명령어)

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

    - 범용 레지스터 : 다양하고 일반적인 상황에서 다양하게 사용

    - 스택 포인터, 베이스 포인터  -> 주소지정에 사용

    현재 메모리

    - cpu는 1000번지부터 명령어를 실행한다고 가정 

    - 프로그램 카운터에는 1000번지 즉 메모리에서 읽어들일 명령어의 주소를 담는다. 

    - 프로그램 카운터에 저장되어있는 다음으로 읽어들일 명령어 주소 값은 메모리 주소 레지스터에 복사가 됨

    - 그 다음 메모리한테 메모리 읽기 신호와 함께 몇번지 주소를 읽고 싶은지 메모리 주소가 쏜다

    - 메모리는 1000번지에 저장된 값을 메모리 버퍼 레지스터에 저장을 시킨다. 

    - 이 때 프로그램 카운터는 1증가한다. 

    - 이제 가져온 1101을 해석하기 위해 명령어 레지스터에 복사가 된다. 

     

    순차적인 흐름 끊길 때...

    - 레지스터가 꼭 순차적으로 실행이 되지 않을수도 있다. 

    - JUMP, CALL.. 등 특정 메모리 주소로 실행 흘름을 이동하는 명령어를 실행할 시 순차적으로 실행이 되지 않을수도 있다. 

    - 인터럽트 발생시... 

    - 무조건적으로 순차적으로 메모리가 실행된다고 생각하지 말자!!

     

    스택포인터

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

    - 스택 포인터 : 스택의 꼭대기를 가르키는 포인터

    - 스택은 메모리 안에 스택처럼 사용할 수 있는 특정 영역이 있다고 한다.

     

    변위주소 지정 방식

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

     

    - 변위주소 지정방식에는 2가지 방법이 있다 

    상대 주소 지정방식

    - 오퍼랜드 필드 값과 프로그램 카운터를 더하여 유효 주소 얻기 

    베이스 주소 지정방식

    - 오퍼랜드 필드 값과 베이스 레지스터의 값을 더하여 유효주소 얻기 

    'CS지식' 카테고리의 다른 글

    CS 지식  (0) 2025.09.03
    CS지식 8일차  (0) 2025.09.03
    자료구조 - (Linked List)  (1) 2025.08.31
    CS 지식 6일차  (4) 2025.08.10
    CS 지식 5일차  (6) 2025.08.09
Designed by Tistory.