KR900005282B1 - 직접 회로 구조 - Google Patents

직접 회로 구조 Download PDF

Info

Publication number
KR900005282B1
KR900005282B1 KR8200527A KR820000527A KR900005282B1 KR 900005282 B1 KR900005282 B1 KR 900005282B1 KR 8200527 A KR8200527 A KR 8200527A KR 820000527 A KR820000527 A KR 820000527A KR 900005282 B1 KR900005282 B1 KR 900005282B1
Authority
KR
South Korea
Prior art keywords
input
pla
output
register
clock
Prior art date
Application number
KR8200527A
Other languages
English (en)
Other versions
KR830009517A (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 오레그 이.엘버
Publication of KR830009517A publication Critical patent/KR830009517A/ko
Application granted granted Critical
Publication of KR900005282B1 publication Critical patent/KR900005282B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7828Architectures of general purpose stored program computers comprising a single central processing unit without memory
    • G06F15/7832Architectures of general purpose stored program computers comprising a single central processing unit without memory on one IC chip (single chip microprocessors)
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/223Execution means for microinstructions irrespective of the microinstruction function, e.g. decoding of microinstructions and nanoinstructions; timing of microinstructions; programmable logic arrays; delays and fan-out problems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Logic Circuits (AREA)
  • Microcomputers (AREA)
  • Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)

Abstract

내용 없음.

Description

