본문 바로가기
카테고리 없음

제어 메모리

by by이종호기자 2022. 4. 30.
반응형

1. 제어 장치란?

제어 장치는 요구되는 마이크로 연산들을 연속적으로 수행하게 하는 신호를 보냄으로써 명령어를 수행하게 하는 역할을 합니다. 제어 장치가 일상적인 논리 회로 설계방식대로 설계된다면 하드와이어드(hard wired) 제어 장치라고 부릅니다.

2. 제어 워드

한편 또다른 방법으로 마이크로 프로그래밍 기법이 있는데 이의 사용으로 훨씬 체계적으로 제어 장치를 구성할 수 있습니다. 특정한 마이크로 연산을 수행하기 위해서는 그를 위한 이진 변수가 필요하며, 그 값이 1 일 때 동작을 수행하게 됩니다.

버스 구조의 시스템에서는 멀티플 렉서, 디코더들의 정보 전달로 선택과 산술 논리 연산 장치의 역할을 결정해주 는 비트의 모임이 어떤 마이크로 연산을 할 것인가를 결정해줍니다. 또한 이러한 비트의 모임을 제어 워드라 하며, 어떤 명령을 수행할 수 있도록 된 일련의 제어 워드가 특수한 기억 장치 속에 저장될 때 이를 마이크로 프로그램이라 하고, 이러한 방식의 제어 장치를 마이크로 프로그램된 제어 장치 (microprogrammed control unit)라 합니다. 제어 워드를 마이크로 명령어라 부르기도 합니다.

3. 마이크로 프로그램의 개념

마이크로 프로그램의 개념은 속도가 빠른 read-only 메모리가 상업성을 띠기 전에는 실질적으로 유용한 것이 되지 못했었습니다. 마이크로 명령어를 저장하는 ROM 은 그 내용의 변경이 불가능하며, 또한 조합 회로로 동작하여 주소가 입 력으로 들어가면 동시에 그 주소의 내용이 출력으로 나옵니다. 한층 진보된 방법으로 동적 (dynamic) 마이크로 프로그래밍 기법이 있는데 보조 기억 장치에서 마이크로 프로그램이 로드되는 것입니다. 이때에는 writable control memory (WCM) 가 쓰이는데 이는 write 할 수도 있게 되어 있는 메모리입니다. 이와 같이 제어 장치에서 사용되는 메모리를 제어 메모리(control memory) 라 합니다.

4. 컴퓨터의 기억장치 종류

마이크로 프로그램된 제어 장치를 사용하는 컴퓨터는 두 종류의 기억 장치를 가지게 됩니다. 즉 주 메모리와 제어 메모리입니다. 주 메모리는 사용자가 그 내용 을 변경시킬 수 있고, 명령어와 데이타가 그 내용이 되지만, 제어 메모리는 그 내용이 고정되어 있으며 사용자가 직접 사용할 필요가 없게 되어 있습니다.

마이크로 프로그램은 내부 제어 신호를 지정하는 여러 가지 마이크로 명령어로 구성되어 있는데, 각각의 기계 명령어가 제어 메모리에 있는 일련의 마이크 로 명령어의 실행을 시작하게 합니다. 이러한 마이크로 명령어는 주 메모리에서 명령어를 fetch 하게 하고, 유효 주소를 계산하고, 명령어에서 지정된 동작을 수 행하게 하고, 다음 명령어에 대한 fetch 단계를 수행하여 사이클을 반복할 수 있 게 하는 마이크로 연산을 수행합니다.

5. 마이크로 프로그램 제어장치의 구성

마이크로 프로그램된 제어 장치의 일반적인 구성이 그림 7-1 에 블럭도로 그 려져 있는데, 여기서 제어 메모리는 ROM 이라고 가정합니다. 제어 메모리 주소 레지스터는 마이크로 명령어의 주소를 지정하고 제어 데이타 레지스터는 메모 리에서 읽어온 마이크로 명령어를 보관합니다. 마이크로 명령어는 데이타 프로세서에 대한 하나 이상의 마이크로 연산을 지정하는 제어 워드로 표현됩니다.

다음에 수행될 마이크로 명령어의 위치는 제어 메모리 안에서 어디에나 있을 수 있 기 때문에, 마이크로 명령어의 일부 비트가 다음 마이크로 명령어의 위치를 지 정하는 데 사용되기도 하고 외부 입력 조건에 의해서도 결정됩니다. 즉 마이크로 명령어가 수행되는 동안 다음 주소 생성기 회로에서 다음 마이크로 명령어의 주소가 만들어져 제어 주소 레지스터로 전송됩니다.

다음 주소 생성기를 마이크로 프로그램 시퀸서라고 하는데, 이것의 입력에 따라 여러 가지로 다음 마이크로 명령어의 주소가 결정됩니다. 일반적으로 마이크 로 프로그램 시퀸서에서는 제어 주소 레지스터를 하나 증가시키거나 제어 메모 리로부터 다음 주소를 얻어오거나, 외부로부터 입력받거나 제어 동작을 시작하기 위해 초기 주소를 적재하는 방법 등을 사용합니다. 제어 데이타 레지스터는 파이프라인 레지스터 (pipeline register) 라고도 불리우는데, 매 클럭 펄스마다 데이타 레지스터의 제어 워드에서 지정하는 마이크로 연산과 다음 마이크로 명령어를 읽어오는 동작을 동시에 할 수 있기 때문입니다.

이것을 위해서는 주소 레지스터에 들어가는 하나의 클럭과 데이타 레지스터로 들어가는 다른 하나의 클럭으로 구성되는 2상 (two-phase) 클럭이 필요합니다. 제어 메모리 시스템은 주소 레지스터에 단상 (single-phase) 클럭을 연결함으 로써 제어 데이타 레지스터없이 동작할 수도 있습니다. 또한 ROM은 주소 입력값 이 유효할 때에만 출력을 유지하는 조합 회로와 같이 동작하므로, RAM 에서와 같은 읽기 제어 입력이 필요없습니다.

다음 절에서 설명할 예에서는 제어 데이타 레지스터를 사용하지 않으므로, 제어 시스템에서 클럭 입력을 받는 것은 주소 레지스터뿐입니다. 마이크로 프로그램된 제어의 주요 이점은 일단 만들어진 하드웨어 구성을 변 경시킬 필요가 없다는 것입니다. 즉 새로운 제어 순서를 만들기 위해서는 제어 메모리의 마이크로 프로그램만 수정하면 됩니다. 그러나 8-8절에서 보게 될 간소 화된 명령어 집합 컴퓨터(reduced instruction set computer, RISC) 에서는 마이 크로 명령어를 사용하는 제어 메모리보다는 하드와이어 제어를 채택합니다.

반응형

댓글