1. 명령어 코드
이 장에서는 레지스터 전송문으로 나타내어지는 기본 컴퓨터의 각 연산이 어 떻게 동작하는지를 설명합니다. 컴퓨터의 구조는 내부 레지스터, 타이밍과 제어 구조, 명령어 집합에 의해서 정의되며, 이 장에서 다루는 기본 컴퓨터는 상용화 된 컴퓨터에 비해 규모가 매우 작지만, 설계 과정을 단순하게 보여줄 수 있는 이점을 가지고 있습니다.
2. 디지탈 시스템의 연산
디지탈 시스템의 내부 조직은 레지스터 안에 저장된 데이타를 가지고 수행되 는 마이크로 연산의 시퀸스 (sequence) 에 의해서 정의됩니다. 특수 목적 디지탈 시스템에서는 마이크로 연산의 시퀸스는 하드웨어에 의해서 고정되어 있으며 똑같은 특수한 업무만을 되풀이하여 수행합니다. 이러한 시스템은 자기 테이프 제어기 (controller) 와 같은 주변 제어 장치에서 많이 볼 수 있습니다.
디지탈 컴퓨터는 범용 (general purpose) 시스템으로서 다양한 마이크로 연산을 실행할 수 있으며 수행할 연산의 특수한 시퀸스를 명령할 수도 있습니다. 그러한 시스템의 사용자는 원하는 연산과 피연산자 (operand), 처리되는 순서를 기 술한 명령어의 집합인 프로그램에 의해서 처리 과정을 제어할 수 있습니다.
3. 컴퓨터 명령어와 내장 프로그램
컴퓨터 명령어는 컴퓨터에 대한 일련의 마이크로 연산을 기술한 이진 코드로서 이것은 데이타와 함께 메모리에 저장되는데 제어 신호는 각 명령어를 메모리로부터 읽 어서 그것을 제어 레지스터에 갖다놓습니다. 그리고나서 제어 신호는 명령어의 이진 코드를 해석하여 제어 함수를 발생시킴으로써 명령어를 실행합니다. 이와 같이 명령어를 저장하여 실행하는 "내장 프로그램" 개념은 범용 컴퓨터의 가장 중요한 특성입니다.
명령어 코드는 컴퓨터에게 어떤 특별한 동작을 수행할 것을 알리는 비트들의 집합으로서 여러 개의 부분으로 나뉘어지는데, 그 중 가장 기본적인 부분은 연산 코드 부분입니다. 연산 코드는 가감승제나 시프트, 보수 등과 같은 동작을 정 의한 비트들의 집합으로서 이 연산 코드 부분이 n비트로 구성되면 최대한 2" 개의 서로 다른 연산을 실행할 수 있습니다.
4. 연산과 마이크로 연산의 관계
여기서 연산 (operation) 과 마이크로 연산 (microoperation) 의 관계를 알아야 할 필요가 있습니다. 연산, 즉 오퍼레이션은 컴퓨터 메모리에 저장된 명령어의 일부로서 컴퓨터에게 특수한 연산을 실행하도록 명령하는 이진 코드입니다. 제어 장 치는 메모리로부터 이러한 명령어를 받아서 연산 코드의 비트 부분을 해석하여 내부 컴퓨터 레지스터에 마이크로 연산을 실행하는 일련의 제어 함수를 발생시 키게 됩니다.
각 연산 코드에 대하여 특정한 연산의 하드웨어 실행에 필요한 일 련의 마이크로 연산을 발생시키게 되므로 하나의 연산 코드는 마이크로 연산의 집합으로 볼 수 있기 때문에 때때로 매크로 연산이라고 불리기도 합니다. 명령어 코드의 연산부는 실행될 연산을 기술하고 있는데 이러한 연산은 메모리 또는 프로세서 레지스터 안에 저장된 데이타를 가지고 실행되므로 명령어 코드는 연산 뿐만 아니라 피연산자가 저장된 레지스터나 메모리 워드, 또한 연 산 결과가 저장될 장소를 기술해야 합니다.
메모리 워드는 주소에 의해서 지정되 며 프로세서 레지스터는 2*개의 레지스터 중에 하나를 나타내기 위한 k비트의 이진 코드를 사용함으로써 지정할 수 있습니다. 이와 같이 여러 개의 부분으로 구 성된 명령어 코드의 구성형식 (format) 은 컴퓨터의 구조 설계자에 의해 결정되 는데, 여기서는 기본적인 이해를 위하여 특정한 명령어 코드를 선택합니다.
댓글