[CS] 프로그램 실행 과정

YUZAMONG·2024년 9월 9일

CS

목록 보기
2/6

🔗 CPU의 구조

CPU 명령어 사이클

CPU는 각 클럭마다 명령어 사이클을 반복한다.

  1. Fetch: 연산을 위해 CPU가 RAM에서 명령어를 가져옴
  2. Decode: CU가 바이너리 코드로 명령어를 해석
  3. Execute: ALU에서 명령어에 따른 연산 수행
  4. Store: 연산 결과를 레지스터에 저장

1. Fetch

CPU가 명령어 실행 과정에서 가장 먼저 처리하는 작업으로, 메모리에서 다음으로 실행할 명령어를 가져오는 작업이다.
CU(Control Unit)라는 CPU 내부의 장치에서 명령어 인출을 수행한다.
다음 명령어의 주소값을 갖고있는 PC(Program Counter)라는 레지스터를 참조하여 명령어를 인출한 후 IR(Instructor Refister)에 저장한다.


2. Decode

명령어 인출 후에 어떤 연산 작업이 이루어져야 하는지 명령어를 해석해야 한다.
CU(Control Unit)에서 명령어 해석도 수행한다.


3. Execute

ALU라는 연산 담당 장치에서 명령어에 따른 연산을 수행한다.
산술/논리/비트연산 등 다양한 형태의 연산을 통해 입력된 데이터를 원하는 결과값으로 변환한다.


4. Store

ALU가 연산한 결과나 중간 데이터를 레지스터에 저장한다.
데이터를 임시로 저장할 것인지, 안전하게 장기적으로 저장할 것인지에 따라 저장 위치가 달라진다.


References

https://blog.com24everyday.com/entry/프로그램-실행과정
https://charles098.tistory.com/102
https://velog.io/@rlagkfla09/프로그램-실행과정
https://velog.io/@cdbchan/CPU

profile
유자맛 찹쌀유과

0개의 댓글