직접 회로 구조
제1도는 마이크로프로세서 구성의 개략적인 블록도.
제2도 및 제3도는 종래기술의 PLA장치에 대한 상세도 및 개략도.
제5도 및 제6도는 본 발명의 한 실시예에 따른 PLA장치에 대한 상세도 및 개략도.
제4도 및 제7도는 제2도 및 제5도 장치에 대한 각각의 상태도.
제8도, 제9도 및 제10도는 본 발명의 다른 실시예에 대한 개략도.
* 도면의 주요부분에 대한 부호의 설명
10 : 반도체 집적 회로 칩 11 : PLA부
12 : 제어부 13 : 데이타 통로부
14 : 디코더부 15 : ROM부
16 : 입력 버퍼 17 : 출력 버퍼
18 : 입력 레지스터 19 : 출력 레지스터
120, 121, 122 : 워드선 125 : AND회로
211 : AND플레인 212 : OR플레인
325 : ROM부 326 : 디코더부
327 : PLA 328 : AND회로
411,415 : 디코더부 412,416 : ROM부
413,417 : 입력 레지스터 414,418 : 출력 레지스터
500 : 마이그로프로세서 칩 501 : 외부 메모리
505 : 메인 PLA 506 : 인출 PLA
507 : 연산 PLA 510 : 516,517 : 사용자용 레지스터
510A‥‥516A,517A : 3-상태 버퍼 회로
526 : 데이타 I/O 527 : 제어 I/O
520 : 논리 연산 장치 521,522 : 임시 레지스터
557S,562S : 슬레이브 래치
본 발명은 기억된-프로그램 제어 장치에 관한 것으로서, 특히 상기 장치를 실행하기 위한 마이크로 프로세서와 같은 반도체 집적 회로에 관한 것이다. 마이크로프로세서가, 메모리(프로그램 및 데이타 기억)를 제외하고서는 일반적으로 반도체 물질의 단일 칩상의 컴퓨터의 다양한 소자들을 포함할 수 있다.
마이크로프로세서의 여러 처리기능이 레지스터 및 연산 논리 유니트를 포함하고 상기 칩의 데이타 통로부로 일컬어지는 칩 영역내에서 실행된다. 데이타 통로부의 여러 소자간의 상호 연산작용 뿐만 아니라 이러한 소자가 상호 연산하는 순서가 프로그램 가능한 논리 어레이(PLA)에 의해 발생되고 칩의 데이타 통로부를 제어하는 방식으로 인가되는 출력들의 순서에 의해 결정된다. PLA에 대한 충분한 설명은 발명가 카버미드(Caver Mead) 및 린 콘웨이(Lynn Conway)에 의한 1980년 에디슨-웨스레인 출판사의 출판물 "VLSI시스팅에 대한 소개"를 참조하자.
PLA는 입력 및 출력 레지스터와 각각 관련된 디코더부와 판독 전용 메모리(ROM)부를 포함한다. 상기 디코더부가 "AND"플레인으로서 공지되었고 각각의 입력단을 위한 구동선과 각각의 보충단을 위한 구동선을 포함한다. 각각의 구동 및 보충선은 ROM부로 연장되어 "워드"선이 되는 출력 전선과 교차한다. 상기 교차선이 디코더 출력선이라 불린다. 디코더부의 선택된 교차점에, 풀다운(pulldown)트랜지스터가 형성된다. 상기 트랜지스터가 선택된 디코더 출력선을 접지하기 위해 여러 입력 코드에 응답한다. 따라서 AND 플레인의 출력이 디코더 출력선에 접속된 풀다운 트랜지스터의 위치 및 게이트 접속에 의해 결정된다.
PLA의 ROM부도 또한 워드선과 교차하는 출력선을 포함한다. 또다시, 풀다운 트랜지스터가 워드선에 접속된 트랜지스터 게이트와의 교차점중 선택된 곳에 형성된다. 만일 디코더 출력선에 접속된 어떤 트랜지스터의 게이트가 고전압 상태(2진수 "1")라면, 그 출력선은 ROM부의 관련 워드선과 같이 저전압 상태(2진수 "0")가 된다. 한편, 만일 디코더 출력선이 고이면, 관련 워드선이 접지된다. PLA의 디코더부 및 ROM부에 트랜지스터를 선택적으로 배치하므로써, 특정한 출력 코드가 디코더부의 입력에 인가된 각각의 입력코드에 대해 ROM출력선상에 나타난다. 상기 방식으로, 입력 프로그램의 명령이 일련의 순환식(cycle-by-cycle)액션으로 디코드된다. 액션의 레퍼터리의 표시와 상태도로 표시된다.
주어진 사이클동안 수행되어질 액션이 PLA의 ROM부의 출력에서, 즉, 두 위상 클럭 싸이클중 Ø2위상동안 클럭된 출력 레지스터에서 규정된다.
상기 PLA에 대한 입력 레지스터기 Ø1위상에서, 직전에 진행한 Ø2위상동안 상기 PLA에 인가되었던 입력을 기억하도록 동작한다.
마이크로프로세서 칩의 데이타 통로부의 소자에 의해 수행된 연산의 수가 증가함에 따라, 필요한 순환식 액션의 수도 증가한다. PLA가 호출할 수 있는 명료한 액션의 수가 워드선 수의 함수이다. 결과적으로 증가된 액션의 수를 호출하기 위해서는, 상기 PLA의 크기가 증가되어야 한다. 반도체 칩의 사용가능한 면적이 제한되어 있으므로, PLA를 위해 사용가능한 면적도 또한 제한된다.
더우기, PLA의 크기가 증가함에 따라 상기 PLA는 더욱 느리게 연산하며 따라서 전 장치의 클럭율을 제한하게된다. 따라서 문제는 비교적 감소된 면적의 PLA로 필요한 상태도를 구성하는 것이다.
전술한 문제가 본 발명에 따른 몇가지 방법으로 해결된다. 한가지 해결책은 종래에는 비교적 큰 PLA로만 실행된 상태도의 기능을 실행가능케하기 위해 PLA와 논리 회로망을 조합하는 것이다. 더 양호한 해결책에서는 둘 또는 그 이상의 분리된 PLA가 종래기술의 단일 PLA의 기능을 실행 가능케하는 방식으로 통합하는 것이다.
특히, 논리를 포함하거나 포함하지 않을 수도 있는 적어도 하나의 전기 통로를 통해 둘 또는 그 이상의 제한된 상태 기계의 상호 연결이 이상적인 종래 기술과는 다른 중요한 시도라고 고려된다.
본원의 한 실시예에서, 상기의 문제는 선택적으로 인에이블될 수 있는 AND회로를 경유하여 PLA의 입력레지스터에 정상 클럭 펄스를 인가하므로써 해결된다.
AND회로가 없을 경우에는, 위상 Ø1의 클럭 펄스가 연산의 각각의 싸이클에서 발생할때마다, PLA출력(상태)이 데이타 통로부 소자들의 연산을 편집하는데 또는 다음의 연속적인 Ø2위상 연산동안 중단을 편집하는데 필요하다. 부가적인 ROM워드선은 연속적인 클럭 싸이클을 통해 상태를 계속하게 하는데 필요하고, 비교적 큰 PLA의 전력이 발생한다. 예를들어 클럭을 억제하기 위한 AND회로의 사용이 출력 상태의 수를 감소시킬 것이다. 이러한 감소에 수반하는 것이 필요한 워드선의 수의 감소, 필요한 PLA면적의 감소 및 속도의 증가이다.
회로의 존재하는 경우에는, "웨이트"신호라고 지칭된 인에이블 신호가 다음의 연속하는 Ø1위상동안 상태 계속을 제공하기 위해 인가될 수 있다. 중단 상태 및 관련 워드선은 제거된다. 클럭 펄스를 입력레지스터에 인가하기 위한 논리 소자를 인에이블시키기 위한 수단을 PLA에 포함하는 것도 또한 이상적인 종래기술과는 다른 중요한 시도라고 고려된다.
본 장치가 칩의 데이타 통로부에 관련된 소자에 본원의 실례로 각각 지정된 둘 또는 그 이상의 PLA들을 포함하는 마이크로프로세서에 대해 특히 유효하다. 각 PLA와 그것과 관련된 데이타 경로 소자는 주로 독립적으로 동작하며, 통상적인 처리 결과를 얻기 위해서 다른 주로 독립적인 연산이 반드시 통합된다는 점에서 일차적으로 제한된다. 상기 통합이 통상 인에이블 "웨이트"신호를 제2PLA에 인가하는 제1PLA에 의해 이루어진다.
그 신호가 입력 클럭 신호를 제2PLA에 제공하기 위한 AND회로를 인에이블하도록 동작한다. 특히, 각각의 PLA가 상기 PLA와 배타적으로 관련된 처리 소자를 갖는 다수의 PLA의 통합이 이상적인 종래의 기술과는 다른 시도로 고려되고 강력한 계층 PLA제어 장치를 유도한다.
현대의 설비가 표준 클럭 싸이클의 Ø1,과 Ø2펄스간에 생기는 다른 비사용 시간동안 처리를 수행하는 주종 래치간에 논리 소자의 사용을 밝혀낸다. 본 발명은 일차적으로 타이밍 펄스를 게이트시키므로써 PLA의 복잡성을 감소시키기 위해 또한 데이타를 게이트시키므써 상기 목ㅈㄱ을 얻기 위해 상기 논리의 사용을 이용한다.
양 경우에 있어서, 계층식 PLA제어가 이루어진다.
제1도가 PLA부, 제어부 및 데이타 통로부(11, 12 및 13)를 각기 포함하는 반도체 집적 회로 칩(10)을 도시한다. 제2도는 제1도의 PLA에 대한 종래의 기술 설비를 도시한 것이다. 상기 설비가 종래의 성분 즉, 디코더부(14, AND플레인), ROM부(15,OR플레인) 및 관련된 입력 및 출력 버퍼(16 및 17)를 각기 포함한다.
제2도가 상기 장치를 상세히 도시하며; 제3도는 버퍼에 연결되는 입력 및 출력 레지스터(래치)(18 및19)간 덧붙여진 상기 장치를 개략적으로 도시한다. 제3도가 또한 입력레지스터(18) 및 출력 레지스터(19)에 각기 인가되어진 클럭신호 Ø1및 Ø2를 도시한다.
통상적으로 상기 회로는 전형적인 상태도로서 특정 입력 로드에 응답하여 출력 레지스터에 의해 발생된 특정 패턴의 비트를 규정하기 위해 엔코더 및 ROM부 내에 트랜지스터의 어레이를 포함한다. 상기 트랜지스터의 어레이는 특정 패턴의 비트의 발생에 대한 논의가 본 발명을 이해하는데에 불필요하므로 도시되지 않았다.
여기에서 가장 중요한 것은 제2도의 장치가 출력 레지스터(19)에서 어쩌면 다른 다수의 2진 출력 워드를 허용하는 4개의 워드선(20,21,22 및 23)을 도시한다는 것이다.
제2 및 3도의 장치에 대한 간단한 상태도가 제4도에 도시된다. 가능한 입력 비트 S0및 S1가 제3도에 도시된다. 가능한 출력 비트가 N1,N0및 SIG1이다. 제4도에 각각의 블록(30,31,32 및 33)으로 표시된 4개의 상태가 도시된다. 제3도에 표시된 연산이 통상적으로 PLA의 디코더와 ROM부에 4개의 워드선을 필요로 한다.
제5 및 5도가 본 발명의 실시예에 따른 PLA장치를 상세하고 개략적으로 각기 도시한 것이다.
제5도와 제2도를 비교해보면 제5의 장치가 단지 세개의 워드선 즉 120, 121 및 122을 갖는다는 것을 알 수 있다.
다른 한편으로, 제5도의 장치는 클럭 신호 Ø1가 입력(126)에 인가되는 AND회로(125)를 포함한다. 인에이블신호 "wait"가 AND회로(125)의 제2입력(127)에 선택적으로 인가된다. 제7도는 제5 및 제6도의 실시예에 대한 상태도를 도시한다. 제4도와 제7도의 상태도의 비교로부터, 전술한 연산이 제5 및 제6도의 장치에서는 더 적은 워드선과 하나 더 적은 입력으로서 이루어짐을 알 수 있게된다.
AND회로(125)가 또한 제6도에 도시된다.
제5도 및 제6도의 AND 및 OR플레인이 각기 211 및 212로 표시되며, 대응 입력 및 출력 레지스터가 각기 213 및 214로 표시된다. 웨이트 신호는 본 실시예에서 전체입력 코드에 대해 클럭(Ø1)펄스를 게이트 시키도록 동작한다.
제8도의 관련 실시예에서, 다수의 피이드백루프가 PLA(327)의 ROM부 및 디코더부(325 및 326)의 각각의 출력 레지스터와 입력 레지스터(323 및 324)간에 연결된다. 상기 피이드백 루프가 11‥‥1n으로 표시된다. AND회로(328)가 제6도에 도시된 방식과 유사한 방식으로 사용된다. 또한 이러한 루프의 존재가 제4도 및 제7도의 상태도에 의해 암시된다. 따라서, 각각의 제3 및 제6도 장치가 피이드백 루프를 포함할수도 있고 제8도가 이러한 루프의 존재를 입증한다.
제9도는 PLA의 ROM부와 제8도에 도시된 바와같은 동일한 PLA의 엔코더부간의 피이드백 루프 신호가 제2PLA로부터의 신호에 의해 선택적으로 억제되는 실시예를 도시한다. 상기 도면에는 입력 및 출력 레지스터(413 및 414)와 제1PLA의 디코더부 및 ROM부(411 및 412)가 도시된다. 입력 및 출력 레지스터(417 및 418)와 제2PLA의 디코더부 및 ROM부(415 및 416)가 또한 도시된다. 전형적인 피이드백 루프(420,421 및 422)가 레지스터(414)의 출력을 입력 렌지스터(413)에 상호 접속한다. 각각의 피이드백 루프가 AND회로를 포함하고, 제2PLA의 레지스터(418)의 출력이 각각의 AND회로의 입력에 접속된다. AND회로가 각각의 루프(420,421 및 422)에 대해 130,131 및 132로 표시된다.
클럭 퍽스를 PLA의 입력 레지스터에 선택적으로 인가시키는 AND회로와 같은 논리 회로에 제어 신호의 제공이 감소된 싸이즈의 PLA와 함께 주어진 세트의 연산의 인식을 초래함을 알았다. 싸이즈에서의 동일한 감소가 클럭 싸이클의 Ø1및 Ø2위상간의 데이타를 처리하기 위한 경우를 제외하고는 논리 회로를 재차 사용하는 제9도의 실시예로서 얻어진다. 주어진 예의 경우에는, 워드선의 수가 25%만큼 감소된다. 실제 실시예에서, 통상적인 종래 기술의 PLA는 전술한 논의에 따른 논리 회로를 사용하므로써 그 수가 100여선 이상으로 감소되는 150워드선을 포함할 수도 있다. 또다시 약 25%의 싸이즈 감소가 얻어진다. 이제 이러한 AND회로의 적절한 사용으로 계층식(hierarchical)PLA기술이 얻어지며, 그 결과 싸이즈가 감소될 뿐만 아니라 마이크로프로세서 연산이 개선됨을 알 수 있을 것이다.
제10도는 반도체 마이크로프로세서 칩(500)의 일부 및 칩 외부의 메모리(501)를 도시한 것이다.
상기 마이크로프로세서가 메인 PLA(505), 인출 PLA(506) 및 연산 PAL(507)를 포함한다. 상기 PLA(506)가 사용자용 레지스터(510, 511‥‥517)와 3-상태 출력 버퍼(510A, 511A‥‥517A)와 결합된다.
PLA(507)가 연산 논리 유니트(520)와 결합된다. 또한 마이크로프로세서가 두개의 임시 레지스터(521 및 522)와 데이타 버스(525)를 포함한다. 데이타와 제어 입력 및 출력(I/O)이 각기 526 및 527로 표시된다.
제10도의 장치의 제1예의 연산이 인출 PLA(506)의 제어 상태하에서 사용자용 레지스터(510‥‥517)중 두개의 선택 레지스터 내용을 임시 레지스터(52 및 522)로 이동시키고, 그후에 연산 PLA(507)의 제어 상태하에서 ALU(502)에서의 "가산"연산을 실행하도록 통제된다. 양 PLA(506 및 507)가 연산동안 메인 PLA(505)의 제어 상태하에 있고, 상기 PLA가 클럭 괼스를 제6도와 관련하여 설명된 바와 같은 입력 레지스터에 인가시키는 방식으로 상호 접속된다.
액션이(Ø1)클럭 사이클에서 시작하면, 어느 시간에 메인 PLA가 제어 I/0(527 )로부터 유효 명령 입력을 수신하리라 간주되는 관례를 따를 것이다. 그 다음에 연속되는 위상(Ø2)에서, 메인 PLA(505)가 상기 유효 출력을 인출 및 연산 PLA(506 및 507)의 입력 레지스터(561 및 559)에 인가한다. 다음 Ø1위상에서, PLA(506 및 507)가 유효 명령 입력을 갖는다. 그 다음의 Ø2위상에서, 인출 PLA가 출력을 3-상태 버퍼 회로(510A,511A,512A‥‥517A)중 선택된 한 버퍼에 인가하고 하나의 사용자 레지스터를 작동시킨다. 선택된 레지스터로부터의 출력이 버스(525)에 인가된다. 상기 위상동안, PLA(507)는 임시 레지스터(521)가 버스(525)로부터의 데이타를 수신하도록 한다.
다음 위상(싸이클 3)동안, 인출 및 연산 PLA가 제2유효 명령 입력을 수신한다. 다음 Ø2위상동안, 제2사용자 레지스터로부터의 데이타가 버스(525)에 인가되며, 임시 레지스터(522)가 인에이블된다.
이 시점에서 연산이 제1 및 제2임시 레지스터(521 및 522)에 기억되어질 제1 및 제2사용자 레지스터의 데이타를 초래한다.
연산의 제4싸이클이 Ø1위상에서 시작하며, Ø1위상동안 PLA(507)가 임시 레지스터(521 및 522)를 작동시킨다. 레지스터(521 및 522)가 이 위상동안 입력을 ALU(520)에 인가한다. 다음 Ø2위상동안, ALU(520)가 유효 출력(데이타)을 버스(525)에 인가하고 인출 PLA가 그 데이타를 선택된 사용자용 레지스터(510‥‥517)에 래치시킨다. 이시점에서 연산이 임시 레지스터로 2개의 2진수를 이동시킨 다음 가산이 행해지는 ALU를 통해 상기 숫자를 구동시키므로서 2개의 사용자용 레지스터에 기억된 2개의 2진수의 가산을 초래한다. 그 결과가 버스를 거쳐 선택된 사용자용 레지스터로 리턴된다. 상기 연산은 표 1로 요약된다.
[표 1]
Figure kpo00001
3-상태 버퍼 회로(510A 내지 517A)가 562S로 표시된 종속 래치를 통해 출력 레지스터(562)로부터 인가된 PLA(506)으로부터의 출력에 의해 인에이블되는 것에 주의하라. 저항(562)이 Ø2위상에서 동작되고 회로(510A 내지 517A)가 연속 싸이클의 Ø1및 Ø2위상에서 동작하므로, 그로인한 격리의 필요성 때문에 이러한 래치가 사용된다. 유사한 구성이 슬레이브 저항(550)을 작동시킬시에 PLA(507)에 필요하다. 각각의 상기 경우에 있어서, 주종 관계가 존재하게 되며 비사용 시간을 이용하는 방식으로 논리를 받아들일 기회가 생기게 된다. 상기 예에 있어서는, 전혀 그러한 기회의 잇점이 일어날 수 있다. 마찬가지로 슬레이브 래치(557S)의 사용은 래치(550)에 대해서 필요한 바와 같은 격리를 제공하고 임시 레지스터(521 및 522)의 연산을 허용한다.
ALU(520)가 AND, OR, 가산, 감산 및 보수 기능들을 수행한다. 레지스터(521 및 522)가 제각기 TA 및 TB로 표현 내용을 갖는다면, 그 기능의 부호는 제각기(TA OR TB),(TA AND TB),(TA+TB)(TA-TB), 및(
Figure kpo00002
)가 된다. 5비트 레지스터(550)가 수행된 기능을 결정하고 라인(558)을 통해 PAL(507)로부터의 출력에 의해 그 자체가 인에이블된다. 레지스터(550)로 향하는 클럭입력이 AND회로(552)의 출력에 접속된다. AND회로로 향하는 한 입력이 클럭원에 접속되고, 다른 입력이 라인(558)을 통해 PLA(507)의 출력 레지스터(557)의 출력에 접속된다. 라인(551)을 통한 PLA(507)로부터의 출력이 여러 ALU연산을 순차적으로 인에이블시키는 방식으로 레지스터(550)을 프로그램시키도록 작동한다. 라인(558)을 통한 PLA(507)로부터의 출력이 적합한 연산을 선택하도록 클럭 펄스를 인에이블시킨다.
각각의 PLA(505,506 및 507)의 입력 레지스터(560,561,559)로 향하는 클럭이 입력을 통해 AND회로(563,564 및 565)에 각기 인가된다. AND회로(563)로 향하는 제2입력은 PLA(506)의 레지스터(565)의 출력에 접속된다. AND회로(565)로 향하는 제2입력도 또한 레지스터(562)의 출력에 출력(526)에 접속된다.
게이트된 클럭 펄스의 구성이 근본적으로 제5도 및 6도에 도시된 바와 같으며, 상기 구성이 임시 레지스터를 선택하고 ALU등의 기능을 결정하기 위해 상기 구성의 상태도에 준하여 연산 PLA를 선택적으로 인에이블시킨다.
마찬가지로, 앞서의 인출 연산이 완료될시만 그 다음에 연속하는 사용자용 레지스터 또는 메모리 어드레스의 선택이 가능하도록 AND회로(564)가 I/O(526)로 부터의 제어 신호에 응답한다. 이러한 신호가 없을 경우에는, PLA(505 및 506)의 입력 레지스터(560 및 561)에서의 클럭이 억제된다. 그 신호들은 "데이타가 유효한지 평가하라"는 신호 또는 "핸드쉐이크(handshake)"신호로서 이해될 수도 있으며, 위의 예에서 싸이클 2, Ø2위상 그리고 싸이클 3, Ø2위상에서 발생한다. 싸이클 2, Ø2위상에서, PLA(506)의 레지스터(562)로부터의 출력이 사용자용 레지스터를 선택하고 ALU(520)의 기능을 결정하는 임시 레지스터 및 AND회로(562)를 선택하도록 PLA(507)의 출력 레지스터(557)를 인에이블시킨다.
싸이클 3, Ø2위상에서, 그 헤드쉐이크는 유사하다. 메인 PLA(505)의 입력 레지스터(560)가 이전에 언급된 바와 같은 AND회로(564)의 장치와 유사한 장치로 AND회로(563)의 출력에 접속된다. PLA(506)으로부터의 헨드쉐이크 신호가, 표의 싸이클 3, 위상 Ø1에서 발생할 바와 같은 그 다음의 연속 연산에 앞서서 PLA(505)로부터의 출력을 허용하기 위해 회로(563)에서의 클럭을 선택적으로 인에이블하도록 인가된다.
선택된 사용자용 레지스터(510 내지 512)로부터의 출력이 메모리(501)로 향하는 어드레스일때, 미정수의 싸이클의 연산은 예를들어 디스크 화일을 찾을 경우와 같이 어드레스와 얻어지기 전에 발생할 수 있다. 이러한 다중싸이클의 연산에서, 표 1의 싸이를 2, Ø2위상이 표 2에 요약된 바와 같이 확장된다.
[표 II]
Figure kpo00003
메인 연산 및 인출 PLA의 입력 레지스터에 게이트된 클럭 수단이 없을 경우에는, 각각의 상기 PLA가 전술한 바와 같이 상당히 커야할 것이다. 또한, 게이트된 클럭 수단이 사용될때 마다, PLA크기의 감소(따라서 속도의 증가)가 이루어진다. PLA의 입력 레지스터(제6도에 도시됨)에 게이트된 클럭을 사용하거나 또는 PLA의 출력 레지스터(제10도에 도시됨)로부터의 데이타를 게이트하기 위한 게이트의 사용이 상기와 같은 절약을 이룬다. 마이크로프로세서의 기술적인 전략은 어느 게이팅 수단이 사용될 것인지 또는 어떤 특별한 경우에는 둘다 사용될 것인지의 여부를 결정한다.
제어 계층에서의 PLA들의 구성은 각 PLA가 그것에 제공된 ALU 및 임시 레지스터와 같은 소자들에 연속 명령을 인가하는 것을 허용한다. 상기 방식으로 독립 PLA가 연속 연산을 독립적으로 진행할 수도 있는데, 여기서 메인 PLA는 상기 독립적인 연산을 시작하기 위해 동작한다. 헨드 쉐이킹 신호는 여러 독립 연산이 완성되었고, 다음의 순차 명령이 허여되는 것을 지시한다. 따라서 데이타 조작의 파이프라이닝(pipelining)시 발생하는 병행 PLA실행이 이루어진다. 계층으로 구성된 다수의 PLA와 마이크로프로세서의 PLA에 클럭 신호의 게이팅이 결과적으로 크기 및 전체 속도면에서 뿐만 아니라 처리량면에서의 잇점을 유도하는 강력한 장치이다. 최종언급된 잇점은 단일(비교적 큰) PLA만이 사용된다면 독립 PLA가 다른 경우 사용될 수 없는 싸이클 시간을 이용할 수 있기 때문에 생긴 결과이다.
본원의 제어 계층의 이행이 한 PLA의 출력레지스터와 다른 PLA의 입력 레지스터간의 직접적인 상호 접속을 포함할 수도 있다. 이러한 상호 접속은 제10도에서 라인(600)으로 표시되며 리세트 동작에 사용될 수도 있다.
여기서 본 발명은 입력 및 출력 래치를 다진 상태기계가 있는 프로그램 가능한 논리 어레이를 포함하는 것으로 설명되어 왔다. 그러나 본 발명과 함께 사용하기 위한 다른 전위 소자(potential element)가 있다.
예를들어, 동일 목적으로 조정된 다수의 ROM 또는 ROM/PLA장치에 게이트된 클럭 수단과 계층식 구성을 사용하는 것이 가능하다. 더우기, 데이타의 게이팅 또는 클럭 펄스의 게이팅이 주종 래치간에 논리를 사용한 실시예로서 고려될 수도 있다. 예컨대, 제9도의 실시예가 게이트된 클럭을 도시하지 않는다. 그것은 제9도에서, 각기 제1PLA의 출력 레지스터(래치)및 제2PLA의 입력레지스터(래치)인 주종 래치간의 논리 회로망을 도시한다. 또한 제6, 제8 및 제10도에 도시된 바와 같은 게이트된 클럭 수단이 주종 래치간에 논리를 구성하도록 고려될 수도 있다. 예를들어, 제10도의 실시예에서, 주종 래치가 각기 입력 및 출력 레지스터이다. 어떤 경우에는, 주종관계가 존재하고 논리 회로망이 다른 비사용 시간을 여기에 이용하도록 사용된다. 다수의 PLA의 입력 및 출력 래치간의 데이타를 조작하거나 또는 클럭 신호를 게이트하기 위한 논리 회로망의 포함이 앞서 언급된 바와 같은 기술된 강력한 PLA제어 계층을 유도하는 본원에서 특히 유일한 것으로 고려된다.
지금까지 설명된 것은 단지 본 발명의 원리에 대한 일례로서 고려된다. 본 발명에 대한 다양한 변형이 이하 청구범위에 의해 포함된 바와 같은 본 발명의 취지 및 범위 내에 포함된 원리에 따라 종래의 기술에 숙련된 사람에 의해 고안될 수 있다. 특히, 본 발명은 직접 회로 기술에 숙련된 사람에 의해서 NMOS, PMOS 및 의사 NMOS CMOS 등으로 구성될 수 있다. 더우기, 본 발명의 클럭 펄스를 인에이블시키거나 입력 레지스터에 인가되어진 데이타를 인에이블시키는 그러한 관점에서 설명되어 왔지만, 정상 클럭 펄스가 디스에이블되는 매체 모드가 이와 동일한 목적으로 사용될 수 있다. 또한 AND회로 이외의 다른 회로가 본원에 기술된 바와 같은 연속 클럭 펄스간의 다른 비사용 시간에서 데이타 또는 클럭을 조작하기 위해 사용될 수 있다. 더우기, 본 발명이 단일 집적 회로칩내에서 실행될 필요가 없다. 구성요소가 하나 이상의 칩(또는 이산 구성요소)에서 규정될 수도 있으며, 본원에 기술된 바와 같은 비사용 시간의 잇점을 취할 수 있다.
이밖에, 종래의 기술에 숙련된 사람이 알 수 있듯이, 하나 이상의 입력이 클럭 신호 또는 데이타를 게이트하기 위해 사용될 수 있으며, 또한 하나 이상의 게이트가 사용될 수도 있다.

