KR920009450B1 - 컴퓨터의 버스 싸이클 콘트롤러 - Google Patents

컴퓨터의 버스 싸이클 콘트롤러 Download PDF

Info

Publication number
KR920009450B1
KR920009450B1 KR1019900020600A KR900020600A KR920009450B1 KR 920009450 B1 KR920009450 B1 KR 920009450B1 KR 1019900020600 A KR1019900020600 A KR 1019900020600A KR 900020600 A KR900020600 A KR 900020600A KR 920009450 B1 KR920009450 B1 KR 920009450B1
Authority
KR
South Korea
Prior art keywords
signal
command
output
bus cycle
state
Prior art date
Application number
KR1019900020600A
Other languages
English (en)
Other versions
KR920013145A (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 KR1019900020600A priority Critical patent/KR920009450B1/ko
Publication of KR920013145A publication Critical patent/KR920013145A/ko
Application granted granted Critical
Publication of KR920009450B1 publication Critical patent/KR920009450B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus

Abstract

내용 없음.

Description

컴퓨터의 버스 싸이클 콘트롤러
제1도는 본 발명의 구성을 개략적으로 나타낸 블록도면.
제2도는 제1도에 관련한 명령디코더부의 상세 회로도.
제3도는 제1도에 관련한 상태머신부의 상세 회로도.
제4a도 및 4b도는 제3도에 관련한 상태머신부를 설명하기 위한 도면.
제5도는 제1도에 관련한 레디신호 발생부의 상세 회로도.
제6도는 제1도에 관련한 명령 인에이블 신호 발생부의 상세 회로도.
제7도는 제1도에 관련한 명령신호 출력 제어부의 상세 회로도이다.
본 발명은 컴퓨터의 버스 싸이클 콘트롤러에 관한 것으로서, 특히 컴퓨터가 요구하는 각 신호 조건에 부합되도록 단일 칩으로 구성될 수 있는 컴퓨터의 버스 싸이클 콘트롤러에 관한 것이다.
개인용 컴퓨터의 급속한 발전에 따라 요구되는 조건에 충족될 수 있는 컴퓨터의 핵심적 요소인 CUP, 특히 칩 일련번호인 80286을 사용하는 일련의 시스템은 그 특성상 버스 싸이클 콘트롤러를 요구한다.
CPU인 80286은 버스 밴드쪽을 높이기 위한 수단으로 파이프 라인 방식의 버스 싸이클을 채용하고 있다. 80286의 버스 싸이클은 한 개의 버스 싸이클에 대해 데이터 입출력의 타이밍과 겹치게 하여, 다음의 버스 싸이클의 어드레스가 출력되기 시작하는 동작 특성을 갖는데, 인터럽트, 입출력 동작, 메모리 관계된 동작 등의 작업 수행을 위해 CPU로부터 출력되는 메모리/입출력 선택신호와 상태신호에 따라서, 적합한 버스 싸이클이 제공될 필요가 있다.
본 발명은 상기한 요구사항에 따라 이를 충족시키기 위해 마련된 것으로서, 발명의 목적은 이미 준비된 주변 신호을 이용하여 최적화하여 수행될 수 있도록 다수의 논리소자를 이용하여 단일 칩으로 구성할 수 있는 컴퓨터의 버스 싸이클 콘트롤러를 제공하는 것이다.
이하 본 발명의 구성 및 작용, 효과를 첨부한 도면을 참조하여 상세히 설명한다.
본 발명의 목적에 따라 구성되는 회로를 기능별로 개략적으로 나타낸 블록도면이 제1도에 도시되었다.
본 발명 회로는 다섯 개의 블록으로 구성되며, 각각을 나열하면 명령디코더부(1), 레디(ready)신호 발생부(4), 상태 머신부(3), 명령 인에이블 신호 발생부(5
) 그리고 명령 출력 제어부(2)이다.
도면에 나타낸 바와 같이 CPU(도시없음)로부터 출력되는 메모리/입출력 선택 신호(M/IO), 제1상태신호 및 제2상태신호(S0), (S1)는 명령디코더(1)에 입력되어 그 출력은 각각 명령 출력제어부(2)와 상태 머신부(3)로 공급된다.
프로세서 클럭(PROCCLK)과 리셋신호(BRESET)를 입력으로하고 상기 언급한 명령 디코더의 일 출력을 공급받는 상태머신부(3)는 어드레스 래치 인에이블 신호(AL
E)를 출력하고, 또한 상기한 레디 신호 발생부(4) 및 명령 발생부(5)에 소정의 신호를 공급한다.
그리고 현재의 버스 싸이클 종료를 지시하기 위한 레디신호(BREADY)를 출력하는 레디신호 발생부(4)에는 동기 레디신호(BSRDY), 비동기 레디신호(BARDY)와 동기 레디 인에이블신호(BRDYEN)가 입력된다.
상태머신부(3)로부터의 출력신호와 명령 지연 신호(CMDLY)를 입력으로하는 상기 명령 인에이블 신호발생부(5)는 상기 명령 신호 출력 제어부(2)에 그 출력신호를 보낸다. 그리고 이 명령 신호 출력 제어부(2)에는 또한 CPU 버스 액티브 신호(CBAB)와 명령 액티브 신호(CA)가 입력된다.
다수의 신호를 제공받는 상기한 명령 신호 출력 제어부(2)는 그 출력 신호로서 인터럽트 인지 신호(BINTA), 입/출력 라이트 명령 신호(BIOW), 입/출력 리드(read) 명령 신호(BIOR) 그리고 메모리 라이트 명령 신호(BMEMW), 메모리 리드 명령 신호(BMEMR)를 출력한다.
이하, 언급된 각 신호 및 블록에 대하여 이를 구체화한 일실시예로서의 상세 회로도인 제2도 내지 제7도를 참조하여 상세히 설명한다.
CPU 즉 칩 일련번호인 '80286'의 출력신호중 M_IO 및 S0와 S1은 명령 디코더부(1)에 입력되는데 이중 M_IO는 메모리 혹은 입/출력 선택신호로서 현재의 버스 싸이클이 메모리 공간내에 있는지 또는 입/출력(I/O) 공간내에 있는지를 결정한다. 이 신호 레벨이 로우상태일 경우에는 현재의 버스 싸이클이 입/출력 공간내에 있음을 의미한다.
그리고, CPU로부터의 상태신호(S0, S1)는 버스 싸이클 상태 신호로서, 언급한 M_IO신호와 더불어 버스신호의 개시 및 버스 싸이클의 타입을 결정한다. 이러한 제어신호는 기억장치로부터 펫치(ferch)해온 명령어 해독에 의해 CPU가 생성해내는 신호로서 이 신호에 기초하여 버스 싸이클이 운영된다.
상기 언급한 버스 싸이클의 타입이란 인터럽트 인지(acknowledge), 입/출력 리드, 입/출력 라이트, 정지(halt), 메모리 리드, 메모리 라이트로서, 각각은 S0와 S1이 동시에 (1,1)인 경우를 제외하고 M/IO, S1, S0이 (0,0,0), (0,0,1), …, (1,1,1)에 대응한다. 만약 M/IO, S0, S1이 (1,0,1)이라면 대응하는 버스 싸이클 타입은 메모리 리드로서 상기 세 개의 신호를 입력으로하는 명령 디코더(1)는 메모리 리드에 대응하는 적합한 신호를 출력한다. 출력된 이 신호는 상태 머신부(3)로 출력되는데 이 상태머신부는 버스 싸이클의 시작을 인지하고, 버스 싸이클의 진행과정을 순차적으로 구분, 명령의 출발 시점을 결정한다. 이에 대한 상세한 논의는 후에 기술된다.
명령 디코더부(1)에 대한 본 발명 실시예에 따른 상세 회로도를 제2도에 나타내었다.
제2도에 도시된 바와 같이, CPU로부터 출력되는 M_IO, S0, S1가 명령 디코더의 다수의 인버터 내지는 NAND 및 AND 게이트를 거쳐 그 출력 신호로서 DO1∼DO6가 출력되는데 이중 DO1∼DO5는 명령 신호출력 제어부(2)로 출력되고 DO6신호는 상태머신부(3) 및 레디신호 발생부(4)로 출력된다.
앞 예와 같이 M_I, S0, S1가 만약 (1,0,1)이라면 제2도의 회로 동작에 따라서 DO5신호만이 로우 레벨로 나타나고 나머지 출력은 모두 하이레벨로 출력된다. 즉, 선택된 버스 싸이클에 따른 입력신호 중 어느 하나에 대응하여 로우레벨의 신호가 대응하는 NAND게이트로부터 출력된다. 이와 동시에 상태머신부(3) 및 레디 신호 발생부(4)로 동시에 출력되는 DO6신호는 S0와 S1이 동시에 (1,1)인 경우 및 머신 싸이클 타입이 '정지'인 경우를 제외하고 하이레벨이 출력된다.
상기 명령 디코더(1)의 DO6신호는 제3도에 도시한 상태머신부(3)의 NOR게이트(3-1)에 입력된다. 상태머신부에 대해 상세 회로도인 제5도 및 참고도면인 제4도를 참조하여 설명한다.
상태머신부(3)는 버스 싸이클의 시작을 인지하고, 버스 싸이클의 진행과정을 순차적으로 구분, 명령신호의 출발 시점을 결정할 뿐만 아니라, 비동기 레디신호 및 동기 레디 신호의 검색 점을 결정한다.
제4b도에는 일예로서 선택된 버스 싸이클이 수행되기 위해 상태머신부가 취하는 상태천이를 프로세서 클럭에 맞추어 도식적으로 나타낸 것으로, 명령디코더부(1)에 입력되는 S0, S1이 로우레벨이 되는 시점, 즉, 버스 싸이클의 시작을 기점으로 상태가 천이되는 것을 나타낸다. 더욱이 제4a도는 모든 경우를 포함한 상태천이를 이해하기 쉽게 나타낸 소위 상태 디이어그램으로서, 이에 대해서 설명하면, BRESET=0 즉, 시스템 초기 부팅시 제3도에서 두 개의 D플릅플롭(D7), (D8)은 초기화 즉, (1,1)이 된다. 이어서, 후술되는 레디신호 발생부(4)의 출력신호인 BREADY 신호가 로우 레벨이 되면 (신호참조) 상태머신부는 (0,0)인 상태(두개의 플립플롭이 갖는 데이터 값)에 놓인다. 이 상태에서 명령디코더에 입력되는 신호인 S0, S1이 모두 하이인 경우를 제외한 신호입력시(버스 싸이클의 시작을 의미) 명령디코더는 출력신호로서 DO6신호를 상태머신부의 NOR 게이트(3-1)에 공급하므로서 상태머신부는 (1,0) 그리고 (1,1)로 진행하고 언급한 BREADY가 로우 레벨이 아닌 이상(BREADY의 로우 레벨은 버스 싸이클의 종료를 의미), (1,0)과 (1,1)의 상태를 계속 반복한다. 따라서 제4b도 도면에서 Tc로 표기한 바와 같이 버스 싸이클의 타입에 따라 천이되는 반복 횟수에 차이가 있게되는데 제4b도에는 일레로서 Tc가 4개인 것이 도시되었다.
지금 설명한 제4a도의 상태 다이어그램은 설계자로하여금 제3도와 같은 논리회로를 생성케하여 준다.
제3도회로는 상태머신부의 상세도로서 출력신호 DQ6, DQ7은 레디신호 발생부로, DQ8,, DQ7은 명령 인에이블 신호 발생부로과 DQ8의 논리 AND된 신호(SM)는 명령신호 출력 제어부로 출력됨과 동시에 외부신호로서의 ALE(어드레스 래치 인에이블 신호)로 출력된다.
그리고 도시된 입력신호인는 이하 기술되는 레디신호 발생부로부터 출력되는 신호이다.
다음에, 레디신호 발생부에 대해서 제5도를 참조하여 설명한다.
레디신호 발생부(4)는 명령디코더부(1)의 출력신호인 DO5신호 뿐만 아니라 외부로부터 입력되는 3개의 신호 즉, 동기 레디신호(BSRDY), 비동기 레디신호(DARD
Y), 그리고 동기 레디 인에이블 신호(BRDYEN)를 받고, 또한 상태머신부의 출력신호(DQ7,DQ8)를 받는다.
이 회로에서는 외부 출력신호로서 레디신호(BREADY)와 내부신호로서 명령 인에이블 신호 발생부 및 상태머신부로 동시에 공급되는 DQ9,의 신호가 출력되는데 BREADY는 현재의 버스 싸이클이 완료되었음을 지시하는데 사용되기 때문에 이 회로에 입력되는 외부 제어신호 즉, BSRDY, BRDYEN, BARDY는 버스 싸이클 종료 또는 현재의 버스 싸이클에 대한 레디 신호원에 관계된 신호이다.
본 회로에서는 시스템 클럭이며는 시스템을 초기상태에 놓이도록 하는 것으로서, 시스템 부팅시 유효하다. 또한 내부 제어신호로서 상태머신부로부터 출력되는 신호(DQ7), (DQ8)에 의해 회로가 동작된다.
언급한 바대로, 레디신호 발생부(1)는 외부로부터 입력되는 BARDY, BSRDY, BRDYEN 신호를 인지하고 상태머신부(4)의 상태에 따라 BREADY 신호를 발생시키는 회로이다.
상태머신부의 상태가 (0,1) 또는 (1,1)의 상태가 있고, BARDY와 BRDYEN를 논리 OR한 신호가 '0'인 경우 PROCCLK의 하강엣지에서 BREADY를 로우 레벨로 만든다.
또한, 상태머신부의 상태가 (1,0)의 상태에 있고, BSRDY와 BRDYEN을 논리 OR한 신호가 '0'인 경우 PROCCLK의 하강엣지에서 레디가 되었음을 체크하고, 동시에 BREADY를 '0'레벨로 만든다.
제5도의 레디신호 발생부는 BREADY신호를 출력하고 DQ9로 표기된 출력신호를 명령인에이블 신호 발생부와 언급한 상태머신부로 출력한다.
제6도에 명령 인에이블 신호 발생부(5)에 대한 상세 회로도이다.
이 회로는 레디신호발생부(4)로부터 제공된 DQ9, DQ9와, 상태머신부(3)로부터 제공된 DQ7, DQ7, DQ8과 외부신호인 PROCCLK 및 CMDLY(명령지연신호)를 입력하여, 다수의 게이트와 D플립플롭(D10)을 거쳐 DQ10인 신호가 명령신호 출력부(2)로 출력되도록 하는 회로구성을 갖는다.
명령 인에이블 신호 발생부(5)는 상태머신부(3)의 상태에 의존하여 명령 지연신호인 CMDLY신호를 인지하고 명령신호의 출발시점을 결정한다.
상태머신부 즉, 제3도의 두 개의 D플립플롭(D7,D8)의 상태가 (0,1), (1,0), (1,1)인 경우에 CMDLY를 체크하여 이 신호가 로우레벨인 경우에는 명령신호가 출력되기 시작한다. 이러한 동작은 제6도 회로에서 명백하다.
또한, 이 회로는 예외적인 경우를 고려하여 설계되었는데 예외적인 경우란 상태머신부의 상태가 (1,1)이고 CMDLYT신호의 레빌이 '0'인 경우에도 BREADY가 로우레벨인 경우(제5도 참조)에는 명령신호가 출발하지 않고 버스싸이클을 종료시키는 경우이다.
명령 인에이블신호 발생부(5)로부터 출력되는 신호는 제7도에 도시한 명령신호 출력제어부(2)의 NAND 게이트(7-1)∼(7-5)로 입력된다. 상기 NAND 게이트 각각의 출력에는 3상태 버퍼가 연결되어 있는데 3상태 버퍼를 제어하는 신호는 NOT 게이트(7-6)을 거쳐 입력되는 CPU 버스액티브 신호(CBAB)이다.
또한, 상기 NAND 게이트 각각은 언급한 DQ10신호를 포함하여 3개의 입력신호를 갖는데 언급한 DQ10신호와, 명령디코더로부터 출력되는 DO1∼DO5를 입력신호로 하고 상태머신부의 SM신호를 클럭신호로하는 D(D1∼D5)의 각각 반전 출력과, CA(명령 액티브 신호)이다.
버스 싸이클이 개시되면 명령디코더는 앞에서 논의한 바와 같이 DO1∼DO5중 어느하나 만이 로우레벨로서 상기의 대응하는 D플립플롭에 인가된다. 인가된 신호가 출력으로 전달되기 위해서는 상태머신부 출력신호(SM)가 클럭으로서 입력되어야 하는데 이는 이미 기술한 상태머신부 동작에 따르고 이 신호에 동기하여 NAND로 공급된다. 그리고, 명령 인에이블 신호 및 CA에 응하여 버퍼에 전달되며 아울러, 외부 입력신호인 CBAB에 의해 최종으로 출력된다.
그런데, 명령신호 출력제어부(2)는 명령 인에이블 신호발생부(5)에 의해 명령신호가 출발된다 하더라도 외부의 조건에 의하여 명령신호 출력을 3상태나 인액티브 상태로 만들어야 하는 경우를 고려하여야 한다. 이를 위해서 현 회로는 CBAB와 CAE가 (0,1), (0,1), (1,X)인 각 경우는 그 의미하는 바로서 각각, 인액티브(모든 명령은 '1'), 정상동작, 3상태, 3상태를 뜻하는 것으로서 이 경우를 고려하여 제7도와 같은 회로가 구성된 것이다.
이상 설명한 바와 같이, 본 발명 회로구성에 의해 단일 칩으로 구성될 수 있고, 변경없이 사용될 수 있어 배선에 용이하며 더우기 본 회로는 효율적으로 설계된 컴퓨터의 버스 싸이클 콘트롤러이다.

Claims (4)

  1. CPU로 부터 출력되는 선택된 버스 싸이클 타입에 대한 제어신호인 메모리/입출력 선택신호(M/IO), 상태신호(S0,S1)를 입력하여 버스 싸이클 개시 신호 및 해당 싸이클 명령신호를 출력하는 명령 디코더부와, 시스템 클럭에 동기하여 상기 명령 디코더 신호에 준하여 버스 싸이클에 관련한 소정의 상태신호를 생성해내는 상태 머신부와, 동기 레디인에이블 신호와 동기 및 비동기 신호를 받고 상기 상태머신부의 상태신호를 받아 버스 종료 설정을 지시하는 레디신호 발생부와, 명령 지연 신호와 상기의 상태머신부의 상태신호에 준하여 명령 신호 출력을 제어하는 명령 인에이블 신호 발생부와, 명령 인에이블 신호 발생부의 신호와, 외부에 입력되는 CPU 버스 액티브 신호 및 명령 액티브 신호에 따라 상기 명령 디코더회로로 부터 입력된 신호에 응하여 버스타입 명령신호를 출력하는 명령 출력 제어부를 포함하는 것을 특징으로하는 컴퓨터의 버스 싸이클 콘트롤러.
  2. 제1항에 있어서, 상기한 상태머신부는 상기 명령디코더부 출력신호와 레디신호 발생부의 출력신호를 받는 각각의 논리소자 출력에 따라 4개의 상태를 갖도록 2개의 D플립플롭으로 구성된 것을 특징으로 하는 컴퓨터의 버스 싸이클 콘트롤러.
  3. 제1항에 있어서, 명령 인에이블 신호 발생부는 상기 레디신호 발생부와 상기 상태머신부의 상태신호 및 CMDLY 신호를 받는 다수 연결된 논리 소자와, 시스템 클럭에 의해 명령 신호 출력 제어부에 제어신호를 인가하는 D플립플롭으로 이루어지는 것을 특징으로 하는 컴퓨터의 콘트롤러.
  4. 제1항에 있어서 명령신호 출력 제어부는 명령 디코더 출력신호를 받는 D플립플롭(D1∼D5)과, 이 D플립플롭의 반전 출력과 상기 명령 인에이블 신호 발생부의 출력신호와 외부 신호인 CA를 입력하는 NAND게이트(7-1∼7-5)와, 이 NAND게이트 출력을 받고 외부신호인에 의해 제어되는 3상태버퍼를 포함하여 구성된 것을 특징으로 하는 컴퓨터의 버스 싸이클 콘트롤러.
KR1019900020600A 1990-12-14 1990-12-14 컴퓨터의 버스 싸이클 콘트롤러 KR920009450B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019900020600A KR920009450B1 (ko) 1990-12-14 1990-12-14 컴퓨터의 버스 싸이클 콘트롤러

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019900020600A KR920009450B1 (ko) 1990-12-14 1990-12-14 컴퓨터의 버스 싸이클 콘트롤러

Publications (2)

Publication Number Publication Date
KR920013145A KR920013145A (ko) 1992-07-28
KR920009450B1 true KR920009450B1 (ko) 1992-10-16

Family

ID=19307532

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019900020600A KR920009450B1 (ko) 1990-12-14 1990-12-14 컴퓨터의 버스 싸이클 콘트롤러

Country Status (1)

Country Link
KR (1) KR920009450B1 (ko)

Also Published As

Publication number Publication date
KR920013145A (ko) 1992-07-28

Similar Documents

Publication Publication Date Title
US4870562A (en) Microcomputer capable of accessing internal memory at a desired variable access time
US4112490A (en) Data transfer control apparatus and method
US5056004A (en) Program control system which simultaneously executes a program to be repeated and decrements repetition numbers
Nanya et al. TITAC: Design of a quasi-delay-insensitive microprocessor
KR900004006B1 (ko) 마이크로 프로세서 시스템
CA1193026A (en) Variable cycle-time microcomputer
JPS63301339A (ja) コンピュ−タ装置
US7054802B2 (en) Hardware-assisted design verification system using a packet-based protocol logic synthesized for efficient data loading and unloading
US4348720A (en) Microcomputer arranged for direct memory access
KR900005282B1 (ko) 직접 회로 구조
EP0471382B1 (en) Microcomputer including serial data communication unit
US5838934A (en) Host port interface
US6021264A (en) Data processing system capable of avoiding collision between read data and write data
KR920009450B1 (ko) 컴퓨터의 버스 싸이클 콘트롤러
US5087953A (en) Flexible gate array system for combinatorial logic
US4398247A (en) Control device for directing execution of forced operations in a data processing system
US8200943B2 (en) Microprocessor
David et al. Self-timed architecture of a reduced instruction set computer
US5087839A (en) Method of providing flexibility and alterability in VLSI gate array chips
JPS6049337B2 (ja) パイプライン制御方式
Sundararajan et al. XVPI: A portable hardware/software interface for virtex
EP1168123A1 (en) Program logic device
JPH0143392B2 (ko)
JP2697772B2 (ja) 情報処理装置
JPH0697814A (ja) プログラマブル・ロジック・アレイおよびそれを用いたマイクロコンピュータ

Legal Events

Date Code Title Description
A201 Request for examination
G160 Decision to publish patent application
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20030929

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee