Posts [CS] Process와 Thread를 파다보니 엉뚱하게 Register에 도착해있다.
Post
Cancel

[CS] Process와 Thread를 파다보니 엉뚱하게 Register에 도착해있다.

하루종일 화면을 뚫어져라 바라보며 스트레스를 받은건지 두통이 심하다.
오늘 아침 분명 호기롭게 processthread 에 대해 공부하려고 구글로 출발했는데,
저녁 먹기 전 나는 Assembly LanguageHello World 를 출력하고 기뻐하고 있었다.

processtread 에 대해 검색했을 때, 너무나도 생소한 단어들이 많이 나왔다.
기가 막혀서 리스트로 작성해봤는데 10개는 족히 넘었다.
그리고 설명이랍시고 나와있는 친절한 그림들도 이해가 안간다.
보이지 않는 세계에 대한 상상의 시작인가보다.

길었던 구글링을 뒤로하고 일단 먼저 그림마다 나와있는 CPU 옆의 작은



Register에 대해서 좀 알아야 겠어서 공부를 해봤다.


1. Register : 영특한 CPU의 기민한 수행비서



img


Register 는 영특한 CPU의 기민한 수행비서이다.
이 녀석과 종일 시름하며 내린 나의 결론이다.
기억에서 사라지기 전에 좀 기록해놓자면
CPU는 엄청 똑똑하고 능력있는 오너라서 해야할 일이 너무 많다.
그래서 움직임이 매우 빠르고 부지런한 register 들에게 잡무를 맡겼다.


CPU: 아까 걔가 뭐라 그랬다고?
Register: 1206
CPU: 그래 고마워, 다음~
Register: (쌩~)


이런 느낌으로…

그리고 이제서야 ALU(Arithmetic Logig Unit) 가 뭔지 조금 감이 왔고, 반가산기와 가산기 구현이 어떤 의미에서 시작된 거였는지도 알 것 같다. 오늘 학습하려했던게 사실 CPU(Central Processing Unit) 에 대한 내용은 아니었지만 궁금한걸 떠나서 이 부분을 모르고는 이해가 안갈 것 같은 나는 여기까지 오게 됐고, 이제서야 그 동안 CPU 라고 불렀던게 뭔지 조금 알 것만 같다.




2. Register의 종류



Register 의 종류도 여러가지인데 많은 글들을 읽었고, 그 중에서도 이 글이 내게는 조금 더 와닿게 설명이 됐다.
크게 범용 레지스터, 세그먼트 레지스터, 컨트롤 레지스터 정도를 많이 사용한다고 한다.


register


그림에서 볼 때, R 로 시작되는건 64비트이다. 32비트는 E 로 시작하는데 개형은 거의 비슷하다고 한다.
오늘 나는 이 중 프로그램 실행 관련 레지스터 까지 들여다보고 말게 되었다.



참조

This post is licensed under CC BY 4.0 by the author.

[Algorithm] 다시 풀어보는 알고리즘(feat. 프로그래머스)

[CS] 프로세스 메모리 구조(Memory Model), 그리고 생애 첫 어셈블리어(Assembly Language)

Comments powered by Disqus.