[어셈블리]레지스터

2023. 12. 29. 15:56공부

레지스터에 대해서 설명하려면 우선 CPU에 대해 알아야한다. 우리가 알고있는 CPU는 Central Processing Unit 의 줄임말로 우리말로 번역하면 '중앙 처리 장치'이다. 뜻그대로 컴퓨터의 전반적인 연산처리 를 담당하며 사람으로 치면 뇌의 역할을 하고있다. 

 

그렇다면 이 CPU의 구성은 어떻게 되어있을까? 크게 나누어 보면, 산술연산과 논리 연산을 담당하는 ALU(Arithmetic & Logic Unit) 와 연산결과값들을 저장하는 레지스터(Register)이다.

 

오늘 집중적을 파악해볼것은 바로이 레지스터다. 레지스터는  ALU에서 연산처리한 값들을 일시적으로 저장하여 메인메모리(DRAM등)에 저장한 값들을 넘겨주게 되는데,  이때, 저장되는 단위는 byte, bit 단위로 지정된 단위의 값들을 저장하기 때문에 내용들을 바로바로 이용할수있어 접근성이 뛰어나다.

 

그렇다면 레지스터를 사용하는 이유는 무엇일까? 그냥 메인메모리에 바로 전달하거나, 저장공간(HDD,SSD)에 두었다가 필요할때 꺼내쓰는 방식으로 사용하지 않는 이유는 무엇일까? 그 이유는 데이터 처리속도, 읽기,쓰기 와 관련이있다.

 

메인메모리 및  하드디스크와같은저장공간에 ALU에서 계산한값들을 넣어놓고 사용하게된다면, CPU에서 저장하는 장치로 이동하는 과정이 필요하다. 이는 처리,읽기,쓰기 모두 동일하다. 또한 이동하는 과정 또한 BUS형태로 존재하기에 CPU와 떨어져있을수록 처리 시간이 늘어나게 된다(CPU -> 메인메모리 -> 하드 디스크) 만약 데이터의 단위가 작은경우, 이러한 방식으로 처리한다고 해도 티가 나지 않을수있다. 하지만, 데이터의 크기가 커지거나, 데이터의 개수가 많은경우, 그만큼 데이터를 처리하기위해 이동하는 시간이 늘어나기 때문에 실행시간이 곱절로 늘어나게될것이다. 

 

반면에 레지스터를 사용하는 경우 CPU내부에서 ALU로 처리한 값을 레지스터에 일차적으로 저장을 해놓은다음, 처리가 완료되면 이 값들을 반환하거나 전달하여, 데이터 처리속도를 향상시킬수 있게된다. 

 

이러한 레지스터들은 CPU내부에 여러개가 위치하여 있으며, 이들은 산술연산,논리연산,명령 내용,자료등을 일시적으로 저장하며, 불필요하게 데이터를 이동하는 과정을 줄여준다.

 

 

 

 

 

*위 글은 공부를 위하여 작성된글입니다. 혹시나도 틀린부분이 있을수도있으니, 이점 참고해 주시기 바라며, 만약 틀린부분이 있을경우 알려주신다면 수정하도록 하겠습니다.

'공부' 카테고리의 다른 글

[그래픽스]Viewing  (1) 2024.04.19
[그래픽스]GeoMetry(지오메트리)  (0) 2024.04.17
[그래픽스]02-1. 그래픽 처리과정2  (0) 2024.04.14
[그래픽스]02. 그래픽스 처리과정  (0) 2024.04.14
[그래픽스]01. 그래픽스란?  (1) 2024.04.14