Claims (7)

  1. 입력 및 출력 레지스터(560 및 562)를 각기 가지며, 각각의 일련의 클럭 싸이클의 제1(Ø1) 및 제2(Ø2)위상에서 각기 동작하는 상기 입력 레지스터에 입력을 인가하는 수단을 포함하는 집적 회로 구조에 있어서, 상기 구조가 제2위상동안 상기 출력 레지스터로부터의 출력에 응답하고 그 다음에 후속하는 제1위상동안 상기 입력을 선택적으로 변경하기 위해서 상기 다음에 후속하는 제1위상에 앞서 동작하는 제어수단(553)을 포함하는 것을 특징으로 하는 집적 회로 구조.
  2. 상기 제1논리 어레이가 제1PLA(507)의 디코더부(14.16)를 포함하며, 상기 제2논리 어레이가 제2PLA(506)의 ROM부(15,17)와 상기 제1 및 제2위상에서 클럭 펄스(01,02)를 인가하는 클럭 수단을 포함하는 제1항의 집적 회로 구조에 있어서, 상기 제어 수단(563)이 상기 출력 레지스터로 부터의 신호에 응답하는 상기 입력 레지스터에 클럭 펄스를 선택적으로 인가하기에 적합한 것을 특징으로 하는 집적 회로 구조.
  3. 상기 제1논리 어레이가 제1PLA(506)의 디코더부(14,16)를 포함하고, 상기 제2논리 어레이가 입력-출력 레지스터(526)와 상기 제1 및 제2위상에서 클럭 펄스를 인가하는 클럭 수단을 포함하는 제1항의 집적회로 구조에 있어서, 상기 제어 수단(564)이 상기 입력-출력 레지스터로부터의 신호에 응답하는 상기 입력 레지스터에 클럭 펄스를 선택적으로 인가하기에 적합한 것을 특징으로 하는 집적 회로 구조.
  4. 제2항에 있어서, 상기 제어 수단이 적어도 제1 및 제2입력 단자와 적어도 하나의 출력 단자를 갖는 AND회로 및 상기 클럭 수단을 포함하며, 상기 출력 레지스터가 상기 제1 및 제2입력 단자에 전기적으로 접속되며, 상기 입력 레지스터가 제1위상동안 상기 입력 레지스터에 입력 신호를 선택적으로 클럭시키는 방식으로 상기 하나의 출력 단자에 접속되는 것을 특징으로 하는 집적 회로 구조.
  5. 제3항에 있어서, 상기 제어 수단이 적어도 제1 및 제2입력 단자와 적어도 하나의 출력 단자를 갖는 AND회로 및 상기 클럭 수단을 포함하며, 상기 출력 레지스터가 상기 제1 및 제2입력 단자에 전기적으로 접속되며, 상기 입력 레지스터가 제1위상동안 상기 입력 레지스터에 입력신호를 선택적으로 클럭시키는 방식으로 상기 하나의 출력 단자에 전기적으로 접속되는 것을 특징으로 하는 집적 회로 구조.
  6. 제2항에 있어서, 상기 제1PLA가 관련된 출력 레지스터(414)를 갖는 ROM부(412) 및 상기 관련된 출력 레지스터의 출력과 디코더부(411)를 향하는 상기 입력 레지스터(413)간의 피이드백 루프(420 내지 422)를 포함하는 제2항의 집적회로 구조에 있어서, 상기 제어 수단(130 내지 132)이 상기 피이드백 루프에 신호를 선택적으로 조절하기에 적합한 것을 특징으로 하는 집적 회로 구조.
  7. 제6항에 있어서, 상기 제어 수단이 적어도 하나의 상기 피이드백 루프에서 각각의 AND회로가 적어도 제1 및 제2입력과 적어도 하나의 출력 단자를 갖는, AND회로(130)를 포함하며, 각각의 상기 제1 및 제2PLA의 출력레지스터의 출력이 상기 제1 및 제2입력 단자에 접속되며, 상기 출력 단자가 상기 입력 레지스터의 입력에 접속되는 것을 특징으로 하는 집적 회로 구조.
