KR830000570B1 - Alu회로 제어를 개선한 중앙처리장치 - Google Patents

Alu회로 제어를 개선한 중앙처리장치 Download PDF

Info

Publication number
KR830000570B1
KR830000570B1 KR1019780004015A KR780004015A KR830000570B1 KR 830000570 B1 KR830000570 B1 KR 830000570B1 KR 1019780004015 A KR1019780004015 A KR 1019780004015A KR 780004015 A KR780004015 A KR 780004015A KR 830000570 B1 KR830000570 B1 KR 830000570B1
Authority
KR
South Korea
Prior art keywords
carry
signal
circuit
flag
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
KR1019780004015A
Other languages
English (en)
Other versions
KR830000570A (ko
Inventor
노리미쓰 나가무라
Original Assignee
도오교오 시바우라덴기 가부시기이샤
이와다 가즈오
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 도오교오 시바우라덴기 가부시기이샤, 이와다 가즈오 filed Critical 도오교오 시바우라덴기 가부시기이샤
Priority to KR1019780004015A priority Critical patent/KR830000570B1/ko
Application granted granted Critical
Publication of KR830000570A publication Critical patent/KR830000570A/ko
Publication of KR830000570B1 publication Critical patent/KR830000570B1/ko
Expired legal-status Critical Current

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)
  • Pharmaceuticals Containing Other Organic And Inorganic Compounds (AREA)

Abstract

요약 없음.

Description

