㉠   개요

    CPU는 레지스터, ALU, 멀티플렉서, 디코더 등 여러 가지 디지탈 기능을 수행하는 소자들을 조합해서 설계할 수가 있다. 이러한 설계 방식은 어떤 특수한 용도에 맞게 설계할 수 있는 장점이 있다. 그렇지만 CPU는 컴퓨터의 부품 중에서 광범위하게 사용되는 소자이므로 표준화된 하나의 집적회로로 설계하는 것이 유용할 수가 있다. 마이크로프로세서(MicroProcessor)는 한 개의 IC칩으로 된 CPU를 가리킨다. 여러 IC칩으로 설계한 CPU와는 다르게, 마이크로프로세서에서는 직접적으로 레지스터나 ALU 등과 외부 부품을 연결할 수가 없으며, 다만 이 칩의 단자를 통해서만 정보전달이 가능하다. 또 마이크로프로세서는 CPU의 모든 내용이 하나의 조그만 칩 속에 내장됨으로 해서, 가격이 훨씬 싸지며 부피가 줄어든다는 중용한 장점이 있다.

    저렴한 가격과 작은 크기로 인해 마이크로프로세서가 이전에는 경제성이 없던 구조를 설계가능하게 해줌으로써 컴퓨터 설계기법에 있어 변혁을 가져오게 했다. 마이크로프로세서는 다양한 방면에 응용되고 있다. 범용 컴퓨터의 CPU로나 특수용 컴퓨터의 프로세서로 뿐만 아니라, 교통신호 제어, 개인 가정용 컴퓨터, 계측 제어기기, 사업용 업무처리 등 다양하게 사용되고 있다.

㉡   마이크로프로세서의 역사

    현재 널리 사용되고 있는 마이크로프로세서는 인텔사의 80계열과 모토롤라사의 68계열이 있다. 1969년 최초로 발표된 4004는 4비트를 처리할 수 있는 마이크로프로세서였다. 그러나 마이크로프로세서가 오늘날처럼 대중적으로 사용되기 시작한 것은 인텔사의 8비트 마이크로프로세서인 8080이 나온 후부터이다. 8080은 특히 CP/M 운영체제의 등장과 함께 개인용 컴퓨터의 CPU로 매우 널리 사용되었으며, 자일로그사에서 8080을 개량하여 만든 Z80은 오늘날까지도 많이 사용되는 8비트 마이크로프로세서가 되었다. 한편 모토롤라사의 6800과 6809, 모스텍사의 6502 등도 널리 사용된 8비트 마이크로프로세서였다.

    1970년대 후반부터 16비트 마이크로프로세서가 등장하였다. 인텔사의 8086과 모토롤라사의 68000은 초창기의 16비트 마이크로프로세서인데, 이들은 각각 IBM PC와 매킨토시 마이크로컴퓨터에 채용되어 널리 알려졌다. 인텔사의 80386과 80486, 그리고 모토롤라사의 68020과 68030, 68040은 모두 근래에 나온 32비트 마이크로프로세서이며, 이들의 성능은 80년대 초의 미니 또는 그 이상의 컴퓨터를 능가한다. 특히 80486과 68040 이상의 마이크로프로세서들은 하나의 실리콘 칩에 100만개 이상의 트랜지스터들을 직접한 고성능의 제품이다.

    응용 면에서 보면 8비트 마이크로프로세서는 주로 가정용의 PC나 게임기, 가전제품이나 기계 제어 등에 사용되고 있고, 16비트 마이크로프로세서는 일반적인 개인용 컴퓨터나 산업용의 제어기기에, 32비트 마이크로프로세서는 고성능의 개인용 컴퓨터나 웍스테이션, 미니급 컴퓨터에 주로 사용되고 있다. 특히 근래는 미니 컴퓨터나 대형 컴퓨터를 사용하기보다는 값싼 마이크로프로세서들을 여러개 연결하여 빠른 처리 속도를 내게 하는 병렬 처리 (Parallel Processing)에 대한 연구가 많이 이루어져 있다.