KR8200527A 1981-02-10 1982-02-08 직접 회로 구조 KR900005282B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US233143 1981-02-10
US06/233,143 US4399516A (en) 1981-02-10 1981-02-10 Stored-program control machine

Publications (2)

Publication Number Publication Date
KR830009517A KR830009517A (ko) 1983-12-21
KR900005282B1 true KR900005282B1 (ko) 1990-07-27

Family

ID=22876060

Family Applications (1)

Application Number Title Priority Date Filing Date
KR8200527A KR900005282B1 (ko) 1981-02-10 1982-02-08 직접 회로 구조

Country Status (10)

Country Link
US (1) US4399516A (ko)
EP (1) EP0070863B1 (ko)
JP (1) JPH0666682B2 (ko)
KR (1) KR900005282B1 (ko)
CA (1) CA1167169A (ko)
GB (1) GB2092786B (ko)
IE (1) IE53180B1 (ko)
IL (1) IL64937A (ko)
IT (1) IT1149544B (ko)
WO (1) WO1982002783A1 (ko)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4484260A (en) * 1981-12-17 1984-11-20 At&T Bell Laboratories Stored-program control machine
US4575794A (en) * 1982-02-22 1986-03-11 International Business Machines Corp. Clocking mechanism for multiple overlapped dynamic programmable logic arrays used in a digital control unit
US4493029A (en) * 1982-05-14 1985-01-08 At&T Bell Laboratories Microprocessor with PLA adapted to implement subroutines
US4661922A (en) * 1982-12-08 1987-04-28 American Telephone And Telegraph Company Programmed logic array with two-level control timing
US4488229A (en) * 1982-12-08 1984-12-11 At&T Bell Laboratories PLA-Based finite state machine with two-level control timing and same-cycle decision-making capability
US4488230A (en) * 1982-12-08 1984-12-11 At&T Bell Laboratories Programmed logic array with external signals introduced between its AND plane and its OR plane
USRE34363E (en) * 1984-03-12 1993-08-31 Xilinx, Inc. Configurable electrical circuit having configurable logic elements and configurable interconnects
US4668880A (en) * 1984-03-26 1987-05-26 American Telephone And Telegraph Company, At&T Bell Laboratories Chain logic scheme for programmed logic array
JPH01205336A (ja) * 1988-02-12 1989-08-17 Nec Corp シーケンサ制御回路
FR2631470A1 (fr) * 1988-05-11 1989-11-17 Labo Electronique Physique Unite de controle d'un circuit integre de traitement de donnees
US5043879A (en) * 1989-01-12 1991-08-27 International Business Machines Corporation PLA microcode controller
JP2544027B2 (ja) * 1990-05-24 1996-10-16 株式会社東芝 低消費電力型プログラマブルロジックアレイおよびそれを用いた情報処理装置
US5422833A (en) * 1991-10-30 1995-06-06 Xilinx, Inc. Method and system for propagating data type for circuit design from a high level block diagram
US5465224A (en) * 1993-11-30 1995-11-07 Texas Instruments Incorporated Three input arithmetic logic unit forming the sum of a first Boolean combination of first, second and third inputs plus a second Boolean combination of first, second and third inputs
US6085317A (en) * 1997-08-15 2000-07-04 Altera Corporation Reconfigurable computer architecture using programmable logic devices
US7547300B2 (en) 2006-04-12 2009-06-16 Icu Medical, Inc. Vial adaptor for regulating pressure
US8438522B1 (en) 2008-09-24 2013-05-07 Iowa State University Research Foundation, Inc. Logic element architecture for generic logic chains in programmable devices
US8661394B1 (en) 2008-09-24 2014-02-25 Iowa State University Research Foundation, Inc. Depth-optimal mapping of logic chains in reconfigurable fabrics
WO2013025946A1 (en) 2011-08-18 2013-02-21 Icu Medical, Inc. Pressure-regulating vial adaptors

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2399553A (en) * 1944-10-27 1946-04-30 American La France Foamite Aircraft fire extinguishing system
US3227219A (en) * 1963-12-19 1966-01-04 Gen Electric Testing for a fire extinguishing system
US3651482A (en) * 1968-04-03 1972-03-21 Honeywell Inc Interlocking data subprocessors
GB1257760A (ko) * 1970-10-10 1971-12-22
US3983538A (en) * 1974-05-01 1976-09-28 International Business Machines Corporation Universal LSI array logic modules with integral storage array and variable autonomous sequencing
US3959774A (en) * 1974-07-25 1976-05-25 California Institute Of Technology Processor which sequences externally of a central processor
DE2455178C2 (de) * 1974-11-21 1982-12-23 Siemens AG, 1000 Berlin und 8000 München Integrierte, programmierbare Logikanordnung
JPS51148022U (ko) * 1975-03-19 1976-11-27
US4034356A (en) * 1975-12-03 1977-07-05 Ibm Corporation Reconfigurable logic array
US4082148A (en) * 1976-07-26 1978-04-04 A-T-O Inc. Fire protection system
FR2396468A1 (fr) * 1977-06-30 1979-01-26 Ibm France Perfectionnement aux reseaux logiques programmables
US4268908A (en) * 1979-02-26 1981-05-19 International Business Machines Corporation Modular macroprocessing system comprising a microprocessor and an extendable number of programmed logic arrays

