KR100249080B1 - 마이크로컴퓨터와의주변장치접속용제어기 - Google Patents
마이크로컴퓨터와의주변장치접속용제어기 Download PDFInfo
- Publication number
- KR100249080B1 KR100249080B1 KR1019900014477A KR900014477A KR100249080B1 KR 100249080 B1 KR100249080 B1 KR 100249080B1 KR 1019900014477 A KR1019900014477 A KR 1019900014477A KR 900014477 A KR900014477 A KR 900014477A KR 100249080 B1 KR100249080 B1 KR 100249080B1
- Authority
- KR
- South Korea
- Prior art keywords
- access
- input
- control
- peripheral device
- recovery time
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
- G06F13/4226—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus with asynchronous protocol
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
- Information Transfer Systems (AREA)
Abstract
여기에 개시된 상이한 주변장치들을 위한 데이터 리커버리 타임 제어 시스템은, 버스에 억세스 연결된 주변 장치들과 인터페이스를 수행하기 위한 제어기를 포함한다. 상기 제어기는, 주변장치들, 중앙 처리 유닛, 그리고 입/출력 버스들 사이에서의 주변 장치 억세스 리커버리 타임의 변화 및 억세스 리커버리 타임의 차이에 대해 일반화된 억세스 리커버리 타임의 보상을 제공한다. 그 결과, 중앙 처리 유닛의 명령어 특성과 주변 장치의 특성에 따라 달라지는 억세스 리커버리 타임을 딜레이 시간에 의한 손실 없이 효과적으로 보상함으로써, 시스템의 성능을 중앙처리장치의 성능에 근접할 수 있도록 향상시킬 수 있다.
Description
본 발명은 상업적으로 이용 가능한 주변장치 제어기를 합체시킨 마이크로컴퓨터 시스템에 관한 것으로서, 좀 더 구체적으로는 키보드, 프린터 및 디스크 드라이버와 같은 주변장치들과 마이크로프로세서 사이에서 마이크로컴퓨터 시스템의 메인 입/출력(I/O)버스를 통한 데이터 흐름 및 어드레스 그리고 데이터 타이밍을 제어하기 위해 사용되는 마이크로컴퓨터에 관한 것이다.
오늘날의 마이크로프로세서 생산자는 그들이 생성하는 시스템의 모양과 구성을 능가하는 제어를 수행한다. 일반적으로 그들은 추가 주변장치, 보조장치 및 다른 생산자에 의해 생산된 메모리 옵션들을 포함하는 새로운 보조장치들과 그들 시스템과의 호환성을 위해 필요한 파라미터들을 예기해야만 한다. 마이크로프로세서와 메모리의 성능과 인터페이스 특성들은 장치마다 크게 변화되며, 마찬가지로 주변장치, 보조장치 및 메모리 등의 특성은 이들 장치의 생산자가 달라지면 역시 변화하게 된다.
주변장치의 성능 특성은 마이크로 컴퓨터 시스템 디자인에서의 변화를 수용하기 위해 종종 최고의 성능 이하로 설계되는 반면, 마이크로프로세서 칩과 메모리는 대부분 최고의 성능 이하로 만들어지지 않는다. 따라서 고성능 마이크로프로세서의 생산자는 시스템에 부속시킬 수 있는 최대 숫자의 장치와 호환성이 잇는 시스템을 생산시키기 위해 각기 다른, 경우에 따라서는 질이 떨어지는 수행 특성을 가지는 주변장치, 보조장치와 얼마간의 메모리 옵션을 허용해야 한다. 또한 마이크로 컴퓨터 생산자는 마이크로 프로세서 칩 세트와 메모리의 업그레이드와 변경을 예기해야 한다. 만약 마이크로컴퓨터 생산자가 그와 같은 업그레이드를 예기하지 않으면 그의 제품에 대한 시장성이 좁아지게 될 것이다.
종종 데스크탑 어플리케이션(desktop application)으로 사용되는 완비된 마이크로컴퓨터는, 중앙처리장치(하기에서는 "CPU", "처리기" 또는 "마이크로 프로세서"로 기재함) 수학적 "코프로세서", DMA 가능 장치, 메모리, 입/출력(I/O)버스, 기타 시스템 포트, 그리고 비디오, 키보드, 플로피 디스크, 프린터용 직/병렬 포트, scsi 장치, 마우스 프린터 장치 등과 같은 독립된 주변장치를 위한 인터페이스 로직과 같은 부속시스템을 포함한다.
마이크로컴퓨터는 시스템 내에서 부속시스템 사이의 어드레스, 데이터 및 제어신호를 처리함에 의해 기능을 수행한다. 주변장치로 그리고 주변장치로부터의 제어 데이터 흐름은 처리기에 의해서, 그리고 메인 시스템 메모리와 메인 I/O 버스사이의 데이터 흐름 및 타이밍은 이를 제어하는 여러 가지 제어장치에 의해 제공된다.
당해 기술의 마이크로컴퓨터 시스템 내로 합체된 대부분의 키보드 제어기(keyboard controller)는 억세스 리커버리 타임(access recovery time)에 대한 보상을 필요로 한다. 억세스 명령들을 나타내기 위한 신호들을 처리하기 위한 응답시간과 결부된 키보드 제어기들은 현재의 I/O 버스 기술보다 느리기 때문에, 상기와 같은 보상에 대한 요구가 발생된다. 예를 들어, 현재의 버스기술에 의해 수행된 어떤 두 동작 사이에 대표적인 최소 리커버리 타임은 100ns인, 현재의 키보드 제어기에 의해 요구되는 리커버리 타임은 1000ns이다. 따라서, I/O버스는 키보드 제어기가 다음 동작을 준비가 훨씬 이전에 다음 동작을 준비하게 된다.
과거에는, 키보드 제어기와 함께 제공되는 컴퓨터 프로그램은, 프로그램 코드일부로서 앞에서 설명한 바와 같은 억세스 리커버리 타임의 보상을 제고하였다. 그러나, 억세스 리커버리 타임에 대한 이 같은 소프트웨어식 해결방식은 효율적이지 못하며, 캐쉬된 마이크로프로세서를 갖는 모든 마이크로컴퓨터 시스템에서 전혀 동작하지 않을 수도 있다.
따라서, 소프트웨어에 의존하지 않고 억세스 리커버리 타임을 보상하되, 주변 장치의 특성과 중앙 처리 유닛의 명령어 특성에 따라 달라지는 억세스 리커버리 타임을 딜레이에 의한 손실 없이 효과적으로 보상할 수 있는 제어기가 요구된다.
따라서, 본 발명의 목적은 상술한 제반 문제점을 해결하기 위해 제안된 것으로, 중앙 처리 유닛의 명령어 특성과 주변 장치의 특성에 따라 달라지는 억세스 리커버리 타임을 효과적으로 보상함으로써, 시스템의 성능을 중앙처리장치의 성능에 근접할 수 있도록 향상시킬 수 잇는 제어기를 제공하는 데 있다.
제1도는 본 발명에 의한 마이크로 주변장치 제어기를 보여주기 위한 블록도.
제2a도는 종래의 마이크로컴퓨터 주변장치 제어기에 의해 수신 및 발생된 제어신호들을 보여주기 위한 타이밍도.
제2b도는 제1도에 도시된 마이크로컴퓨터 주변장치 제어기에 의해 수신 및 발생된 제어신호들을 보여주기 위한 타이밍도.
제3a도 및 제3b도는 제2b도에 도시된 제어신호를 발생시키기 위한 제1도에 도시된 마이크로컴퓨터 주변장치 제어기의 명령처리섹션의 구성을 보여주기 위한 회로도.
* 도면의 주요부분에 대한 부호의 설명
10 : 주변장치제어기 101 : 어드레스 디코딩 섹션
102 : 명령처리섹션 103 : 타이머섹션
104, 105 : 인터럽트 제어섹션 106 : 병렬포인트 포트
108 : 레지스터섹션 107 : 버스인터페이스
상술한 바와 같은 본 발명의 목적을 달성하기 위한 본 발명의 특징에 의하면, 중앙 처리 유닛과 적어도 하나의 주변장치가 입/출력(I/O)버스를 통해 통신하도록 결합되어지는 컴퓨터 시스템에서 상기 중앙 처리 유닛과 상기 주변장치를 인터페이스하기 위한 장치는, 입/출력(I/O)버스와 주변장치에 연결되어 상기 입/출력버스를 통해 상기 주변장치와 상기 중앙 처리 유닛사이의 데이터 흐름과 어드레스 및 데이터 타이밍을 제어하기 위한 제어수단, 그리고 상기 제어수단과 상기 입/출력 버스에 연결되어 필요한 보상의 크기를 기초로 하여 입/출력 버스 제어 신호를 수정하기 위한 변경수단을 포함한다. 상기 제어수단은, 상기 입/출력 버스와 상기 주변 장치에 연결되어 상기 주변장치, 상기 중앙처리장치 및 상기 입/출력 버스 사이의 억세스 리커버리 타임의 차이를 보상하기 위한 억세스 리커버리 수단을 포함한다. 그리고, 상기 억세스 리커버리 수단은 상기 입/출력 버스에 연결되어 상기 입/출력 버스를 통해 주변장치로의 억세스 동작이 언제 종료하였는가를 감지하고 이에 응답하여 제1신호를 발생시키기 위한 감지수단과, 상기 감지 수단에 연결되어 상기 제1신호를 기초로 하여 상기 억세스 리커버리 타임의 차이를 보상하기 위해 필요한 보상 시간의 크기를 결정하기 위한 보상수단을 더욱 포함한다.
상술한 바와 같은 본 발명의 목적을 달성하기 위한 본 발명의 다른 특징에 의하면, 제어장치에 의해 한 주변장치에서 수행된 억세스 주기들 사이의 타이밍을 제어하기 위해 상기 주변장치와 제어 장치가 입/출력(I/O) 버스에 연결되고 상기 입/출력 버스를 통해 통신을 수행하는 장치는, 상기 입/출력 버스와 상기 주변장치에 연결되어 상기 제어장치로부터 상기 입/출력 버스를 통해 바람직한 주변장치 억세스 주지(access cycle)를 나타내는 억세스 명령 신호들을 수신하고 상기 바람직한 억세스 주기를 제어하기 위해 상기 억세스 명령 신호들을 기초로 하여 상기 주변장치로 억세스 제어 신호를 제공하기 위한 억세스 제어수단과, 상기 억세스 제어수단에 연결되어 상기 주변장치에서 수행된 이전의 억세스 주기의 종료(끝)를 검출하고 상기 이전 억세스 주기의 종료를 나타내는 종료 신호를 제공하기 위한 주기 검출수단, 그리고 상기 억세스 제어수단과 상기 주기 검출 수단에 연결되어 이전 억세스 주기의 종료 이수의 시간 값을 검출하고 상기 억세스 제어수단으로 하여금 상기 이전 억세스 주기 종료 이후의 시간이 바람직한 리커버리 타임에 도달할 때까지 다음 억세스 주기를 위한 억세스 제어 신호의 공급을 지연시키도록 하는 타이밍 제어수단을 포함한다.
[실시예]
이하 본 발명에 따른 실시예를 첨부된 제1도 내지 제3b도를 참조하여 상세히 설명한다.
본 발명의 신규한 마이크로 컴퓨터 시스템 내에서의 주변장치 제어는, IBM Corporation에 의해 생산된 마이크로 채널 아키텍쳐(Micro Channel Architecture; MCA)와 같은 현재 기술수준의 I/O버스, 그리고 Intel Corporatoin에 의해 생산되는 80386 마이크로프로세서와 같은 현재 기술 수준의 마이크로프로세서와 접속시키기 위한 비동기식 제어기를 포함한다. 따라서, 종래에는 분리된 주변장치 제어기에 의해 지원되었던 많은 특수한 기능들이 시스템의 크기와 비용을 줄이기 위해 한 제어기내로 합체되었다.
본 발명의 일실시예에 의한 주변장치 제어기는 MCA를 통해 데이터를 수신 및 송신하는 프로그램 가능 레지스터(programmable registers) 및 카운터(counters)를 포함한다. 기능적인 섹션으로는 인터럽트 제어기(interrupt controllers), 카운터 타이머(counter timers), 병렬프린터 포트(parallel printer port), 어드레스 디코더(address decoder), 마이크로채널 명령처리기(micro channel command processor), misc. 시스템 레지스터(misc. system registers), pos 레지스터(pos registers), 클럭발생 회로(clock generation circuits), 그리고 시스템 데이터 버스를 통한 송신용 정보어셈블리를 포함한다.
초기 및 정상동작 중에, 마이크로프로세서는 본 발명에 의한 장치에 의해 제공되는 여러 I/O 포트 어드레스 중 어느 하나로부터 판독하기도 하고 이들로 기록하기도 한다. 어드레스에 의해 지시할 수 있는 기능(addressable function)으로는 인터럽트 제어, 프로그램 가능 카운터, 선택 및 구성(option and configuratioi; POS), 리프레쉬 속도 카운터(refresh rate counter), 병렬포트제어, 그리고 몇몇 I/O 포트를 위한 어드레스 디코딩을 포함한다.
또한, 본 발명에 의한 제어기는 일반화된 하드웨어기능으로서 키보드 억세스 리커버리 타임(keyboard access recovery time)에 대한 보상을 제공한다. 따라서 키보드에 추가적으로 제공되는 것과 같은 선택적인 리커버리 타임 보상이 다른 주변장치들을 위해서도 제공된다.
제1도에 도시된 바와 같이 본 발명에 의한 주변장치 제어기(peripheral device controller; 10)는 어드레스 디코딩 섹션(address decoding section; 101), 명령처리섹션(command processing section; 102), 타이머 섹션(timer section; 103), 인터럽트 제어섹션(interrupt control section; 104), 병렬 프린터 포트(parallel printer port; 106), 버스 인터페이스(bus interface; 107) 및 레지스터섹션(register sectioin; 108)을 포함한다. MCA를 통해 80386 마이크로프로세서와 연결될 때, 주변장치 제어기(10)는 8-비트 I/O장치로 처리된다.
어드레스 디코딩 섹션(101)은 레지스터섹션(108)을 포함하는 레지스터가 바른 억세스를 위해 필요로 하는 어드레스 정보를 제공한다. 아래 [표 1]에는 어드레스 디코드 맵(address decode map)이 제공된다.
[표 1]
키보드 제어기와 같은 장치제어기(device controller)는 어드레스 디코딩 섹션(101)의 일부를 형성시킬 수 있다. 그러나 상기 섹션(101)의 어드레스 디코딩 기능은 본 발명에 의한 제어기로부터 분리된 디코더에 의해 수행될 수 있으며 본 발명의 일부를 구성시키지 않는다.
명령처리섹션(102)은, 플로피 디스크 드라이버 및 키보드와 같은 주변장치를 위한 지역(local) 또는 시스템 보드 주변장치 제어기들(system board peripheral controllers)을 MCA와 접속시킨다. 명령처리섹션(102)은, 필요에 따라 키보드 및 다른 주변장치들을 위한 억세스 리커버리 타임을 제공하는 분원 명세서의 설명된 논리를 포함한다.
계속해서 제1도를 참조하면, 타이머섹션(103)은 세 개의 프로그램가능 타이머들(programmable timer)을 포함한다. 이들 타이머들은 Intel Corporation에 의해 생산된 8254 프로그램 가능 타이머와 기능적으로 호환성이 있는 것이며 이들과 유사한 동작을 수행한다. 감독타이머(watchdog timer; 103C)는 8-비트 카운터(8-bit counter)이다.
상기 시스템에 대한 인터럽트 제어는 마스터 및 종속 인터럽트 제어섹션(104)(105)에 의해 각각 제공된다. 상기 [표 1]에는 인터럽트 지정 맵(interrupt assignment map)이 제공된다.
주변장치 제어기(10)는 병렬프린터 포트와 관련된 레지스터들을 포함하며, MCA가 주변포트회로와 인터페이스를 수행하기 위해 필요한 타이밍 신호를 제공한다. 병렬프린터포트(106)는 직렬포트보다 빠른 속도로 마이크로 컴퓨터로/로부터 데이터 전달을 용이하게 하기 위해 양방향성이다.
버스인터페이스(107)는 비트 정보를 구성하고, 그와 같은 정보를 8-비트 지역 주변버스(local peripheral bus)를 통해 MCA로 전달한다. 정보 바이트 내의 모든 비트들이 정의되지 않을 수도 있는데, 이와 같은 경우에 규정되지 않은 비트는 3상 상태(tri-stated)로 되거나, 또는 단순히 주변장치제어기(10)의 이 같은 부분에 의해 구동되지 않게 된다. 따라서 비트 정보는 주변장치제어기(10) 밖에서 용이하게 수정되거나 증가될 수 있다.
마지막으로 레지스터 섹션(108)은, 갖가지 시스템 레지스터 외에도 마이크로 컴퓨터 내부시스템 보드 상에 제공되지 않은 주변장치 기능 뿐 아니라 플러그-인 어댑터의 소프트웨어 구성을 위한 구성레지스터를 포함한다. 상세한 비트맵은 아래 [표 2]와 같다.
[표 2a]
[표 2b]
[표 2c]
주변장치 제어기(10)는, MCA로부터의 MCA제어신호(150)과 마이크로프로세서(도시되지 않음)로부터의 인터럽트 신호(17)에 응답하여, 어드레스 디코딩 섹션(101)에 의해 디코딩된 어드레스 정보를 따르는 제2b도에 도시된 제어신호를 발생시킨다. 어드레스 디코딩 섹션(101)은 상기 [표 2]에 정의된 레지스터에 따라 어드레스 비트 A0-A9를 디코딩한다. 마이크로컴퓨터 시스템 내의 다른 곳에서 결합된 어드레스 비트 A10-A15는 본 발명의 바람직한 실시예에 의한 레지스터의 어드레싱을 위해 모두 제로이어야 한다.
명령처리섹션(102)은 MCA 버스 신호 S0, S1, MEM 및 CMD를 처리한다. 이들 신호는 디코드(decoded), 판독(interpreted), 래치(latched) 및 흡수(strobed)되며 IORDN 및 IOWRN 제어신호를 발생시키도록 한다. 명령처리섹션(102)의 출력은 타이머섹션(103)과 인터럽트 제어섹션(104)(105)에 연결된다.
타이머섹션(103)은 오디오 타이머(audio timer; 103A), 시스템 내부타이머(system internal timer; 103B) 및 감독타이머(watchdog timer; 103C)를 포함한다. 이와 같은 섹션에 의해 발생된 제어신호는 마스터 및 종속 인터럽트섹션(104)(105)으로 그리고 병렬프린터포트(106)로 전송된다. 오디오 타이머(103A)는 intel Corporation에 의해 생산된 부도품 번호 8254와 기능 면에서 유사한 카운터를 포함한다. 시스템 타이머(103B) 역시 같은 타입의 카운터를 포함한다. 두 타이머(103A)(103B)들은 16-비트 프로그램 가능 카운터이다. 마지막으로 감독타이머(103C)는 8-비트 프로그램 가능 카운터를 포함하며 이 같은 8-비트 프로그램 가능 카운터는 타이머(103A)(103B)의 수정된 기능적 서브세트(subset)이다.
입력이 마이크로프로세서와 직접 연결된 마스터인터럽트 제어섹션(104)은, Intel Corporation에 의해 생산된 부품번호 8259호와 기능적으로 유사한 인터럽트 제어기를 포함한다. 마스터 인터럽트 제어기(104)에 연결된 종속 인터럽트 제어기(105) 역시 Intel Coporation에 의해 생산된 부품번호 8259와 기능적으로 유사한 인터럽트 제어기를 포함한다.
병렬프린터포트(106)는 병렬프린터장치 및 동 프린터장치를 갖는 양방향성 데이터 포트로 제어신호를 제공한다. 상기 병렬 프린터 포트(106)는 이에 연결된 프린트 장치의 상태를 파악하는 상태 포트(status port)를 포함한다. 상기 포트를 위한 비트 지정은 아래 표 3과 같다.
[표 3a]
[표 3b]
[표 3c]
[표 3d]
[표 3e]
병렬프린터포트(106)는 여러 프린트 포트로부터 수신된 상태정보의 판독에 응답해서, 센트로닉스-타입 포트를 포함하는 다양한 프린터 포트와 인터페이스를 수행하기 위한 제어 및 데이터 래치를 포함한다.
계속해서 제1도를 참조하면, 버스인터페이스(107)는 MCA로부터의 데이터, 어드레스 및 제어신호의 수신 및 처리를 위해 본 발명에 의한 제어기 내의 데이터 경로를 제어하기 위해 없어서는 안될 게이팅(gating) 및 멀티플렉싱(multiplexing)을 포함한다. 마지막으로, 레지스터섹션(108)은 8개의 레지스터(R61,70,91,92,94,96,102 및 103)를 포함한다. 이들 레지스터들은 변화하는 데이터 폭을 갖는 레지스터들을 포함하며, 다양한 시스템 파라미터를 제어하고 구성시키기 위해 사용된다.
앞에서 설명한 바와 같이, 중앙처리장치로부터의 명령은, 상기 어드레스 디코딩 섹션(101), 명령처리섹션(102), 그리고 인터럽트 제어섹션(104)를 통해 주소, 명령의 종류, 인터럽트 근원이 해석되고, 상기 중앙처리장치의 명령어에 해당되는 레지스터를 지정하기 위한 제어신호를 발생하게 된다. 상기 레지스터 섹션(108)에 저장된 해당 계수 값은 타이머 섹션(103)에 전달되어 리커버리 타임과 데이터의 기록 및 판독 명령 보증 시간을 카운트하도록 한다. 그 결과 중앙처리장치의 억세스 종류 및 해당 장치의 특성에 따라 딜레이를 다르게 수행할 수 있게 된다.
제2a도 및 제2B도는 종래기술에 의한 주변장치 제어기에 의해 발생된 제어신호와 이들의 관계를 본 발명의 제어기에 의해 발생된 제어신호와 이들의 관계를 비교한다. 제2a도에서, MCA 버스신호 ADDRESS, MEM, SXN 및 CMDN은, 종래 기술에 따른 키보드 억세스를 위해 IORDN, IOWRN 및 KYBDCSN내로 처리된다. 상기 도면은 버스 및 버스로부터 유도된 신호의 전형적인 종래 기술에 의한 동작을 도시하고 있기 때문에 그 기능을 마치 어떤 억세스 리커버리 타임 보상도 없는 것처럼 도시된다. 따라서 "t-r"로 지정된 리커버리 타임(recovery time)중 어느 것도 변경되거나 연장되지 않는다.
제2b도는 동작중인 리커버리 타임 회로를 갖는 키보드 제어기의 두 "백-투-백(back-to-back)" MCA동작을 도시한다. 어떤 두 연속적인 MCA 버스 동작사이의 최소 리커버리 타임은 100ns이고, 키보드 제어기에 의해 요구되는 리커버리 타임은 최소 1000ns이다.
제2b도에서 "t-r"로 표시된 리커버리 타임은, STBDLY 신호의 활성화에 의해서 본 발명에 따라 수정 또는 연장된다. 동작시, 리커버리 타임 보상 회로는 키보드 제어기로의 MCA버스 억세스가 언제 끝났는가를 감지하며 카운터를 초기화하기 위해 이 같은 정보를 사용한다. 카운터는 주변 장치에 의해 요구되는 리커버리 타임의 특정 크기, 이 경우에는 1000ns, 와 관련된 선택 가능한 크기까지 카운트한 것이다 이 같은 시간이 끝난 뒤에, IORDN 또는 IOWRN 신호가 발생될 것이다. 명령신호 CMDN는 이 같은 전체 시간 중에 유효하게 남아있어야 한다. 따라서 PERRDY 신호는, 명령신호가 유효하게 남아 있도록 하기 위해 그리고 MCA 버스사이클이 너무 빨리 종료되지 않도록 하기 위해 발생되어야 한다.
제3a도를 참조하면, PERRDY 신호는 도시된 바와 같이 회로 부품 U201-U212에 의해 발생된다. PERRDY는 CMDN 스트로브의 지속기간을 MCA 버스 상에 효과적으로 연장시킨다. PERRDY 신호는 STBDLY신호가 유효할 때 U208, 210 및 212에 의해 역시 발생된다. 따라서, CMDN신호는 STBDLY가 유효인 동안 스트레치 되거나 연장될 것이다.
제3b도를 참조하면, 플립-플롭 U908, 918 및 917은, 키보드 제어기로의 억세스 제어기 신호(access controller signal), IOND 또는 IOWRN가 끝남을 감지하며 카운터 U911을 초기화한다. 카운터 U911은 미리 선택된 터미널 카운트(terminal count)값에 도달할 때까지 카운트할 것이고, 이 카운트는 키보드 제어기가 또 다른 억세스 동작을 처리할 준비가 되어 있음을 시스템에게 알려준다. CMDDLY 신호가 STBDLY 신호와 직접 연결되어 STBDLY 신호의 뒤를 따르기 때문에, 키보드 제어기로의 IORDN 또는 IOWRN 억세스가 허용될 것이다. 따라서, STBDLY 신호가 유효인 동안은, 키보드 제어기로의 조기 IORDN 또는 IOWRN 억세스가 금지된다. STBDLY 신호는 CMDDLY 출력에 외부적으로 연결되거나 각기 다른 주변장치에 관련된 다른 신호에 의해 구동될 수 있다.
앞에서 설명한 바와 같은 억세스 리커벌리 타임의 변경은, 중앙 처리 유닛의 특성에만 의존하여 수행되는 것이 아니라, 데이터 타이밍을 제어하기 위해 사용되는 본 발명에 의한 제어기 내에 구비된 프로그램 가능 카운터에 의해 수행된다. 그 결과, 상기 프로그램 가능 카운터에 의해 수행되는 상기 제어기의 억세스 명령 제어에 의해서 중앙 처리 유닛의 억세스 종류 및 해당 주변 장치의 특성에 따라 각기 달라지는 억세스 리커버리 타임을 보상할 수 있다.
이상에서, 본 발명에 따른 회로의 구성 및 동작을 상기한 설명 및 도면에 따라 도시하였지만 이는 예를 들어 설명한 것에 불과하며 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 다양한 변화 및 변경이 가능함은 물론이다.
이상과 같은 본 발명에 의하면, 중앙 처리 유닛의 명령어 특성과 주변 장치의 특성에 따라 달라지는 억세스 리커버리 타임을 딜레이 시간에 의한 손실 없이 효과적으로 보상함으로써, 시스템의 성능을 중앙처리장치의 성능에 근접할 수 있도록 향상시킬 수 있다.
Claims (7)
- 중앙 처리 유닛과 적어도 하나의 주변장치가 입/출력(I/O)버스를 통해 통신하도록 결합되어지는 컴퓨터 시스템에서 상기 중앙 처리 유닛과 상기 주변장치를 인터페이스하기 위한 장치에 있어서:입/출력(I/O)버스와 주변장치에 연결되어 상기 입/출력버스를 통해 상기 주변장치와 상기 중앙 처리 유닛사이의 데이터 흐름과 어드레스 및 데이터 타이밍을 제어하기 위한 제어수단; 그리고 상기 제어수단과 상기 입/출력 버스에 연결되어, 필요한 보상의 크기를 기초로 하여 입/출력 버스 제어 신호를 수정하기 위한 변경수단을 포함하되, 상기 제어수단은, 상기 입/출력 버스와 상기 주변 장치에 연결되어 상기 주변장치, 상기 중앙처리장치 및 상기 입/출력 버스 사이의 억세스 리커버리 타임의 차이를 보상하기 위한 억세스 리커버리 수단을 포함하며, 상기 억세스 리커버리 수단은, 상기 입/출력 버스에 연결되어 상기 입/출력 버스를 통해 주변장치로의 억세스 동작이 언제 종료하였는가를 감지하고 이에 응답하여 제1신호를 발생시키기 위한 감지수단과, 상기 감지 수단에 연결되어 상기 제1신호를 기초로 하여 상기 억세스 리커버리 타임의 차이를 보상하기 위해 필요한 보상 시간의 크기를 결정하기 위한 보상수단을 더욱 포함하며, 상기 변경수단은 상기 제어수단에 구비된 상기 보상수단에 연결되는 것을 특징으로 하는 상이한 주변장치들을 위한 데이터 리커버리 타임 제어 시스템.
- 제1항에 있어서, 필요한 보상의 크기를 결정하기 위한 상기 보상수단은, 미리 선택 가능한 터미널 카운트 값을 가지는 카운팅 수단을 포함하며, 상기 카운팅 수단은 상기 제1신호에 응답해서 초기화되는 것을 특징으로 하는 상이한 주변장치들을 위한 데이터 리커버리 타임 제어 시스템.
- 제1항에 있어서, 상기 입/출력 버스 제어 신호를 수정하기 위한 상기 변경수단은, 버스 제어신호들의 입/출력 기간을 연장시키기 위한 수단을 포함하는 것을 특징으로 하는 상이한 주변장치들을 위한 데이터 리커버리 타임 제어 시스템.
- 제어장치에 의해 한 주변장치에서 수행된 억세스 주기들 사이의 타이밍을 제어하기 위해 상기 주변장치와 제어 장치가 입/출력(I/O)버스에 연결되고 상기 입/출력 버스를 통해 통신을 수행하는 장치에 있어서 :상기 입/출력 버스와 상기 주변장치에 연결되어 상기 제어장치로부터 상기 입/출력 버스를 통해 바람직한 주변장치 억세스 주기(access cycle)를 나타내는 억세스 명령 신호들을 수신하고, 상기 바람직한 억세스 주기를 제어하기 위해 상기 억세스 명령 신호들을 기초로 하여 상기 주변장치로 억세스 제어 신호들을 제공하기 위한 억세스 제어수단과; 상기 억세스 제어수단에 연결되어, 상기 주변장치에서 수행된 이전의 억세스 주기의 종료(끝)를 검출하고 상기 이전 억세스 주기의 종료를 나타내는 종료 신호를 제공하기 위한 주기 검출수단; 그리고 상기 억세스 제어수단과 상기 주기 검출 수단에 연결되어 이전 억세스 주기의 종료 이후의 시간 값을 검출하고 상기 억세스 제어수단으로 하여금 상기 이전 억세스 주기 종료 이후의 시간이 바람직한 리커버리 타임에 도달할 때까지 다음 억세스 주기를 위한 억세스 제어 신호의 공급을 지연시키도록 하는 타이밍 제어수단을 포함하는 것을 특징으로 하는 상이한 주변장치들을 위한 데이터 리커버리 타임 제어 시스템.
- 제4항에 있어서, 상기 타이밍 수단은, 상기 억세스 제어수단에 연결되어, 상기 억세스 명령 신호들을 검출하고 상기 억세스 명령 신호들을 바람직한 길이의 시간으로 늘리기(stretching) 위한 스트레칭 수단을 더욱 포함하는 것을 특징으로 하는 상이한 주변장치들을 위한 데이터 리커버리 타임 제어 시스템.
- 제4항에 있어서, 상기 타이밍 제어수단은, 상기 주기 검출수단에 연결되어, 상기 종료 신호를 수신하고 상기 종료 신호에 응답하여 리커버리 카운트(recovery count)까지 카운트하기 위한 카운트 수단; 그리고 상기 카운트 수단과 억세스 제어수단에 연결되어, 상기 카운트 수단의 카운트를 나타내는 카운트 신호를 상기 억세스 제어수단으로 제공하고, 상기 억세스 제어수단이 다음 억세스 주기를 위해 억세스 제어 신호를 제공하는 것을 상기 카운트 수단이 상기 리커버리 카운트까지 카운트할 때까지 지연시키도록 하는 지연수단을 포함하는 것을 특징으로 하는 상이한 주변장치들을 위한 데이터 리커버리 타임 제어 시스템.
- 제6항에 있어서, 상기 카운트 수단은, 바람직한 리커버리 타임에 의존하여 가변적인 리커버리 카운트까지 카운트할 수 있도록 프로그램 가능한 것을 특징으로 하는 상이한 주변장치들을 위한 데이터 리커버리 타임 제어 시스템.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US409,435 | 1982-08-19 | ||
US07/409,435 US5220659A (en) | 1989-09-18 | 1989-09-18 | System for matching data recovery time between different devices by extending a cycle upon detecting end of cycle |
Publications (2)
Publication Number | Publication Date |
---|---|
KR910006831A KR910006831A (ko) | 1991-04-29 |
KR100249080B1 true KR100249080B1 (ko) | 2000-03-15 |
Family
ID=23620485
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019900014477A KR100249080B1 (ko) | 1989-09-18 | 1990-09-13 | 마이크로컴퓨터와의주변장치접속용제어기 |
Country Status (5)
Country | Link |
---|---|
US (1) | US5220659A (ko) |
EP (1) | EP0419333A3 (ko) |
JP (1) | JPH03290751A (ko) |
KR (1) | KR100249080B1 (ko) |
CA (1) | CA2024540A1 (ko) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3018404B2 (ja) * | 1990-06-21 | 2000-03-13 | 日本電気株式会社 | マイクロプロセッサ |
JP2744865B2 (ja) * | 1991-04-30 | 1998-04-28 | インターナショナル・ビジネス・マシーンズ・コーポレイション | シリアルチャネルアダプタ |
US5481675A (en) * | 1992-05-12 | 1996-01-02 | International Business Machines Corporation | Asynchronous serial communication system for delaying with software dwell time a receiving computer's acknowledgement in order for the transmitting computer to see the acknowledgement |
US5579530A (en) * | 1992-06-11 | 1996-11-26 | Intel Corporation | Method and apparatus for dynamically allocating access time to a resource shared between a peripheral bus and a host bus by dynamically controlling the size of burst data transfers on the peripheral bus |
US5634041A (en) * | 1992-08-12 | 1997-05-27 | Massachusetts Institute Of Technology | Rationally clocked communication interface |
US5537646A (en) * | 1992-11-19 | 1996-07-16 | The United States Of America As Represented By The Secretary Of The Navy | Apparatus initialized for selected device based upon timing, interrupt, and DMA control commands within configuration data passed from processor to transfer data to selected device |
US5537664A (en) * | 1993-06-30 | 1996-07-16 | Intel Corporation | Methods and apparatus for generating I/O recovery delays in a computer system |
US5448717A (en) * | 1993-07-06 | 1995-09-05 | Intel Corporation | Transparently inserting wait states into memory accesses when microprocessor in performing in-circuit emulation |
US5768627A (en) * | 1995-12-15 | 1998-06-16 | On Spec Electronic, Inc. | External parallel-port device using a timer to measure and adjust data transfer rate |
US5999995A (en) * | 1996-12-27 | 1999-12-07 | Oki Data Corporation | Systems for adjusting a transfer rate between a host and a peripheral based on a calculation of the processing rate of the host |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3975712A (en) * | 1975-02-18 | 1976-08-17 | Motorola, Inc. | Asynchronous communication interface adaptor |
JPS57101957A (en) * | 1980-12-17 | 1982-06-24 | Hitachi Ltd | Storage control device |
JPS57191703A (en) * | 1981-05-20 | 1982-11-25 | Fanuc Ltd | Sequence controller |
US4631702A (en) * | 1984-02-28 | 1986-12-23 | Canadian Patents and Deveopment Limited--Societe Canadienne des Brevets et d'Exploitation Limitee | Computer speed control |
JPH0623954B2 (ja) * | 1985-03-29 | 1994-03-30 | 富士通株式会社 | 情報処理装置の性能調整方式 |
JPS6222128A (ja) * | 1985-07-22 | 1987-01-30 | Sharp Corp | デ−タ処理装置 |
JPS6243764A (ja) * | 1985-08-21 | 1987-02-25 | Nec Corp | バス・ステ−ト制御回路 |
JPS62125460A (ja) * | 1985-11-27 | 1987-06-06 | Hitachi Ltd | I/oアクセス方式 |
JPS6316358A (ja) * | 1986-07-08 | 1988-01-23 | Nec Corp | I/oコマンド出力制御方式 |
JPS6354655A (ja) * | 1986-08-25 | 1988-03-09 | Hitachi Ltd | バスタイミング制御回路 |
US5081701A (en) * | 1987-04-20 | 1992-01-14 | Tandem Computers Incorporated | System for controlling data transfer using transfer handshake protocol using transfer complete and transfer inhibit signals |
US5111424A (en) * | 1987-05-01 | 1992-05-05 | Digital Equipment Corporation | Lookahead bus arbitration system with override of conditional access grants by bus cycle extensions for multicycle data transfer |
US5032982A (en) * | 1988-05-18 | 1991-07-16 | Zilog, Inc. | Device for timing interrupt acknowledge cycles |
US5065313A (en) * | 1989-03-30 | 1991-11-12 | Dell Usa Corporation | Digital computer system having circuit for regulation of I/O command recovery time |
JPH107244A (ja) * | 1996-06-24 | 1998-01-13 | Honda Motor Co Ltd | ワーク搬送機構 |
-
1989
- 1989-09-18 US US07/409,435 patent/US5220659A/en not_active Expired - Lifetime
-
1990
- 1990-09-04 CA CA002024540A patent/CA2024540A1/en not_active Abandoned
- 1990-09-13 KR KR1019900014477A patent/KR100249080B1/ko not_active IP Right Cessation
- 1990-09-14 EP EP19900402547 patent/EP0419333A3/en not_active Withdrawn
- 1990-09-18 JP JP2248597A patent/JPH03290751A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
JPH03290751A (ja) | 1991-12-20 |
KR910006831A (ko) | 1991-04-29 |
EP0419333A2 (en) | 1991-03-27 |
US5220659A (en) | 1993-06-15 |
CA2024540A1 (en) | 1991-03-19 |
EP0419333A3 (en) | 1992-12-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6131127A (en) | I/O transactions on a low pin count bus | |
US5701417A (en) | Method and apparatus for providing initial instructions through a communications interface in a multiple computer system | |
US5826093A (en) | Dual function disk drive integrated circuit for master mode and slave mode operations | |
US5542053A (en) | Bridge interface between two buses of a computer system with a direct memory access controller programmed by a scatter/gather programmer | |
US5642489A (en) | Bridge between two buses of a computer system with a direct memory access controller with accessible registers to support power management | |
US4716527A (en) | Bus converter | |
KR100388735B1 (ko) | 핀-총수가 적은 버스 상에서의 메모리 트랜잭션 | |
US6119189A (en) | Bus master transactions on a low pin count bus | |
KR100352224B1 (ko) | 핀-총수가 적은 버스 상에서의 직접 메모리 억세스 트랜잭션 | |
US5220651A (en) | Cpu-bus controller for accomplishing transfer operations between a controller and devices coupled to an input/output bus | |
US5748945A (en) | Method for slave DMA emulation on a computer system bus | |
JPH0580008B2 (ko) | ||
US6070204A (en) | Method and apparatus for using universal serial bus keyboard to control DOS operations | |
US5680592A (en) | System using a plurality of state machines for translating commands intended for legacy bus devices to commands for local bus devices | |
KR100249080B1 (ko) | 마이크로컴퓨터와의주변장치접속용제어기 | |
US5859987A (en) | Method and apparatus for providing multiple configuration reset modes for an intelligent bridge | |
US5724604A (en) | Data processing system for accessing an external device and method therefor | |
US4947478A (en) | Switching control system for multipersonality computer system | |
KR940002087B1 (ko) | 프로그램 가능한 인터럽트 제어기 | |
US5664198A (en) | High speed access to PC card memory using interrupts | |
KR100458024B1 (ko) | 분할 동기 인터페이스를 위한 조정가능 클럭을 갖는데이터 처리 시스템 | |
US5168562A (en) | Method and apparatus for determining the allowable data path width of a device in a computer system to avoid interference with other devices | |
EP0380291A2 (en) | Pump bus to avoid indeterminacy in reading variable bit field | |
US5537664A (en) | Methods and apparatus for generating I/O recovery delays in a computer system | |
US5748944A (en) | Apparatus for slave DMA emulation on a computer system bus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
N231 | Notification of change of applicant | ||
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
J201 | Request for trial against refusal decision | ||
AMND | Amendment | ||
B701 | Decision to grant | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20091214 Year of fee payment: 11 |
|
EXPY | Expiration of term |