1.4 프로세서는 메모리에 저장 된 인스트럭션을 읽고 해석한다.

이전 글

2024.11.21 - [컴퓨터과학/컴퓨터구조: CSAPP] - 1.3 컴파일 시스템이 어떻게 동작하는 이해하는 것은 중요하다.

 

1.3 컴파일 시스템이 어떻게 동작하는 이해하는 것은 중요하다.

2024.11.21 - [컴퓨터과학/컴퓨터구조: CSAPP] - 1.2 프로그램은 다른 프로그램에 의해 번역된다 실행가능한 목적 프로그램소스를 실행가능" data-og-host="gyht.tistory.com" data-og-source-url="https://gyht.tistory.com/4

gyht.tistory.com


프로그램 실행에 따른 데이터의 이동

프로그램은 실행가능한 목적 프로그램으로 번역이 된 후에 디스크에 저장된다. 사용자는 쉘을 통해 프로그램을 실행할 수 있다. 쉘로 실행을 하면 프로그램은 메모리에 로딩되어 실행한다.

시스템의 하드웨어 조직

프로그램이 실행되는 동안 시스템에 어떤 일이 일어나는지 알기 위해서는 시스템의 하드웨어 조직을 이해해야한다.

시스템은 크게 버스, 입출력 장치, 저장장치, 메모리 그리고 실행장치로 구성된다.

버스

버스는 데이터가 이동하는 전기 배선이다. 즉, 데이터의 이동통로다. 데이터는 버스를 통해 워드 단위로 이동한다. 시스템에 따라 다르지만 워드는 32비트(4바이트) 또는 64비트(8바이트) 크기이다.

입출력장치

입출력 장치는 시스템과 외부 세계의 인터페이스다. 입출력 장치는 어댑터 또는 컨트롤러를 통해 시스템에 연결된다. 입출력 장치가 마우스와 같은 칩셋의 경우에는 컨트롤러를 통해 시스템에 연결되고 그래픽 카드와 같은 카드의 경우에 어댑터를 통해 연결된다.

저장장치

실행가능한 목적프로그램과 같이 전원이 꺼져도 계속 보관하고 있어야하는 데이터들을 기록해놓는 물리 장치이다.

메모리

메모리는 실행가능한 목적 프로그램이 실행이 될 때 그 프로그램과 데이터들이 임시로 저장되는 장치이다. 물리적으로는 주로 DRAM이다. 논리적으로는 바이트의 배열이다. 인스트럭션들은 크기가 다양하다. 변수는 자료형에 따라 바이트 크기가 결정된다. 예를 들어 int, float는 4바이트다.

실행장치(processor)

메모리에 있는 인스트럭션들을 가져와 해석하고 실행하는 장치이다.