ALU회로 제어를 개선한 중앙처리장치
제1도는 본 발명에 따른 중앙 처리장치(CPU)의 블록다이어그램.
제2도는 제1도의 CPU에 사용된 연산 논리장치(ALU)와 그에 관련된 회로에 대한 회로도.
제3도는 제2도에 도시한 연산논리회로로부터 이동된 플래그들을 선택적으로 산출하는 플래그 선택회로의 블럭다이어그램.
제4도는 본 발명의 다른 실시예에 사용된 연산논리장치회로들의 블럭다이어그램.
제5도는 제4도에 도시한 연산논리장치 회로들로부터 이동된 플래그들을 선택적으로 산출하는 플래그선택회로의 블럭다이어그램.
제6도는 제4도에 도시한 각 연산논리장치회로들을 제어하기 위한 연산논 리장치 제어회로의 블럭다이어그램.
제7도는 캐리 룩어헤드 발생기의 논리회로도.
제8a도-제8d도는 제6도의 실시예에 있어 데이타버스 신호들이 제어 레지스터내에서 어떻게 세트되는가를 도시하는 한조의 타이밍차트.
제9도는 제어 레지스터내에서 세트된 비트 이미지와 선택된 ALU칩들간의 관계를 나타내는 도표.
제10a도-제10도h도는 동작명령의 집행을 도시하는 한조의 타이밍 차트.
제11도는 본 발명에 따른 또 하나의 실시예에 사용된 연산논리장치의 블록다이어그램.
제12도는 제11도에 도시한 연산논리장치를 제어하기 위한 연산논리장치 제어회로의 블럭다이어그램.
본 발명은 다수의 비트-슬라이스형(bit-slice type)연산/논리장치를 갖고 마이크로프로그램(microprogram)의 제어하에 동작하는 정보 처리기에 관한 것이다.
공지된 비트-슬라이스 시스템에 있어서 정보 처리기는 하나의 워드 데이타길이의 비트수보다 작은 비트수를 갖고 동작하는 연산/논리장치들을 연결함으로써 구성된다. 비트-슬라이스 시스템의 현저한 장점은 어떠한 데이타 길이의 콤퓨터라도 그 사용 목적에 따라 여러가지로 구성될 수 있다는 것이다. 환언하면 이것은 각각의 사용 목적별로 다른 정보처리기를 사용할 필요가 없이 단 하나의 처리기만으로 여러요도에 쓰일 수 있다는 것이다.
이러한 비트-슬라이스 시스템의 유용한 특징때문에 이것을 양산될 수 있다. 예를들어, 현재 생산되는 것으로는 어드밴스트 마이크로 디바이시즈 사에서 생산되는 AM2901과 같은 것이 있다.
비트-슬라이스 처리기는 4비트의 집적회로 한개로 구성된다. 여러개의 비트-슬라이스 연산논리장치(ALU)들의 결합으로 구성된 정보처리기에 있어서 흔히 각 제어플래그는 최상위 칩으로부터 출력된다.
이 경우, 예를들어, 16비트의 처리기가 4개의 칩들의 결합으로 구성되는데 그것은 칩1(비트 0-3), 칩2(비트4-7),칩3(비트 8-11),칩4(비트12-15)이고 처리기의 제어플래그는 칩4로부터 출력된다.
이러한 구성을 갖는 처리기를 사용하여 10진법 동작이 이루어질때. 데이타는 연산논리장치에 의하여 2진법 형태로 된 후 2진법-10진법 변환기에 의하여 10진법 형태로 변환된다. 연산논리장치의 캐리-플래그 제어를 위하여 리플 캐리(ripple carry)방법이나 캐리룩어헤드(carry lookahead)방법이 채용된다. 리플 캐리 방법에 있어서 각 장치의 캐리 출력은 차상위 장치의 캐리 입력에 연결된다.
동작과정에 있어서 많은 수의 비트가 동작한다.
이 경우에 재래식 비트-슬라이스들을 사용한 정보처리기는 데이타를 꾸리기가 불가능하다. 예를들어, 16비트 정보처리기내에서 4비트 동작이 수행될 때, 4비트 스트링(string)에 리딩 제로들(leading zero)을 추가함으로써 16비트로 동작되어야 한다.
더우기 10진법 계산을 수행할 때(대부분의 사무용 콤퓨터에서는 10진법계산을 수행한다).
데이타는 2진법으로 계산한 후 다시 10진법 형태로 변환되어야 하는데 2진법-10진법변환기는 보통 처리기에 포합되어 있다. 즉, 마이크로 프로그램에 의해 제어되는 대부분의 데이타 처리기들은 10진법형태로 동작을 집행하게 된다.
따라서 본 발명의 목적은 다수의 비트-슬라이스형의 연산논리장치칩들을 갖고 이 칩들로부터의 어떠한 플래그라도 선택적으로 출력할 수 있는마이크로프로그램의 제어하에서 동작하는 정보처리기를 제공하는 데 있다.
본 발명의 또 하나의 목적은 다수의 비트-슬라이스형 연산논리장치 칩들을 갖고 연산논리장치칩들의 결합을 제어하여 그것들이 다른 갯수의 비트를 가진 연산논리장치로 사용되게 하는 마이크로 프로그램의 제어하에 동작하는 정보처리기를 제공하는 것이다.
본 발명의 또 다른 목적은 다수의 비트-슬라이스형 연산논리장치 칩들을 갖고, 연산논리장치들을 제어하여 그것들이 독립적으로 동작을 집행할 수 있게 하거나 혹은 하나의 연산논리장치로서 장동하도록 하여주는 마이크로 프로그램의 제어하에 동작하는 정보처리기를 제공하는 것이다.
상기한 본 발명의 목적들을 달성하기 위해 다수의 연산논리장치 칩들을 갖고 마이크로 프로그램의 제어하에 동작하는 중앙처리 장치를 갖춘 정보 처리기가 마련되었다. 상기 중앙 처리장치는 마이크로 프로그램을 저장하기 위한 ROM각, ROM과 연결되어 마이크로 프로그램의 집행 어드레스를 제공하기 위한 마이크로 프로그램 시켄서(sequenser), ROM에 연결되어 ROM으로부터 읽혀진 마이크로 프로그램을랫치(latch)시키기 위한 데이타 레지스터(register), ROM데이타 레이스터와 데이타 버스(data bus)에 연결되어 ROM데이타 레지스터로부터 주어진 명령에 따라 데이타 버스로부터 공급된 데이타를 동작시키기 위한 연산논리장치 및 연산논리장치와 데이타 버스에 연결되어 마이크로 프로그램의 제어하에 데이타버스를 통하여 공급된 데이타 버스신호에 의하여 상기 연산논리장치를 제어하기 위한 연산논리회로를 포함한다.
이하 첨부된 도면을 참조로 본 발명을 상세히 설명한다.
제1도는 본 발명에 따른 정보 처리기에 사용된 중앙처리장치의 개념을 도시한 것이다. 이 도면에서 마이크로 프로그램 시켄서(11)은 연산논리장치 버스(12)와 마이크로프로그램 저장 ROM(13)으로 연결된다. 마이크로 프로그램 저장 ROM(13)은 일군의 마이크로 프로그램들을 저장한다.
마이크로 프로그램 시켄서(11)은 집행 어드레스들을 제공하여 ROM(13)에 저장된 각 마이크로 프로그램의 어드레스들을 제어하게 된다. 마이크로 프로그램의 집행 어드레스가 시켄서(11)에 의하여 공급될 때, 그 어드레스에 해당하는 마이크로 프로그램은 ROM데이타 레지스터(14)로 출력되는데 이 레지스터는 마이크로 프로그램 저장 ROM(13)의 출력단자에 연결된다. ROM데이타 레지스터(14)에 있어서 마이크로 프로그램 저장 ROM(13)으로부터 출력된 마이크로 프로그램의 각 명령을 클럭(clock)에 의하여 랫치되며 이 랫치된 마이크로 프로그램 명령은 연산논리장치(15)로 출력되고 동시에 제어신호들과 제어 데이타는 그 명령이 집행되는 각 호로들로 공급된다.
마이크로 프로그램 저장 ROM(13)에 저장된 마이크로 프로그램의 점프(JUMP)명령에 해당하는 점프 어드레스가 어드레스 ROM(16)을 통해 마이크로 프로그램 시켄서(13)으로 공급되고 그 어드레는 마이크로 프로그램 시켄서(11)에 저장된다.
점프와 같은 시험 조건들을 전달하기 위한 시험 신호가 시험회로 (18)로부터 시험 신호선(10)을 통하여 공급된다.
제어 데이타는 ROM데이타 레지스터(14)로부터 데이타버스(17)을 통하여 마이크로 프로그램 시켄서(11)에 공급된다.
이 제어 데이타는 마이크로 프로그램이 점프 명령을 제어한다.
ALU (15)는 여러가지의 연산동작 및 논리동작을 하며 그 결과는 제어회로(19)에 의하여 제어된다.
ALU(15)와 연산논리장치 제어회로(19)는 뒤에 상세히 설명된다.
시험회로(18)에 있어서는 점프명령이 생선될 때의 조건이 시험된다. 시험 데이타는 마이크로 프로그램명령의 데이타를 데이타 레지스터(14)로부터 데이타 버스(21)을 통하여 시험회로(18)로 이동시킴으로써 시험회로 내에서 세트(set)된다. 플래그(flag)정보도 제어회로(19)를 통하여 시험회로(18)로 이동된다. 따라서 시험회로 (18)은 마이크로 프로그램 명령의 데이타와 플레그 데이타를 시험하여 시험신호를 발생시킨다.
파일 레지스터(file register)(22)와 (23)은 마이크로 프로그램처리에 필요한 데이타를 파일하는데 쓰인다 마이크로 프로그램 명령이 파일 레지스터 내에서 연산논리장치(15)에 의한 동작의 결과를 파일하는 명령이면. 연산논리장치버스(12)를 통해 이동된 연산논리장치버스(12) 동작의 결과는 ROM데이타 레지스터(14)에 의해 정해진 파일 어드레스에 파일된다.
한편, 마이크로 프로그램 명령이 파일 레지스터 내에 있는 데이타를 사용하여 동작하라는 명령이면, ROM데이타 레지스터(14)는 특정파일 어드레스의 데이타를 발생시켜 데이타 버스(21)로 내보낸다.
외부 버스 접속장치(interface)(25)는 연산논리장치 버스(12) 및 데이타 버스(21)에 연결되고 외부 버스(26)을 통해 다수의 입출력장치 및 기억장치에 연결된다. 외부 버스 접속장치(25)는 데이타 송수신 회로용 레지스터들과 외부 버스 경쟁회로 입력제어 회로등을 갖추고 있다.
제2도에 연산논리회로의 상세한 부분과 그에 연관되고 제1도에 도시된 CPU에 사용되는 회로를 도시하였다.
이 도면에서 비트 0-3은 ALUO(31)에 할당되었고,
비트 4-7은 ALU1(32)에 할당되었고,
비트 8-11은 ALU2(33)에 할당되었고,
비트 12-15는 ALU3(34)에 할당되었다.
ALU0(31)의 P단자(전달캐리) 및 G단자(발생캐리)는 룩어헤드 캐리발생기(74)의 제1G단자(P0)와 제1(G0)에 연결된다.
ALU1(32)의 P단자 및 G단자는 캐리발생기(74)의 제2P단자(P1)과 제2G단자(G1)에 연결된다.
ALU2(33)의 P단자와 G단자는 캐리발생기(74)의 제3P단자(P2)와 제3G단자(G3)에 연결된다. 각 연산논리장치 ALU0(31), ALU1(32), ALU2(33), ALU3(34)의 캐리플래그단자 Cn+1, 오버플로우(overflow) 플래이단자 OVR, 사인플래그(sign flag)단자 SIN, 그리고 제로(zero)플래그 단자 ZERO는 모두 멀티플렉서(multiplexer)(161)의 해당 입력단자에 연결된다. 이 멀티플렉서(161)에는 플래그선택신호들 FLAG SEL4(162)와 FLAG SEL5(163)이 입력된다.
이러한 플래그 선택신호들은 마이크로프로그램에 의하여 제어되며 ALU(31),(34)로부터의 플래그 출력들중 어떤것이 이후에 상술할 플래그 데이타레지스터내에서 세트되어야 할지를 결정하여 준다. 예를들어 FLAG SEL4(162)와 FLAG SEL5(163)이 모두 "0"이면 ALU0(31)로부터의 플래그 출력이 선택된다.
FLAG SEL4(162)가 "1"이고 FLAG SEL5(163)이 "0"이면 ALU1(32)로부터의 플래그출력이 선택된다. 마찬가지로 FLAG SEL4(162)가 "0"이고 FLAG SEL5(163)이 '1'이면 ALU 2(33)으로부터의 플래그출력이 선택된다.
멀티플렉서(161)은 플래그 데이타 레지스터(164)로 연결되는데 이 레지스터에는 한조의 캐리플래그, 오버플로우플래그, 사인플래그 및 제로플래그만이 세트된다.
캐리 발생기(74)의 출력단자 Cn+x, Cn+y, Cn+z는 각각 연산논리회로 ALU1-ALU3의 캐리 입력단자 Cn에 연결된다. 하나의 캐리가 ALU0(31)의 동작중에 발생하면 캐리 발생기(74)는 하이레벨(HIGH level)의 신호를 발생시켜 단자 Cn+x에 유지시키며 이 신호는 차례대로 ALU1(32)의 캐리 입력단자 Cn에 캐리 신호로서 인가된다. ALU1(32)의 동작시에 캐리가 발생하면, 캐리발생기(74)는 하이레벨의 신호를 발생시켜 단자 Cn+y에 유지시키며, 이 신호는 차례대로 ALU2(33)의 캐리입력단자 Cn에 캐리 신호로서 인가된다. 또한 ALU 2(33)의 동작중에 캐리가 발생하면 캐리발생기(74)의 단자 Cn+Z는 하이레벨의 신호를 출력시키며 캐리신호는 ALU 3(34)의 캐리입력단자 Cn에 인가된다.
제1연산논리장치(31)의 캐리 입력단자 Cn에는 플래그 데이타 레지스터(164)의 캐리플래그신호 Cn+4가 AND회로(165)를 통하여 인가된다. AND게이트(165)의 또 다른 입력단자에는 마이크로 프로그램에 의하여 세트되는 캐리신호 CnON이 인가된다. 캐리신호CnON은 캐리가동작의 결과로 발생되었을 때 캐리플래그가 상승하면 인가된다.
제3도는 플래그들은 제2도의 각 연산논리장치로부터 선택적으로 수신하고 그 선택한 것을 출력시키는 플래그 선택회로의 다이어 그램이다. 제3도에서 멀티플렉서(41)-(43)과 (166)이 멀티플렉서(161)을 구성하고 있다. 멀티플렉서들 (41)-(43)과 (166)의 입력단자가 연산논리장치 (31)-(34)의 각각의 플래그출력 단자에 연결됨은 도시한 바와 같다. 즉 ALU(31)-(34)로부터의 캐리플래그 신호들은 제1멀티렉서에 인가되고, 오버플로우 신호들은 제2멀티렉스들에 인가되며, 플래그 신호들은 제3멀티렉서(43)에 인가된다 ALU 0-ALU 3로부터의 제로 플래그 신호들은 제1-3AND회로 (167)-(169)를 거쳐 제4멀티플렉서(166)에 인가된다.
4비트 동작에 있어서 ALU 0칩이 사용될 때 ALU 0(31)로부터의 제로플래그는 직접 멀티플렉서(166)로 인가된다.
8비트 동작에 있어서는 ALU 0과 ALU 1로부터의 동작결과가 모두 '0'일 때 제로플래그 ON신호는 멀티플렉서(166)으로 인가된다. 마찬가지로 16비트 동작에 있어서는 ALU(31)-(34)는 동작의 결과 모두 '0이며 제로플래그 ON신호는 멀티플렉서(166)로 인가된다. 각 멀티플렉서들(41)-(43),(166)의 출력신호들은 플래그 데이타 레지스타(164)로 인가된다. 플래그 데이타 레지스터(164)는 캐리플래그레지스터(171), 오버프로우 플래그 레지스터(172), 사인플래그 레지스터(173) 및 제로플래그 레지스터(174)로 구성된다.
이 레지스터들은 각각 D형 플립플롭으로 구성된다.
멀티플렉서들 MUX 0-MUX 3의 출력 신호들은 플래그 데이타 레지스터클럭신호 CP에 반응하여 플래그 레지스(164)터 로 인가된다.
캐리룩어헤드 발생기(74)는 제5도에 도시된 바와같이 논리회로로써 구성된다. 정보처리기의 ALU0(31)에서 캐리가 발생한다고 가정하자. 캐리가 발생하면 ALU 0(31)의 G 및 P단자에서 로우레벨(Low Ievel)신호들이 나타난다. 이때 플래그 데이타 레지스터(164)의 캐리플래그 레지스터의 캐리가 OFF상태이면, 캐리입력신호 Cn은 로우레벨에 있게된다. 따라서 제7도의 논리회로에서 로우레벨의 신호가 AND회로(85)의 입력단자 모두에 인가되어 AND회로(85)의 출력 또한 로우레벨로 된다.
AND회로(82)는 그 입력단자의 하나에서는 인버터(inverter)(81)을 통해 들어오는 하이레벨의 캐리입력신호 Cn을 수신하고 또 다른 입력으로는 로우레벨의 신호를 수신한다. 따라서 AND회로(82)는 로우레벨의 신호를 내게된다. 그러므로 로우레벨의 신호들이 NOR회로(96)의 입력단자들에 인가되어 NOR회로(96)의 출력은 하이레벨이 된다. 이에 따라 캐리발생기의 단자 Cn+X는 하이레벨의 신호를 갖게되고 캐리신호는 ALU 1(32)의 캐리입력자에 인가된다. ALU 1(32)이 동작하여 캐리가 발생하면 ALU 1(32)의 G단자 및 P단자는 로우 레벨에 있게 된다.
따라서 로우레벨의 신호들이 AND회로(89)에 입력되어 그 출력은 로우레벨이 된다. 하나의 하이레벨 신호와 세개의 로우레벨 신호가 AND회로(83)의 입력으로 인가되어 AND회로(83)의 출력은 로우레벨신호로 된다. 따라서 로우레벨의 신호들이 NOR회로의 세 입력단자에 인가된다. 그 결과 NOR회로(97)의 출력은 하이레벨로 된다. 그리하여 캐리발생기(74)는 Cn+1단자에서 하이레벨 신호를 내리고 캐리신호가 ALU2의 캐리입력단자에 인가된다.
ALU 2(33)이 작동하여 캐리가 발생하면 ALU 2(33)은 하이레벨의 신호를 G단자 및 P단자에 유지시킴으로써 제2도의 논리회로에서 AND회로(92)에 로우레벨의 신호들이 인가된다. 로우레벨의 신호들은 AND회로(90) 및 (87)에 인가되고 3개의 로우레벨신호와 한 개의 하이레벨신호가 AND회로(84)의 4개의 입력단자에 인가된다. 이에 따라 AND회로(84),(87),(90) 및 (92)의 출력은 모두 로우레벨로 된다.
이 신호들은 모두 NOR회로(98)로 인가되어 NOR회로(98)의 출력은 하이레벨로 된다. 따라서 캐리발생기는 단자 Cn+Z에 하이레벨의 신호를 유지시키고 캐리신호는 ALU 3(34)의 캐리입력단자 Cn에 인가된다.
캐리에 의한 동작이 수행될 때 하이레벨의 신호 하나가 플래그 레지스터(164)의 캐리 플래그 레지스터(l71)로부터 AND회로(165)의 입력단자들중 하나에 인가된다. 지금 수행되는 동작에 있어 또 하나의 캐리신호가 필요한 경우에는 캐리 플래그 ON신호가 마이크로프로그램에 의하여 '1'으로 세트되어 AND회로(165)는 하이레벨의 신호를 발생시키고, 따라서 하나의 캐리 신호가 ALU 0(31)아 인가된다.
이때 ALU 0-ALU3의 플래그들은 멀티플렉서 MUX 0-MUX3 로 인가된다.
이에 따라 4비트 동작의 경우 FLAG SELECT4신호와 FLAG SELECT5신호가 모두 '0'으로 세트되면, ALU 0(31)의 각 플래그들은 플래그 레지스터에 세트된다. 8비트동작의 경우 FLAG SELECT4신호가 '0'으로 세트되고, FLAG SELECT5신호가 '1' 로 세트되면, ALU 1(32)의 각 플래그는 플래그 레지스터(l64)에 세트된다 마찬가지로 12비트 동작의 경우 FLAG SELECT4가 '0'이고, FLAG SELECT5가 '1'이면 ALU2로부터의 플래그들이 선택된다. 16비트 동작의 경우 FLAG SELECT4와, FLAG SELECT5 두개다 '1'로 세트되면, ALU 3(34)의 각 플래그들이 선택된다.
이러한 구조의 정보 처리기에 있어서 각 ALU칩들로부터의 플래그들이 선택될 수 있으므로 요구되는대로 최적의 비트 수의 동장을 수행할 수 있다.
다이어그램으로 도시된 제4도는 제1도에 도시된 ALU(15)를 자세히 도시한 것이다.
제4-6도는 본 발명에 따른 각 비트 슬라이스의 플래그 및 클럭이 제어되며, 각 비트슬라이스나그들의 결합에 의한 동작이 가능하도록 하는 실시예를 도시한 것이다.
각각 4비트로 구성된 4개의 ALU칩들(31)-(34)가 16비트 연산논리장치로 결합되었다. ALU 0(31)은 데이타버스의 0-3비트로 ALU1(32)는 4-비트로, ALU2(33)는 8-11비트로 ALU3(34)은 12-15비트로 할당되었다.
ALU(31)-(34)의 각각은 데이타 버스(21)의 각 비트들에 대응하여 ALU버스(12)에 연결된다. 각 ALU칩에는 A어드레스 입력단자(35), B어드레스 입릭단자(36), 명령 입력단자(37), 캐리 입력단자(38) 및 ALU클럭 입력단자(39)가 마련되어 있다·
ALU칩의 출력단자들은 캐리 플래그 출력단자(40), 오버플로우 플래그출력단자(41), 사인 플래그 출력단자(42), 제로 플래그 출력단자(43), 발생기 캐리 플래그 출력단자(44), 그리고 프로퍼게이트 캐리(propagate carry) 출력 단자(45)등이다.
ALU0(31)-ALU3(34) 각각은 파일하는 기능을 갖추고 있다. 연산논리장치는 A 또는 B 어드레스 입력단자들로부터 액세스 될 수 있는 레지스터릍 갖고 있다. 또한 연산논리장치는 명령 제어기능을 갖추고 있는데 이것으로는 명령 입력단자(37)을 통해 입력된 동작방법이나, 동작원(operation source)들(입력 데이타나 또는 그러한 ALU파일 A와 B 혹은 데이타 버스의 선택)의 선택이나 출력제어(ALU파일, ALU버스 등으로의 출력)같은 기능이 있다.
또한 연산논리장치는 플래그 제어기능도 갖추고 있다.
이 기능과 연관하여 연산논리장치(15)는 캐리플래그를 보다 하위의 자리로부터 입력시키기 위한 캐리입력단자(38), 동작의 결과를 나타내는 플래그를 출력시키기 위한 캐리플래그(Cn+4)출력단자, 오버플로우 플래그(OVR), 출력단자(41), 사인플래그(SIN)출력단자(42), 그리고 제로플래그(ZERO) 출력단자(43)을 갖추고 있다. 발생 캐리 출력단자(44)와 프로퍼게이트 캐리 출력단자(45)에서 출력된 신호들은 각각 동작의 캐리조건을 나타내고 있다.
클럭 입력단자(39)에서 클럭신호 CLK를 수신하자마자 연산논리장치(15)는 한개의 클럭 주기내의 기능을 완성한다.
제5도는 제4도의 ALU(3l)-(34)로부터 출력된 플래그 데이타를 입력시키기 위한 플래그 선택회로를 상세히 도시한 것이다.
멀티플렉서(41)은 ALU(31)-(34)의 캐리 플래그 출력단자들을 통해 공급된 캐리플래그들 CnOUT0, CnOUTl, CnOUT2 및 CnOUT3를수신한다. 멀티플렉서(42)는ALU(31)-(34)로부터의 오버플로우플레그들 OVR0, OVRl, OVR2 및 OVR3를 수신한다. 멀티플렉서 (43)은 ALU(31)-(34)로부터의 사인플래그들 SlN0, SlN1, SIN2 및 SIN3를 수신한다.
멀티플렉서(41)-(43)의 각각은 제어 테지스터(60)으로부터의 플래그선택신호들(FLAG SELECT4와 FLAG SELECT5)을 수신한다.
이 신호들은 마이크로 프로그램에 의하여 세트된다.
ALU(31)-(34)로부터의 제로플래그들 ZERO0-3과 플래그 선택신호들 FLAG SEL0-FLAG SEL3은 제1-4OR회로들 (45)-(48)이 각각 인가된다. OR회로들 (45)-(48)의 출력신호들은 AND회로(49)에 같이 인가된다. 멀티플렉서 MUX1-MUX3과 AND회로(49)로부터의 플래그 신호들은 플래그 데이타레지스터(50)이 레지스터 된다. 4개의 D형 플립플롭(5l)-(54)로 구성된 플래그 레지스터(50)은 클럭입력 단자를 통하여 입력된 플래그 레지스터클럭에 반응하여 멀티플렉서 (41)-(43)과 AND회로(49)로부터 출력된 캐리플래그, 오버플로우 플래그, 사인 플래그 및 제로플래그를 랫치 시킨다.
캐리플래그, 오버플로우 플래그 및 사인플래그는 표 1에 도시한 바와 같이 FLAG SELECT4와 FLAG SELECT5에 의하여 선택된다.
[표 1]
Figure kpo00001
표 1에서 보는 바와 같이 FLAG SEL4와 FLAG SEL5가 모두 '0' 즉 로우레벨일 때 ALU0의 캐리플래그오버플로우 플래그, 그리고 사인플래그는 플래그 데이타 레지스터(50)에 저장된다. FLAG SEL5가 '0'이고 FLAG SEL4가 '1'이면 ALU1의 각 플래그들은 레지스터(50)에 세트된다.
FLAG SEL5가 '1'이고 FLAG SEL4이 '0'이면 ALU2의 각 플래그들은 플래그 데이타 레지스터(50)에 세트된다.
제로플래그들 ZERO0에서 ZERO4는 4개의 플래그 선택신호들 FLAG0에서 FLAG3에 의하여 선택된다
예를 들어 ALU0칩이 선택되었다면, 로우레벨의 신호가 OR회로 (45)의 입력단자들 중 하나에 인가되고 하이레벨의 신호가 나머지 세개의 OR회로들의 출력에 나타난다.
즉, FLAG SELECT신호들은 그렇게 선택된다. 그러므로 ZERO0신호가 로우레벨이면 AND회로(49)는 로우레벨의 신호를 낸다.
그 신호가 하이레벨이면 AND회로(49)는 하이레벨의 신호를 낸다. ALU들의 각 플래그신호들과 제로플래그들간의 관계로 표 2에 도시하였다.
[표 2]
Figure kpo00002
제6도는 플래그 선택신호를 FLAG SEL0-FLAG SEL5에 멀티플랙서들(41)-(43)과 AND회로(49)를, ALU클럭신호들 ALU CKL0에서 ALU CKL3에 연산논리회로들 ALU0-ALU3를, 캐리 입력신호들 CnIN0에서 CnIN3에 ALU(31)-(34)의 단자들 Cn를 인가하기 위한 제어회로를 도시한 것이다. 도시된 바와 같이제어레지스터(60)은 D형 플리플롭(61)-(66)으로 구성된다.
이타데 버스(0)의 신호는 플립플롭(61)에, 데이타 버스(3)의 신호는 플립플롭(64)에, 데이타 버스(12)의 신호는 플립플롭(62)에, 데이터 버스(4)의 신호는 플립플롭(65)에, 데이터 버스(2)의 신호는 플립플롭(63)에, 데이터 버스(5)의 신호는 플립플롭(66)에 인가된다. 이 신호들은 제어레지스터 클럭신호에 의해 D형 플립플롭에 랫치된다,
신호 FLAG SEL0는 제1플립플롭(6l)의
Figure kpo00003
단자로부터, 신호 FLAG SEL1은 제2플립플롭(62)의
Figure kpo00004
단자로부터, 신호 SEL2는 제3플립플롭(63)의
Figure kpo00005
단자로부터, 신호 SEL3는 제4플리플롭(64)의
Figure kpo00006
단자로부터, 신호 SEL4는 제5 플리플롭(65)의
Figure kpo00007
단자로부터, 신호 SEL5는 제6플리플롭(66)의
Figure kpo00008
단자로부터, 출력된다.
제1-제4OR회로(67)-(70)의 한 입력 단자는 제l -제4플리플롭(61)-(64)의
Figure kpo00009
단자들로부터의 출력신호를 수신하고 다른 입력단자들은 공통 클럭신호를 수신한다.
제1-제4OR회로들은 각각 연산논리장치 클럭신호들 ALU CLOCK0-ALU CLOCK3를 낸다.
제1-제3플립플롭들(61)-(63)의
Figure kpo00010
단자들로부터의 출력신호들은 제1-제3 AND회로들 (71)-(73)의 입력단자등중 하나에 인가되며 이 회로들의 다른 입력단자들은 프로퍼케이트 캐리신호들 P0-P2를 수신한다. 제1-제3 AND회로들(71)-(73)의 출력단자들은 역전된 상태로 룩어헤드 캐리발생기(74)의 프로퍼케이트 단자들 Po-P2에 인가된다. 플립플롭(61)-(63)의
Figure kpo00011
단자들로부터의 출력신호들은 OR회로들(75)-(78)의 입력단자중 하나에 인가되며 다른 입력단자들에는 발생 캐리신호들 G0-G2가 인가된다.
제4-제6회로들의 출력신호들은 룩어에드 캐리발생기(74)의 발생 캐리단자들 G0-G2이 인가된다.
플립플롭(61)-(63)의
Figure kpo00012
단자들로부터의 출력신호들은 OR회로들(75)-(77)의 입력단자중 하나에 인가되며 다른 입력단자들에는 발생 캐리신호들G0-G2가 인가된다. 제4-제6회로들의 출력신호들은 룩어에드 캐리발생기(74)의 발생캐리 단자들G0-G2에 인가된다.
캐리입력 신호들 CnIN 및 CnON은 제4AND회로(78)에서 AND되며 그 출력은 제5 AND회로(79)의 한 입력단자에 인가되고 제5AND회로(79)의 다른 입력단자는 제1플립플롭(61)의 Q출력단자로부터 출력된출력신호를 수신한다.
이렇게 하여 제5AND회로(79)는 제1캐리입력신호 CnIN0를 유기시킨다. 제2에서 제4캐리입력신호들 CnIN1-CnIN3는 각각 룩어헤드 캐리 발생기의 출력단자들 Cn+x, Cn+y 및 Cn+z로부터 출력된다.
제6도에 도시된 룩어헤드 캐리 발생기는 예를들어 제7도에 도시된 바와 같이 구성될 수 있다.
도시된 바와같이 캐리 입력신호 Cn은 인버터(81)을 통하여 AND게이트에 인가된다.
발생캐리신호
Figure kpo00013
0는 AND게이트(82)-(88)로 발생캐리신호
Figure kpo00014
1는 AND게이트(89),(86),(83),(87),(84),(88)로 발생캐리신호
Figure kpo00015
2는 AND게이트(94),(93),(91),(88)로 인가된다.
프로퍼게이트 캐리신호
Figure kpo00016
0는 AND회로들(85)-(87)과 OR회로 (95)로, 프로퍼게이트 캐리신호
Figure kpo00017
1은 AND회로들(89)-(91)과 OR회로(95)로, 프로퍼게이트 캐리신호
Figure kpo00018
2은 AND회로들(92),(93)과 OR회로 (95)로, 프로퍼게이트 캐리신호
Figure kpo00019
3은 AND회로들(94) OR회로(95)로, AND회로들 (85)와 (82)로부터의 출력신호들은 NOR회로 (96)으로 인가되어 번갈아신호 Cn+x를 유기시킨다.
AND회로들(89),(86) 및 (83)으로부터의 출력신호들은 NOR회로 (97)에 인가되어 번갈아 신호Cn+z를 유기시킨다.
AND회로들(92),(90),(87) 및 (84)로부터의 출력신호들은 NOR회로 (98)을 통하여 신호 Cn+y로서 출력된다.
AND회로들(94),(93),(91) 및 (88)로부터의 출력신호들은 OR회로 (99)를 통하여
Figure kpo00020
신호로서 출력된다.
OR회로(95)는
Figure kpo00021
신호를 유기시킨다. 룩어헤드 캐리발생기(74)는 다음 방정식들을 만족시키게끔 구성된다.
Cn+x=G0+P0Cn
Cn+y=G1+P1GO+P1P0Cn
Cn+z=G2+P2G1+P2P1G0+P2P1P0Cn
G=G3+P3G2+P3P2G1+P3P2P1G0
P=P3P2P1P0
여기서 G0-G3는 캐리발생 입력들이고, P0-P3는 캐리프로퍼게이트 입력들이며, Cn은 캐리 입력이고, Cn+x, Cn+y와 Cn+z는 캐리 출력이고, G는 캐리 발생 출력이고, P는 캐리프로퍼게이트 출력이다.
예를 들어, 어드밴스트 마이크로 디바이시즈 인코오포레이티드에서 생산되는 AM2909가 이런 형의 룩어헤드 캐리 발생기이다.
제6도에 도시된 제어 레지스터(60)은 각개 게어를 위해 마련된 세개의 레지시터와 6개의 레지스터들을 포함하는데 이 경우에는 D형 플립플롭들 (61)-(66)이 그겻이다.
DATA BUS0-DATA BUS5의 동일한 데이타가 플립플롭들 (61)-(66)에 인가된다.
제8도는 기본적인 클럭신호 파형을 도시한 것이다. 클럭신호가 LOW에서 HIGH레벨로 변할때에 집행된 마이크로 프로그램 명령은 ROM데이타 레지스터(14)에 세트된다. 이 시간에 세트된 명령이 제어 레지스터에 Write 하기 위한 명령이면, ROM DATA레지스터는 명령의 데이타 부분 혹은 그 일부를 데이타버스에 인가시키고, 로우레벨의 제어 레지스터 클럭신호를 인가시킨다. 제어 레지스터(60)을 구성하고 있는 플립플롭들(61)-(66)은 DATA BUS 0-5의 데이타를 제어 레지스터 클럭의 선단부에서 래치시킨다.
제9도에 도시된 바와같이 제어 레지스터는 연산논마장치의 결합을 제어 레지스터의 내용 즉, 거기에 세트된 데이타에 의거하여 구체화한다. 도면에서 비트 b0-b3는 제어 레지스터(60)의 플립플롭(61)-(64)에해당하고 비트 b4와 b5는 플립플릅(65) 및 (66)에 상용한다. 비트 b0-b3는 동작을 위한 연산논리장치와 캐리 플래그 Cn을 제공하기 위한 연산논리장치를 선택한다.
제5 및 제6플립플롭(65) 및 (66)은 플래그 데이타를 플래그 레지스터에 공급하기 위한 연산논리장치를 선택하는데 쓰인다. ZERO FLAG는 비트 b0-b4에 의하여 선택된다.
제9도는 각 플립플롭(61)-(66)의 출력치 사이의 관계와 연산논리장치 플래그 신호라을 도시하고 있다 제6도에 잘 도시된 바와같이 플립플롭(61)에 상용하는 비트 b0는 ALU CLOCK0를 선택한다. 마찬가지로 비트 b1은 ALU CLOCK1을 선택하고 비트 b2는 ALU CLOCK2를, 비트 b3는 ALU CLOCK3를, 비트b4는 ALU CLOCK4를 선택한다. 도시된 바와 같이 b0가 '1'이고 나머지 비트 b1-b5가 모두 '0'일때 ALU CLOCK0-ALU CLOCK1이 출력된다. 마찬가지로, 비트의 나머지 결합은 그에 상융하는 신호의 결합을 선택한다.
연산명령의 집행동작은 제10도를 참조하여 설명한다. 연산명령이 제10a도에 도시된 바와같이 클럭 신호에 반융하여 ROM데이타 레지스터(14)에 래치된다.
이때 ROM레지스터(14), A어드레스, B어드레스 및 명령데이타를 연산논리장치에 공급한다. 연산명령이 파일 레지스터의 데이타를 사용하는 명령이면, 그것이 파일 레지스터에 엑세스 되고 데이타 버스는 파일데이타를 생성한다. 이를 제10c도에 보였다. 입력정보를 수신하면 각 ALU칩들은 발생 캐리 신호 G와 프로퍼게이트 캐리신호 P를 생성한다. 이를 제10d도에 보였다.
이 신호 G(G0-G2) 및 P(P0-P2)들은 캐리발생회로에 인가되어 제l0e도에 도시된 바와같이, 차례대로 CnIN0-CnIN3의 신호들을 생성한다. 신호G(G0-G2) 및 P(P0-P2)는 캐리발생회로(74)에 입력되고 캐리 발생기회로(74)는 CnIN0-CnIN3의 신호를 생성하여 연산논리장치로 보낸다. 이 신호들에 반융하여 연산논리장치는 캐리를 포함하는 특정동작을 집행하고 ALU BUS의 동작의 결과로서 데이타를 생성한다.동시에 ALU의 칩들은 제10f도에 도시된 바와 같이 플래그들을 생성한다.
현재 집행되는 명령이 플래그를 플래그 레지스터에 세트시키라는 명령이면, ROM데이타 레지스터는 플래그레지스터에 플래그 레지스터클럭신호를 공급하여 준다. 명령이 파일 레지스터에 연산논리장치의 동작의 결과를 세트시키라는 명령이면, ROM데이타 레지스터는 파일 레지스터에 클럭신호를 공급하여 준다. 명령이상기 두 명령을 모두 포함한 것이면, ROM데이타 레지스터는 제10g도에 도시된 바와같이, 로우레벨의 클럭신호들을 각 레지스터에 모두 공급한다. 그 결과로, 플래그 레지스터 또는 파일 레지스터는 제10h도에 도시된 바와같이 신호의 선단부에 세트된다. 따라서 한주기 동안 하나의 명링이 집행된다.
다음의 설명은 데이타 b0=1, b2=0, b3=0, b4=1, b5=0이 제어 레지스터에 세트되었을 때의 동작명령의 집행동작에 관한 것이다.
처음에, 제1, 제2 및 제5플립플롭(61),(62)및 (65)가 세트된다. 이 동작의 결과로 플래그 선택신호들은 다음과 같이 된다.
Figure kpo00022
따라서 로우레벨의 신호들이 제1 및 제2OR회로(57) 및 (68)에 공급되고, 하이레벨의 신호들이 제3및 제4 OR회로들(69) 및 (70)에 공급된다. 따라서 클럭신호들은 ALU0와 ALU1에 인가되고, 연속적인 하이레벨의 신호들이 ALU2 및 ALU3에 인가된다. 그 결과 칩 ALU0와 ALU1은 동작하기 시작한다.
하이레벨의 신호는 AND회로(71)의 입력단자들중 하나에 인가되고 로우레벨의 신호는 OR호로(75)의 입력단자들중 하나에 인가된다. 하이레벨신호는 AND호로(72)의 입력단자들중 하나에 인가되고 로우레벨의 신호가 OR회로(76)의 한 입력단자에 로우레벨신호가 AND회로(73)의 한 입력단자에, 또한 하이레벨의 신호가 OR회로(77)의 한 입력단자에 인가된다.
이 조건하에서 캐리가 ALU0(31)의 동작의 결과로 발생하면, 발생 캐리신호 GO(로우레벨)과 프로퍼게이트 캐리신호 PO(로우레벨)은 ALU0(31)의 발생캐리 단자(44)와 프로퍼게이트 캐리단자 (31)을 통하여 출력된다. 프로퍼게이트 신호는 AND회로(7l)의 다른 입력단자에 인가되고, 발생캐리 신호는 OR회로(75)의 다른 입력단자에 인가된다. AND회로(71)과 OR회로(75)는 로우레벨신호들을 발생시킨다.
이러한 로우레벨 신호들은 룩어헤드 캐리 발생기(74)에 인가된다.
이런 동작에서 캐리가 없었으면 CnIN입력은 로우레벨 신호이고, 이 로우레벨 신호는 AND회로(78)에 인가된다. 그 결과 AND회로(78) 및 (79)의 출력신호들은 모두 로우레벨이 되며, 이것들이 ALU0(31)에 인가된다. CnIN0입력(38)은 로우레벨이며 룩어헤드 캐리 발생기(74)에 인가되는 Cn입력도 로우레벨이다 제7도에 도시한 룩어헤드 캐리발생기(74)의 논리회로에 있어서,
Figure kpo00023
0 및
Figure kpo00024
0임력들은 모두 로우레벨로 되며 입력 Cn은 인버터(81)에 의해 반전되어 하이레벨로 된다. 따라서 로우레벨 입력신호들은 AND회로(85)의 입력단자들 모두에 인가된다. 하이레벨 신호가 AND회로 (82)의 한 입력단자에 인가되고, 로우레벨 신호가 나머지 입력단자들에 인가되면 AND회로들(85) 및 (82)의 출력신호들은 모두 로우레벨로 되며 두개의 로우레벨신호들이 NOR회로(96)에 인가된다. NOR회로(96)의 출력은 하이레벨로 되고. 하이레벨의 신호가 룩어헤드 캐리발생기(74)의 Cn+x단자에인가된다. ALU1(32)의 동작의 결과로 캐리가 발생되면, 발생캐리신호G1(로우레벨)과 프로퍼게이트 캐리신호 P1(로우레벨)은 ALU1(32)의 발생캐리 단자와 프로퍼게이트 캐리단자를 통하여 출력된다. 프로퍼게이트 신호는 AND회로(72)의 다른 입력단자에 인가되고, 발생력리신호는 OR회로(76)의 다른 입력단자에 인가된다.
AND회로(72)와 OR회로(76)은 모두 로우레벨신호들을 생성한다.
이러한 로우레벨의 신호들은 룩어헤드 캐리발생기(74)에 인가된다.
제7도에 도시된 룩어헤드 캐리발생기(74)의 논리회로에서
Figure kpo00025
Figure kpo00026
입력은 모두 로우레벨이다. 로우레벨신호들은 AND회로(83),(86),(89)의 입력 단자들에 인가된다. AND게이트(83),(86),(89)는 로우레벨의 신호를 낸다. 이 3개의 로우레벨 신호들은 회로(97)에 인가된다. 하이레벨의 신호가 룩어헤드 캐리발생기(74)의 Cn+y단자에 인가된다. 하이레벨의 신호가 AND회로(92)의 두 입력단자에 인가되고, AND회로(90)의 3개의 입력단자들에는 하나의 하이레벨 신호와 두개의 로우레벨 신호가 인가되면, AND회로(87)의 4개의 입력 단자들에는 하나의 하이레벨 신호와 3개의 로우레벨 신호가 인가된다. 2개의 하이레벨 신호와 2개의 로우레벨 신호가 AND회로(84)의 4개의 입력단자들에 인가된다. 그러므로, AND회로(92)의 출력은 하이레벨이 되고 AND회로(90),(87),(84)의 출력들은 로우레벨로 된다. 이에 따라 NOR회로(98)의 4개의 입력단자에는 하나의 하이레벨신호 및 3개의 로우레벨신호가 인가되게된다. NOR회로(98)의 출력은 로우레벨로 되고 로우레벨 신호가 룩어헤드 캐리발생기(74)의 Cn+z단자에서 출력된다. 이 경우, Cn+x단자로부터의 하이레벨 신호는 ALU(132)의 CnIN1입력단자로 인가되고 Cn+y출력단자로부터의 하이레벨 신호가 ALU2의 CnIN2입력단자에 인가되어 캐리신호를 생성한다.
ALU2(33)은 그 CnIN2입력단자에 하이레벨신호가 입력되었을 때 본질적으로 영향을 받지않는데 그 이유는 ALU CLOCK2 그 신호가 인가되지 않았기 때문이다.
따라서 캐리신호는 ALU칩들 ALU0(31)과 ALU(132)사이에서 생성된다.
이번에는 ALU0(31)의 동작시에 캐리가 생성되지 않는 경우를 생각해 보자. ALU0(31)은 PO(45) 및 GO(44)단자들이 하이레벨의 신호들을 발생시킨다. 두 개의 하이레벨신호들이 AND회로(71)와 OR회로(75)에 인가되어 이 회로들(71) 및 (75)가 하이레벨의 신호를 생성한다. 제7도의 논리회로에 있어 하이레벨의 신호들이 AND회로(85)의 입력단자 모두에 인가되어 회로(85)의 출력은 하이레벨이 되고 NOR회로(96)의 출력은 로우레벨이 된다.
로우레벨신호가 룩어헤드 캐리발생기(74)의 Cn+x단자로부터 출력되고 캐리는 발생되지 않는다.
FLAG SEL4(하이레벨)과 FLAG SEL5(로우레벨)이 멀터플렉서(41)-(43)에 인가된다. 이 신호들을 수신하면 멀티플렉서(41)은 캐리 플래그 CnOUT1을 발생시키고, 멀티플렉서(42)는 오버플로우플래그 OVR1을, 멀리플렉서(43)은 사인플래그 SIN1을 발생시키고, 이 발생된 신호들은 캐리플래그 레지스터(51), 오버플로우플래그 레지스터(52) 및 사인플래그 레지스터(53)에 세트된다.
제로 플래그 레지스터에 있어서 FLAG SEL0신호(로우), FLAG SEL1신호(로우), FLAG SEL2신호(하이 ), FLAG SEL3신호(하이 )들이 각각 OR회로들(45)-(48)의 입력단자들에 인가된다. 따라서 OR회로들(47) 및 (48)의 출력들은 모두 하이레벨로 된다. ALU0-AL-U1이 모두 '0'일때 Zero0신호와 Zero1신호는 모두 하이레벨로 되어 OR회로들(45)및 (46)은 하이레벨의 신호들을 생성한다. 따라서 AND회로(49)의 4개의 입력 단자들에 하이레벨 신호들이 인가되어 AND회로(49)는 하이레벨 신호가 출력되고, 플래그 데이타 레지시터(50)에 있는 제로 플래그는 논리상태 '1'로 세트된다.
ALU0(31)과 ALU1(32)중 하나가 "제로''가 아니면 AND회로(49)의 출력은 로우레벨로 되어 제로 플래그 레지스터(54)에는 논리 상태 '0'의 세트된다.
ALU2와 ALU3칩들에 대하여 설명을 하면, b0는 '0'으로, b1은 '1'로 b2는 '1'로 b3는 '1'로, b4는 '1'로, b5는 '1'로 제어 레지스터(60)내에 세트된다. 따라서 플래그 선택 신호라의 레벨들은 다음과 같이 된다. 즉 FLAG SEL0신호는 하이레벨, FLAG SEL1은 하이, FLAG SEL2는 로우, FLAG SEL3는 로우, FLAG SEL4는 하이, FLAG SEL5는 하이레벨로 된다, 하이레벨 신호들은 OR회로들(67) 및 (68)에 인가되어 ALU칩들을 선택하고 로우레벨 신호들은 OR회로들(69) 및 (70)에 인가된다.
클럭 신호가 OR회로들(67)-(70)의 다른입력단자들에 인가되었으므로. ALU클, 은 ALU2칩(33)과 ALU3칩(34)의 ALU CLOCK입력단자들에 인가된다.
로우레벨 신호가 AND회로(71)이 인가되고, 하이레벨 신호는 OR회로로, 로우레벨신호는 AND회로(72)로, 하이레벨 신호는 OR회로(76)이로, 하이레벨 신호가 AND회로 (73)으로, 로우레벨 신호가 OR회로(77)로 인가된다. 이에따라 AND회로(71)과 (72)의 출력들은 로우레벨로 되고 OR회로(75)와 (76)의 출력들은 하이레벨로 된다. 따라서 로우레벨의 신호가 캐리 룩어헤드 발생기(74)의
Figure kpo00027
o단자에, 하이레벨 신호가
Figure kpo00028
단자에, 로우레벨신호가
Figure kpo00029
단자에, 하이레벨 신호가
Figure kpo00030
단자에 인가된다.
이제 캐리가 ALU2의 동작에서 발생된다고 가정하자. 이 가정하에 ALU2칩(33)의 발생캐리 G2와 프로퍼게이트 캐리 P2는 모두 행가로우레벨이 있게 된다. 이 로우레벨 신호들은 모두 AND회로(73)과 OR회로(77)의 다른 입력단자들에 인가되어 AND회로(73)과 OR회로(77)의 출력들은 모두 로우레벨에 있게 된다. 이 L에따라 룩어 헤드 케리 발생기의 입력
Figure kpo00031
2 및
Figure kpo00032
2는 모두 로우레벨에 있게 된다.
제7도의 룩어헤드 케리 발생기의 논리회로에 있어 이 하이레벨과 로우레벨의 신호들이 AND회로(85)의 압력단자들에 인가되어 회로(85)의 출력은 로우레벨이 있게 된다. 하이레벨의 신호들이 AND회로(82)의 입력단자들 모두에 인가되므로 회로(82)의 출력은 하이레벨로 된다.
하이레벨과 로우레벨의 신호들이 NOR회로(96)의 입력단자들에 인가되어 회로(96)은 로우레벨 신호를 생성한다. 룩어헤드 케리 발생기(74)의 Cn+x단자에서는 아무런 케리 신호도 생성되지 않는다.
하이 및 로우레벨 신호들이 AND회로(89)의 입력단자에 인가되고 이에 따라 AND회로(89)의 출력은 로우레벨로 된다. 2개의 하이레벨 신호와 하나의 로우레벨 신호가 AND회로(86)의 3개의 입력단자들에 인가되어 회로(86)의 출력은 로우가 된다. 하이레벨 신호들이 AND회로(83)의 3개의 입력 단자들에 인가되어 회로(83)의 3개의 입력단자들에 인가되어 회로(83)은 하이 레벨의 신호를 생성한다. 2개의 로우레벨 신호와 1개의 하이레벨 신호가 NOR회로(97)의 3개의 입력단자에 인가되어 NOR회로(97)의 3개의 입력단자에 인가되어 NOR회로(97)의 출력은 로우레벨이 된다.
따라서, 룩어헤드 케리 발생기(74)의 출력단자Cn+y로부터 케리 신호는 생성되지 않는다. 로우레벨 신호들이 AND회로(92)의 2개의 입력단자들에 인가되어 회로(92)의 출력은 로우레벨로 된다. 2개의 로우레벨 신호와 1개의 하이레벨 신호가 AND회로(90)의 3개의 입력 단자들에 인가되어 AND회로(90)의 출력은 로우로된다. 2개의 로우레벨 신호와 2개의 하이레벨 신호가 AND회로(87)의 4개의 입력단자에 인가되므로 회로(87)의 출력은 로우가 된다. 3개의 하이레벨 신호와 1개의 로우레벨 신호가 AND회로(84)의 4개의 입력단자들에 인가되어 회로(84)의 출력은 로우가 된다. 따라서 로우레벨 신호들이 NOR회로(98)의 4개의 입력단자들에 인가되어 (98)은 하이레벨로 인가된다. 그 결과 케리 신호가 룩어 헤드발생기(74)의 단자 Cn+z에서 발생되어 ALU3칩(34)의 케리신호 입력단자로 인가된다.
케리가 동작중에 발생되지 않는데 대하여 설명되었으나, 케리가 발생되면 이 케리는 ALU2(33)입력단자CnIN2에 인가된다. 이 경우, AND회로(78)에 인가된 케리 입력신호CnIN은 하이레벨로, 또한 신호 CnON도 하이레벨로 되도록 마이크로 프로그램이 제어한다. 이에 따라 AND회로(78)의 출력은 하이로 되고 케리룩어헤드 발생기(74)의 케리 입력 신호 Cn은 하이로 된다. 제7도의논 리회로이 있어서, 로우레벨 신호가 AND회로(83)의 입력단자로 인버터를 통하여 인가되어 AND회로(83)의 출력은 로우가 된다. 로우레벨 신호들이 NOR회로(97)의 3개의 입력으로 인가되므로 회로(97)의 출력은 하이로 된다.
케리 신호가 케리룩어헤드 발생기(74)의 Cn+y단자로부터 출력되고 케리 신호 CnIN2가 ALU2칩(33)의 케리입력단자에 인가된다.
로우레벨신호가 인버터(81)을 통하여 AND회로(82)의 입력단자에 인가된다. AND회로(82)는 로우레벨 신호를 생성한다. 로우레벨신호들이 NOR회로(96)의 입력단자들 모두에 인가되어 회로(96)은 하이레벨신호를 발생시킨다. 따라서 룩어헤드 케리발생기(74)의 출력단자 Cn+x로부터 케리 신호가 발생된다. 케리신호 CnIN1은 ALU1(32)의 케리 입력단자에 인가된다. 그러나 ALU1(32)은 CLOCK신호가 인가되지 않았으므로 영향을 받지 않는다.
이렇게 형성된 정보처리기에 있어서, 제로 레지스터(60)은 마이크로 프그램에 의하여 제어되어, 플래그 선택회로들이 제어된다.
따라서, 바라는 ALU칩으로부터의 플래그 신호들(케리플래그, 오버플래그, 사인플래그, 제로플러그) '이플래그 데이타 레지스터에 세트될 수 있다. 이에 대하여 효과적인 동작이 가능하다.
ALU칩은 마이크로 프로그램으로 제어 레지스터(60)을 제어함으로써 선택된다. 이것은 바라는 비트수, 예를들어, 4비트 및 8비트의 동작에 따라 ALU칩들의 최적의 결합이 얻어질 수 있다는 것을 뜻한다.
더우기, 케리가 발생되었을 때, 칩들의 여러가지 결합으로 케리 신호가 인가되도록 회로가 설계되었다. 최적수의 동작은 마이크로 프로그램의 부담을 증가시키지 않고도 가능하다. 그러한 구조에 대하여 4개의 ALU칩들 중 2개가 사용된다면 나머지 ALU칩들에 포함된 파일레지스터 및 워크 레지스터(work register)는 연산 레지스터로 사용될 수 있다. 예를들어 표 3에 도시된 바와 같이 동일한 어드레스에 2개의 8비트그룹 A와 B, 혹은 C와 D가 사용될 수 있다.
Figure kpo00033
b0가 '1'로 세트되고, b1은'1로, b2는 '0'으로, b3는'0'으로 b4는 '1'로, b5는'0'으로 제어 레지스터내에 세트되었을 때 A 또는 C의 동작이 수행된다.
B 또는 D의 동작은 b0=0, b1=0, b2=1, b3=1, b4=1, b5=1일 때 수행된다. b0=1, b1=1, b2=1, b3=1,b4=l, b5=1때 E 또는 F의 동작이 수행된다.
상기한 실시예 에있어서 ALU칩들은 각각 4비트로 구성되고 4칩(16비트)까지가 사용 가능하다. 그러나 ALU칩은 4비트의 배수로 구성될 수 있으며 칩의 수는 필요한 만큼 임의로 선택할 수 있다. 또한 이경우에도 상기실시예에 의한 것들과 같은 효과를 얻을 수 있다.
이제 제11도를 보면, 이 도면에는 본 발명에 따른 또 다를 실시예에 사용된 연산 및 논리장치의 또 다른예를 보였다. 이 예에 있어서 ALU칩들은 2개의 그룹으로 나뉘어진다. 한 그룹은 ALU0칩(31)과 ALU1칩(32)로 구성되고, 또한 그룹은 ALU2칩(33)과 ALU3칩(34)으로 구성된다. 이 그룹들은 독립적으로 동작한다. 다시 말해서 하나의 그룹은 다른 그들에 의하여 집행되는 것과는 다른 동작을 집행한다. A어드레스 신호, B어드레스 신호 및 명령신호와 같은 신호들이 ALU0와 ALU1에 인가된다.
이와 비슷하게 A어드레스 신호, B어드레스 신호, 명령신호와 같은 동일한 신호들(그러나 상기 ALU들에 인가된 것들과는 다른)이 ALU2(33)과 ALU3(34)에도 인가될 수 있다.
이 경우에 ALU들은 16비트의 연산 및 논리장치로서 동작한다.
ALU들의 동작은 제12도를 참조로 하여 설명된다. 주어진 설명은 2개의 그룹이 공동으로 동작하는 경우와 2개의 그룹이 하나의 ALU로서 동작하는 경우를 포함하고 있다.
제12도는 제11도에 도시한 ALU그룹들을 제어하기 위한 ALU제어회로를 도시한 것이다. 플래그 데이타레지스터 A(111)은 케리플래그 레지스터(112), 오버플로우 플래그 레지스터(l13), 사인플래그 레지스터(114)와 제로 플래그 레지스터(115)로 구성된다.
이 레지스터를 각각 D형 플립플롭으로 구성된다.
ALUl칩(32)의 각 플래그들(SIN1,OVR1, CnOUT1)은 해당 레지스터에 세트된다. ALU0(31)과 ALU1(32)의 제로플래그 신호들 ZERO0와 ZERO1은 AND게이트(116)을 통하여 제로 플래그 레지스터(115)에세트된다. 이를 플래그 레지스터(111)에 세트 시키는 일은 플래그 레지스터(111)의 클럭 입력단자 CK에 인가된 플래그 레지스터 클럭(FLAG REGISTER CLOCK)에 의하여 수행된다.
플래그 데이타 레지스터 B(117)은 플래그 데이타 레지스터A(111)과 유사한 구조로 되어 있으며, 캐리플래그 레지스터(141), 오버플로우 플래그 레지스터(142), 사인플래그 레지스터(143) 및 제로플래그 레지스터(144)를 포함한다. 데이타 레지스터B(117)은 ALU3칩(34)로부터 각 플래그들(CnOUT3, OVR3, SIN3)를 수신하며 ALUO-ALU3로부터 제로 플래그 신호들 ZERO0-ZERO3를 OR회로(118) 및 (119)와 회로(120)을 통하여 수신한다.
룩어헤드 캐리 발생기 A(121)은 그룹 A(ALU0(31)과 ALU1(32))의 캐리를 생성하고 제6도에 도시한 룩어헤드 캐리 발생기와 유사한 구조를 갖는다. ALU0(31)의 A단자와 P단자로부터 출력된 발생 캐리신호(GO)와 프로퍼게이트 캐리 신호(PO)는 캐리 발생기(121)의 G0단자 및 P0단자에 인가된다. 마이크로프로그램으로부터의 플래그 선택회로, 캐리입력신호, 그리고 캐리온(Carry-on)신호는 제1 및 제2AND회로(124) 및 (l25)와 OR회로 (126)을 통하여 캐리입력단자 Cn에 인가된다.
룩어헤드 캐리 발생기 B(122)는 그룹 B(ALU2칩(33)과 ALU3칩(34)에서, 캐리를 발생시키는데 쓰이고 룩어헤드 캐리 발생기 A(l21)과 유사한 구조를 갖고 있다. 발생기 B(122)의 단자
Figure kpo00034
0는 저항 R을 통하여 +5V의 전원이 연결되고
Figure kpo00035
0단자는접지되어 있다. ALU칩(32)로부터의 프로퍼게이트 캐리신호 P1과발생 캐리신호에 G1, 그리고 플래그 선택신호가 AND회로(131)과 OR회로(132)를 통하여 단가자
Figure kpo00036
1과
Figure kpo00037
1에 인가된다. ALU2(33)으로부터의 프로퍼게이트 신호 P2와 발생신호 G2가 각각 단자
Figure kpo00038
2와
Figure kpo00039
2에 인가된다. 플래그 데이타 레지스타 B(117)로부터의 캐리플래그 신호와 캐리-온 신호가 AND회로(133)를 통하여 캐리 입력신호 Cn이 인가된다.
이러한 구조에 있어서, 플래그신호가 하이레벨일 때 그룹 A와 B의 ALU들이 각각 독립적으로 동작한다. 로우레벨일 때는 두 그룹이 하나의 그룹으로 즉 16비트 단일 ALU로 동작한다.
플래그 선택신호가 하이레벨일 때 로우 레벨의 신호가 인버터(123)을 통해 AND게이트(124)로 인가되어 AND회로 (l24)의 출력은 로우레벨로 되고 이 로우레벨의 신호는 OR회로(126)의 입력단자중 하나에 인가된다. 마이크로프로그램으로부터의 캐리 신호 CnONA는 전동작에서의 캐리플래그가 필요할 때 하이레벨로 된다. 이 동작의 결과 캐리가 발생되지 않으면, 플래그 데이타 레지스터 A(111)로부터의 캐리 신호 CnA는 로우레벨로 된다.
이리하여 하나의 로우레벨 신호와 두 개의 하의레벨 신호가 회로(125)의 입력단자에 인가되어 AND회로(125)의 출력은 로우레벨로 되고, 이 로우레벨신호가 OR회로(126)에 인가된다. 따라서 로우레벨신호들이 OR회로(126)의 입력단자 모두에 인가되고, 회로(126)의 출력은 로우레벨로 된다. 로우레벨의 신호 CnIN0는 ALU0칩(31)에 인가된다. 동작중에 캐리가 발생되면, 캐리신호 CnA는 하이레벨로 되어 하이레벨 신호가 AND회로(125)의 3개의 입력단자들에 인가된다. 그 결과 회로(125)의 출력은 하이레벨로 되고 하이레벨의 신호가 OR회로(126)에 인가된다. 따라서 OR회로는 하이레벨 신호를 발생시켜 하이레벨 캐리신호CnIN가 ALU0(31)의 캐리 입력단자에 인가된다. 캐리가 발생하면 ALU0(31)동작의 결과로 로우레벨신호들이 ALU0(31)의 단자 G 및 P에서 출력되고, 이것들은 캐리 발생기(121)의 단자
Figure kpo00040
0 및
Figure kpo00041
0에 인가된다.
그러므로, 제5도에 도시된 논리회로를 통하여 하이레벨의 신호가 단자 Cn+x로부터 출력된다.
이 경우 하이레벨 CnIN1(32)로부터의 캐리 플래그ALU1(32), 오버플로우 플래그 그리고 사인플래그SIN1가 플래그 레지스터 A(111)의 캐리 플래그 레지스터(112), 오버플로우플래그 레지스터(113), 그리고 사인플래그 레지스터(114)에 세트된다. ALU칩(32)로부터의 제로 플래그 신호 ZERO0과 ALUl칩(32)로부터의 제로 플래그 신호 ZERO1이 AND회로(116)을 통하여 제로 플래그 레지스터(115)에 세트된다. 칩ALU0(31)의 동작중에 캐리가 발생되지 않으면 하이레벨 신호들이 ALU0칩(31)의 단자 G 및 P에서 출력되어 로우레벨 신호가 단자 Cn+x에서 출력되게 된다. 따라서 이 경우에 ALU1칩(32)의 캐리 입력단자Cn에 캐리 신호는 인가되지 않는다.
이제 그룹 B(ALU2 칩(33)과 ALU3(34)를 생각해 보자. ALU2칩(33)의 동작중에 캐리가 발생하면, ALU2칩(33)은 G 및 P단자로부터 로우레벨 신호들을 발생시키고 이 신호들은 캐리 발생기(122)의 단자P2와
Figure kpo00042
3에 인가된다.
하이레벨의 플래그 선택 신호는 OR회로(132)의 다른 입력단자에 인가되고 로우레벨의 플래그 선택신호는 인버터(I23)을 통하여 AND회로(131)의 다른 입력단자에 인가된다. 따라서 ALU1(32)의 발생 캐리신회(G1)과 프로퍼게이트 신회(P1) OR회로(132)와 OR회로(131)의 다른 입력단자에 인가되면, OR회로(132)의 출력은 하이레벨로 되고 AND회로(131)의 출력은 로우레벨로 되는데, 이것은 발생 캐리신호(G1)과 프로퍼게이트 신호(P1)에 무관한 것이다. 따라서 로우레벨신호가 캐리 발생기 B(132)의 단자
Figure kpo00043
1에 인가되고 하이레벨 신호가 단자
Figure kpo00044
1에 인가된다. 단자
Figure kpo00045
0에는 로우레벨 신호가 인가되고 단자
Figure kpo00046
0에는 하이레벨신호가 인가된다.
마이크로 프로그램으로부터의 캐리 신호 CnONB는 이전동작에서 유기된 캐리가 필요할 때에 로우레벨이되고, 이전 동작에서 캐리가 발생하지 않았을 때에는 플래그 데이타 레지스터(117)로부터의 로우레벨 캐리신호 CnB가 AND회로(153)를 통하여 캐리 입력단자 Cn에 인가된다.
따라서 제7도의 논리회로에서 하이레벨과 로우레벨 신호가 AND회로(85)에 인가되고 AND회로(85)의 출력은 로우레벨로 된다. 하이레벨 신호들이 AND회로(82)에 인가되고 그 출력은 하이로 된다. 따라서 로우와 하이신호가 4개의 입력단자들에 인가되고 NDR회로(98)의 출력은 하이레벨이 된다. 하이레벨신호가 캐리 발생기 B(122)의 단자Cn+z로부터 발생되어 하이레벨의 캐리 신호CnIN3이 ALU3의 캐리 입력단자에 인가된다.
이전 동작에서 캐리가 발생되면 캐리 신호들 CnB는 하이레벨이 되어 캐리 발생기 B(122)의 캐리 입력단자에 인가되는 신호는 하이레벨로 된다. 이에 따라 로우레벨 신호가 제5도의 AND회로(83)의 입력단자들 중 하나에 인가되고 그 출력은 로우레벨로 된다. 이에 따라 로우레벨 신호들이 NOR회로 (97)의 3개의 입력단자에 인가되고 그 출력은 하이레벨 신호로 된다. 하이레벨 신호가 캐리 발생기 B(122)의 단자로부터발생되어 하이레벨의 캐리 신호CnIN2가ALU2칩(33)의 캐리 입력단자에 인가된다. 이때 ALU2칩(34)의 캐리 플래그 CnOUT3, 오버플로우 플래그 OVR3, 사인플래그 SIN3가 캐리 발생기 B(117)에 세트된다.
제로 플레그에 대하여는, 그룹 A와 B가 독립적으로 동작하므로 하이레벨의 플래그 선택 신호가 OR회로(118) 및 (119)의 입력단자들에 인가되어, OR회로(118)과 (119)의 출력들은 모두 하이레벨이 되고, 이것들이 AND회로(120)의 4개의 입력단자들 중 2개에 인가된다.
이에 따라, 만약 ALU2(33)과 ALU3(34)가 모두 제로로 되면, 하이레벨 신호들이 AND회로(120)에 인가되고, 제로 플래그 레지스터(144)에는 신호상의 제로 플래그(논리상태 '1')이 세트된다. ALU2(33)과 ALU3(34)중 하나 이상이 제로가 아닌 경우에 AND회로(120)의 출력은 로우레벨이 되고, 논리상태 '0'이 제로 플래그 레지스터(144)이 세트된다.
이런식으로, 그룹 A와 B는 서로 독립적으로 동작할 수 있다. 이하에 그룹 A 및 B가 16비트의 단일칩으로 동작하는 경우에 대하여 설명한다.
이 경우, 공급되는 플래그 선택 신호는 로우레벨이다. 캐리가 발생하면, 하이레벨 신호가 캐리 룩어헤드발생기(121)의 단자 Cn+x로부터 발생되고 캐리 신호 CnIN1은 BLU1(32)의 캐리 입력단자에 인가된다. 캐리가 ALU1(32)의 캐리 입력단자에 인가되면, 하이레벨 신호가 캐리 발생기 B(122)의 단자 Cn+y로부터 출력되고 캐리 신호는 ALU2(33)의 캐리 입력단자에 인가된다. 캐리가 ALU2(33)의 동작중에 발생되면 하이레벨 신호가 캐리 발생기 B(122)의 단자 Cn+z로부터 발생되면 캐리신호 CnIN3는 ALU3(34)의 캐리입력단자에 인가된다. 동작의 결과로 캐리 신호가 ON될 때, 캐리 신호 CnIN0는 ALU0(31)의 캐리 입력단자에 인가된다. 더욱 상세히 말하면, 캐리가 ALU0이서 발생되면 로우레벨신호가 ALU0(31)의 단자 G 및 P에서 발생된다.
이에 따라, 하이레벨 신호가 발생기 A(121)의 단자 Cn+x로부터 발생되고, 또한 캐리 신호 CnIN1이ALU1(32)의 캐리 입력단자에 인가된다.
캐리가 ALU1(32)의 동작으로 발생되면 로우레벨신호 G1 및 P1은 ALU1의 단자 G 및 P에서 발생된다 이에 따라, 로우레벨의 신호들이 OR회로(132)와 AND회로 (131)의 입력 단자들에 인가된다. 로우레벨의 플래그 선택신호가 인버터 (132)을 통하여 AND회로(131)의 다른 입력단자에 인가된다. OR회로(132)와 AND회로(131)의 출력들은 모두 로우레벨로 된다.
제7도의 논리회로에서, 로우레벨 신호들이 AND회로(89)에 인가되고, 그 출력은 로우레벨이 된다. 2개의 로우레벨 신호와 하나의 하이레벨신호가 AND회로(86)의 3개의 입력단자들에 인가되고, AND회로(86)의 출력은 벨로우레로 된다. AND회로(83)의 2개의 입력은 로우 레벨이고, 1개의 입력은 하이레벨이 되어, 그 출력은 로우 레벨로 된다. 이에 따라 NOR회로(97)의 3개의 입력단자들 모두가 로우레벨로되고 NOR회로(97)의 출력은 하이레벨 Cn+y로부터 하이레벨 신호가 발생되어 캐리신호 B(122)가 ALU2(23)의 캐리 입력단자에 인가된다.
캐리가 ALU2의 동작으로 발생한다면, 발생 캐리 G2와 P2프로퍼게이트 캐리 P2는 모두 로우레벨로 되어 제5도의 논리회로에 있어서 로우레벨신호가 AND회로(92)의 인력단자들에 인가되고 그 출력은 로우로 된다. 로우레벨신호들이 AND회로(90)의 3개의 입력단자들에 인가되어 그 출력은 로우로 된다. AND회로(87)에는 3개의 로우레벨 신호들과 1개의 하이레벨 신호가 인가되므로 그 출력은 로우레벨이 된다. AND회로(84)에는 3개의 로우레벨 신호와 1개의 하이레벨 신호가 인가되어 그 출력은 로우로 된다.
이에 따라 로우레벨 신호들이 NDR회로(98)의 4개의 입력단자 모두에 인가되므로 그 출력은 하이레벨로 된다.
하이레벨의 신호가 캐리발생기 B(122)의 단자 Cn+z로부터 출력되어 캐리신호 CnIN3가 ALU3의 캐리입력단자에 인가된다.
이런 동작의 결과로 캐리가 발생되면, 하이레벨 캐리 신호 CnB가 플래그 데이타 레지스터 B(117)의 캐리 레지스터로부터 발생되어 AND회로(124)에 인가된다. 더우기, 로우레벨플래그 선택 신호가 인버터(12)에 의해 반전되어 AND회로 (133)에 하이레벨 신호로서 인가된다. 아미마이크로프로그램으로부터의 캐리신호 CnONA는 하이레벨 신호로서 AND회로(l24)에 인가된다.
이를 위하여 AND회로(124)의 출력은 하이레벨이 되고 이것이 OR회로(126)의 입력으로 인가되는 것이며, 또한 입력단자에는 AND회로(125)로부터의 로우레벨신호가 입력된다. 그러므로 OR회로(126)의 출력은 하이레벨로 되고, 캐리 신호 CnIN0는 ALU0(31)의 캐리 입력단자에 인가된다.
하이레벨 캐리신호 CnB는 AND회로(133)의 하나의 입력단자에 인가되고, 마이크로프로그램으로부터의 입력신호 CnONB 하이레벨일 때, 이 회로의 출력신호는 하이레벨이 된다. AND회로(133)으로부터의 출력신호는 캐리 발생기(122)의 캐리입력단자 Cn에 인가된다. 이에 따라 캐리 발생기(121)은 발생 캐리 신호 G0와 프로퍼게이트 캐리신호 Po의 레벨들(하이 또는 로우)에다 캐리 신호를 더하게 되어, 출력단자Cn+x에서 출력신호 CnIN1(하이 또는 로우)를 발생시킨다.
출력신호CnlN1은 ALU1(32)의 캐리 입력단자 Cn에 인가된다. 캐리 발생기(122) 발생 캐리 신호들G1, G2와 프로퍼게이트 신호들 P1,P2의 레벨들(하이 또는 로우)에 캐리 신호를 합하여 출력단자 Cn+y에 출력신호 CnIN2(하이 또는 로우)를 내보낸다.
또하 캐리 발생기(122)는 출력신호CnIN3(하이 또는 로우)를 출력단자 Cn+z에서 내어 이 신호를 ALU3(34)의 캐리 입력단자에 인가한다.
ALU3(34)로부터의 캐리플래그 AnOUT3, 오버플로우 플래그 OVR3와 사인 플래그 SIN3는 플래그 데이타 레지스터 B(117)에 세트된다. 제로 플로그에 대해서는, ALUO-ALU3의 동작의 결과가 모두 제로이면, 하이레벨의 신호들이 OR회로(118) 및 (119)에 인가되고, 이 회로들의 출력들은 모두 하이레벨이 된다 하이레벨 신호들이 AND회로(120)의 4개의 입력단자들에 인가되고, AND회로(120)의 출력은 하이레벨로된다. 그리그 플래그 데이타 레지스터(117)의 제로 플래그 레지스터는 언(ON)으로 된다. ALU(31)-(32)동작의 결과중 어느것도 제로가 아니면 로우레벨 신호가 AND회로(120)에 인가되어 Off상태(논리 상태0)의 제로 플래그가 제로 플래그 레지스터에 세트된다.
상기한 바와 같이, 플래그 선택 신호를 로우 또는 하이레벨에 세트함으로써 연산논리장치는 16비트의 단일 ALU로, 혹은 2개의 8비트 ALU로 동작할 수 있다.
그러므로 병렬 형태의 동작이 가능하고 그 동작시간을 단축할 수 있다.

Claims (1)

  1. 마이크로 프로그램(microprogram)에 의하여 복수(複數)의 ALU(Arithmetic Logic Unit)칩으로 구성되는 중앙처리장치에 있어서, 마이크로 프로그램으로 구성된 마이크로 프로그램을 기억하는 ROM(13)과, ROM(13)에 접촉되어 마이크로 프로그램의 실행 애드레스를 공급하는 마이크로 프로그램시퀀서(sequencer)와, ROM(13)에 접속되어 ROM(13)에서 출력된 마이크로 프로그램 데이타를 래치(latch)하는 ROM데이타레지스터(14)와, ROM데이타 레지스터(14)에 접속되고, 다시 데이타 버스(21)에 접속되어 ROM데이타 레지스터(14)에서의 명령에 의하여 데이타버스(2l)에서 출력된 데이타의 연산을 행하는 복수의 ALU칩으로 구성되는 ALU(15)와, ALU(15)에 접속되고, 다시 데이타 버스(2l)에 접속되어 마이크로 프로그램의 제어에 의하여 데이터 버스(21)를 개재하여 출력되는 데이터 버스신호에 의하여 ALU(15)리 제어하는 ALU제어회로(19)로 구성되는 정보 처리기
KR1019780004015A 1978-12-30 1978-12-30 Alu회로 제어를 개선한 중앙처리장치 Expired KR830000570B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019780004015A KR830000570B1 (ko) 1978-12-30 1978-12-30 Alu회로 제어를 개선한 중앙처리장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019780004015A KR830000570B1 (ko) 1978-12-30 1978-12-30 Alu회로 제어를 개선한 중앙처리장치

Publications (2)

Publication Number Publication Date
KR830000570A KR830000570A (ko) 1983-03-14
KR830000570B1 true KR830000570B1 (ko) 1983-03-14

Family

ID=19209673

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019780004015A Expired KR830000570B1 (ko) 1978-12-30 1978-12-30 Alu회로 제어를 개선한 중앙처리장치

Country Status (1)

Country Link
KR (1) KR830000570B1 (ko)

Also Published As

Publication number Publication date
KR830000570A (ko) 1983-03-14

Similar Documents

Publication Publication Date Title
US4323981A (en) Central processing unit with improved ALU circuit control
US4228498A (en) Multibus processor for increasing execution speed using a pipeline effect
US11977115B2 (en) Pattern generation system with pin function mapping
US4370709A (en) Computer emulator with three segment microcode memory and two separate microcontrollers for operand derivation and execution phases
US6370635B2 (en) Dual ROM microprogrammable microcontroller and universal serial bus microcontroller development system
US4394736A (en) Data processing system utilizing a unique two-level microcoding technique for forming microinstructions
US3983541A (en) Polymorphic programmable units employing plural levels of phased sub-instruction sets
US3953833A (en) Microprogrammable computer having a dual function secondary storage element
EP0515165A1 (en) A Memory access device
US4541045A (en) Microprocessor architecture employing efficient operand and instruction addressing
SE424114B (sv) Central processorenhet-anordning
JPH0128409B2 (ko)
KR940005202B1 (ko) 비트 순서 전환 장치
US3946366A (en) Addressing technique employing both direct and indirect register addressing
EP0035334B1 (en) Data processing system with two level microprogramming
JPH11272546A (ja) 可変長レジスタ装置
KR830000570B1 (ko) Alu회로 제어를 개선한 중앙처리장치
Aspinall et al. Introduction to microprocessors
US4451883A (en) Bus sourcing and shifter control of a central processing unit
US4975837A (en) Programmable unit having plural levels of subinstruction sets where a portion of the lower level is embedded in the code stream of the upper level of the subinstruction sets
US3426330A (en) Central data processor
Reyling Considerations in choosing a microprogramable bit-sliced architecture
US3942156A (en) Indirect arithmetic control
EP0305752B1 (en) Programmable data path width in a programmable unit having plural levels of subinstruction sets
US3851312A (en) Modular program control apparatus for a modular data processing system

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 19781230

PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 19820408

Patent event code: PE09021S01D

PG1605 Publication of application before grant of patent

Comment text: Decision on Publication of Application

Patent event code: PG16051S01I

Patent event date: 19830215

PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 19830525

PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 19830602

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 19830602

End annual number: 3

Start annual number: 1

PR1001 Payment of annual fee

Payment date: 19860303

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 19870302

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 19871203

Start annual number: 6

End annual number: 8

PR1001 Payment of annual fee

Payment date: 19910131

Start annual number: 9

End annual number: 9

PR1001 Payment of annual fee

Payment date: 19920309

Start annual number: 10

End annual number: 10

PR1001 Payment of annual fee

Payment date: 19930226

Start annual number: 11

End annual number: 11

PC1801 Expiration of term