[go: up one dir, main page]

KR950008228B1 - 컴퓨터 시스템 - Google Patents

컴퓨터 시스템 Download PDF

Info

Publication number
KR950008228B1
KR950008228B1 KR1019880002040A KR880002040A KR950008228B1 KR 950008228 B1 KR950008228 B1 KR 950008228B1 KR 1019880002040 A KR1019880002040 A KR 1019880002040A KR 880002040 A KR880002040 A KR 880002040A KR 950008228 B1 KR950008228 B1 KR 950008228B1
Authority
KR
South Korea
Prior art keywords
arbitration
peripheral device
bus
dma channel
dma
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
KR1019880002040A
Other languages
English (en)
Other versions
KR880011679A (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 KR880011679A publication Critical patent/KR880011679A/ko
Application granted granted Critical
Publication of KR950008228B1 publication Critical patent/KR950008228B1/ko
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/3625Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using a time dependent access
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06F13/30Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal with priority control
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • G06F13/374Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a self-select method with individual priority code comparator

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

내용 없음.

Description

컴퓨터 시스템
제1도는 본 발명의 기술을 적용한 컴퓨터 시스템의 블록도.
제2도는 제1도의 컴퓨터 시스템에서 사용된 소프트 요구 중재 장치의 회로도.
제3도는 제2도의 소프트 요구 중재 장치에 이용된 소프트 중재기의 회로도.
제4도는 제3도의 회로에서 발생한 주요 신호의 파형도.
제5도는 ˝소프트˝중재의 요구를 처리하기 위한 CPU동작에 관한 플로우차트.
제6도는 본 발명의 장점이기도 한 고정 진단 루틴(diagnostic routine)의 플로우챠트.
제7도는 본 발명의 또다른 실시예에 따라 구성된 소프트 요구 중재 장치의 회로도.
* 도면의 주요부분에 대한 부호의 설명
38,39 : 플립플롭 40,41,67,68 : 변환기
50 : DMA제어기 IC
본 발명은 컴퓨터 시스템과 결합된 주변 장치가 이용할 수 있는 DMA(Direct Memory Access)를 갖는 컴퓨터 시스템에 관한 것이다. 상이의 주변 장치들은 그 자체가 중재 회로(arbitration circuit)를 갖고 있거나 없더라도 DMA채널 확보가 가능하다.
오늘날의 대부분 컴퓨터 시스템에서는 DMA채널을 채용하여, CPU(중앙 처리 장치)를 거치지 않고도,
주변 장치와 주메모리간에 직접적인 데이타 전송이 가능하도록 설계되어 있다. DMA의 동작은 CPU를 거치지 않기 때문에 데이타의 전송 속도가 빨라지고, 이러한 데이타 전송 기간에 CPU는 다른 작업을 자유로이 수행할 수 있기 때문에, 시스템의 전체적인 효율성이 높아지는 잇점을 갖고 있다.
현재에 가장 일반적인 DMA방식므로는, DMA억세스가 허용된 모든 주변 장치에 한개의 물리적 DMA채널을 제공하는 방식이다. 이러한 방식의 컴퓨터 시스템의 일례로 IBM PC컴퓨터를 들 수 있다.
그러나, 컴퓨터의 사용자가 자신의 컴퓨터 시스템에 인결하여 사용하는 주변 장치의 수는 증가 추세에 있으며, 금후에도 이러한 추세는 계속될 것이라고 생각된다. 예컨대, 최근에는 컴퓨터 시스템에 광학 디스크 판독기, 추가 통신 장치, 하드 화일 또는 보조 메모리 장치등의 장치 접속이 가능하며, 이러한 주변 장치들은 DMA억세스를 양호하게 이용할 수 있다.
한편, 물리적 DMA채널수가 많아지면 IC카운트, 기판 스페이스 및 버스 스페이스 등을 포함하여 하드웨어 시스템의 가격 상승이 일어난다. 그래서, 상호 배타적인 동작을 하는 주변 장치들 사이에 DMA채널을 공유토록 하는 설계가 제시되었다. DMA채널의 공유 방식은 예를 들어 IBM XT와 AT컴퓨터 시스템내에 채용되고 있다. DMA채널 공유 구성은, 각 DMA채널과 접속된 주변 장치들이 동시에 작동을 못하게하는 서브 루틴이 필요하기 때문에, 동작 시스템에 대해 상당히 변형이 요구된다. 또 화일 제어기가 병행 ˝검색 (SEEK)˝ 동작을 행할 수 있을 만큼 충분한 ˝지능(intellingent)˝을 갖지 않을시에 심각한 성능상의 저하가 초래된다. 이러한 문제의 실예로서, LAN(근거리 통신망)장치와 화일 제어기가 동일 DMA레벨을 공유하고 있을때와 ˝LAN 화일 서버 (server)˝루틴이 이들 2개 주변 장치 사이에 전후로 전달될 때에 일어난다.
상기 문제를 해결하기 위채서, IBM사가 특허출원(미국 특허원 제030,786호 1987. 3. 27 출원)하여 계류 중에 있는 상기 특허원에서는, 각 주변 장치가 중에 회로를 갖도록 하는 것을 제안하였다. 상기 중재 회로들은 중재 버스를 통해 서로 연결되어 있으며, 중앙 중재 회로와도 연결되어 있다. 주변 장치중의 하나는 DMA채널로 억세스하고자 할 때에 중재 버스상에 그의 채널 우선 순위 할당은(assiqnment)을 실어 놓는다. 상기 채널 우선 순위 할당문이 최우선일 경우에, 상기 주변 장치에는 유용한 DMA채널이 할당된다.
이런 식으로, DMA채널 및 DMA채널 요구 라인의 수를 증가하지 않고서도 주변 장치를 시스템에 추가하는 것이 가능하다.
그러나, 중재 회로를 갖지 않는 기존의 주변 장치를 상기 컴퓨터 시스템에 사용하는 것이 바람직할 수도 있다. 중재 회로를 갖지 않은 주변 장치는 DMA채널에 억세스를 요구하는 수단을 갖추고 있지 않기 때문에 컴퓨터 시스템에 직접 접속하여 사용하는 것이 불가능하다.
본 발명의 목적은 주변 장치가 중재 버스를 이용하여 DMA억세스를 요구하지만, 또한, 자체 중재 회로를 갖지 않은 주변 장치를 수용할 수 있는 컴퓨터 시스템을 제공하는데 있다.
Bardotti등과 공동출원된 미합중국 특허원 제3,925,766호에 기재된 컴퓨터 시스템에는 주변 장치에 순위 레벨이 할당되어 있어서, 메모리와 통신할 억세스를 위한 요구문이 우선 순위 레벨에 따라 선택된다. 우선 순위 레벨 할당문을 요구 신호가 발생되는 원인이나 중앙 처리기의 특수 로스 상태에 따라 변경될 수 있다.
그러나 본 출원에는 어떠한 DMA경로도 설치되어 있지 않다.
스즈끼 등이 출원한 미합중국 특허 제4,400,771호에는 다중 처리 시스템(multi-processor system)에 관한 것으로서 각 다중 처리기는 단일 메모리를 억세스할 수 있다. 프로그램 가능한 레지스터 회로는 각 처리기에 대한 메모리 억세스 등급 우선 순위를 지정하는 우선 순위 정보를 저장하고 있다. 우선 순위 정보는 외부 회로나 혹은 적어도 처리기중의 하나에 의해서 수동적으로 변경할 수 있다. 스즈끼의 특허에서는 복수개 주변 장치에서 메모리로 DMA억세스를 채용하지 않는다.
다음의 미합중국 특허, 즉 딘위디 2세에 의한 제4,371,932호, 라슨에 의한 제4,419,728호, 패터슨에 의한 제4,538,224호, 브레워에 의한 제4,556,962호와 할버그에 의한 제4,584,703호에는 DMA제어기를 채용한 컴퓨터 시스템과 관련된 일반적인 배경 기술에 대하여 언급하고 있다.
본 발명에 따르면, DMA채널에 억세스하기 위해 중재하는 제1수단인 중재 회로를 가진 주변 장치와 중재 회로를 가지고 있지 않은 주변 장치는 같은 버스에 연결되어 있다. 상기 중재 회로를 가진 주변 장치는 스스로 유용한 DMA채널에 억세스하기 위해 중재하는 것이 허용되는 반면에, 소프트 요구 중재기(soft request arbiter) 예컨대, DMA채널에 억세스하기 위해 중재하는 제2수단은 중재 회로를 갖지 않은 주변 장치를 대신하여 중재하도록 주변 장치 외부에 제공된다. 본 발명은 또한 시스템에 전원 가동 테스트 등을 할시에 DMA채널을 테스트할 진단 기구로서도 유용하다.
제1도는 본 발명에 따른 컴퓨터 시스템의 블록도이다.
CPU(10)는 임의로 주 메모리(15) 및 코-프로세서(co-processor,14)와 시스템 버스(26)를 통해 교신한다. 다른 여러 장치도 필요에 따라 시스템 버스(26)에 연결될 수 있다. 다양한 주변 장치가 연결된 ˝훼밀리˝ 버스(27)는 버스 제어기를 통해 시스템 버스(26)에 연결된다. 이러한 구성예로는 IBM AT컴퓨터가 있다.
많은 다른 형태, 즉 제1도의 도시된 주변 메모리(17), 통신 장치(18), 하드 화일(20), 광학 디스크(21) 및 두개의 플로피 디스크(22,23)와 같은 주변 장치도 훼밀리 버스(27)에 연결될 수 있다. 또한 훼밀리 버스(27)는 DMA제어기(12)와 중앙 중재 회로(11)에 연결되어 있다. 제1도의 밑부분에 도시된 바와 같이, 훼밀리 버스는 데이타 버스(27-1), 어드레스 버스(27-2), 컨트롤 버스(27-3), 중재 버스(27-4)로 구성된다.
본 발명의 컴퓨터 시스템에 있어서, DMA중속부품(25)으로 표시되는 몇명 주변 장치에는 자체내에 중재 회로(2)가 제공된다. 위에서 간단히 언급되고, 상기 참조한 계류중의 특허원에서 상세히 설명되어 있지만, 중재 회로(28)를 가진 주변 장치가 DMA채널을 사용할 때, 채널 우선 순위 할당값을 중재버드(27-4)상에 싣는다. 중재 버스에 전송할 할당값은 동시에 DMA채널 사용을 요구한 주변 장치들중 가장 높은 우선 순위를 가진 채널 우선 순위 지정값이 될것이다. 이때에 중앙 중재 제어회로(11)는 DMA제어기에 이것은 통지하고, DMA채널은 선정된(우선 순위가 높은)주변 장치에 지정된다.
그러나 본 발명에 따르면, DMA종속부품(24)으로 표시된 중재 회로를 가지고 있지 않은 주변 장치도 DMA채널 지정을 요구하여 DMA채널의 사용이 가능하다. 이것에 관하여 상술한다.
상기 중재 회로(28)를 갖고 있지 않은 주변 장치에는 BMA억세스를 공급하기 위해, ˝소프트 요구˝중재 장치(29)가 설치되어 있다. 소프트 요구 중재 장치(29)의 기능은 중재 회로(28)를 가지고 있지 않은 주변 장치를 대신하여 CPU로부터 받은 명령에 따라 중재하는 것이다. 이러한 방법으로 기존의 주변 장치는 중재 회로(28)를 가진 주변 장치와 함께 같은 버스를 공용할 수 있다.
제2도는 소프트 요구 중재 회로(29)의 구성과 DMA제어기(12), 중앙 중재 제어 회로(11)의 접속관계를 도시한 것이다. 소프트 중재기(31)와 두개의 레지스터(32,33)에 대한 입력은 데이타 버스(27-1)로 공급된다. 또한 소프트 중재기는 중재 버스(27-4)에 연결된다. 컨트롤 버스(27-3)로부터의 어떤 제어 신호는 소프트 중재기 (31)에도 인가된다. 두개의 비교기(34,35) 각각은 또한 중재 버스에 연결된 입력포트를 가지고 있으며, 비교기(34,35)의 제2입력포트는 각각 래지스터(32,33)의 출력을 받는다. 비교기의 출력은 플립 폴롭(38,39)의 D입력측에 연결되고, 클럭 입력측에는 소프트 중재기 (31)로부터 -SOFTPREEMPT(˝-˝표시는 논리 로우 신호, 예를 들면 상기 작동 상태에서 논리 ˝0˝를 가진 신호)신호가 공급된다. 플립플롭(38, 39)의 Q출력은 DMA제어기 IC(50)의 DMA채널 요구 입력 DREQ 1과 DREQ 0에 연결된다. 플립플롭(38, 39)은 각각의 인지 신호 -DACK 1과 -DACK 0에 의해서 클리어된다. DMA제어기 IC(50)는 마지막 데이타 전송 작용이 완수되었을 때를 나타내는 신호 -TC(단자계수)를 발생시킨다. 데이타 전송 작용의 요구된 숫자가 상기 두개의 채널에서 완수되고 있을때, 소프트 중재기(31)를 재고정시키기 위해서는 신호 -TC는 신호 -TCC를 발생시키기 위해 NOR게이트(36)와 OR게이트(37)를 사용한 비교기(34,35)의 출력에 의해서 게이트된다. 그래서 -TCC는 소프트 중재기(30)가 연관된 두개의 채널중 하나에 DMA요구가 작동하고 있을 때 -TC의 펄스와 정합되어 작동하게 된다.
DMA제어기 IC로는 Intel Corporation사의 8237프로그램 가능 DMA제어기로 가정한다. 상기 경우에 있어서, CPU는 가령 8088, 8086 흑은 80286과 같은 일련의 마이크로 프로세서인 Intel IAPX 86 중의 어느 하나일 수 있다. DMA제어기 IC와 CPU간의 상호 연결에 대한 상세한 내용은 1985 Intel Microsystem Components Handbook의 2-57에서 2-71에 언급되어 있다.
-DACK 0과 -DACK 1신호는 DMA제어기 IC 50으로부터의 신호 -IOR과 -OOW(입-출력 판독 및 입-출력 기록)에 의해서 공급된 다른 입력과 두개의 AND게이트(42,43)의 입력을 변환기를 통해서 인가된다. AND게이트의 출력은 각 레지스터(45,46)의 동작 입력 EN에 연결된다. CPU로부터의 클럭하는 신호 STROBE는 레지스터(45,46)의 클럭 입력에 인가된다. 레지스터 (45,46)의 입력포트는 데이타 버스(27-1)에 연결되고 출력포트는 어드레스 버스(27-2)에 연결된다.
이제 소프트 중재 유니트(29)의 작용에 관해 제5도의 플로우챠트를 참고하여 상술한다.
CPU는 DMA채널 사용의 요구를 나타내는 주변 장치중의 하나로부터 받게 되는 차단 신호를 기다린다.
만약 중재 회로(28)를 가진 주변 장치중의 어느 하나에서 요구가 요구가 오면, 중재와 DMA채널 포착은 계류중에 있는 출원에서 설명된 방법으로 행해진다. 다시말하면, 중재 회로를 가지고 있지 않은 주변 장치 중의 하나에서 요구가 온다면, 즉 요구하는 주변장치가 ˝소프트 요구˝주변 장치중의 하나이라면, 상기 자체의 중재회로(28)를 가진 주변 장치에 대해서 채널 우선 순위 지정에 대한 기능에 상응하는 채널 우선 순위 지정은 소프트 중재기(31)로 보내진다. 같은 채널 우선 순위 지정값은 레지스터(32,33)중의 하나에 기록되고, 이들 레지스터에 대한 하나의 선택은 주변 장치에 할당될 DMA채널에 좌우된다.
상기 예에서, 두개의 레지스터 (32,33), 두개의 플립플롭(38,39), 두개의 레지스터(35,36)등은 첫째로, 중재회로(본 경우에 있어서, 상기 단계는 물론 제2주변 장치에서 반복되어야만 한다)를 가지고 있지 않은 서로 다른 2개의 주변 장치 사이에서의 동시 발생에 대해 중재를 행하도록 제공되며, 둘째로는 채널 6 및 채널 1, 즉 각각 다른 두개의 DMA채널(DMA제어기 IC 50에서 DREQ 1과 EREQ 0와 상응하는 채널)사이에서 소프트 요구 주변 장치에 대해 DMA채널 지정 순위를 선택하도록 제공된다. 물론 그밖의 많은 상기 장치들이 동시에 공급된 군은 소프트 요구 주변 장치의 갯수와 소프트 요구 주변 장치에서 이용할 수 있도록 만들어진 많은 DMA채널의 수에 따라 설치될 수 있다.
더우기, 요구 주변 장치의 포트 어드레스는 선택된 DMA채널(각각 채널 0 및 1)에 상응하는 레지스터(45,46)중의 하나에 기록된다. 중재 제어 버스에 대한 신호+ARB/-GRANT는 소프트 중재기(31)에서 발생된다(상기 내용은 제3도 및 제4도에서 상세히 설명될 것이다) 중재 회로를 가진 주변 장치와 중재 회로를 가지지 않은 주변 장치간의 중재는 중재버스(27-4)에서 행해진다.
중재 처리가 완료될 정도의 충분한 시간이 지난후에, 소프트 중재기(31)로부터 신호 -SOFTPREEMPT 는 ˝1˝상태로 변한다. 만약 소프트 요구 주변 장치가 중재에 채택된다면, ˝1˝은 비교기들(34,35)중의 어느 하나에 출력으로 니타나고, 그뒤 ˝1˝은 플립플롭(38,39)중 하나에 클럭된다. DMA제어기 IC 50으로 DMA채널 요구 라인 DREQ 0나 혹은 DREQ 1중의 하나를 작동시킨다. 상기 요구는 ˝0˝상태에 있는 상기 인지 라인 -DACK 0 및 -DACK 1중의 하나에 세트함으로써 DMA제어기 IC(50)에 의해 인지될 것이다. 신호 -IOR 및 -IOW는 DMA입 ·출력 억세스가 이제 허용된다는 것을 나타내는 ˝1˝상태에 있을 때, 각각의 레지스터(46,47)중의 하나는 어드레스 버스(27-2)에 저장된 주변 포트 어드레스에 위치할 수 있게 된다. 그뒤 DMA데이타 전송은 공지의 기술로서 행해진다.
제3도는 소프트 중재기(31)의 회로도이다.
채널 우선 순위 지정은 디코드 논리(61)가 각각의 어드레스를 검출할 때 레지스터 (92)에 기록된다. 상기 연산은 일반의 포트 어드레스하는 기법으로 행해진다. 채널 우선 순위 지정으로 로드된 레지스터(92)에 있어서, CPU가 소프트 요구중재 사이클이 발생하는 디코드 논리 (61)에 명령을 보냈을때, SEF신호는 플립플롭(62)을 클럭시키는 디코드 논리(61)에 의해서 발생되며, 결과적으로 신호 SOFTREQUEST는 활성 상태로 세트된다(제4도를 참조). 신호 +ARB/-GRANT를 표시하는 중재 주기의 후속 펄스를 받았을때, 플립플롭(63)은 클럭되며, 신호 -SOFTPREEMPT를 발생시킨다. 그뒤 플립플롭(64)의 출력은 또한 높게 클럭되며, 버스 중재기(80)가 중재버스를 따라 채널 우선 순위 지정에 위치하도록 해주는 신호 APRI 0를 활성화한다.
중재 버스에 관한 중재는 +ARB/-GRANT가 활성화될 때 발생하며, 중재 주기의 끝부분에서는 낮은 상태로 되돌아 간다. 만약 중재 버스가 승리한다면, 버스 중재기(80)내의 NAND게이트의 출력은 낮은 상태로 되고, 플립플롭(63)(OR게이트 70 및 AND게이트 71)을 재고정시켜 -SOFTPREEMPT가 상기 불활성(높은)상태로 되돌아간다. 상기 전이는 플립플롭(38,39)을 클럭시키며, 요구 신호를 DMA제어기 IC(50)로 보낸다. 신로 APRI 0은 높은 상태(즉, 중재 버스를 따라 채널 우선 순위 지정을 유지하도륵 해주는)를 유지하며, AND게이트(72)에 대한 양쪽 입력은 높으며, 플립플롭(64)의 입력에 높은 레벨을 위치하게 해준다. 결과적으로 주변 장치의 어드레스는 이미 기술한 방법으로 어드레스 버스(27-2)에 위치하게 된다. 데이타 전송이 완수되었을 때, -TC가 나타나게 되고, -TCC의 펄스를 발생시킨다. 그뒤 플립플롭(62)은 재고정 (변환기 67,OR게이트 69 및 NOR게이트 66을 통해)되며, +SOFTREQUEST신호를 활동치 못하게 해준다.
중재 버스(27-4)를 따라 실제 중재 연산을 수행하는 버스 중재기 (80)에 관하여는 1983년 6월 13일 전기 전자 엔지니어링 회사가 출판한 미합중국 Standard/IEEE스탠다드 제ANSI/IEEE Std 696-2983에 상세하게 기술된 바와 같은 회로이다. 일반적으로 중재 기법에 사용된 각 소자는 상기 회로와 함께 제공되며, 상기 회로는 중재 버스를 통하여 함께 연결된다. 도시된 예에서 중재 버스는 TMA 0에서 TMA 3까지 4개의 데이타 라인을 가지고 있으며, 16개의 다른 중재 레벨을 허용한다. 그러나 원하는 숫자가 사용될 수도 있다. 지정된 중재 시간주기 동안, 버스를 통하여 이득 제어를 하기 위한 모든 소자는 상기 중재 레벨을 버스로 전송시켜준다. 그런 상황은 신호 APRI 0가 ˝1˝상태로 갈때 발생한다. 즉, 본 발명에 있어서, 레지스터(92) (채널우선 순위 지정값이 소자에서 중재 레벨인)내에 유지된 값은 AND게이트(91)를 통해 버스 중재기(80)로 게이트되고, 중재 버스 라인 TMA 0에서 TMA 3로 게이트된다. 중재 주기 끝부분에서, 라인 TMA 0에서 TMA 3까지의 값은 가장 높은 레벨을 가진 소자의 중재 레벨값이 될 것이다.
본 발명은 상기 자체의 중재 회로를 가지고 있지 않은 주변 장치를 포함하는 방법을 컴퓨어 시스템에 제공하는 것이외에, 또한 진단 기구로서 아주 유용하게 사용된다.
본 발명의 관점에서 보면, 일반적으로 예를 들면 파워온(powr on)시간에 수행하는 것과 같은 진단 루틴 기간동안 각 DMA채널은 차례로 검사된다. 즉 상기에서 설명된 소프트 요구 DMA루틴은 각 채널에서 차례로 수행된다.
본 발명에서 이용한 진단 루틴과 같은 예는 제6도의 플로우챠트를 참고하여 설명한다.
모든 DMA채널을 차례로 검사하려면, 처음에 채널 숫자를 0으로 세트시켜야 한다. 채널 숫자는 시스템에 제공된 DMA채널의 총 갯수보다 적으며, 채널 어드레스, 카운트, 모드 및 마스크 레지스터에 기록된다. 다음에 제3도에서 도시된 레지스터(92), 즉 중재값 레지스터는 채널 숫자와 함께 기록되며, 시간 카운터는 0으로 세트되고, 제어신호는 +SOFTREQUEST신호가 ˝1˝상태로 가도록 해주는 소프트 중재기(31)의 디코드논리(61)로 보내어지고, 그곳에서 소프트 요구 중재 사이클을 트리거시킨다. 만약 시간 카운터가 최대 시간 Tmax을 초과하지 않았다면, 전류 상태는 DMA제어기 IC의 상태 레지스터로부터 판독된다. 중재 사이클이 종료되었을때, 채널 어드레스, 카운트, 모드 및 마스크 레지스터는 판독된다. 만약 상기 레지스터가 정확한 값을 가진다면, 채널이 적절하게 연산되어지고, 다음의 채널도 같은 방식으로 검사되도록 결정되어 진다. 만약 그렇지 않다면, 에러 메시지가 나타나게 된다. 또한 에러 메시지는 시간 카운터가 다양 한 레지즈터로부터 올바른 정보를 판독하기 전에 Tmax의 초과시에 나타나게 된다.
본 발명의 또다른 실시예를 제7도를 참고하여 설명한다.
다른 주변 장치에서는 다른 최대 속도로서 데이타를 송수신할 수 있다. 만약 주변 장치의 최대 데이타 전송 속도가 DMA채널이 보유할 수 있는 속도보다 느리다면, 소프트 요구 중재 장치와 연관된 주변 장치는 내부로 오는 데이타로 범람하는 경우가 발생할 수 있다. 본 발명의 또다른 실시예에 따르면 이러한 경우의 발생을 막기 위해서 소프트 요구 중재사이클내의 간격이 주변 장치가 결코 데이타를 범람하지 않게 하는 방식으로 제어 된다.
제7도에서 도시된 실시예에서, 상기 방법은 신호 -SOFTPREEMPT의 속도를 낮춤으로서 작동되며, DMA요구는 단지 선정된 최대 속도에서 발생되어 질 수 있다. 상기 목적을 위해서, 차단 신호 INT는 바람직한 최대 DMA요구 속도에 상응하는 간격에서 발생된다. 신호 INT를 받았을 때, 플립플롭(51)을 클럭시킨다. 플립플롭(52)의 출력은 OR게이트를 통하여 -SOFTPREEMPT신호 온과 오프를 게이트시킨다.
소프트 요구 사이클이 종료된후, 플립플롭(51)은 AND에이트(53)를 통하여 인지 신호 -DACK 0 및 -DACK 1중의 하나에 의해서 재고정된다. 그뒤 신호 INT가 다시 나타날 때까지 어떠한 소프트 요구 사이크도 허용되지 않는다.
이상 설명한 바와 같이 본 발명을 실시할 수 있는 구성에는 다양한 변형이 가능할 것이며, 이러한 변형예도 첨부된 특허청구 범위에 기재된 기술 사상에 포함되는 것이다.

Claims (14)

  1. 적어도 한개의 DMA채널을 가지는 컴퓨터 시스템에 있어서, DMA채널에 억세스하기 위한 제1중재 수단을 가진 적어도 한개의 주변 장치와, 상기 제1중재 수단을 가지고 있지 않은 적어도 한개의 주변 장치로 구성된 복수개의 주변 장치와, 자체 중재 수단을 가지고 있지 않은 상기 적어도 한개의 주변 장치에 대신하여 DMA채널로 억세스하고, 상기 주변 장치의 외부에 설치된 제2중재 수단을 구비한 컴퓨터 시스템.
  2. 제1항에 있어서, 상기 컴퓨터 시스템은 중앙 처리 장치를 가지며, 상기 제2중재 수단은 상기 중앙처리 장치에서 수신된 명령문에 응답하여 DMA채널을 중재하는 수단을 갖는 컴퓨터 시스템 .
  3. 제2항에 있어서, 모든 상기 제1 및 2중재 수단을 상기 연결시키는 중재 버스를 포함하는데, 상기 제1 및 2중재 수단의 각각은 상기 중재 버스상에, 상기 주변 장치들중 대응하는 주변 장치에 대한 중재 우선 순위값을 상기 중재 버스상에 싣는 수단을 포함하는 컴퓨터 시스템.
  4. 제3항에 있어서, 상기 중앙 처리 장치에서 전송된 중재 우선 순위값을 저장하기 위한 상기 제2중재수단내에 저장 수단을 포함하는 컴퓨터 시스템.
  5. 적어도 하나의 DMA채널을 갖는 컴퓨터 시스템에 있어서, 중앙 처리 장치와, 적어도 하나의 채널을 제공하는 수단과, 중재 버스와, 복수개의 주변 장치와, DMA채널에 대한 억세스를 중재하는 제2중재 수단을 포함하되, 상기 주변 장치들중 적어도 하나는 상기 주변 장치들중 대응하는 주변 장치에 대한 중재 우선 순위값을 상기 중재 버스상에 실음으로서 DMA채널에 억세스를 중재하는 제1중재 수단을 가지며, 상기 제2중재 수단은 자체 중재 수단을 갖지 않는 적어도 하나의 주변 장치에 대신하여 DMA채널로 억세스를 위한 중재를 행하고, 상기 주변 장치의 외부에 설치되어 있으며, 상기 DMA채널로 억세스를 위한 중재를 하기 위해서 상기 중앙 처리 장치에 의하여 할당된 중재값을 상기 중재 버스에 싣는 동작을 하도록 되어있는 컴퓨터 시스템.
  6. 제5항에 있어서, 상기 제2중재 수단은, 상기 중앙 처리 장치에 의해 할당되는 중재값을 저장하는 적어도 하나의 저장 수단과, 중재 기간 종료 부분에서 상기 중재 버스에 실린값을 상기 저장 수단에 저장된 상기기 중재값과 비교하는 적어도 하나의 비교 수단과, 상기 중재 버스에 실린 상기 값이 상기 중재값과 같은 상기 비교 수단이 나타낼 때에 상기 주변 장치중의 적어도 하나에 DMA채널을 할당하도록 상기 DMA채널 제공수단에 명령하는 명령 수단을 포함하는 컴퓨터 시스템.
  7. 제6항에 있어서, 상기 저장 수단, 비교 수단 및 명령 수단이 각각 복수개가 제공되어 있는 컴퓨터 시스템.
  8. 제7항에 있어서, 상기 서로 다른 저장 수단들은 중재 수단을 갖지 않는 복수개의 주변 장치를 대신하여 동시에 중재가 행해지도록 서로 다른 값들을 저장하도록 되어 있는 컴퓨터 시스템.
  9. 제7항에 있어서, 상기 각종의 저장 수단들은 상기 주변 장치들중 동일한 주변 장치에 대해서 서로 다른 중재 레벨로 동시에 중재하기 위하여 서로 다른 값들을 저장하도록 되어 있는 컴퓨터 시스템.
  10. 제6항에 있어서, 상기 중앙 처리 장치와 상기 주변 장치를 상호 접속시키는 어드레스 버스 및 데이타 버스를 포함하며, 상기 제2중재 수단은, 상기 DMA채널 할당 수단이 DMA채널을 적어도 하나의 상기 주변 장치에 할당할 때에 상기 어드레스 버스상에 상기 적어도 하나의 주변 장치를 나타내는 어드레스를 싣기 위하여, 상기 데이타 버스에 결합된 입력 포트와 상기 어드레스 버스에 결합된 출력 포트를 구비하는, 적어도 하나의 레지스터를 포함한 컴퓨터 시스템.
  11. 제7항에 있어서, 상기 중앙 처리 장치와 상기 주변 장치를 상호 접속시키는 어드레스 버스 및 데이타 버스를 포함하며, 상기 제2중재 수단은 상기 DMA채널 할당 수단에 의해서 DMA채널이 할당된 하나의 상기 주변 장치를 나타내는 어드레스를 상기 어드레스 버스상에 싣기 위하여, 상기 데이타버스에 결합된 입력 포트와, 상기 어드레스 버스를 결합된 출력 포트를 제각기 구비하는, 복수개의 레지스터를 포함한 컴퓨터 시스템.
  12. 제5항에 있어서, 상기 제2중재 수단은 상기 적어도 하나의 주변 장치를 대신하여, 중재간에 소정의 최소 간격을 설정하는 수단을 포함하고, 이에 의하여 상기 적어도 하나의 주변 장치는 자신이 데이타를 수신할 수 있는 것보다 큰 속도로 데이타를 전송할 수 있는 하나의 DMA채널을 제공하는 상기 수단으로 인한 데이타 전송에 의하여 오버런(overrun)이 되지 않도록 되어 있는 컴퓨터 시스템.
  13. 적어도 하나의 DMA채널을 가지며, 상기 DMA채널에 억세스하기 위해 중재하는 중재 회로를 갖는 적어도 하나의 주변 장치와, 상기 DMA채널에 억세스하기 위해 중재하는 중재 회로를 갖는 않는 적어도 하나의 주변 장치를 수용하는데 적합하며, 상기 주변 장치가 DMA채널에 억세스를 요구하는 수단을 가진 컴퓨터 시스템에 있어서, 상기 DMA채널에 억세스하기 위한 주변 장치로부터의 요구문(request)을 수신하는 수단과, 중재 회로를 갖지 않는 주변 장치를 대신하여 상기 채널에 억세스하기 위한 중재 수단을 구비한 것을 특징으로 하는 컴퓨터 시스템.
  14. 컴퓨터에 있어서, 프로세서, 메모리, DMA제어기, 적어도 하나의 DMA채널과, 상기 프로세세서, 상기 메모리, 상기 DMA제어기 및 시스템 중재 회로를 갖는 상기 DMA채널을 접속하기 위한 시스템 버스와, 중재 회로를 갖는 적어도 하나의 주변 장치와 중재 회로를 갖지 않는 적어도 하나의 주변 장치를 상기 버스에 접속시키는 수단을 포함하되, 상기 주변 장치는 상기 DMA채널에 억세스를 요구하는 수단을 가지며, 상기 시스템 중재회로는 상기 DMA채널에 억세스하려는 주변 장치로부터의 요구문을 수신하고, 중재 회로를 갖지 않는 주변 장치를 대신하여 중재하는 수단을 갖도록 되어 있는 컴퓨터.
KR1019880002040A 1987-03-27 1988-02-27 컴퓨터 시스템 Expired - Fee Related KR950008228B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US3078887A 1987-03-27 1987-03-27
US030,788 1987-03-27
US030788 1993-03-12

Publications (2)

Publication Number Publication Date
KR880011679A KR880011679A (ko) 1988-10-29
KR950008228B1 true KR950008228B1 (ko) 1995-07-26

Family

ID=21856040

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019880002040A Expired - Fee Related KR950008228B1 (ko) 1987-03-27 1988-02-27 컴퓨터 시스템

Country Status (19)

Country Link
EP (1) EP0283580B1 (ko)
JP (1) JPH0724044B2 (ko)
KR (1) KR950008228B1 (ko)
CN (1) CN1012295B (ko)
AR (1) AR244899A1 (ko)
AT (1) ATE75865T1 (ko)
BE (1) BE1001290A4 (ko)
BR (1) BR8800739A (ko)
CA (1) CA1299295C (ko)
DE (1) DE3778877D1 (ko)
ES (1) ES2032288T3 (ko)
FR (1) FR2613096A1 (ko)
GB (1) GB2202975B (ko)
GR (1) GR3004930T3 (ko)
HK (1) HK65392A (ko)
IT (1) IT1217359B (ko)
MY (1) MY103351A (ko)
NL (1) NL185312C (ko)
SG (1) SG67992G (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7089344B1 (en) * 2000-06-09 2006-08-08 Motorola, Inc. Integrated processor platform supporting wireless handheld multi-media devices
JP2010165175A (ja) * 2009-01-15 2010-07-29 Internatl Business Mach Corp <Ibm> バスの使用権を制御する装置および方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3603935A (en) * 1969-05-12 1971-09-07 Xerox Corp Memory port priority access system with inhibition of low priority lock-out
IT971304B (it) * 1972-11-29 1974-04-30 Honeywell Inf Systems Sistema di accesso a priorita variabile dinamicamente
US4281381A (en) * 1979-05-14 1981-07-28 Bell Telephone Laboratories, Incorporated Distributed first-come first-served bus allocation apparatus
US4371932A (en) * 1979-07-30 1983-02-01 International Business Machines Corp. I/O Controller for transferring data between a host processor and multiple I/O units

Also Published As

Publication number Publication date
NL185312B (nl) 1989-10-02
BR8800739A (pt) 1988-10-04
GB2202975B (en) 1991-09-25
AR244899A1 (es) 1993-11-30
EP0283580B1 (en) 1992-05-06
FR2613096A1 (fr) 1988-09-30
ES2032288T3 (es) 1993-02-01
JPS63244161A (ja) 1988-10-11
HK65392A (en) 1992-09-11
DE3778877D1 (de) 1992-06-11
CN1012295B (zh) 1991-04-03
EP0283580A1 (en) 1988-09-28
SG67992G (en) 1992-09-04
CA1299295C (en) 1992-04-21
JPH0724044B2 (ja) 1995-03-15
IT8819946A0 (it) 1988-03-25
NL185312C (nl) 1990-03-01
NL8800737A (nl) 1988-10-17
GB8728921D0 (en) 1988-01-27
BE1001290A4 (fr) 1989-09-19
IT1217359B (it) 1990-03-22
ATE75865T1 (de) 1992-05-15
KR880011679A (ko) 1988-10-29
GB2202975A (en) 1988-10-05
GR3004930T3 (ko) 1993-04-28
CN88100963A (zh) 1988-12-28
MY103351A (en) 1993-06-30

Similar Documents

Publication Publication Date Title
US5006982A (en) Method of increasing the bandwidth of a packet bus by reordering reply packets
US4698753A (en) Multiprocessor interface device
US6678777B2 (en) Integrated real-time performance monitoring facility
US4763249A (en) Bus device for use in a computer system having a synchronous bus
EP0288607B1 (en) Computer system having a multi-channel direct memory access arbitration
US4797815A (en) Interleaved synchronous bus access protocol for a shared memory multi-processor system
EP0184657A2 (en) Multicomputer digital processing system
US4661905A (en) Bus-control mechanism
EP0087367A2 (en) Interchangeable interface circuitry arrangements for use with a data processing system
EP0140751A2 (en) Cache invalidation mechanism for multiprocessor systems
JPS61109164A (ja) バス制御方法
JPH071495B2 (ja) データ処理システム
EP0301610A2 (en) Data processing apparatus for connection to a common communication path in a data processing system
KR930002787B1 (ko) 주변 제어기와 어댑터 인터페이스
GB2228349A (en) Data transfer bus with virtual memory
US5828891A (en) Multilevel interrupt device
US5241661A (en) DMA access arbitration device in which CPU can arbitrate on behalf of attachment having no arbiter
US5894562A (en) Method and apparatus for controlling bus arbitration in a data processing system
US4670855A (en) Interchangeable interface circuit structure
KR900001120B1 (ko) 우선도가 낮은 유니트를 우선도가 높은 위치에 위치시키기 위한 분배된 우선도 회로망 로직을 가진 데이타 처리 시스템
US5036456A (en) Apparatus for controlling concurrent operations of a system control unit including activity register circuitry
US5307466A (en) Distributed programmable priority arbitration
EP0139568B1 (en) Message oriented interrupt mechanism for multiprocessor systems
KR950008228B1 (ko) 컴퓨터 시스템
KR930005726B1 (ko) Cpu의 버스 소유권의 해제 방지 지연논리

Legal Events

Date Code Title Description
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

R17-X000 Change to representative recorded

St.27 status event code: A-3-3-R10-R17-oth-X000

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

A201 Request for examination
P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

G160 Decision to publish patent application
PG1605 Publication of application before grant of patent

St.27 status event code: A-2-2-Q10-Q13-nap-PG1605

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U11-oth-PR1002

Fee payment year number: 1

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

St.27 status event code: A-4-4-U10-U13-oth-PC1903

Not in force date: 19980727

Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

PC1903 Unpaid annual fee

St.27 status event code: N-4-6-H10-H13-oth-PC1903

Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date: 19980727

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000