포털:고등학교/정보·통신 계열 전문 교과(2015)/컴퓨터 구조/타이밍과 제어 방식

1. 제어점

 가. 제어점 : 레지스터의 입력 게이트와 출력 게이트. 다른 제어 신호를 가해야 하는점을 독립 제어점이라 함. 일반적으로 하나의 레지스터에는 입출력 단자에 별도의 독립 제어점이 존재한다.
 나. 제어 신호 : 레지스터에 기억된 자료를 버스¹에 실을 것인가를 결정하는 것. 마이크로 동작을 순서대로 실행하기 위해서는 제어 신호를  정해진 횟수로 정확한 시간 간격에 맞춰 발생시켜야 한다.
   1) 버스 : 컴퓨터 안의 부품들 간, 또는 컴퓨터 간 데이터와 정보를 전송하는 통로. 
 다. 제어 함수 : 레지스터에 공급되는 연속적 클럭 펄스¹가 어떤 특별한 기능을 발휘하지 못하면 레지스터의 내용 변화가 생기지 않는데, 레지스터의 내용이 변화될 수 있도록 제어하는 2진 변수이다.
   1) 클럭 펄스 : 수정 발진자의 규칙적인 진동에 의해 발생하는 일정한 간격을 갖는 전자적인 펄스

2. 타이밍 상태 : 중앙 처리 장치의 시간에 관한 정보를 나타내는 상태. 타이밍 상태에 머무는 시간은 마이크로 사이클 타임¹과 같고, 보통 한개의 마이크로 오퍼레이션²을 수행할 수 있다. 타이밍 상태의 수는 메이저 상태³에서 얼마나 많은 마이크로 오퍼레이션을 수행하냐에 의해 결정된다. 상태의 변화는 중앙 처리 장치의 클럭 펄스에 의하여 서로 다른 타이밍 상태가 주기적으로 변화한다. 하나의 명령을 실행시키기 위해서는 명령어를 인출하고, 간접 주소 형식이라면 간접 단계, 그렇지 않다면 실행하는 3단계 기능이 있다.

기능 시간적 동적 내용
명령 인출 ●명령을 기억 장치에서 읽는다

-명령의 종류를 판단한다.

-1주기 명령이면 실행하고 다시 인출 단계로 진행, 1주기 명령이 아니면 유효주소를 계산하고, 간접 주소 형식이 아니면 실행 단계로 진행한다.

간접 단계 ●주소를 주기억 장치에서 가져온다.

-간접 주소 형식이면 다시 간접 단계로 진행, 분기 명령이면 실행 후 명령 인출 단계로 진행한다.그렇지 않으면 실행 단계로 진행한다.

실행 단계 ●데이터를 기억 장치에서 읽어 온다.

-실행 후 인출 단계로 진행한다.

1)마이크로 사이클 타임 : 한 개의 마이크로 오퍼레이션을 수행하는데 걸리는 시간

2)마이크로 오퍼레이션 : 컴퓨터가 수행하는 모든 명령을 구성하는 기본 동작

3)메이저 상태 : 중앙 처리 장치가 무엇을 하고 있는지를 나타내는 것으로, 해당 사이클 동안 무엇을 위해 기억 장치에 접근하는지를 나타냄. 메이저 상태는 기억 장치에 접근할 때마다 변화하며, 메이저 상태에 머무는 동안을 메이저 사이클이라 한다.

