KR0148474B1 - Dma 검증 동작을 하는 플로피 디스크 제어기 - Google Patents

Dma 검증 동작을 하는 플로피 디스크 제어기

Info

Publication number
KR0148474B1
KR0148474B1 KR1019900017835A KR900017835A KR0148474B1 KR 0148474 B1 KR0148474 B1 KR 0148474B1 KR 1019900017835 A KR1019900017835 A KR 1019900017835A KR 900017835 A KR900017835 A KR 900017835A KR 0148474 B1 KR0148474 B1 KR 0148474B1
Authority
KR
South Korea
Prior art keywords
signal
state
dma
data
floppy disk
Prior art date
Application number
KR1019900017835A
Other languages
English (en)
Other versions
KR910010327A (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 KR910010327A publication Critical patent/KR910010327A/ko
Application granted granted Critical
Publication of KR0148474B1 publication Critical patent/KR0148474B1/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/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • 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/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Bus Control (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
  • Computer And Data Communications (AREA)

Abstract

내용 없음.

Description

DMA 검증 동작을 하는 플로피 디스크 제어기
제1도는 본 발명에 따른 제1설계를 구체화한 ISA베이스 컴퓨터 시스템의 블록도.
제2도는 본 발명에 따른 제1도의 DMA제어기 및 플로피 디스크 제어기에 접속된 제1도의 DMA플로피 인터페이스 논리에 대한 상세블럭도.
제3도는 제2도의 인터페이스 논리를 사용한 스테이트 머시인의 개략도.
제4도, 제5도, 제6도 및 제7도는 본 발명에 따른 제1설계를 구체화한 수개의 DMA전송에 대한 타이밍도.
제8도 및 제9도는 본 발명에 따른 제2설계를 구체화한 EISA베이스 컴퓨터의 개략적 블록도.
제10도는 본 발명에 따른 제9도의 DMA제어기 및 플로피 디스크 제어기 사이에서 인터페이스된 제9도의 플로피 디스크 논리에 대한 상세 블록도.
제11도는 제10도의 플로피 디스크 논리를 사용한 스테이트 머시인의 개략도.
제12도, 제13도, 제14도 및 제15도는 본 발명에 따른 제2설계를 구체화한 수개의 DMA제어기에 대한 타이밍도.
* 도면의 주요부분에 대한 부호의 설명
20 : 마이크로프로세서 22 : 코프로세서
24 : 캐쉬제어기 26 : 캐쉬RAM
32, 45, 62 : 트랜시버 34 : 주메모리
48 : 프린터 인터페이스 54 : 플로피 디스크 제어기
58 : 하드 디스크 제어기 100 : 프로그램어블 어레이 논리
본 발명은 컴퓨터 시스템의 데이터 전송에 관한 것으로서, 특히 플로피 디스크 및 직접 액세스 메모리(DMA)제어기 사이의 데이터 전송 고찰에 관한 것이다.
퍼스널 컴퓨터 산업은 새로운 기술 혁신의 발생으로 계속하여 개발되는 발전형 성장 분야이다. 이런 기술 혁신의 배경에 있는 추진력은 보다 고속이고 보다 우수한 퍼스널 컴퓨터에 대한 수요 증가이다. 또한 퍼스널 컴퓨터 산업의 주요한 성공 요인은 일반적으로 퍼스널 컴퓨터 설계자가 개발중인 신형 시스템 및 시스템 구성소자와 현재 시판되고 있는 구형 시스템 및 시스템 구성 소자들간에 호환성을 유지하도록 노력하기 때문이다. 역사적으로 퍼스널 컴퓨터는 컴퓨터 시스템의 기능 특성에 부여하는 특별한 작업을 각각 수행하도록 수개의 구성 소자의 배열에 따라 결합한 모듈 시스템으로서 개발되어 왔다. 이들 여러 가지 구성 소자는 다른 구성 소자 중에서 랜덤 액세스 메모리, 마이크로 프로세서 및 서포트칩을 통상적으로 포함한다. 컴퓨터 속도를 증가시키기 위해 사용되는 통상적인 한 방법은 컴퓨터를 구성하는 수개의 구성소자에 대한 성능을 증가시키는 것이며, 코프로세서 및 마이크로 프로세서와 결합되어 작업되며 컴퓨터가 데이터 전송 및 프로세서 명령을 이네이블하는 수개의 서포트칩을 포함한다. 그러나, 시스템 구성소자의 성능을 증가시키기 위한 연구에서 퍼스널 컴퓨터칩 설계자들은 이전세대의 컴퓨터 시스템 구성소자 및 소프트웨어가 개발중인 현재의 컴퓨터 시스템 구성소자와 호환 가능하도록 시도하는 중이다.
마이크로 프로세서 시스템의 영역은 컴퓨터의 메모리 및 컴퓨터에 부착된 수개의 I/O주변 장치 사이에서의 데이터 전송율인 컴퓨터 성능 증가의 추구에서 의도된다. 인터내쇼날 비지니스 머시인 코오포레이숀(IBM)사에서 제조 및 시판되는 호환성 퍼스널 컴퓨터는 메모리 및 수개의 입력/출력(I/O)주변 장치 사이의 데이터 전송을 직접 메모리 액세스(DMA)제어기라 호칭되는 마이크로 프로세서 서포트 칩 수단에 의해 달성할 수 있다. DMA제어기는 마이크로 프로세서를 포함하지 않고도 메모리 및 수개의 I/O주변장치 사이에서 데이터 전송이 가능하도록 하여 마이크로 프로세서의 작업부하를 용이하게 한다.
표준 DMA제어기중 하나는 몇 년에 걸쳐 개발된 산업 표준 아키텍채(ISA)를 실용화한 IBM호환성 컴퓨터에서 통상적으로 사용되는 인텔사(Intel)의 8237DMA제어기이며, Intel에서 공개된 마이크로 프로세서 및 주변 장치 핸드북 제1권에 기술되어 있다. 8237DMA제어기는 통상적으로 3개의 데이터 전송 모드를 포함한다. 단일 전송모드에서 DMA장치는 하나의 전송만이 가능하도록 프로그램 된다. 블록 전송 모드에서 DMA I/O장치는 서비스되는 동안 워드카운트에 의해 발생된 TC(터미널 카운트)가 FFFFh로 진행, 즉 DMA서비스가 완료됨을 표시하는 프로세서의 외부 말단(EOP*)에 도달할 때까지 계속 전송하는 DMA요청에 의해 활성화된다. 요구 전송 모드에서, 장치는 TC혹은 외부EOP*가 도달될 때까지, 또는, DREQ신호가 비활성화 될 때까지 계속해서 전송된다. 따라서, 이 모드에서 전송은 I/O장치가 그의 데이터 용량을 고갈시킬 때까지 계속된다. 각각의 이들 모드는 각각의 DMA채널이 자동적 초기화(autoinitialization)에 대한 프로그램될 수 있는 특징을 통상적으로 포함한다 자동적으로 초기화되는 동안 현재의 페이지의 원래값 및 현재의 워드 카운트 레지스터는 터미널 카운트(T-C)신호의 가정에 따른 채널을 갖는 베이스 페이지 어드레스 및 워드 카운트 레지스터로부터 저장된다. 자동적 초기화에 따라 채널은 유효 DMA요청이 검출될 때 CPU의 개입이 없이 다른 DMA서비스를 수행하기 위해 준비된다.
이들 데이터 전송 모드에 관련할 경우 확장된 산업 표준 아키텍처(EISA)에 따라 동작 가능한 DMA장치는 DMA장치 및 메모리 사이의 데이터를 전송하기 위해 4개의 사이클 제어 시이퀀스 : ISA 호환성 사이클, A형 사이클, B형 사이클 또는 버스트DMA사이클중 하나를 사용할 수 있다. ISA호환성 혹은 정상 사이클은 데이터의 단일 바이트를 전송하기 위해 ISA DMA장치에 의해 사용됨과 아울러 이 사이클은 813CLK주기로 하나의 전송 사이클을 실행한다. 지연되는 나머지 모드는 서포트 8비트 16비트 또는 32비트 DMA장치가 통상적이다. A형 DMA사이클에 있어서, 데이터 크기의 번역을 필요로 하지 않는 전송은 6B CLK주기 마다 한 사이클을 실행한다. B형DMA사이클에 있어서 데이터 크기의 번역을 필요로 하지 않는 전송은 4B CLK주기마다 하나의 사이클을 실행한다. 버스트 DMA사이클은 단위 전송당 1B CLK의 주기를 사용하여 EISA버스트 메모리 및 DMA장치 사이에서 전송되는 시이퀸스를 수행할 수 있다.
8237DMA제어기는 데이터 전송 모드에서 사용된 3개의 다른 형태의 전송을 통상적으로 포함하며, 이들의 전송 형태는 판독, 기록 및 검증이다. 이들 명칭에서 암시하는 바와 같이, 판독 전송은 메모리에서 I/O장치로 데이터를 이동하는 것인 반면, 기록 전송은 I/O장치에서 메모리로 데이터를 이동하는 것이다. 그러나, 검증 전송은 다소 비정상적인 가짜 전송이 된다. 8237은 검증이 전송되는 동안 판독 혹은 기록 전송을 실행할 경우 어드레스를 발생하고 적합한 제어신호에 응답한다. 그러나, 검증 전송에 있어서, 메모리 및 I/O제어 라인은 모두 비활성적으로 유지되며, DMA제어기에 의해 송신 혹은 수신된 데이터는 실제로 없게 된다. 통상적으로 DMA인식(DAK*)라인만이 DMA검증 전송중에 활성적이며 DMA제어기는 적합한 DAK*라인이 한정된 펄스폭을 갖도록 BCLK의 수효를 카운트하는데, BCLK는 통상적으로 9BCLK 펄스 길이이다. 그러나, 블록 혹은 요구DMA가 요청되는 동안 검증 사이클이 반복될 경우, 각각의 추가적 가짜 전송은 8B CLKS만을 추가하고, DAK*라인은 반복된 전송에 대하여 로우 레벨에서 유지된다.
특히 하나의 I/O주변 장치는 메모리가 컴퓨터 시스템의 플로피 디스크 드라이브인 다수의 데이터 전송을 포함한다. IBM호환성 컴퓨터의 경우, 컴퓨터 시스템의 플로피 디스크 드라이브는 플로피 디스크 제어기라 호칭되는 서포트 칩에 의해 통상적으로 제어된다. 플로피 디스크의 한 작업은 컴퓨터 시스템의 플로피 디스크 드라이브 및 컴퓨터의 메모리 사이에 있는 데이터의 전송을 편리하게 하기 위해 DMA제어기에 접속되는 작업이다. 통상적으로, 플로피 디스크 제어기 및 DMA제어기 사이에서 데이터의 전송이 존재하기 이전에, 검증 전송은 시스템내에서 플로피 디스크 드라이브의 형태를 판단하기 위해 사용되고, 이러한 판단은 다음 전송에서 사용될 데이터 전송율에 영향을 미친다.
데이터 전송율을 판단하기 위해 시스템소프트 웨어는 검증 모드 동작에 대한 DMA제어기를 프로그램하고, 플로피 디스크 제어기에 대한 정상 판독 명령을 발생한다. 플로피 디스크 제어기가 메모리에 전달된 플로피 디스크로부터 데이터를 얻을 경우, 다음 전송을 일치시키기 위해 DMA제어기의 서비스를 요청하는 DMA요청(DREQ)신호를 발생한다. DMA제어기가 이용 가능하다면, 그 제어기는 DMA인식(DAK*)신호에 응답한다. 그러나, DMA제어기가 검증 모드이므로, I/O제어라인은 검증 전송이 완료될 때까지 모두 비활성적으로 유지된다.
종래의 다수의 IBM호환성 컴퓨터는 NEC일렉트로닉스 인코오포레이티드사에서 제조된 μPD765 플로피디스크제어기를 결합하여 개발되었다. NECμPD765는 단위 데이터 전송 사이클당 1바이트만을 전송하는 IBM PC호환성 플로피 디스크이다. DMA제어기가 플로피 디스크 드라이브 및 메모리 사이에서 데이터를 전송하는 프로세서가 준비될 경우 755플로피 디스크 제어기의 검증 사이클은 적절한 데이터 전송율로 사용되는 것을 판단하기 위해 수행된다. 765플로피 디스크 제어기 회로는 그 회로가 DAK신호를 수신하는 경우, 데이터 바이트가 765플로피 디스크 제어기로 부터 시스템 데이터 버스까지 전송되도록 설계한다. 따라서, 765베이스 시스템은 데이터 전송시 I/O제어라인을 참조하지 않고 DAK신호만을 사용한다.
그러나 765플로피 디스크 제어기는 단위 데이터 전송 사이클당 1바이트만을 전송할 수 있기 때문에 그 제어기의 데이터 전송 능력이 일반적으로 제한된다. 그에 따라 낮은 잠복 시간을 초래하여 플로피 디스크 제어기가 DMA제어기에 의해 액세스 되어야 만이 잠복 시간후에 액세스를 요청하거나 또는 데이터 에러를 발생시킨다. 낮은 잠복 혹은 응답 시간을 보다 복잡한 컴퓨터 시스템의 문제가 된다. 따라서 IBM호환성 컴퓨터용 컴퓨터 칩 및 마이크로 프로세서의 주요 제조회사인 인텔 코오포레이숀(Intel)은 버스트 모드에서 퍼스트인 퍼스트-아웃(FIFO)레지스터로부터 데이터를 전송할 수 있는 82077이라 호칭된 새로운 플로피 디스크 제어기를 개발하였다. FIFO는 잠복 시간이 증가될 수 있도록 플로피 디스크 드라이브로부터 플로피 디스크 제어기에 의해 수신된 버퍼 데이터를 사용하는 것이 바람직하다. 추가로 FIFO는 블록 전송에 플로피 디스크 제어기에 의해 가능하도록 하여 데이터 전송율을 개선한다. 통상적으로, FIFO는 16바이트의 크기이며, 잇따른 FIFO모드 동작을 통과하는 플로피 디스크를 포함하는 모든 데이터 전송이 이네이블된다. 82077에 대한 보다 상세한 설명은 Intel사에서 발행한 마이크로 프로세서 및 주변 장치 핸드북, 제2권을 참조한다.
NEC765플로피 디스크 제어기나 유사한 Intel82077플로피 디스크 제어기는 다음에 보는 데이터 전송의 정정 데이터 비율을 판단하기 위해 검정 사이클과 함께 동작하는 소프트 웨어 호환성 때문에 일반적으로 필요하다. 그러나 82077은 IORC*로서 참조된 I/O제어 신호를 통상적으로 수신하여 FIFO로부터 출력된 클록 데이터를 표시하도록 설계되었다. 따라서 IORC*신호에 대한 각각의 펄스는 1바이트의 전송이 된다. 그러나, IORC*신호는 검증 동작이 발생하는 경우 DMA제어기에 의해 활성화되지 않는다. 따라서 데이터는 FIFO로부터 제거되지 않으며 오버런 에러는 플로피 디스크드라이버로부터 수신된 다수의 데이터로서 발생할 수 있다. DAK신호는 FIFO로부터 데이터를 클록하기 위해 사용될 수 없는데, 이는 IORC*신호가 버스트 혹은 요구 전송 동안에 토글될 수 있는 횟수와 동수의 DMA요청이 있을 때마다 상태를 변화시킬 뿐이기 때문이다.
본 발명은 82077플로피 디스크 제어기가 검정 사이클 동안에 FIFO대기 행렬로부터 전송 데이터를 이네이블하도록 검정 사이클뿐만 아니라 판독 및 기록 사이클 동안 적합한 시간에서 IORC*신호 펄스를 발생하여 상기 IORC*신호가 발생되지 않을 경우에도 발생하는 오버런 에러를 방지하는 장치에 대한 2개의 실시예의 설계를 포함한다. 이들은 Intel 82077플로피 디스크 제어기가 구형 및 /또는 호환 불능의 시스템 소프트 웨어에 의해 사용될 경우 FIFO모드에서 적절히 동작하도록 설계된다.
이들 설계중 제1설계는 산업 표준 아키텍처(ISA)에 따라 사용하기 위한 것이며 ISA는 인터내쇼날 비지니스 머시인 코오포레이숀(IBM)에서 제조 및 시판하는 이전의 제품들과 호환 가능한 컴퓨터에서 사용되는 설계 기술이다. 이들 설계중 제2설계는 확장된 산업 표준 아키텍처(EISA)로서 사용하기 위한 것이며, EISA는 32비트 어드레스 버스 및 32비트 데이터버스 뿐만 아니라 다른 수치 및 신호를 포함한 산업 표준 아키텍터의 확정된 버전이다.
각각의 설계는 소정의 버스 신호 입력을 사용하는 프로그램어블어레이 논리(PAL)장치와 플로피 디스크 장치 및 DMA제어기 사이에서 검증 전송되는 동안 적합한 시간에서 가정되는 신호를 발생하는 내부적으로 개발된 스테이트 머시인을 전체적으로 포함한다. 이 신호는 플로피 디스크 제어기에 제공된 IORC*신호의 새로운 버전을 생성하기 위해 버스상에 제공된 정규 IORC*신호와 결합된다. 새로운 IORC*신호는 종래와 같이 판독 및 기록 전송동안의 적절한 시간에서 가정될 뿐만 아니라, 검증 전송동안의 적합한 시간에서 가정된다.
본 명세서의 상세한 기술은 바람직한 실시예의 상세한 설명을 첨부된 도면과 관련하여 보다 명백히 이해할 수 있다.
본 발명은 플로피 디스크 제어기에 의해 사용되도록 IORC*버스신호의 새로운 버전을 발생하는 2개의 변이를 가진 장치를 포함하며, 통상 DMA시스템으로부터 검증이 순환하는 동안 적절한 시기에서 가정되는 정규의 IORC*신호의 동일한 특성을 갖는다.
본 발명에서 사용된 직점 메모리 액세스(DMA)제어기는 Intel8237DMA 제어기와 호환 가능한 것이 바람직하며, 본 발명에서 사용된 플로피 디스크 제어기는 Intel 82077플로피 디스크가 바람직하지만, 다른 제어기의 사용도 고려할 수 있다.
제1도에서 부호 c는 본 발명에 따른 제1설계에서 실시하는 산업 표준 아키텍처에 기초된 컴퓨터를 나타낸다.
수개의 다른 블록은 컴퓨터 c1에서 사용된다. 마이크로프로세서(20)는 인텔사(Intel)에서 제조된 80386마이크로프로세서가 바람직하다. 마이크로프로세서(20)는 어드레서 버스PA, 데이터 버스 PD 및 제어버스 PC를 갖고, 이들 버스들 PA,PD 및 PC는 지역 버스로서 참조된다. 지역 버스에 결합된 산술적 처리 유닛 혹은 수치적 코프로세서(22)는 Intel사에서 제조된 80387이 바람직하며; 캐쉬 제어기(24)는 Intel사에서 제작된 82385가 바람직하고; 캐쉬 RAM(26) 및 어드레서 래치(28)에 결합된다. 캐쉬제어기(24)는 컴퓨터 c1의 캐쉬 시스템을 조종하기 위해 필요한 제어를 하는 캐쉬RAM(26)과 동시 동작된다. 래치(30)에 의해 중간 버스에 접속된 지역 버스는 지역 어드레서 버스 PA를 중간 어드레서 버스 HA에 접속한다. 래치 트랜시버(32)는 지역 데이터버스 PD를 중간 데이터 버스 HD에 접속한다. 트랜시버(33)는 지역 제어버스 PC 를중간 제어버스 HC 에 접속한다. 중간 버스는 컴퓨터 시스템 c1의 주메모리(34) 및 메모리 인터페이스(I/F)(36)에 접속한다.
다수의 다른 버스들은 중간 버스로부터 전개된다. 예를 들면, 중간 어드레서 버스 HA는 트랜시버(38)에 의해 초기 시스템 어드레서 버스 LA와, 래서(40)에 의해 래치된 시스템 어드레스 버스 SA에 결합된다. 중간 데이터버스 HD는 래치(42) 및 트랜시버(44)에 의해 시스템 데이터 버스(SD)에 결합된다. 중간 제어버스 HC는 트랜시버(45)에 의해 시스템 제어버스 SC에 결합된다. 시스템 버스 LA, SA, SD 및 SC에 결합된 수개의 장치는 컴퓨터 c1에서 사용될 수 있는 추가적 기능을 수신하기 위해 내장한 상호 교환가능 회로 기판을 이용하는 일련의 슬롯(70)이다. 직렬 인터페이스(46)는 시스템 데이터 버스, 래치된 시스템 어드레스 버스 SA 및 시스템 제어버스 SC에 접속된다. 또한, 프린터 인터페이스(48)는 시스템 데이터 버스 SD, 래치된 시스템 어드레스버스SA 및 시스템 제어버스 SC와 프린터 인터페이스(48)에 부착된 프린터(50)이다. 컴퓨터 c1의 기본동작 소프트 웨어를 포함한 리드 온리 메모리(RAM)(52)는 데이터 버스 SD, 래치된 시스템 어드레스 버스 SA 및 시스템 제어버스SC에 접속된다.
플로피 디스크 제어기(54)는 시스템 데이터 버스SD, 래치된 시스템 어드레스 버스SA 및 시스템 제어버스SC에 접속된다. 기억장치를 컴퓨터 c1에 제공하기 위해 사용된 플로피 디스크 유닛(56)은 플로피 디스크 제어기(54)에 접속된다. DMA-플로피 제어인터페이스(98)는 TORC*신호를 인터셉트하고 플로피 디스크 제어기(54)용의 새로운 신호를 전개하기 위해 시스템 버스SC 및 플로피 디스크 제어기(54)에 접속된다. 하드디스크 제어기(58)는 시스템 데이터버스SD, 래치된 시스템 어드레스 버스SA 및 시스템 제어버스 SC와 하드 디스크 제어기(58)에 부착된 하드 디스크 유닛(60)에 접속된다. 사용자에 대한 현재의 데이터를 제어하는 비디오 시스템(64)을 초기 시스템 어드레스 버스 LA, 래치된 시스템 어드레스 버스 SA, 시스템 제어버스 SC에 접속되고, 트랜시버(62)에 의해 시스템 데이터 버스 SD에 결합된다. 비디오 시스템(64)은 비디오 메모리를 형성하기 위해 사용된 랜덤 액세스 메모리(RAM)(66)와 소정의 표시를 사용자에게 나타내는 모니터(68)에 접속된다. 본 발명은 DMA-플로피 인터페이스 논리를 시스템 제어버스 SC 및 플로피 디스크 제어기(54)에 접속한다.
수개의 다른 부속시스템은 중간 데이터 어드레스 및 제어버스, HD, HA 및 HC각각에 결합된다. 트랜시버(72)는 중간 어드레서 버스 HA 및 신장된 어드레스 버스 XA에 접속된다. 트랜시버(73)는 중간 제어버스 HC 및 신장된 제어버스 XC에 접속된다. 트랜시버(74)는 중간 데이터 버스HD 및 입력/출력(I/O)데이타 버스 IOD사이에서 접속된다. 키보드(80)는 사용자가 소정의 문자 시이퀀스 및 명령을 입력할 수 있도록 키보드 인터페이스(78)에 접속된다.
ISA를 형성하는 신호와 유사한 점은 본 명세서에서 알 수 있다. ISA신호 및 EISA신호에 대한 상세한 설명은 부록1에 첨부된 EISA명세서, 버전3.0을 참조할 수 있다. 통상적으로 본 명세서의 신호를 참조할 경우, 신호 표시에 따른 애스터리크(*)는 저전압 레벨일 경우 논리적으로 참임을 표시하고, 신호 표시 다음의 숫자를 포함하는 각도 브래킷은 DMA 요청 라인같은 광범한 논리신호의 단일 혹은 다수의 비트 위치를 표시하기 위해 사용된다. 본 명세서에서는 부가적으로 DMA요청 라인 DRQ2이 DRQ2신호로서 통상적으로 참조되고, DMA인식신호 DAK*2는 간결하게 DAK*신호로서 통상적으로 참조된다. DMA채널의 2개의 채널은 IBM PC호환성 컴퓨터 시스템의 플로피 디스크 제어기에 대하여 통상적으로 사용된다.
특별한 ISA신호의 간결한 요약은 흥미 있다. BLCK신호, 즉 주파수 8.333MHz 및 6MHz 사이의 주파수에서 동작하는 컴퓨터 시스템 c1의 시스템부에서 사용된 동기화 신호는 50%의 공칭 충격계수를 가지며 시스템 기판에 의해서 만이 구동된다. AEW신호는 유효 I/O 사이클 같이 I/O구제수단이 DMA사이클을 오번역하지 않도록 DMA사이클 동안에 가정된다. (하이상태). AEN*신호는 AEN신호의 반전된 버전이다. IORC*신호는 82077의 경우, I/O장치가 버스상의 데이터를 구동할 수 있음을 표시하는데 통상적으로 사용된다. ISA I/O장치는 IORC*신호 및 AEN*신호가 동시에 가정될 경우 버스상의 데이터를 통상적으로 구동한다. 그 장치는 IORC*신호의 부정을 샘플링할때까지 유효한 데이터를 유지하여야 한다. 그러나 756플로피 디스크 제어기 회로 같은 몇몇 경우에 DAK*신호는 버스상의 데이터를 구동하기 위해 플로피 디스크 제어기의 내부상태에 연관되도록 사용된다. MDRC*신호는 어드레스된 ISA메모리 구제수단이 메모리 버스상에서 그의 데이터를 구동하도록 표시하기 위해 가정된다.
DRQX라인들은 I/O장치에 의해 DMA부속 시스템으로부터 DMA서비스를 요청하도록 사용된다. 요청장치는 통상 시스템 기판이 적합한 DMA인식(DAK*X)신호를 가정할 때까지 유지된다. DAK*X신호는 DMA제어기에 의해 특별한 채널이 버스를 부여한 것을 표시하기 위해 가정된다. 블록 혹은 요구 모드 DMA전송의 경우, 남아 있는 DAK*X신호는 전송이 완료될 때까지 혹은 집적된 임의 제어기가 DMA프로세서를 선점할때까지 가정된다. T-C혹은 터미널 카운트 신호는 DMA제어기에 의해 DMA채널의 전송 카운트가 터미널 카운트에 도달됨을 표시하기 위해 가정된다. DMA제어기는 채널의 DAK*X신호를 가정하는 동안에만 T-C신호를 가정한다. 적합한 DAK*X신호를 갖는 T-C신호를 디코드하는 DMA장치는 DMA전송이 완료될 경우 판단하기 위해 가정된다.
제2도에 있어서, 본 발명에 따른 제1설계는 ISA베이스된 컴퓨터이며, 다수의 플립플롭을 포함한 프로그램어블 어레이 논리(PAL)장치(100)를 포함하고, DMA제어기(90)로부터 출력하는 소정의 버스 신호뿐만 아니라 플로피디스크 제어기(54)의 판독 혹은 RD*입력(104)에 제공된 NIORD*신호로 호칭되는 IORC*신호의 새로운 버전을 발생하기 위해 내부적으로 발생된 스테이트 머시인 M1(제3도)을 이용한다. 버스신호는 IORC*신호; MRDC*신호; DAK*2 신호; 및 DREQ2 신호를 포함한 DMA제어기(90)로부터의 PAL(100)에 대한 입력으로서 사용된다. DCLK신호는 BCLK신호의 버전이며, 그 버전은 BCLK신호 주파수의 절반을 갖는 것이 바람직하다.
ADSTBO신호는 DMA제어기(90)로부터 PAL(100)에 직접 입력된다. ADSTBO신호는 DMA제어기로부터 다중화된 8개의 상위 오더 어드레스 버트를, 3상태 이네이블을 통해 어드레스 버스상에서 이네이블되는 래치에 부하 시키는데 사용된다. 통상 순차적으로 발생되는 다수의 전송 어드레스를 포함하여 블록 및 요구 전송모드가 서비스되는 동안 상위 8의 어드레스 비트가 동일하게 남아 있게 되므로 외부 래치에서 유지되는 데이터의 다수 전송이 동일하게 유지되게 된다. 이 데이터는 캐리 혹은 A7로부터 A8까지의 대여가 정규적 순서의 어드레스에서 발생될 경우만이 변화될 필요가 있으므로 DMA제어기(90)는 필요할 경우에만 A8-A15어드레스 비트를 갱신한다. 이러한 갱신이 필요할 경우 8237에는 이를 달성하기 위해 통상적으로 여분의 상태가 삽입된다. DCLK신호는 PAL(100)의 클록 입력에 접속된다.
PAL(100)은 내부의 3비트 상태머시인 M1이 DCLK신호에 의해 클록 되도록 발생하는 이들 입력 신호들을 사용한다. 스테이트 머시인 M1의 다른 상태는 각각의 비트 Q0*, Q1*및 Q2*로 표시되는데, 이들 비트는 PAL(100)의 출력으로서 표시되지만, PAL(100)에 포함된 다음 상태의 논리에 의해 사용되도록 되먹임된다. 스테이트 머시인 M1은 CLKNIORD*라는 신호의 적절한 발생에 의해 좌표 설정되며, PAL(100)의 출력으로서 표현되고 검증 전송중의 적합한 시간에서 가정된다. CLKNIORD*신호 및 IORC*신호는 NIORD*신호를 생성하기 위한 PAL(100)의 내부에서 결합되며, PAL(100)로 부터의 출력이고 플로피 디스크 제어기(54)의 RD*입력(104)에 접속되어 FIFO로부터의 데이터 출력을 제어한다.
제3도에 있어서, 스테이트 머시인 M1은 CLKNIORD*신호의 적절한 생성을 용이하게 이용하며, 제4, 5, 6 및 제7도의 타이밍도에서 예시된 바와 같이 검증전송 동안에 NIORD*신호의 적절한 가정이 이네이블되도록 사용된다. 상태식은 신호가 하이상태에 있을 경우 참이되는 특별한 신호조건이다. 상태머시인 M1의 과도상태가 이차신호의 상승에지에서 발생하면 PAL(100)에 포함된 플립플롭의 클록 입력에 제공된다.
상태SO는 스테이트 머시인 M1의 초기 상태이며, DMA전송이 없을 경우 스테이트 머시인 M1의 리셋이 플로피 디스크 제어기(54) 및 DMA제어기(90)사이에서 발생하는 것으로서 서어브된다. 스테이트 머시인 M1은 다음식; (DAK2*× DREQ2*) + DAK2가 참인 경우에 상태SO에 있게 된다. 다시 말하면, 상태 머시인 M1은 플로피 디스크 제어기(54)가 DMA요청을 할 때까지 초기 혹은 리셋 상태SO에 있게 된다. 또한, 스테이트 머시인 M1은 DAK2*신호가 가정됨에 따라 독립적으로 가정되는 경우 상태 SO에 남아 있게 된다. 스테이트 머시인 M1은 다음식; DAK*2 × DREQ2가 참인 경우에 상태 SO부터 상태S1까지 진행된다. 따라서 DREQ2 신호의 가정에 의해 표시된 DMA 요청의 경우 상태 SO 에서 상태 S1 까지의 전이가 플로피 디스크(54)에 의해 실행된다.
스테이트 머시인 M1 이 다음식; DREQ2×ADSTBO*가 참인 경우에 상태 S1에 있게된다. 상태 S1에서 스테이트 머시인 M1은 ADSTOB신호가 가정되도록 반드시 대기하고, 8개의 상위 모더 어드레스 비트가 계속되기 이전에 유효함을 표시한다. 스테이트 머시인 M은 다음식; DREQ2*× ADSTBO*가 참인 경우 상태 SO로 복귀한다. 따라서 DREQ2신호는 ADSTBO신호가 가정되기 이전에 부정되면, 그 어드레스는 유효하지 않으며, 스테이트 머시인 M1은 SO상태로 복귀한다. DSTBO신호는 DREQ2신호가 부정되기 이전에 가정되면, 유효 DMA전송이 발생하고, 스테이트 머시인 M1은 상태 S1에서 상태 S2로 성행된다.
상태S2에서 상태 S1으로 복귀하는 스테이트 머시인 M1은 스테이트 머시인 S2가 상태 S2에 있을 경우, 하이 레벨로 부정되거나 상승된다. 스테이트 머시인 M1은 다음식; IORC*×DAK2 × MRDC*가 참인 경우 상태 S2에서 상태 S3로 선행된다. 이식은 DMA검증 사이클 동안에 참이 된다. 왜냐하면, 타이밍도에서 도시된 바와 같이 검증 사이클은 IORC*신호 및 MRDC*신호가 모두 부정 혹은 하이로 되거나 동시에 DAK*신호가 가정될 경우의 사이클만이 되기 때문이다. IORC*신호 및 MRDC*신호는 데이터의 실제적 전송이 발생하지 않고 I/O제어라인이 비활성적으로 유지되기 때문에 검증 전송에서 모두 부정된다. 따라서, 스테이트 머시인 M1은 DMA검증 사이클이 발생할 경우 스테이트 S2에서 스테이트 S3까지 선행한다. IORC*신호 혹은 MRDC*신호는 DAK*신호가 가정될 때 상태 S2에서 가정될 경우, DMA기록 혹은 DMA판독이 각각 발생되고, 스테이트 머시인 M1은 상태 S2로부터 상태 S4로 선행된다. 이것은 상태 S2로부터 상태 S4로 스테이트 머시인 M1을 성행시키는 다음식; (IORC × DAK2) × (MRDC × DAK2) 으로부터 명백하다.
스테이트 머시인 M1이 상태 S4에 선행되면, DMA기록 혹은 DMA판독 사이클이 실행되는 사이클은 제4도 및 제5도에 도시된 바와 같이 데이터의 실제적 전송이 발생하는 상태가 된다. 스테이트 머시인 M1은 데이터 전송이 여전히 발생하는 경우, DAK2*신호에 의해 가정되도록 표시, 상태 S4에 있게 되고, 또는, DAK2*신호가 부정되며 스테이트 머시인 M1은 새로운 데이터 전송이 발생할 경우, DREQ2신호가 가정되도록 표시, 상태 S4에 있게 된다. 따라서, 스테이트 머시인 M1은 데이터 전송이 완료될 때까지 다음식 ; (DAK2*× DREQ2) + DAK2가 참인 경우에 있게 된다.
스테이트 머시인 M1이 상태 S3에 선행되면, DMA전송이 발생되도록 가정된다. 스테이트 머시인 M1은 DMA 검증에 대한 소정의 조건, 즉 스테이트 머시인 M1이 상태 S2에서 상태 S3로 선행된 식에서의 신호의 상태가 일치하지 않을 경우 상태 S3로 부터 상태 S0로 복귀한다. 상태 S3에서 상태 S0로 복귀하는 스테이트 머시인 M1은 다음식; IORC + MRDC + DAK2*가 참이다. 따라서, IORC*신호 혹은 MRDC*신호가 상태 S3에서 가정되면, 검증 전송이 발생하지 않으며 스테이트 머시인 M1이 상태 S0로 복귀한다. 또한, 상태 S3에서 DAK2*신호의 부정은, DMA프로세서를 선점하는 집적임의 제어기(도시안됨)에 의해 가능, 스테이트 머시인 M1을 상태 S0로 복귀시킨다. 이식은 다음식; IORC*× MRDC × DAK2과 반대이며, 검증 전송을 발생하고 상태 S2로부터 원래의 상태 S3까지의 스테이트 머시인 M1에 대해 응답하는 상태 S2에서 표시된다. 따라서, 유효 DMA검증 전송을 발생하기 위해 필요한 식이 상태 S3에서도 참이 아니면, 검증 전송이 완료되거나 혹은 유효 DMA검증 전송이 실제로 발생하지 않고, 스테이트 머시인 M1이 상태 S0로 복귀되도록 가정한다. 상태 S2에서 상태 S3까지의 스테이트 머시인 M1이 선행되는 식; IORC*× MRDC*× DAK2가 상태 S3에서도 참이면, 스테이트 머시인 M1은 DCLK의 다음 상승에지에 대해 상태 S3에서 상태 S5까지 선행된다.
제6도 및 제7도에 도시된 바와 같이, 스테이트 머시인 M1이 상태 S5에 선행되면, 검증 사이클이 발생된다. 상태 S5후에 스테이트 머시인 M1의 처리는 다른 검증 사이클이 실행되는지 혹은 검증 전송이 완료되는지에 따른다. 이것은 다른 검증 사이클이 발생될 경우 가정되고 검증 전송이 완료 될 경우 부정되는 DREQ2신호에 의해 판단된다. DREQ2신호는 다음 2개의 식에 있는 다른 성분이며, 다음 2개의 식은 상태 S5에서 상태 S6로의 스테이트 머시인 M1을 처리하는 식 ; IORC*× MRDC*× DAK2 × DREQ2 와 상태 S5에서 상태 S0로의 스테이트 머시인 M1에 복귀하는 제1민텀(minterm)의 식 ; (IORC*×MRDC*× DAK2 × DREQ2) + MRDC + IORC + DAK2*이다. 상태 S5에서 상태 S0로의 스테이트 머시인 M1에 복귀하는 소정의 제3민텀이 참이면, 유효 DMA검증 전송이 발생되지 않고 스테이트 머시인 M1이 상태 S0로 복귀한다.
스테이트 머시인 M1이 스테이트 S6에 선행될 경우, 그 스테이트 머시인 M1 은 상태 S6에 있게 되거나, ADSTBO신호의 상태에 따른 상태 S3으로 복귀, 혹은 DMA검증 전송 조건이 일치하지 않을 경우 상태 S0로 복귀한다. 스테이트 머시인 M1은 다음식 : IORC*× MRDC*× DAK2 × ADSTBO가 참일 경우 상태 S6에 있게 되고, 스테이트 머시인 M1은 다음식 : IORC*× MRDC*× DAK2 × ADSTBO*가 참일 경우 상태 S6에서 상태 S3로 처리된다. 다시 말하면, 유효 검증 사이클에 대한 조건이 일치되고 ADSTBO신호가 상태 S6에서 가정되면, DMA제어기(90)는 그의 어드레스 래치에서 상위 8비트를 갱신하고, 스테이트 머시인 M1을 상태 S6에 있게 된다. 제7도에 도시된 바와 같이 검증전송에 다수의 어드레스 스트로브가 있게 되면, ADSTBO신호는 상태 S6에서 가정되고 여분의 S6상태는 스테이트 머시인 M1의 처리에 삽입된다. ADSTBO신호가 상태 S6에서 부정이면, 스테이트 머시인 M1은 다른 검증 사이클의 예측에서 상태 S3로 복귀된다. 다음식 : IORC + MRDC + DAK2*가 상태 S6에서 참이면, 유효 DMA검증 전송은 실제로 발생하지 않으며, 스테이트 머시인 M1을 상태 S6에서 상태 S0로 복귀한다.
상태 머시인 M1 및 상기 기술된 버스신호 입력은 CLKNIORD*라 호칭되는 출력신호를 발생하기 위해 사용되며, 그 식은 다음과 같다.
CLKNIORD = (DAK2 × IORC*× MRDC*× S2) + (ADSTBO*× DAK2 × IORC*× MRDC × (S2 + S6))
CLKNIORD*신호는 DMA검증 전송동안에 플로피 디스크(54)제어기 및 DMA제어기(90)사이의 적절한 시간에서 가정된다. 상기식의 제1민텀에서 예시된 바와 같이, CLKNIORD*신호는 유효 전송 검증에 대한 조건, 즉 DAK2신호가 가정되고 IORC*및 MRDC*신호가 부정, 이 일치하지 않을 경우 다음의 상태 S2에서 가정된다. 상기식의 제2민텀에서 예시된 바와 같이 CLKNIORD*신호는 검증 전송에 대한 조건이 일치하고 ADSTBO신호가 부정될 경우, 상태 S2 혹은 S6에 따른 상태에서 가정된다.
CLKNIORD*신호는 NIORD*신호를 생성하기 위한 버스로부터의 IORC*신호에 결합되는데, 다음식은 다음과 같다.
NIORD = IORC + CLKNIORD
PAL(100)은 통상적으로 IORC*신호와 입력으로서의 CLKNIORD*신호와, 출력으로서의 NIORD*신호를 갖는 AND 게이트로서 작용한다. 따라서 NIORD*신호는 DMA판독 및 DMA기록중에 플로피디스크 제어기(54)에 대한 IORC*신호의 적절한 신호 발생을 유지하기 위해 IORC*신호가 가정될 때마다 가정된다.
제4도에 있어서, 본 발명에 따른 DMA기록 사이클의 타이밍도는 플로피 디스크(54)에 대해 도시한다. 상태 SO에서 플로피 디스크 제어기(54)는 DREQ2신호를 가정하고, 상태 S1에 대한 스테이트 머시인 M1을 처리함으로써 DMA요청을 한다. 이 요청은 DMA제어기로부터의 DMA인식(DAK2)에 따르며 상위 8개의 어드레스 비트의 어드레스 지정을 래치하기 위해 DMA제어기에 의한 ADSTBO신호의 가정에 결합되어 스테이트 머시인 M1이 상태 M2를 처리하도록 한다. 상태 S2에서 IORC*신호가 가정될 경우, 플로피 제어기(54)가 버스상의 데이타를 드라이브 할 수 있음을 표시하고 상태 S4에 대한 스테이트 머시인 M1을 처리한다. IORC*신호의 가정은 상태 S2에서 NIORD*신호의 기본적인 동시성 가정에 응답한다. MRDC*신호는 DMA기록 사이클이기 때문에 부정의 하이 출력을 유지한다. 상태 S4에서 데이터의 실제적 전송은 플로피 제어기(54)로부터 그의 메모리 지정까지 발생되며, 동수의 S4상태가 데이터 전송중에 삽입될 필요가 있다. 상태 S4에서 데이터의 전송 있는 동안 몇 개의 점에 있는 DREQ2 신호는 부정된다. 데이타 전송이 완료될 경우, DRK2*신호가 부정, 스테이트 머시인 M1이 동작하여 상태 S4에서 상태 S0까지 복귀되도록 한다.
제5도에 있어서, DMA검증 사이클은 각각 제4도 및 제5도의 DMA기록 및 판독 사이클과 유사하며, IORC*신호 및 MRDC*신호가 부정(하이)출력인 경우가 다르다. 그러나, NIORD*신호는 CLKNIORD*신호(도시안됨)가 가정되기 때문에 스테이트 머시인 M1의 상태 S3에서 적절한 시기에 가정된다. 제7도에 있어서, 다수의 어드레스 스트로브(ADSTBO)신호는 ADSTBO 신호가 상태 S6에서 제2기시에 가정되는 것을 제어하면 제6도의 DMA검증 사이클과 유사하다. 이에 따라 여분의 S6상태가 스테이트 머시인 M1의 처리암으로 삽입되어, 1DCLK사이클이 지연되도록 NIORD*신호의 순서적 가정을 발생한다.
본 발명에 따른 제2설계는 제1설계와 유사하고 확장된 산업 표준 아키텍처(EISA)를 사용하기 위한 것이다. 제8도 및 제9도에 있어서, 부호 C2는 본 발명에 따른 EISA컴퓨터 시스템을 전체적으로 표시한다. 시스템 C2는 4개의 버스를 경유하여 상호 접속된 다수의 블록 소자를 구비한다. 시스템 C2를 보다 명백히 하기 위해 원으로 둘러싸인 1내지 8까지의 숫자를 통해 제8도 및 제9도를 상호 연결한 2부분으로 도시한다. 제8도 및 제9도에서는 본 발명에 대해 시스템부의 상세한 설명을 상세히 기술하지 않고 명백히 설명하지 않는 것을 예시하는 것이 아니라 완전히 구성된 컴퓨터 시스템의 실시예를 예시한다.
제8도에는 컴퓨터 시스템 C2가 도시된다. 중앙처리 장치(CPU)는 프로세서(220), 수치적 코프로세서(224) 및 캐쉬 메모리제어기(224)와 지역 프로세서버스(266)접속된 결합 논리회로를 구비한다. 캐쉬 제어기(224)는 고속 캐쉬데이타 랜덤 액세스 메모리(228), 캐쉬 불능 메모리 어드레스 맵프로그래밍 논리 회로(230), 캐쉬불능 어드레스 메모리(232), 어드레스 교환 래치회로(234) 및 데이터 교환 트랜시버(236)와 결합된다. 또한, CPU는 지역 버스 준비 논리회로(238), 다음 어드레스 이네이블 논리회로(240) 및 버스 요청 논리회로(242)와 결합된다.
도면에서, 시스템 C2는 프로세서버스(226), 호스트 버스(244), 확장된 산업 기준 아키텍처(EISA)버스(246) 및 X버스(290)을 갖는 구성이다. EISA명세서 버전 3.0은 EISA 시스템의 요청을 설명하기 위해 부록 1을 포함한다. 제9도에 예시된 시스템 C2부는 필요 EISA버스(246), EISA버스 제어기(248), 데이터 래치 및 트랜시버(250)과 EISA버스(246) 및 호스트버스(244)사이에서 인터페이스(I/F)하는 어드레스 래치 및 버퍼(25)를 포함하여 필수적으로 구성된 EISA시스템이다. 또한, 제9도에는 EISA베이스 컴퓨터 시스템에서 사용된 다수의 소자와 결합되는 집적화 시스템 주변장치(254)들 중에서 DMA제어기(256)를 예시한다.
주메모리 어레이(258)는 동적 랜덤 액세스 메모리가 바람직하다. 메모리(258)는 데이터 버퍼회로(260)데이터 제어기 회로(262) 및 메모리 맵필 설비(268)을 경유한 호스트 버스(244)에 접속된다. 버퍼(260)는 데이터 송수신 및 패리터 발생 및 검사기능을 수행한다.
EISA버스(246)는 ISA 및 EISA제어버스(276) 및 (278) ISA 및 EISA데이터 버스(280) 및 (282)와 시스템 어드레스 버스(284), 래치된 ISA어드레스 버스(286)와 래치된
EISA 어드레스 버스(288)을 포함한다. 시스템 주변 장치는 EISA 버스(246)으로부터 ISA 제어버스(276)에 결합된 X 버스(290)를 경유하여 인터페이스된다. X 버스(290)용 제어 및 데이타/어드레스 전송은 X 버스 제어논리(292) 데이타 트랜서버(294)및 어드레스 버퍼(296)에 의해 설비된다.
X 버스(290)는 키보드(마우스 제어기(298)같은 수 개의 주변 장치에 부착되고, 제어기(298)는 X 버스(290)를 적합한 키보드 및 마우스에 접속기(300) 및 (302)를 통해 각각 인터페이스 한다. 또한, X버스(290)는 시스템 C2 및 시스템 비디오 동작용 기본 동작의 소프트웨어를 포함한 리드 온리 메모리(306)에 부착된다. 직렬통신 포트(308)는 X 버스(290)를 통해 시스템 C2 에 접속된다. 플로피 및 고정 디스크 서포트, 병렬포트, 제2직렬 포트 및 비디오 서포트 회로는 블럭 회로(310)에 제공된다. 블럭 회로(316)는 수개의 플로피 디스크 논리를 통상적으로 내장하며, 플로피 디스크 제어기(318)(제10도)와 본 발명에 따른 플로피 디스크제어기(318)에 대한 신호를 발생하는 프로그램어블 어레이 논리(PAL)장치(200)를 포함하며, X버스(290)에 부착된다. 본 실시예에서 바람직한 플로피 디스크 제어기(318)는 Intel 82077이다.
제10도에 있어서, 제2설계는 컴퓨터 시스템 C2로부터 입력된 소정의 신호를 사용하는 프로그램어불 어레이 논리(PAL)장치(200)뿐만 아니라 플로피 디스크 제어기(318)의 RD*입력에 제공된 FIORC*라고 호칭되는 새로운 버전의 IORC*신호를 발생하기 위한 내부 스테이트 머시인(제11도)을 포함한다. 버스 신호는 DMA제어기(256)로 부터의 PAL(200)로 입력하는 것으로서 통상적으로 사용되며 IORC*신호 및 AENO 신호를 포함한다. AENO 신호는 EISA 명세서에 따른 시스템 기판에 대한 유효 I/O 동작중에 하이 상태이다. PAL(200)에 입력하는 다른 버스 신호는 BCLK*신호를 포함하며, PAL(200)에 위치된 플립-플롭에 제공되며, 스테이트 머시인 M2 및 T-C혹은 터미널 카운트 신호를 선행하기 위해 사용된다. ST2 및 ST3라인은 집적 시스템 주변장치(ISP)(254)에서 출력되며(제9도)가정될 경우, DMA제어기(256)가 현재의 버스마스터를 표시한다.
PAL(200)는 내부3-비트 스테이트 머시인 M2를 발생하기 위해 입력신호를 사용한다. 스테이트 머시인 M2는 PAL(200)로부터 출력된 것으로서 나타나는 각각의 비트 DQ0, DQ1, DQ2에 의해 표현된다. 스테이트 머시인 M2는 DT-C라 호칭되는 새로운 DMA터미널-카운트 신호의 발생을 일치시키는 AEN신호뿐만 아니라 T-C신호를 이용하며, PAL(200)의 출력으로서 나타난다. 또한, 스테이트 머시인 M2는 DFIOR*라 호칭되는 신호의 적절한 발생을 일치시키고, DMA검증 전송중의 적절한 시간에서 가정된다. DFIOR*신호 및 IORC*는 FIORC*신호를 생성하기 위해 PAL(200)의 논리 내부에서 결합되며, PAL(200)의 출력이고 플로피 디스크 제어기(318)의 RD*입력에 접속된다.
제11도에 있어서, 스테이트 머시인 M2는 순서적으로 상태 0에서 상태7까지 카운트되는 8개의 상태를 전체적으로 포함한다. 또한 스테이트 머시인 M2는 상태 7까지 도달할 경우 상태 0으로 복귀되고 연속적으로 카운트를 순환한다. 스테이트 머시인 M2는 I/O사이클이 초기화될 때, AENO*신호가 가정되는 것으로 표시, 까지 상태0의 초기 상태를 통상적으로 유지한다. AENO*신호가 가정될 경우, I/O사이클이 시작되며 스테이트 머시인 M2는 상태 0에서 상태1로 진행된다. 그에 따라, 스테이트 머시인가 상태1로부터 순서적으로 진행하도록 AENO*, ST2 및 ST3신호는 가정되어야 한다. 상태 비트 ST2 및 ST3가 AENO*신호와 함께 가정될 경우, 현재의 버스 사이클은 DMA사이클이 된다. 따라서, DMA사이클이 진행되는 동안에 스테이트 머시인 M2는 통상적으로 상태0으로 복귀되기 전에 상태0에서 상태7로 순서적으로 진행하며 반복된다. 스테이트 머시인 M2는 AENO*, ST2 및 ST3신호가 가정될 경우 그의 상태를 진행하고, AENO*신호의 부정 스테이트 머시인 M2를 소정의 다른 상태로부터 상태0으로 순환시킨다. 또한, 상태 1,2 및 3에서 ST2신호 혹은 ST3신호 중 어느 하나의 부정은 스테이트 머시인 M2를 상태 0으로 복귀시킨다. 상태 2,4혹은 6에서 ST2혹은 ST3신호의 부정은- 스테이트 머시인 M2를 상태1로 복귀시킨다.
PAL(200)은 신호 발생을 서포트하기 위해 스테이트 머시인 M2를 사용하여 새로운 T-C혹은 DT-C라 호칭되는 터미널 카운트 신호, BCLK*신호에 의해 클록된 PAL(200)에 있는 플립플롭으로 제공된 신호로서 그 식은 다음과 같다.
DT-C : = (AENO × T-C × 상태7) + (AENO × DT-C × 상태0) +(상태1 + 상태2 + 상태3 + 상태4 + 상태5)
PAL-발생 DT-C신호는 T-C신호의 존재로 표시되는 것과 같이 DMA사이클동안 DMA채널의 워드 카운트가 터미널 카운트에 도달될 경우 스테이트 머시인 M2는 상태7에 도달되는 경우로 가정된다. DT-C신호는 AENO*신호가 부정될 때까지, DMA전송이 완료될 경우, 또는 스테이트 머시인 M2가 상태6에 도달할 때까지 어느 하나가 가정되도록 유지된다.
PAL(200)은 내부적으로 발생된 스테이트 머시인 M2의 상태뿐만 아니라 DT-C신호 및 DFIOR*이라 호칭되는 신호를 발생하는 수개의 다른 버스 신호를 사용하며, DFIOR*신호는 BCLK*신호에 의해 클록된 PAL(200)에 위치된 플립플롭에 의해 제공되는데 그 식은 다음과 같다.
DFIOR : =(AENO × 상태3 × ST2 ×ST3×DT-C*) + (AENO × DFOIR × (상태4 +상태5 + 상태0 + 상태1))
DFIOR*신호는 DMA제어기(256) 및 플로피 디스크 제어기(318)사이에서의 검증 사이클 동안 적합한 시간에서 가정된다. 상기 식의 제1인텀에서 예시된 바와 같이, DFIOK*신호는 모든 DMA사이클 동안에 스테이트 머시인 M2가 상태 3에 있을 경우 DC-T 신호가 가정되지 않는다면, BCLK신호의 하강에지에 대해 통상적으로 가정된다. DFIOR*신호는 AEN*신호의 부정으로 표시된 DMA사이클이 완료될 때까지 또는 스테이트 머시인 M2이 상태6에 도달할 때까지, 둘중 하나가 처음으로 가정되도록 유지된다. 따라서, DFIOR*신호는 RENO*신호가 이 시간에 가정되지 않는다면 스테이트 머시인의 상태4, 5 및 6시간 사이에서 가정된다.
DIFOR*신호는 FIORC*신호를 생성하기 위해 IORC*신호에 결합되며, 그 식은 다음과 같다.
FIORC = IORC + DFIOR
IORC*신호는 IORC*신호가 가정될 때마다 FIORC*신호가 가정되도록 FIORC*신호의 발생에 포함되며, IORC*신호의 적절한 발생을 유지하기 위해 DMA 판독 및 DMA기록 전송 동안에 플로피 디스크 제어기(318)에 공급된다.
제12, 13 및 제14도에는 ISA호환가능 혹은 정상 사이클 제어 시이퀀스를 사용하는 요구모드 검증 사이클, B사이클 제어형을 사용하는 요구 모드 검증 사이클, 및 자동적으로 초기화된 요구 모드 검증 사이클을 각각 도시한다. 각각의 사이클은 AENO*신호의 가정과 함께 시작되며, 상태0에서 상태1로 진행하는 스테이트 머시인 M2이다. 스테터스라인 ST2, 3의 가정을 상태1의 시작에서 스테이트 머시인
이 예시된 상태를 통해 순차적으로 카운팅을 계속하게 한다. 각각의 이들 요구 검증 사이클에서 AENO*, ST2 및 ST3신호는 DMA터미널 카운트(DT-C)신호후의 수개의 상태가 가정될 때까지 가정되도록 유지한다.
FIORC*신호는 8BCLK 사이클마다 사이클이 있기만 하면, 스테이트 머시인 M2이 상태 3,5 및 6인 경우, 가정되는데, 이것은 블록 혹은 요구 DMA기간사이에서 반복된 검증 전송이 통상적으로 요청 8BCLK사이클을 요청하기 때문이다. 제14도의 자동적 초기화 또는 버퍼 연쇄 타이밍도를 갖는 요구 검증 사이클에서 AENO*신호는 FC신호 및 DT-C신호와 같이 추가적 상태에 대해 가정된다.
제15도에는 B형 사이클제어를 사용한 단일 모드 검증 사이클이 도시된다. 단일 모드는 각각의 사이클형이 단일 사이클 전송으로서 실행되는 것을 나타낸다. 따라서, 제1전송 사이클 후에는 FIORC*신호가 상태4,5 및 6에서 가정되고, AENO*신호가 제1전송 사이클에 따른 상태2의 시작에서 부정되어, 상태2에서 상태0으로 스테이트 머시인 M2를 효과적으로 단락-회로 동작하는 것이다. 스테이트머시인 M2는 AENO*신호가 가정될 경우 상태0으로부터 카운팅을 다시 시작하며, 이 사이클은 반복된다.
따라서, DMA검증 전송 동안에 판독 FIFO스트로브펄스를 발생하는 두가지 방법이 개시된다. 이 방법은 82077의 FIFO에서 발생하는 오버런에러를 방지하며, 플로피 디스크 전송율을 판단하기 위해 검증 모드동작을 사용하는 구식 혹은 호환불능시스템소프트웨어를 가진 FIFO에서 적절히 동작하도록 한다.
본 발명의 기술 및 개시는 그이 실시예와 함께 예시되며, 크기, 형태, 물질, 부품, 회로소자, 배선접속 및 접점이 여러 가지로 변경 가능할 뿐만 아니라 예시된 회로의 상세와 구성 그리고 동작방법도 본 발명의 범위를 벗어나지 않고 이해될 수 있다.

Claims (7)

  1. 데이터를 전송하는 시스템에 있어서, 제1형태의 동작 동안에는 데이터 전송에 따른 제1제어신호를 생성하고, 제2형태의 동작 동안에는 상기 제1제어신호를 생성하지 않는 직접 메모리 액세스 제어기와; 데이터 전송신호의 수신에 응답하여 데이터를 전송하는 데이터 전송장치와; 상기 직접 메모리 액세스 제어기가 제2형태의 동작을 수행할 경우 상기 제1제어 신호의 재생 신호를 생성함과 아울러 결합신호를 생성하도록 상기 재생신호를 상기 제1제어신호에 결합하며, 상기 결합된 신호가 상기 데이터 전송신호로서 상기 데이터 전송장치에 접속되게 하는 수단을 포함한 것을 특징으로 하는 데이터 전송 시스템.
  2. 제1항에 있어서, 상기 데이터 전송장치는 플로피 디스크 제어기인 것을 특징으로 하는 데이터 전송 시스템.
  3. 제2항에 있어서, 상기 플로피 디스크 제어기는 퍼스트 인 퍼스트 아웃 데이터 버퍼를 포함하며, 상기 데이터 전송 신호는 상기 버퍼로부터 전송하는 데이터를 제어하는 것을 특징으로 하는 데이터 전송 시스템.
  4. 제1항에 있어서, 상기 직접 메모리 액세스 제어기는 제2제어 신호를 생성하며, 제3형태의 동작 동안에 상기 제1제어신호를 생성하지 않고, 상기 재생 수단은 상기 직접 메모리 액세스를 제어기가 제3형태의 동작을 수행할 경우 상기 재생신호를 생성하지 않는 것을 특징으로 하는 데이터 전송 시스템.
  5. 제4항에 있어서, 상기 데이터 전송장치는 플로피 디스크 제어기인 것을 특징으로 하는 데이터 전송 시스템.
  6. 제5항에 있어서, 상기 플로피 디스크 제어기는 퍼스트 인 퍼스트 아웃 데이터 버퍼를 포함하고, 상기 데이터 전송신호는 상기 버퍼로부터 전송하는 데이터를 제어하는 것을 특징으로 하는 데이터 전송 시스템.
  7. 제1항에 있어서, 상기 플로피 디스크 제어기는 퍼스트 인 퍼스트 아웃 데이터 버퍼를 포함하고, 상기 데이터 전송신호는 상기 버퍼로부터 전송하는 데이터를 제어하는 것을 특징으로 하는 데이터 전송 시스템.
KR1019900017835A 1989-11-03 1990-11-03 Dma 검증 동작을 하는 플로피 디스크 제어기 KR0148474B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US43166789A 1989-11-03 1989-11-03
US431,667 1989-11-03

Publications (2)

Publication Number Publication Date
KR910010327A KR910010327A (ko) 1991-06-29
KR0148474B1 true KR0148474B1 (ko) 1998-11-16

Family

ID=23712925

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019900017835A KR0148474B1 (ko) 1989-11-03 1990-11-03 Dma 검증 동작을 하는 플로피 디스크 제어기

Country Status (7)

Country Link
US (2) US5307476A (ko)
EP (1) EP0426156B1 (ko)
JP (1) JP3431025B2 (ko)
KR (1) KR0148474B1 (ko)
AT (1) ATE177220T1 (ko)
CA (1) CA2028378A1 (ko)
DE (1) DE69032969T2 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2028378A1 (en) * 1989-11-03 1991-05-04 Timothy K. Waldrop Floppy disk controller with dma verify operations
US5642489A (en) * 1994-12-19 1997-06-24 International Business Machines Corporation Bridge between two buses of a computer system with a direct memory access controller with accessible registers to support power management
US5752081A (en) * 1995-06-08 1998-05-12 Vlsi Technology, Inc. Signalling system and method for allowing a direct memory access (DMA) input/output (I/O) device on the peripheral component interconnect (PCI) bus to perform DMA transfers
US5983002A (en) * 1996-10-11 1999-11-09 Phillip M. Adams & Associates, L.L.C. Defective floppy diskette controller detection apparatus and method
US6401222B1 (en) 1996-10-11 2002-06-04 Phillip M. Adams Defective floppy diskette controller detection apparatus and method
US20050038946A1 (en) * 2003-08-12 2005-02-17 Tadpole Computer, Inc. System and method using a high speed interface in a system having co-processors

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4527237A (en) * 1979-10-11 1985-07-02 Nanodata Computer Corporation Data processing system
WO1981001066A1 (en) * 1979-10-11 1981-04-16 Nanodata Computer Corp Data processing system
US4371929A (en) * 1980-05-05 1983-02-01 Ibm Corporation Multiprocessor system with high density memory set architecture including partitionable cache store interface to shared disk drive memory
JPS57120146A (en) * 1981-01-16 1982-07-27 Hitachi Ltd Data transfer device
US4481578A (en) * 1982-05-21 1984-11-06 Pitney Bowes Inc. Direct memory access data transfer system for use with plural processors
US4530053A (en) * 1983-04-14 1985-07-16 International Business Machines Corporation DMA multimode transfer controls
US4764896A (en) * 1985-07-01 1988-08-16 Honeywell Inc. Microprocessor assisted memory to memory move apparatus
JPS6375955A (ja) * 1986-09-19 1988-04-06 Fujitsu Ltd プログラムモ−ド・アクセス制御方式
JP2559394B2 (ja) * 1987-02-16 1996-12-04 株式会社日立製作所 通信制御装置
US5056010A (en) * 1989-10-30 1991-10-08 Industrial Technology Research Institute Pointer based DMA controller
CA2028378A1 (en) * 1989-11-03 1991-05-04 Timothy K. Waldrop Floppy disk controller with dma verify operations

Also Published As

Publication number Publication date
KR910010327A (ko) 1991-06-29
JPH03171355A (ja) 1991-07-24
US5307476A (en) 1994-04-26
DE69032969T2 (de) 1999-07-08
EP0426156A2 (en) 1991-05-08
EP0426156B1 (en) 1999-03-03
CA2028378A1 (en) 1991-05-04
DE69032969D1 (de) 1999-04-08
US5442753A (en) 1995-08-15
ATE177220T1 (de) 1999-03-15
EP0426156A3 (en) 1995-03-15
JP3431025B2 (ja) 2003-07-28

Similar Documents

Publication Publication Date Title
EP0426329B1 (en) Combined synchronous and asynchronous memory controller
US5701417A (en) Method and apparatus for providing initial instructions through a communications interface in a multiple computer system
EP0189638B1 (en) Bus width adapter
US6167476A (en) Apparatus, method and system for accelerated graphics port bus bridges
US7043568B1 (en) Configuration selection for USB device controller
US5335329A (en) Apparatus for providing DMA functionality to devices located in a bus expansion chassis
JP3403284B2 (ja) 情報処理システム及びその制御方法
US5655142A (en) High performance derived local bus and computer system employing the same
JPS63253459A (ja) 高性能インターフェイスおよびその達成方法
JPH11238030A (ja) Pci−pciブリッジおよびそのための先入れ先出しメモリ
US5748945A (en) Method for slave DMA emulation on a computer system bus
US6851014B2 (en) Memory device having automatic protocol detection
US20070118682A1 (en) Method and apparatus for interfacing and managing NAND flash memory
JP3886189B2 (ja) バースト可でキャッシュ不可のメモリアクセスを支援するマイクロプロセッサ装置
US6266723B1 (en) Method and system for optimizing of peripheral component interconnect PCI bus transfers
KR0148474B1 (ko) Dma 검증 동작을 하는 플로피 디스크 제어기
EP0466970B1 (en) Microprocessor with multiple bus configurations
JPH0773101A (ja) 再帰的サイズ決定メモリバスのインターフェースと方法
US6968402B2 (en) System and method for storing chunks of first cache line and second cache line in a buffer in a first and second chunk order
KR20030097700A (ko) 데이터 프로세서
US6219761B1 (en) Load/store assist engine
US5687358A (en) Accelerator for mounting and interfacing a second CPU onto a motherboard
US5671372A (en) Data processing system with microprocessor/cache chip set directly coupled to memory bus of narrower data width
KR950009576B1 (ko) 버스 인터페이스 장치
JP2004523041A (ja) 高速書込トランザクション対応agp

Legal Events

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

Payment date: 20070521

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee