Stored Program
프로그램 내장 방식
- Von Neumann에 의해 고안된 개념이다.
- 말 그대로, 프로그램을 컴퓨터 시스템 내부에 탑재한 방식을 의미한다.
- 프로그램은 Instruction의 조합이고, Instruction은 Binary Code로 구현된다. 즉, 프로그램도 메모리에 저장이 가능하다는 아이디어를 통해 프로그램 내장 방식이 고안되었다.
- CPU는 Data Bus를 통해 메모리에서 데이터를 Fetch하고, Execution한다.
- 메모리에 저장된 Instruction을 CPU가 적절히 Fetch할 수 있음으로써, 이 자체로 Programmability를 제공한다.
- 하나의 H/W가 하나의 기능만 수행하는 것이 아니라 여러 Job을 수행 가능하게 발전했다.
- 특정 컴퓨터 시스템에서 같은 종류의 ISA를 지원하게 되면서, 다른 컴퓨터라도 동일한 프로그램을 구동할 수 있으므로 시스템 간 Compatibility(호환성)를 획기적으로 향상시킬 수 있게 되었다.
Program Counter (PC)
- 실행하고자 하는 명령어가 저장되어 있는 메모리 주소를 담고있는 특수 목적 레지스터이다.
- x86에서는 예외적으로, PC를 IP(Instruction Pointer)로 부르고 있다.
- 프로그램 실행 순서를 바꾸는 명령을 제외하고, PC값은 순차적으로 Word 단위(4의 배수)로 증가하게 된다.
- 프로세서의 종류별로 PC의 초기화 값이 서로 상이하다.
(x86 : 0xFFFF-FFF0, ARM : 0x0000_0000, MIPS : 0xBFC0_0000)