1. 내장 프로그래밍
초기에는 프로그램을 작성하는 데에 물리적인 방법이 사용되었다.
프로그램 실행을 위해서는 프로그래머가 ⒜진공관 회로의 연결 구조를 바꿔야 했다.
다시 말해 하드웨어 기능을 프로그래밍했다는 것이다.
이로 인해 회로의 문제가 컴퓨터의 문제로, 프로그래머의 실수가 전체 시스템의 문제로 번졌다.
게다가 회로의 연결 구조를 바꾸는 작업이 만만치 않았다.
하드웨어에 대한 깊은 이해가 필요한 일이니, 사실 당연한 일이다.
이를 위해 내장 프로그램(Stored program)이 고안되었다.
프로그램을 데이터처럼 숫자로 표현하고, 데이터와 같은 형태로 저장 장치에 저장하는 것이다.
현재 C 코드를 컴파일해 숫자로 이루어진 기계어로 변환해 저장하는 것이 이 방식이다.
지금이야 너무나도 당연한 이야기지만, 당시로서는 획기적인 일이었다.
프로그램 하나 실행하려고 회로 구조를 바꾸던 시대이니, 그럴 수 밖에.
내장 프로그램의 장점은 데이터와 같은 형태로 메모리에 저장되다 보니,
일단 프로그래머가 회로를 만질 일이 없다는 것이다.
또한 데이터를 처리할 떄처럼 새로운 프로그램을 만들 수도,
기존의 프로그램을 수정할 수도 있다.
과거에는 하드웨어를 이용한 프로그래밍을 했다면,
이제는 프로그램을 이용한 프로그래밍을 하게 된 것이다.
요약하면 다음과 같다.
과거에는 프로그램 실행을 위해 하드웨어 구조를 바꿔야 했다.
하지만 현대에 이르러서는 기억장치에 있는 프로그램을 읽어들여 실행할 수 있게 되었고,
이 방식을 내장 프로그래밍 방식(Stored programming)이라 한다.
⒜진공관(vacuum-tube): ⒝에디슨 효과를 이용해 ⒞정류, 증폭 작용을 하는 회로가 들어있는 유리관(사진 참조).
유리관 안은 진공 공간이다.
유리로 되어 있고 발열도 심해 잘 깨지고, 출력에 대해 기하급수적으로 크기가 커진다.
때문에 작고 튼튼한 트랜지스터(증폭), 다이오드(정류)의 발명 이후 거의 사용되지 않는다.
⒝에디슨 효과: 진공 속에서 금속이 가열될 때 전자가 방출되는 열전자방출 현상
⒞정류: 교류 전류(AC)를 직류 전류(DC)롤 바꾸는 것.
2. 프로그램이 실행되는 순서
프로그램에서 가장 중요한 기억장치 디스크와 메모리(RAM과 ROM)다.
디스크에 저장된 프로그램은 메모리에서 읽어들인 다음 실행된다.
CPU는 프로그램의 내용을 해석해 PC(Program Counter)로 메모리의 주소를 지정하고,
거기서 명령어를 읽어내도록 설계되었기 때문이다.
따라서 디스크에서 바로 실행하는 것도 가능하긴 하지만 그 속도가 매우 느리다.
'Programming > Basis' 카테고리의 다른 글
가상 메모리 (0) | 2019.03.10 |
---|---|
디스크 캐시 (0) | 2019.03.10 |
메모리 (0) | 2019.03.07 |
컴퓨터에서 소수를 표현하는 방법 (0) | 2019.03.05 |
비트 연산 (0) | 2019.03.04 |