본문 바로가기

레지스터2

7. 레지스터 레지스터는 CPU 내부의 작은 임시저장장치이다. 프로그램 속 명령어와 데이터는 실행 전후로 레지스터에 저장된다. 프로그래머 입장에서 중요한 장치이다. 왜냐하면 개발하고 실행하는 과정에서 레지스터에 담긴 값들을 관찰하면서 기초적인 단계에서부터 실행되는 순서나 원리를 파악할 수 있기 때문이다. 레지스터의 종류 레지스터의 종류는 CPU마다 다르지만 학습을 위해 대부분의 전공서와 CPU가 공통적으로 포함하고 있는 레지스터는 아래와 같다. 프로그램 카운터 : 메모리에서 가져올 명령어의 주소(메모리에서 읽어 들일 명령어의 주소) *행동이 끝나면 순차적으로 진행하기 위해 기존의 값에서 1증가한다.명령어 레지스터 : 해석할 명령어(방금 메모리에서 읽어 들인 명령어)메모리 주소 레지스터 : 메모리의 주소메모리 버퍼 레지.. 2024. 10. 2.
5. CPU의 작동원리 : ALU와 제어장치 ALU는 계산하는 장치제어장치는 제어 신호를 발생시키고 명령어를 해석하는 장치 ALU계산을 하기 위해서는 피연산자와 수행할 연산이 필요 ex) 1+2=? ; 1, 2는 피연산자, + 수행할 연산 ALU는 레지스터로부터 피연산자를 받아들이고 제어장치로부터 제어 신호를 받아들인다. 이렇게 계산된 결괏값을 레지스터에 담는데 메모리가 아니라 레지스터에 저장하는 이유는 CPU가 레지스터에 접근하는 속도가 메모리에 접근하는 속도보다 빠르기 때문이다. ALU가 내보내는 또다른 정보중에서 프래그가 있다. 플래그는 연산결과에 대한 부가정보인데 CPU 내부에 있는 모든 숫자들은 양수 혹은 음수라고 하는 일종의 깃발을 들고 다니기 때문에 CPU는 결과값이 양수인지 음수인지 플래그를 통해서 이해할 수 있다. 다만, 연산결과가.. 2024. 10. 1.