Also Published As

Publication number Publication date
US4399516A (en) 1983-08-16
JPH0666682B2 (ja) 1994-08-24
KR830009517A (ko) 1983-12-21
IE53180B1 (en) 1988-08-17
GB2092786B (en) 1985-11-13
EP0070863A4 (en) 1983-07-26
IL64937A0 (en) 1982-04-30
GB2092786A (en) 1982-08-18
IT1149544B (it) 1986-12-03
IT8219507A0 (it) 1982-02-08
IE820286L (en) 1982-08-10
CA1167169A (en) 1984-05-08
EP0070863B1 (en) 1986-04-23
JPS58500043A (ja) 1983-01-06
IL64937A (en) 1985-03-31
EP0070863A1 (en) 1983-02-09
WO1982002783A1 (en) 1982-08-19

Similar Documents

Publication Publication Date Title
KR900005282B1 (ko) 직접 회로 구조
US4831573A (en) Programmable integrated circuit micro-sequencer device
EP0361525B1 (en) Single chip microcomputer
JP3253347B2 (ja) 機能的に完全なセルフタイミング機能付き論理回路群
NL8900608A (nl) Programmeerbare verwerkingsinrichting voor integratie op grote schaal.
JPH08101761A (ja) 再構成可能な応用特定装置
US4965472A (en) Programmable high speed state machine with sequencing capabilities
US4504904A (en) Binary logic structure employing programmable logic arrays and useful in microword generation apparatus
EP0082980B1 (en) Signal transfer arrangement using a bus as a storage device
Dorojevets et al. Architectural and implementation challenges in designing high-performance RSFQ processors: A FLUX-1 microprocessor and beyond
EP0143351A2 (en) Memory device with a register interchange function
EP0087601A1 (en) Integrated circuit mechanism for coupling multiple programmable logic arrays to a common bus
US5675824A (en) Programmable logic having selectable output voltages
US4484260A (en) Stored-program control machine
USRE32858E (en) Stored-program control machine
Kang Domino-CMOS barrel switch for 32-bit VLSI processors
US6339835B1 (en) Pseudo-anding in dynamic logic circuits
EP0535395B1 (en) Partial multiplier selector for multiplication circuit
Patil et al. An approach to using VLSI in digital systems
CA1106978A (en) Simple flexible indexing method for ros storage microcomputers
Yang et al. Distributed Self-Clock: A Suitable Architecture for SFQ Circuits
KR920009450B1 (ko) 컴퓨터의 버스 싸이클 콘트롤러
JPS6354822A (ja) 高速有限同期プログラマブルロジックアレイステ−トマシンおよび該ステ−トマシンにおける状態移行方法
IE41472L (en) Electrical data processor
JPS61231632A (ja) データ処理装置