㉢   마이크로컴퓨터의 구성

    마이크로프로세서와 기억장치, 입출력장치가 모여서 마이크로컴퓨터가 된다. 마이크로(Micro)란 말은 각 부품들의 물리적인 크기가 작음을 뜻한다. 또한 프로세서(Processor)란 말은 '처리기' 혹은 중앙처리장치(Central Processor Unit)를 줄인 말이다. 마이크로컴퓨터는 그림과 같이 다음의 세 가지 기본 유니트로 이루어진다.

    1) 중앙처리장치(CPU)
    이것은 컴퓨터 시스템 전체의 데이터 흐름을 제어한다. 즉 메모리로부터 프로그램의 각 명령을 판독해 그것을 해석하고 어느 데이터에 어떤 처리를 해야 하는가 판단해서 그것을 실행하고, 다음에 실행해야 할 명령을 결정한다. 그림 하단부에 표시하는 바와 같이 CPU는 3가지 주요 부분으로 구성된다. 그것들은 서로 접속되어 있기도 하고, I/O 포트와 메모리에도 데이터 버스에 의해서 접속되어 있다
    2) 메모리
    프로그램과 프로그램으로 처리하는 데이터를 보관한다. 이것은 영구적인 프로그램을 넣는 프로그램 가능 판독 전용 메모리(PROM)와, 데이터 및 변경 가능한 프로그램용인 읽고 쓰기 랜덤 억세스 메모리(RAM : Random Access Memory)로 분류된다
    3) I/O(입출력) 포트
    인터페이스장치(Interface Unit)로 마이크로프로세서와 외부의 입출력 장치간의 정보 교환을 하는 역할을 한다. 마이크로프로세서는 입출력 장치로부터의 정보와 입출력 장치의 상태를 받기도 하고 제어신호나 정보를 주기도 한다.

㉣   CPU 구성

    1) 레지스터
    데이터를 보관하는 조그만 메모리로, 프로그램의 실행 중에 사용되며 고속 억세스를 할 수 있다.
    2) 산술/논리 유니트(ALU : 연산장치)
    가산이나 승산 등의 산술 연산을 행한다. 또한 레지스터 내의 하나 혹은 두개의 값 사이에서 AND 조작과 같은 논리 연산을 행한다.
    3) 제어 유니트
    명령을 해석하고 그것을 실행하는데 필요한 컴퓨터 내부의 각 유니트 사이의 데이터의 흐름을 제어한다.

㉤   기억장치

    마이크로컴퓨터의 특성의 하나로 1회의 조작으로 전송할 수 있는 비트수가 있다. 이 폭은 일반적으로 레지스터에 기억되고 ALU 조작으로 처리되는 1 메모리어의 비트수와 같다. 마이크로컴퓨터에 있어서의 폭은 4, 8, 16, 32 비트 등이 있다. 마이크로컴퓨터의 기능 유니트는 MPU, 메모리, I/O 포트 인터페이스 등 각각의 칩으로 실현할 수도 있고, 하나의 마이크로컴퓨터 칩으로 통합할 수도 있다.
     

    1) RAM(Random Access Memory) : 프로그램 실행 중에 CPU가 읽고 쓰는 데이터 혹은 명령을 보관하기 위해 사용된다.
    (1) DRAM(Dynamic RAM) : 미소한 콘덴서에 전하를 축적함으로써 정보를 기억한다. 콘덴서가 스스로 방전하므로 일정 시간마다 기억 내용을 다시 재생(Refresh)해 주는 재생 회로가 필요하다. 전력 소모가 작고 칩당 기억 용량이 매우 크므로 고밀도화를 이룰 수 있으나 임의의 시점에서 리드와 라이트가 불가능하므로 주로 대용량의 기억 장치 구성에 적합하다.
    (2) SRAM(Static RAM) : 전원 공급이 유지되는 한 저장 내용을 계속 기억하는 RAM으로 제어가 간단하며 고속이므로 소용량의 기억 장치 구성에 적합하다. 특징으로는, 플립플롭 논리 게이트에 의한 기억 소자로 회로가 복잡하며 기억 밀도가 작고 읽기 쓰기를 고속으로 실행할 수 있다. 또한 DRAM처럼 Refresh 할 필요가 없다.
    2) ROM(Read Only Memory) : 판독 전용 메모리로 CPU가 판독은 하지만 변경하지 않는 프로그램을 보관하는데 사용된다. 전원을 끊더라도 내용이 남아 있기 때문에 비휘발성 메모리라고 불려진다.
    (1) MASK ROM : 공장에서 대량주문으로 미리 쓰여져서 나오는 것으로 한 번 쓰면 지울 수가 없다.
    (2) PROM(Programmable ROM) : 제조 단계에서 써넣지 않은 ROM을 생산하여 사용자가 원하는 프로그램을 ROM Writer라는 장치를 이용하여 행렬의 교점에 큰 전류를 흘려주므로서 Fusing시켜 써넣을 수는 있으나 한 번 써넣으면 변경할 수 없다.
    (3) EPROM(Erasable PROM) : 여러 번 쓸 수가 있는 것으로 ROM Writer로 라이트가 가능하며, 지울 때는 자외선 Eraser로 지울 수 있다. EPROM은 최종적으로 ROM이나 PROM에 넣는 프로그램의 개발에 사용된다.
    (4) EEPROM(Electrically EPROM) : 자외선 대신 전기 신호에 의해 그 내용을 지울 수 있는 ROM