3. 제어 방식

 가. 고정 배선 제어 : 제어 신호들이 미리 정해진 순서대로 발생되도록 논리 회로를 구현하는 방법
    장점 : 회로를 간단히 하고 속도가 빠름
    단점 : 한 번 만들어지면 동작이 바뀌어도 변경할 수 없음
   ㄱ. 상태표를 이용하여 스위치가 순서대로 동작
     상태의 입력 조합 수가 매우 커져서 계산의 양이 많아지거나 제어 회로가 무작위 구조가 되는 경향이 있어 수정 및 회로의 보수 유지가 어렵다.
   ㄴ. 지연 소자¹를 사용하여 시간을 조절
     지연 소자의 수가 많아짐
   ㄷ. 순서 계수기를 사용하여 시간을 조절
     게이트와 플립플롭²의 수가 최소화되지는 않지만 비교적 작은 수의 동작을 반복적으로 수행할 수 있어 순서 계수기를 사용하는 것이 유용하다.
   1)지연 소자 : 주어진 시간 간격이 지난 후, 이전에 입력된 입력 신호와 본질적으로 같은 출력 신호를 출력하는 소자.
   2)플립플롭 : 전자공학에서 1 비트의 정보를 보관, 유지할 수 있는 회로이며 순차 회로의 기본요소
 나. 마이크로 프로그램 제어 : 모든 마이크로 오퍼레이션의 수행에 필요한 제어 기능과 일련의 처리 절차를 마이크로 프로그램으로 구성해 ROM이나 PLA를 이용해서 제어 회로를 구현하는 방법
    장점 : 제어 신호들을 잘 정의된 워드인 마이크로 명령어로 구성하여 작성하기 때문에 설계를 쉽게 바꿀 수 있음
    단점 : 고정 배선식보다 가격이 비싸고 마이크로 명령어를 인출하는 별도의 시간 때문에 속도가 느림
    마이크로 프로그램에 의한 제어기의 핵심은 제어 기억 장치로, 그 속에 마이크로 명령어로 구성된 마이크로 프로그램을 기억하고 있다. 제어 메모리 주소 레지스터와 제어 메모리 데이터 레지스터를 이용해 제어 기억 장치에 기억된 정보를 읽을 수 있다.
    처리 장치는 현재의 상태를 표현하고, 명령어 실행을 위해 명령어 레지스터에 옮겨진 명령 코드는 제어 데이터로 사용되는데, 제어 기억 장치의 다음 주소를 결정하는 회로에 의해 마이크로 명령어의 위치가 결정된다. 마이크로 명령어는 수평 마이크로 명령어와 수직 마이크로 명령어가 있다.
      ⅰ)수평 마이크로 명령어 : 마이크로 명령어의 한 비트가 하나의 마이크로 오퍼레이션을 제어해 여러 개의 하드웨어를 동시에 제어할 수 있는 제어 워드 명령어. 효율적으로 하드웨어를 사용할 수 있는 반면 워드가 길어지는 단점이 있음
      ⅱ)수직 마이크로 명령어 : 하나의 마이크로 오퍼레이션을 표현하는 방식으로 마이크로 명령어 내에 코드화된 비트들을 포함하여 제어 기억 장치의 용량을 줄인다.

4. 제어 방식의 차이점

    고정 배선 제어와 마이크로 프로그램 제어의 차이
     -마이크로 프로그램 제어
     가. 하드웨어가 최소화, 설계가 간결
     나. ROM 내의 프로그램에 의하므로 매우 정연하고 구조적
     다. 에뮬레이션(emulation ; 어느 컴퓨터가 다른 컴퓨터의 명령을 모방하는 것)이 능률적
     라. 개발 당시 수정도 쉽지만 후에 기능 변경이 발생할 때 변경이 쉽다.
     마. 하드웨어가 최소화되므로 저렴
     바. 프로그램 형태이므로 자기 진단 기능 구비 가능
     사. 비트 슬라이스(작은 비트의 모듈을 모아 큰 비트의 프로세서를 제작하는 기술)형의 컴퓨터 가능
     &
     -고정 배선 제어
     가. 논리 회로대로 설계하여 회로도가 많이 복잡하다.
     나. 구현하는 비용도 많이 들어간다
     다. 제어 메모리는 필요하지 않다
     라. 명령어 교체를 위해 하드웨어를 교체해야함
     마. 너무 복잡해서 거의 안씀
     바. 속도가 빠름