KR920004416B1 - 개량된 통신제어장치에 사용된 데이타 처리장치 - Google Patents

개량된 통신제어장치에 사용된 데이타 처리장치 Download PDF

Info

Publication number
KR920004416B1
KR920004416B1 KR1019850000101A KR850000101A KR920004416B1 KR 920004416 B1 KR920004416 B1 KR 920004416B1 KR 1019850000101 A KR1019850000101 A KR 1019850000101A KR 850000101 A KR850000101 A KR 850000101A KR 920004416 B1 KR920004416 B1 KR 920004416B1
Authority
KR
South Korea
Prior art keywords
data
signal
bus
clock signal
synchronization
Prior art date
Application number
KR1019850000101A
Other languages
English (en)
Other versions
KR850005641A (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 KR850005641A publication Critical patent/KR850005641A/ko
Application granted granted Critical
Publication of KR920004416B1 publication Critical patent/KR920004416B1/ko

Links

Images

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Transfer Systems (AREA)
  • Communication Control (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)

Abstract

내용 없음.

Description

개량된 통신제어장치에 사용된 데이타 처리장치
제 1 도는 종래 기술의 데이타 처리장치의 블록도.
제 2 도는 본 발명에 따르는 데이타 처리장치의 블록도.
제 3 도는 제 2 도에 도시한 데이타 처리장치에 사용되는 데이타 버퍼의 구체적인 블록도.
제 4 도는 제 2 도에 도시한 데이타 처리장치에 사용된 제 1 중앙처리장치(CPU1)의 구체적인 블록도.
제 5 도는 제 2 도에 도시한 데이타 처리장치에 사용된 제 2 중앙처리장치(CPU2)의 구체적인 블록도.
제 6a 는 제 2 도에 도시한 데이타 처리장치에 사용된 등가회로의 회로도.
제 6b 는 제 6a 도의 회로에서 사용되는 플립플롭의 회로도.
제 7 도는 제 6 도의 회로에 의하여 발생되는 신호의 타이밍도.
* 도면의 주요부분에 대한 부호의 설명
107, 108 : 버스 110 : 호스트 처리장치
112 : DMAC회로 114 : RAM
116 : 디코더 120 : 외부 입/출력장치
200 : 통신제어장치 203 : 데이타 버퍼
204 : 내부버스
본 발명은 호스트 시스템, 입/출력장치, 상기 호스트 시스템과 상기 입/출력장치 사이의 데이타 전송을 제어하기 위해 동작하는 통신제어장치를 포함하는 데이타 처리장치에 관한 것이다.
디스크제어기와 같은 종류의 통신제어장치에는 제 1 클럭 신호에 응답하여 호스트 시스템이 동작하게 되는 부분과 제 2 클럭신호에 응답하여 디스크장치와 같은 입/출력장치가 동작하게 되는 부분의 2가지 부분이 있다.
제 1 도는 먼저 입력된 것이 먼저 출력되는(first-in first-out:"FIFO)레지스터(120)를 내포하는 통신 제어장치(101), 제 1 중앙처리장치(103), 동기회로(104), 제 2 중앙처리장치(105), 레지스터군(106) 등을 포함하는 종래 기술의 데이타 처리장치의 내부의 블록도이다.
이 통신제어장치(101)은 버스(107)에 의하여 호스트 시스템(100)에 접속되어 있고, 버스(108)에 의하여 외부 입/출력장치(120)에 접속되어 있다.
이 호스트 시스템(100)은 호스트 처리장치(110), 메모리를 직접 메모리 액세스회로 DMAC(112)와 랜덤 액세스 메모리 RAM(114)를 포함하고 있다. 디코더(116)은 버스(107)의 어드레스를 디코드하여 그 디코드된 어드레스가 제 1 중앙처리장치용일 때에 제 1 중앙처리장치(103)을 동작시키기 위하여 마련되어 있다.
호스트 시스템(100)에서 매크로 코맨드가 발생되었을 때, 제 1 중앙처리장치(103)은 그 매크로 코맨드를 디코드하여, 이것보다 저레벨의 명령의 조합으로 변환시켜서 레지스터군(106)에 저장시킨 다음에 제 2 중앙처리장치(105)가 명령을 실행하는데 필요한 제어 파라미터와 상기 각 명령들을 버스(204)를 지나서 제 2 중앙처리장치(105)에 보낸다. 제 2 중앙처리장치(105)가 명령을 실행하기 위하여 제 2 중앙처리장치에 대한 지시로서 제 1 중앙처리장치(103)으로부터 동기회로(104)로 개시신호가 보내진다. 이 개시신호는 동기회로(104)에 의해 제 2 중앙처리장치(105)를 제어하는 제 2 클럭신호에 동기된 신호로 변환되어서 제 2 중앙처리장치(105)에 공급된다. 제 2 중앙처리장치(105)는 레지스터군(106)에 기억된 내용을 리드하여, 레지스터군(106)의 내용에 따라서 입/출력장치(120)으로부터 데이타를 리드하기 위한 명령을 실행하고, 이 리드데이타를 (102)에 라이트시킨다. 제 1 중앙처리장치(103)은 제 2 중앙처리장치(105)에 의하여 라이트동작이 수행되고 있을 때, 이와 병행하여 FIFO(102)로부터 데이타의 리드를 시작하고 리드된 데이타를 버스(107)를 통하여 데이타 버퍼(109)에 보낸다. 데이타의 한 블럭이 데이타 버퍼(109)에 라이트된 다음에 DMAC(112)는 한 블럭의 데이타를 RAM(114)로 전송한다.
다음에는 왜 FIFO(102)가 필요한지 설명한다. 만일 제 1 도의 회로를 수정하여 FIFO(102)를 회로에서 제거하고 입/출력장치로 부터의 리드 데이타를 버스(107)을 통하여 데이타 버퍼(109)에 직접 라이트시킬 때에는 다음과 같은 문제가 발생된다. 제 2 중앙처리장치(105)에 의하여 한 블럭의 데이타가 데이타 버퍼(109)에 라이트되고 있는 동안, 호스트 처리장치(110)이 버스(107)을 사용하게 될지도 모르기 때문이다. 예를들면, RAM(114)를 다이나믹형의 메모리로 형성하였을 때, 이 RAM(114)를 재생시키기 위하여 호스트 처리장치(110)이 버스(107)을 사용하게 된다. 그러므로, 이때에는 데이타 버퍼(109)에 데이타를 라이트하기 위해 버스(107)을 사용할 수가 없다. 입/출력장치(120)으로 부터의 연속적이 리드데이타를 이 라인(107)을 통하여 데이타 버퍼(109)로 보내질 수 있도록 버스(107)을 다시 사용할 수 있게 될 때까지 FIFO(102)에 일시적으로 보관시켜두기 위하여 FIFO(102)가 설치된 것이다.
그러므로, 이 FIFO는 FIFO로부터의 리드동작과 FIFO에서의 라이트동작이 서로 다른 클럭에 응답하여 이루어지도록 고속으로 동작하여야 한다. 이렇게 되기 때문에 FIFO의 회로형태가 복잡하게 된다.
본 발명의 목적은 종래의 기술의 FIFO가 필요하지 않는 통신제어장치를 갖는 데이타처리장치를 제공하는 것이다.
상기의 목적을 달성하기 위하여 본 발명에서는 제 1 과 제 2 중앙처리장치 사이에 데이타버퍼를 접속하여, 입/출력장치와 같은 데이타소스로 부터의 데이타리드에 의한 개시신호에 반응하는 개시신호를 제 1 중앙처리장치에서 제 2 중앙처리장치로 보내고, 다음에 리드된 데이타를 데이타 버퍼로 라이트하는 것이다. 라이트동작이 끝난 후, 제 2 중앙처리장치는 제 1 중앙처리장치에 종료신호를 보낸다.
이하, 본 발명의 구성에 대해서 실시예와 함께 설명한다.
제 2 도에서 통신제어장치는 동기회로(500), 데이타버퍼(203), 제 1 중앙처리장치(CPU1)(300)과 제 2 중앙처리장치(CPU2)(400)을 포함하며, 이 제 1 중앙처리장치(300)과 제 2 중앙처리장치(400)은 모두 내부버스(204)에 의하여 데이타버퍼(203)에 접속되어 있다.
제 2 도에서 제 1 도의 부분과 같은 번호가 붙어있는 부분을 제 1 도에서와 동등한 부분들이다.
CPU1은 호스트 처리장치(110)을 구동하는 클럭에 의하여 구동되고, CPU2는 외부 입/출력장치(120)을 구동하는 클럭에 의하여 구동된다. CPU1과 CPU2가 서로 동기가 되지 않은 상태로 동작하고 있기 때문에 CPU1과 CPU2 상호간의 핸드쉐이크 제어신호가 동기 회로(500)에 의하여 동기되어 있다. CPU1과 CPU2는 모두 마이크로 컴퓨터형의 회로이다. 데이타뿐만 아니라 제어하는데 필요한 파라미터들어 CPU1과 CPU2의 사이에서 내부데이타버스(204)와 데이타버퍼(203)을 통하여 전송된다. 다시 말하면, 제 1 도에 도시한 종래 기술의 장치에서 제어 파라미터를 전송하는데 필요한 레지스터군을 생략할 수 있게 하고, 제어파라미터들은 데이타버퍼(203)을 통하여 전송하게 한다.
제 3 도는 어드레스 카운터(303)과 랜덤 액세스 메모리(RAM)(304)를 포함하는 데이타버퍼(203)의 중요부분의 회로도이다. 어드레스 카운터(303)은 RAM(304)를 액세스하는데 필요한 어드레스신호를 발생하는데 사용되며, RAM(304)는 제어 파리미터를 저장하는 영역(304A)와 데이타를 저장하는 영역(304B)로 크게 나눌 수가 있다.
호스트 처리장치는 버스(107)을 통하여 매크로 코맨드를 실행하는데 필요한 제어파라미터뿐만 아니라 매크로 코맨드도 CPU1에 보낸다. CPU1은 이 제어파라미터를 데이타버퍼(203)의 제어파라미터영역(304A)에 저장한 다음에 CPU2가 입/출력장치(120)에서 리드동작을 실행하기 위한 지시를 하는 명령을 CPU2에 버스(204)를 통하여 보낸다. CPU1이 각 명령을 보내고난 뒤, CPU1은
Figure kpo00001
에 동기된 명령실행개시신호(301)을 동기회로(500)에 보낸다. 그러면 동기회로(500)은 개시신호(301)에 응답하여
Figure kpo00002
에 동기된 사용중 신호(busy state signal)(302)를 CPU1에 보내고 또한
Figure kpo00003
에 동기된 명령실행허가신호(503)를 CPU2에 보낸다. 여기서
Figure kpo00004
에 동기되거나,
Figure kpo00005
에 동기되어진 신호는 클럭
Figure kpo00006
또는
Figure kpo00007
에 각각 동기된 신호를 의미한다.
CPU2는
Figure kpo00008
에 동기된 허가신호에 응답하여 새로 받아 들어진 명령을 실행한다. 명령의 실행과정에서 CPU2는 데이타버퍼(203)의 제어파라미터영역(304A)에서 제어파라미터를 리드하여, 입/출력장치(120)을 제어하여서 제어파라미터에 의하여 지정된 한 블럭의 데이타가 입/출력장치로부터 리드되어 나오게 하고, 이 리드된 한 블럭의 데이타를 데이타버퍼(203)의 데이타저장영역(304B)에 보낸다.
각 명령의 실행을 완료한 다음에 CPU2는
Figure kpo00009
에 동기된 명령실행 종료신호(504)를 동기회로(500)에 보내고, 동기회로(500)은 이 신호(504)에 응답하여 허가신호(503)을 리세트시키고, 다음에 사용중신호(302)를 리세트시킨다. CPU1은 이 사용중신호(302)의 리세트에 응답하여 다음의 명령을 CPU2에 보낸다.
CPU2에 의하여 모든 명령이 실행된 다음에 CPU1은 데이타버퍼(203)의 데이타 저장영역(304B)로 부터 버스(204)를 통하여 데이타를 리드하고, 이것을 버스(107)을 통하여 호스트처리장치(110)으로 보낸다. 이렇게 하기 위하여 CPU1은 먼저 송신요구신호(702)를 DMAC(112)에 보내고, 이 DMAC(112)는 신호(702)에 응답하여 호스트처리 장치에 라인(113)을 통하여 요구신호를 보낸다. 그리고, DMAC(112)는 ACK신호(701)을 CPU1에 보내고, 이 CPU1은 신호(701)에 응답하여 데이타버퍼(203)에 있는 데이타를 1바이트씩 버스(107)을 통하여 RAM(114)로 보내기 시작한다.
만일 호스트처리장치(110)이 어느때든지 버스(107)을 사용하고자 할 때, DMAC(112)는 호스트처리장치(110)으로 부터 버스(107)의 사용권리를 부여받지 못하게 되므로, DMAC는 ACK신호(701)을 CPU1에 보내지 않는다. 이 경우에 CPU1은 다시 ACK신호(701)이 들어올 때까지 다음의 데이타 바이트를 보내는 것을 중지한다. 이렇게해서 데이타를 입/출력장치(120)으로부터 RAM(114)로 종래 기술에서의 FIFO(102)(제 1 도 참조)을 사용하지 않고 보낼 수가 있다.
제 4 도는 CPU1의 회로도를 도시한 것이다. (702A)는 ROM(read only memory)을 표시하며, CPU1의 동작을 제어하는 마이크로명령을 저장하는 곳이다. 제어회로 CONT1(704A)는 리드된 마이크로명령을 디코드하여 다음의 마이크로 명령 어드레스와 CPU1에 들어온 여러 가지 신호에 응답하여 여러 가지 제어신호를 발생한다. 그래서 다음의 어드레스신호가 ROM(702A)에 보내진다. 이 제어신호에는 CPU1내의 여러 가지 레지스터를 세트시키는 신호와 버스(204)로 보내야 할 신호들이 포함된다. 제 4 도에는 데이타 버스(204)에 보내지는 제어신호들과 다음 명령의 어드레스 신호만이 도시되어 있다.
제 4 도에서(706A)는 여러개의 레지스터들이 집단, (708A)는 연산장치 또는 논리동작장치(ALU1),(710)은 어큐뮬레이터(ACC1)을 표시한다. 그리고 (712A)는 입력레지스터(IPR1),(714A)는 출력레지스터(OPR1),(716A)는 상태레지스터(STR1),(718A)는 명령레지스터(CMR1),(720A)는 송신레지스터(SR1),(722A)는 수신레지스터(RR1)을 각각 표시하며, 이 모든 요소들은 모두 내부버스(204)에 접속되어 있다. 입력레지스터(712A)에는 칩선택 논리회로(724A)와 (725A)에서 오는 CPU1의 액세스 신호(800), DMAC(112)에서 보내지는 DMA ACK신호(701) 및 동기회로(500)으로 부터 보내오는 사용중신호(302)가 입력된다. 이들 신호들은 마이크로 명령의 실행에 의하여 체크되고, 그 체크된 결과에 따라서 프로그램 명령의 순서가 변경된다. 출력레지스터(714A)는 레지스터(706A)에서 명령의 실행결과로서 만들어진 명령실행 개시신호를 버스(204)를 통하여 받아 들여서 동기회로(500)에 보낼 명령실행 개시신호(301)을 발생한다.
CPU1은 상태레지스터(716A), 명령레지스터(718A), 송신레지스터(720A) 및 수신레지스터(722A) 등의 수단에 의하여 시스템버스(107)에 접속되어 있다. 칩선택 논리회로(724A)와 (725A)는 입력레지스터(712A)에 보내서 CPU1이 호스트 처리장치(110)에 의하여 선태되었다는 것을 표시하는 CPU1의 액세스신호(800)을 발생한다. 이 칩선택 논리회로(724A)는 또 호스트를 리드하기 위하여 상태레지스터(716A)에 보내거나 호스트를 세트시키기 위하여 명령레지스터(718A)에 각각 보낼 신호(726A) 및 (728A)도 발생한다. 칩선택논리회로(725A)는 또 호스트를 리드하기 위하여 송신레지스터(720A)에 보내거나 호스트를 세트시키기 위하여 수신레지스터(722A)에 각각 보낼 신호(730A) 또는 (732A)도 발생한다. CPU1내의 모든 회로요소들은 클럭
Figure kpo00010
에 동기되어 동작한다. 그러므로 CPU1에 의하여 발생된 모든 신호들은 클럭
Figure kpo00011
에 동기되어 있고, 또 CPU1로 보내지는 모든 신호들도 클럭
Figure kpo00012
에 동기되어 입력된다.
CPU2의 회로도를 제 5 도에 도시한다. 제 5 도에서 숫자의 번호 다음에 문자 B가 붙은 부분은 제 4 도에서 문자 A가 붙은 부분과 동등한 요소이다. 제 5 도에서 (730)은 CPU2가 내부버스이며, 이 내부버스는 상태레지스터(716B)와 명령레지스터(718B)를 거쳐서 통신제어장치(200)의 내부버스(204)에 접속되어 있다. CPU2는 모두가 버스(204)에 접속된 레지스터(310) 및 (311)과 카운터(312)를 포함하고, 또한 레지스터(310)과 (311)에 접속된 비교기(313)을 포함한다. 이들 회로요소(310) 내지(313)들은 데이타버퍼(203)과 입/출력장치(120)과의 사이의 데이타전송을 제어하기 위하여 사용된다. 이 레지스터(310)은 연속적으로 데이타비트를 받아들이고, 이 받아들인 데이타비트를 병렬로 만들어서 버스(204)로 보내거나 또는 그와 반대의 동작을 한다. 명령실행 허가신호(503)이나, 라인(108a-1)을 거쳐서 입/출력장치(120)으로 부터 보내온 여러 가지 신호와 같은 기타의 신호뿐만 아니라, 비교기(315)와 카운터(312)의 출력신호도 입력레지스터(712B)에 의하여 수신된다. 출력레지스터(714B)는 입/출력장치(120)에 보낼 제어신호(108a-2)와 동기회로(500)에 보낼 명령실행 종료신호(504)를 발생한다. 제어히로(704B)에 의하여 발생된 여러 가지 신호들중에서 버스(204)에 나타나게 되는 신호들만을 제 5 도에 도시하였다. 상태레지스터(716B)와 제어레지스터(718B)를 제외한 CPU2내의 모든 회로요소들은 클럭
Figure kpo00013
에 동기되어 동작한다. 이들 2개의 레지스터(716B)와 (718B)는 그들이 CPU1에 의하여 액세스되었을 때에는 클럭
Figure kpo00014
에 동기되어 동작하고, 그들이 CPU2에 의하여 액세스되었을 때에는 클럭
Figure kpo00015
에 동기되어 동작한다. CPU2의 핵심부분이 클럭
Figure kpo00016
에 동기되어 동작하므로, CPU2는 일반적으로 클럭
Figure kpo00017
에 동기되어 동작한다고 볼 수가 있다.
다음의 설명에 의하여 제 2 도에 도시한 데이타 처리장치의 구조가 명백하게 될 것이다. (호스트 처리장치로 부터 데이타버퍼로 보내는 제어파라미터의 전송) 호스트 처리장치(110)은 디스크장치와 같은 입/출력장치(120)으로 부터 데이타를 리드하기 위해서 통신제어 장치(200)에 버스(107)을 통하여 매크로 코맨드를 지시한다. 즉, 호스트 처리장치가 매크로 코맨드로 구성된 데이타, CPU1내에 있는 상태레지스터(716A)(제 4 도 참조)를 위한 공통의 미리 정해진 어드레스 및 라이트 요구신호를 버스(107)에 보낸다. 버스(107)로 보내온 어드레스신호에 응답하여 디코더(116)(제 2 도 참조)은 제 1 선택신호(703)을 CPU1에 보낸다. CPU1은 또 버스(107)을 거쳐서 보내오는 라이트요구신호를 라인(704)를 통하여 받아들이고, 라인(705)를 통하여 매크로 코맨트로 받아들인다.
제 1 선택신호(703)과 라이트요구신호(704)에 응답하여 칩선택논리회로(724A)는 라인(800)에 보내진 매크로코맨드가 CPU1내에 명령레지스터(718A)에 라이트될 수 있도록 세트신호(728A)를 발생한다.
칩선택논리회로(724A)는 또 입력레지스터(712A)가 받아들이는 CPU1의 액세스신호(800)도 발생한다. 이 신호(800)을 응답하여 CPU1은 마이크로 명령의 프로그램루틴을 시작하여 입/출력장치(120)으로부터 데이타를 리드한다. 이 프로그램 루틴은 CPU2에 의하여 입/출력장치(120)으로부터 데이타를 리드하는 과정을 제어하기 위하여 CPU2에 보내는 다수개의 명령들을 포함한다.
이러한 명령들을 보내기 전에 CPU1은 CPU2가 입/출력장치로 부터 데이타를 리드하는 데 필요한 제어파라미터가 들어올 때까지 대기한다. CPU1의 수신레지스터(722A)에 기억될 제어파리미터들은 호스트 처리장치(110)에 의하여 발생된다. 이 호스트처리장치(110)은 제어파라미터를 나타내는 데이타를 버스(107)로 보내고, 또한 라이트요구신호에 따라 CPU1내에 있는 송신레지스터(720A)(제 4 도 참조)와 수신레지스터(722A)(제 4 도 참조)에 공통으로 보내기 위해 미리 지정된 어드레스신호도 역시 버스(107)로 보낸다.
버스(107)로 보내진 어드레스신호에 응답하여 디코더(116)(제 2 도 참조)은 제 2 선택신호(706)을 CPU1에 보낸다.
CPU1은 이 신호(706)과 라인(704)에 보내진 라이트 요구신호에 응답하여 라인(705)의 제어파라미터를 수신레지스터(722A)(제 4 도 참조)에 의하여 받아들인다. CPU1은 받아들인 제어파라미터를 후에 좀더 구체적으로 설명되어질 버스(204)를 거쳐서 데이타버퍼(203)에 보낸다. 이 호스트처리장치(110)과 CPU1은 이상과 같은 동작을 여러번 반복하여 다수개의 제어파라미터들을 모두 호스트처리장치(110)에서 데이타버퍼(203)으로 보낸다.
제어파라미터들중의 하나는 데이타 ID워드일 수 있으며, 이 데이타 ID 워드는 각 데이타의 어드레스를 포함해서 각 데이타의 특징을 지정하고, 또 각 데이타의 앞쪽에 기록되어 있는 페치할 데이타의 데이타 ID 워드를 나타낸다. 제어파라미터들중의 또 하나는 페치할 데이타의 데이타길이일 수가 있다.
기타의 제어파라미터들이 제 2 도에 도시한 데이타처리장치에 사용되고 있다. 그러나 기타의 제어파라미터들은 본 발명과 밀접한 관계가 없는 것이므로, 그것에 대하여 구체적으로 설명하지 않는다.
이 제어파라미터들을 데이타버퍼(203)에 라이트시키는 동작은 다음과 같이 실행된다. 어드레스 카운터(303)을 프리세트하기 위해 매크로 코맨드를 데이타버퍼(303)(제 3 도 참조)에 받아들인 다음에, CPU1은 데이타버퍼(203)의 제어파라미터 저장영역(304A)의 소정의 헤더어드레스신호를 버스(204)로 출력하고, 또한 데이타 스트로브신호를 버스(204)에 출력한다. 데이타버퍼(203)의 카운터(303)(제 3 도 참조)은 버스(204)로부터 라인(306)을 거쳐서 들어온 데이타 스트로브신호에 응답하여 버스(204)로 부터 라인 (304)를 거쳐서 들어온 헤더 어드레스를 카운터(303)내에 세트한다. 그렇게 한 다음에 또 호스트 처리장치(110)으로 부터 보내진 제어파라미터를 받아들이고 나서 CPU1은 받아들인 제어파라미터를 데이타버퍼 액세스 신호와 라이트요구신호와 함께 데이타버스(204)에 출력한다.
라인(305)를 거쳐서 들어온 데이타버퍼 액세스신호와 라인(307)을 거쳐서 들어온 라이트요구신호에 응답하여, RAM(304)는 라인(304)을 거쳐서 들어온 데이타를 카운터(303)에 의하여 지정된 어드레스의 장소, 즉 헤더 어드레스 부분에 기억한다. RAM(304)는 라인(307)에 보내진 라이트요구신호 또는 리드요구신호를 사용하여 데이타의 라이트 동작과 리드동작을 판별하고, 이들 신호들을 CPU1 또는 CPU2에 의하여 데이타버퍼(203)을 액세스할 때에 버스(204)에 보낸다. 또한, 데이타버퍼 액세스신호는 카운트업하는 클럭신호로서 라인(305)를 통하여 어드레스카운터(303)에 보내져서 데이타버퍼의 액세스가 끝날 때마다 카운터(303)의 값을 1만큼씩 증가시킨다. 만일 데이타버퍼(203)이 RAM(304)의 리드동작이 번지수가 큰 어드레스로 부터 번지수가 작은 어드레스의 순서에 따라 실행되도록 구성된다면, 어드레스카운터(303)에 다운카운터를 사용할 수가 있다.
다음에는 수신한 제어파라미터뿐만 아니라 반복해서 라이트요구신호와 버퍼액세스신호를 버스(204)에 유사한 방법으로 보내므로서, CPU1은 다음의 제어파리미터를 호스트 처리장치(110)으로 부터 수신하여, 이것을 데이타 버퍼(203)에 기억시킨다. 같은 동작을 반복하므로서 모든 제어파라미터를 RAM(304)에 기억시킨 다음에 CPU1은 헤더 어드레스가 제어파라미터의 저장영역(304A)를 나타나게 하고, 어드레스카운터(303)을 다시 초기상태로 세트시킨다. 결과적으로 CPU2는 후에 설명하는 바와같이 헤더 어드레스와 더불어 카운터를 초기상태로 세트하지 않고 모든 제어파라미터를 리드할 수가 있다.
이렇게 해서 CPU1은 제어파리미터를 데이타버퍼(203)의 제어파라미터 저장영역(304A)의 연속적인 어드레스에 소정의 순서대로 기억시킬 수가 있다.
CPU1이 데이타버퍼(203)에 제어파라미터를 보내기 위해서 데이타버퍼(203)과 결합되어 있을 때에 CPU1은 상태레지스터(716A)에 사용중이라는 플래그를 세트한다. 호스트 처리장치(110)은 이 상태레지스터(716A)를 감시하여 CPU1이 상태레지스터(716A)에 세트시켰던 사용중 플래그를 리세트시킨 후에 다음의 제어파라미터를 CPU1에 보낸다. (입/출력장치로 부터 데이타버퍼로 가는 데이타) CPU1은 제 1 명령을 버스(204)에 보낸다.
CPU2의 명령레지스터(718B)는 클럭
Figure kpo00018
에 동기되어 이 명령을 받아들인다. 그후에 CPU1은 명령실행 개시신호(301)을 동기회로(500)에 보내고, 동기회로(500)은 이 명령실행 개시신호(301)에 응답하여 제 7 도에 도시한 것과
Figure kpo00019
에 동기된 사용중 신호를 발생하고, 다음에
Figure kpo00020
에 동기된 명령실행 허가신호(503)을 발생한다. 허가신호(503)이 시작되는 것에 응답하여 CPU2는 명령레지스터(718B)안에 저장되어 있는 명령에 따라 마이크로명령의 프로그램 루틴을 시작한다.
입/출력장치(120)으로 부터 데이타를 리드하기 위해서 CPU2가 각 데이타블럭보다 먼저 입/출력장치(120)으로 부터 수신된 데이타블럭의 특징을 나타내는 데이타 ID워드를 조사하여, 현재 수신한 데이타 ID워드 다음에 뒤이어 호스트 처리장치(110)에 의하여 보내진 것과 같은 데이타 ID 워드의 데이타인지 아닌지를 결정할 필요가 있다. CPU2는 또 호스트 처리장치(110)에 의하여 주어진 데이타 길이를 기초로 하여 입/출력장치(120)으로 부터 받아들여지는 데이타의 종료타이밍을 결정하는 등의 결정을 반드시 하여야 한다. 이러한 동작을 하기 위해서 CPU2는 데이타버퍼(203)에 이미 저장되어 있는 제어파라미터들을 리드한다.
CPU1로 부터의 제 1 명령에 응답하여, CPU2는 데이타 버퍼 액세스신호와 리드요구신호를 버스(204)에 보내고, 데이타버퍼(203)은 각각 라인(305)와 (307)(제 3 도 참조)을 통하여 이들 신호들을 받아들이므로서 리드동작을 실행한다.
카운터(303)의 어드레스가 이미 데이타버퍼(203)의 제어신호 저장영역(304A)의 헤더 어드레스로 초기설정이 되어 있을 때, 데이타버퍼(203)은 데이타 ID 워드를 리드하고, 리드된 데이타 ID 워드를 레지스터(311)에 라이트시킨다.
CPU2는 출력레지스터(714B)로 부터 라인(108a-2)를 거쳐서 입/출력장치(120)에 리드개시신호를 보내서, 입/출력장치(120)이 리드동작을 시작하게 한다. 다수개의 데이타 ID 워드들중의 하나의 데이타 ID 워드를 라인(108b)를 통하여 CPU2로 보내고자 할 때, 이 입/출력장치(120)은 라인(108a-1)을 거쳐서 ID 개시신호(901)을 보내고, 관련된 데이타를 라인(108b)를 거쳐서 CPU2로 보내고자 할 때에는 데이타 개시신호(902)를 보낸다.
이 입/출력장치(120)은 새로운 데이타 ID 워드와 관련된 새로운 데이타를 리드하였을 경우에는 언제든지 같은 동작을 반복한다.
또한, 입/출력장치(120)이 데이타의 하나의 바이트를 리드하였을 때에는 언제든지 바이트 경계신호(903)을 보낸다. 레지스터(312)는 ID 개시신호(901)에 응답하여 이 데이타 ID 워드를 비트 순서대로 저장하고, 비교기(313)은 2개의 레지스터(310)과 (311)에 포함된 2개의 데이타 ID워드를 비교한다. 비교기(313)이 2개의 데이타 ID 워드가 서로 일치된 것을 발견하였을 경우, 비교기(313)은 일치신호(315)를 입력레지스터(712B)에 보낸다.
비교동작이 끝난 다음에 CPU2는 비교기(313)의 출력(315)를 상태레지스터(716B)에 저장하고, 그후에
Figure kpo00021
에 동기된 명령실행 종료신호(504)를 출력레지스터(714B)로 부터 동기회로(500)에 보낸다. 동기회로(500)은 이 신호(504)에 응답하여 제 7 도에 도시한 바와같이 클럭
Figure kpo00022
에 동기시켜서 명령실행 허가신호(503)을 리세트하고, 이어서 클럭
Figure kpo00023
에 동기시켜서 사용중신호(302)를 리세트한다.
각 명령을 보낸 다음에 CPU1은 사용중신호(302)를 조사하도록 프로그램이 되어 있으며, 이 신호가 리세트되어 있을 때 CPU2는 다음의 동작을 실행한다. 현재의 경우, CPU1은 사용중신호(302)의 리세트신호에 응답하여 상태레지스터(716A)에 저장된 내용을 조사한다. 만일 상태레지스터(716B)가 비교기(313)에 의하여 일치된 것을 표시하고 있을 때, CPU1은 CPU2의 명령레지스터(718B)에 저장할 제 2 명령을 발생한다. 다음에 CPU1은 다시
Figure kpo00024
에 동기된 명령실행 허가신호(301)을 동기회로(500)에 보내고, 이 동기회로(500)은 신호(301)에 응답하여 다시
Figure kpo00025
에 동기된 명령실행 허가신호(503)을 CPU2에 보낸다.
CPU2는 신호(503)에 응답하여 명령레지스터(718B)에 저장된 제 2 명령을 리드하여 이 제 2 명령에 의하여 요구되는 동작을 시작한다.
제 2 명령의 동작기간동안 CPU2는 데이타버퍼(203)으로 부터 다음의 제어파라미터를 리드한다. 제 2 명령을 위한 동작이 끝난 후 CPU2는 그 동작의 결과를 상태 레지스터(716B)에 세트시키고, 다시 명령실행 종료신호(504)를 보낸다. CPU1은 다시 다음 명령을 보낸다. 이렇게 하여 다수개의 명령들이 CPU2에 의하여 실행된다.
다음에는 데이타 길이의 제어에 관계되는 동작에 대하여 설명한다. 명령에 응답하여 CPU2는 액세스신호(305)와 리드요구신호(307)을 데이타버퍼(203)에 보내서 데이타 버퍼(203)으로 부터 데이타 길이를 리드한다. 어드레스 카운터(303)은 앞서의 명령에 대한 리드동작의 결과에 의하여 데이타버퍼(203)의 제어파라미터 저장부분(304A)의 마지막 어드레스 위치를 이미 표시하고 있다. CPU2는 리드된 데이타 길이를 카운터(312)에 저장하고, 입/출력장치(120)으로 부터 보내온 데이타 개시신호(902)에 응답하여 입/출력장치(120)으로부터 보내온 데이타를 라인(108b)를 거쳐서 저장하기 시작한다. 입/출력장치(120)으로 부터 보내온 바이트 경계신호(903)에 응답하여 CPU2는 데이타버퍼 액세스신호(305)와 라이트 요구신호(307)뿐만 아니라, 레지스터(310)내에 연속적으로 저장되어 있는 데이타를 데이타 저장영역(304B)에 라이트하기 위하여 버스(204)를 거쳐서 데이타버퍼(203)에 1바이트씩 보내기 시작한다.
이 경우에 앞에서의 설명에 의하여 명백한 바와같이, 어드레스 카운터(303)은 이때 이미 데이타저장영역(304B)의 개시어드레스를 유지하고 있기 때문에 CPU2가 데이타 버퍼(203)에 데이타를 보내기 전에 CPU2가 어드레스 카운터(303)에 데이타버퍼(203)의 데이타저장영역(304B)의 개시어드레스를 기억시킬 필요는 없다. 그러므로, CPU2로 부터 데이타버퍼(203)으로 데이타를 보내는 송신동작이 고속으로 된다.
카운터(312)는 바이트 경계신호(903)이 CPU2로 들어올 때마다 카운트다운을 하여 데이타 길이가 초기의 값과 같은 데이타 길이의 데이타 블록이 데이타버퍼에 기억될 때에는 캐리신호(314)를 발생한다. CPU2는 이 캐리신호(314)에 응답하여
Figure kpo00026
에 동기된 명령실행 종료신호(504)를 보낸다. 종료신호(504)에 응답하여 동기회로(500)에 의해 실행되는 사용중신호(302)의 나머지에 응답하여 CPU1은 데이타버퍼(203)에 데이타의 블럭을 라이트시키는 동작이 완료되었다는 것을 알게된다.(데이타버퍼에서 호스트 처리장치로 데이타의 전송)
그후에 CPU1은 데이타버퍼(203)으로 부터 호스트 처리장치(110)으로 데이타를 보내는 동작을 시작한다.
이 목적을 달성하기 위해서 CPU1은 다음과 같은 동작을 반복한다.
먼저 CPU1은 CPU1이 데이타버퍼(203)에 제어파라미터를 기억시킬 때와 유사한 데이타버퍼(203)의 데이타 저장영역(304B)에 있는 데이타의 첫째 바이트를 리드한다. CPU1은 리드한 데이타를 송신레지스터(720A)에 저장시킨다. 그리고 나서 CPU1은 송신요구신호(702)를 출력레지스터(714A)로 부터 DMAC(112)로 보낸다. DMAC(112)는 버스(107)의 사용권리를 받아내기 위해서 라인(113)을 통하여 호스트 처리장치(110)에 요구신호를 보내서 DMAC(112)가 라인(113)을 통하여 호스트 처리장치(110)으로 부터 버스(107)의 사용권리를 부여받았을 경우, DMAC(112)는 ACK신호(701)을 CPU1에 보내고, CPU1은 신호(701)에 응답하여 송신레지스터(720A)내에 있는 데이타를 버스(107)을 거쳐서 RAM(114)에 보낸다.
데이타의 블록을 호스트 처리장치(110)에 모두 내보낼 때 까지 이상과 같은 절차를 반복한 후, CPU1은 제어회로(704A)에 의하여 종료신호를 발생하고 이것을 버스를 통하여 호스트 처리장치(110)에 보낸다. 이렇게 해서 입/출력장치(120)으로 부터 호스트 처리장치(110)에 데이타를 전송하는 전체동작이 완료된다.(호스트 처리장치에서 입/출력장치로 데이타의 전송)
호스트 처리장치(110)의 입/출력장치(120)에 데이타를 기억시키기 위해 매크로 코맨드에 의해 제어될 때, CPU1은 호스트 처리장치(110)으로 부처 데이타를 받아들여서 이것을 데이타버퍼(203)의 데이타 저장영역(304B)에 저장시킨다. 그 다음에 CPU1은 호스트 처리장치(110)으로 부터 제어 파라미터들을 받아들여서 그것들을 데이타버퍼(203)의 제어파라미터 저장영역(304A)에 기억시키고, CPU2가 입/출력장치(120)으로 부터 데이타를 리드하고 있을 경우에는 그것이 모두 끝났을 때에 CPU2에 명령을 보낸다. CPU2는 데이타버퍼(203)에 있는 데이타를 데이타버퍼(203)에 있는 제어파라미터들을 기초로 해서 외부 입/출력장치(120)에 보낸다.
본 실시예에서는 제 6b 도에 도시한 것과 같은 2개의 세트단자와 2개의 리세트단자를 갖는 플립플롭이 동기회로(500)에 사용된다. 플립플롭(501)은 명령실행 시작신호(301)과 클럭
Figure kpo00027
을 2개의 세트신호로 받아들이고, 명령실행 종료신호(504)와 클럭신호
Figure kpo00028
을 2개의 리세트신호로 받아들인다. 클럭신호
Figure kpo00029
Figure kpo00030
는 2위상 클럭신호이며, 이것들은 서로 중첩되지않는다. 그리고 이것은 본 실시예에서 "클럭
Figure kpo00031
"라고 부르는 제 1 클럭기간을 갖고 있다.
이것은 클럭
Figure kpo00032
와 완전히 동일하다. 플립플롭(501)의 출력은 AND게이트(504), 클럭
Figure kpo00033
Figure kpo00034
를 그의 세트와 리세트신호로 받아들이는 3단의 플립플롭으로 구성된 동기회로(502a)를 사용하여
Figure kpo00035
에 동기된 명령실행 허가신호(503)에 동기되고, 동기회로(502a)의 출력은 OR게이트(505), 클럭
Figure kpo00036
Figure kpo00037
를 그의 세트와 리세트신호로 받아들이는 3단의 플립플롭으로 구성된 동기회로(502b)를 사용하여
Figure kpo00038
에 동기된 사용중신호(302)에 동기된다.
동기회로(502a)의 출력은 신호(501)이후로 지연되고, 동기회로(502b)의 출력은 항상 신호(502a)이후로 지연된다. 결과적으로, 회로(501)과 (502b)의 출력신호를 받아들이는 OR게이트(505)의 출력신호는 CPU2가 명령을 실행하고 있다는 것을 나타내는 사용중신호(302)로 사용할 수가 있다. 이 신호(302)는
Figure kpo00039
에 동기된 신호이기 때문에, CPU1에 의하여 항상 리드할 수가 있다. 반면에, 회로(501)과 (502)의 출력신호를 받아들이는 AND게이트(504)의 출력 신호는
Figure kpo00040
에 동기된 신호이며, 명령실행 허가신호로서 CPU2에 공급되는 신호이다. CPU2는 오직 신호(503)이 유효할 때에 한해서 명령레지스터(718B)에 내용에 따라서 동작하도록 구성되어 있다.
신호(503)이 발생되는 기간은 제 7 도에 도시한 바와같이 신호(302)가 발생되는 기간안에 포함된다. 즉, 신호(503)이 발생되고 있을 때, 신호(302)는 항상 발생되어 있기 때문에, CPU1은 CPU2가 명령을 실행하고 있을 때 절대로 CPU2가 명령의 실행을 끝냈다고 판정하지 않는다. 더구나, 제 7 도에서 명백한 바와같이, 신호(302)가 발생되는 기간동안에 클럭
Figure kpo00041
Figure kpo00042
사이의 주파수관계가 변화한다. 결과적으로 본 발명의 통신제어장치는 어떠한 동작클럭
Figure kpo00043
로도 외부 입/출력장치에 적용시킬 수가 있다.
이상 제 2 도에 도시한 데이타 처리장치는 CPU1과 CPU2에 의하여 시간순서방식에 의하여 데이타버퍼(203)을 사용하게 한 것이 특징이다. 즉, CPU1은 사용중신호(302)를 리드한 후, 데이타버퍼(203)에 있는 데이타를 호스트 시스템에 전송한다. 사용중신호(302)를 리드하므로서, CPU1은 CPU2가 명령을 실행하고 있는지 아닌지를 판별한다. CPU1은 CPU2가 명령을 실행하고 있을 때 데이타버퍼(203)을 액세스하지 않고, CPU2가 아무것도 하지 않을 때에만 데이타버퍼(203)을 액세스한다. 이와같은 데이타버퍼(203)의 순차적인 사용으로 CPU1과 CPU2의 사이에서 데이타의 전송을 할 때 수반되는 데이타버퍼를 사용하고자 하는 싸움을 방지할 수가 있다.
더구나 제 2 도에 도시한 데이타처리장치는 CPU1과 CPU2의 사이에서 동일한 데이타버퍼(203)을 사용하는 것에 의하여 제어파라미터와 데이타를 전송하는 특징이 있으며, 이것은 데이타 처리장치의 회로를 간단하게 한다.

Claims (13)

  1. 데이타를 처리하기 위하여 제 1 버스에 접속되고, 상기 제 1 버스에 데이티 송신명령을 보내기 위한 수단을 포함하는 데이타처리수단, 제 2 버스에 접속된 데이타저장수단, 상기 제 1 과 제 2 버스에 접속되고 제 1 클럭신호에 동기되어 동작하며, 상기 데이타 송신명령에 응답해서 상기 제 1 클럭신호에 동기된 제 1 신호를 발생하고, 상기 제 1 클럭신호에 동기하여 마련된 제 2 신호에 응답해서 상기 데이타 저장수단으로 부터 상기 제 2 버스를 통하여 데이타를 리드하고, 리드된 데이타를 상기 제 1 버스에 보내서 상기 데이타 처리수단이 상기 리드된 데이타를 수신하도록 하는 제 1 수단, 제 2 클럭신호에 동기되어 동작하여, 상기 데이타 처리수단에 의하여 처리된 데이타를 공급하거나, 상기 데이타 처리수단에 의하여 처리된 데이타를 수신하기 위한 데이타 소스수단, 상기 제 2 버스와 상기 데이타 소스수단에 접속되고 제 2 클럭신호에 동기되어 동작하며, 상기 제 2 클럭신호에 동기하여 마련된 제 3 신호에 응답하여 상기 데이타소스수단으로 부터 데이타를 리드하고, 리드된 데이타를 상기 제 2 버스를 통하여 상기 데이타 저장수단에 라이트시키며 상기 리드된 데이타를 라이트시킨 후에는 상기 제 2 클럭 신호에 동기된 제 4 신호를 발생하는 제 2 수단 및 상기 제 1 수단과 제 2 수단에 접속되고, 상기 제 1 및 제 2 의 클럭신호와 상기 제 1 신호 및 제 4 신호에 응답해서 상기 제 1 신호를 받아들인 후에 상기 제 3 신호를 상기 제 2 수단에 보내고, 상기 제 4 신호를 받아들인 후에 상기 제 2 신호를 상기 제 1 수단에 보내는 제 3 수단을 포함하는 데이타 처리장치.
  2. 특허청구의 범위 제 1 항에 있어서, 상기 데이타처리수단은 또 상기 데이타 송신명령이 상기 제 1 수단에 보내졌을 때 상기 데이타소스수단에서 리드할 데이타를 지정하는 제어데이타를 상기 제 1 버스를 통하여 상기 제 1 수단에 전송하는 전송수단을 포함하고, 상기 제 1 수단은 상기 제 1 신호가 발생되기 전에 상기 제 2 버스를 통하여 상기 데이타 저장수단의 일부분에 상기 제어데이타를 라이트시키는 수단을 포함하며, 상기 제 2 수단은 상기 제 3 신호에 응답하여 상기 데이타 저장수단의 상기 일부분의 영역으로 부터 상기 제어데이타를 리드하고, 상기 리드한 제어데이타에 의해 지정된 데이타를 상기 데이타소스수단으로 부터 리드하여, 상기 리드된 데이타를 상기 데이타 저장수단에 라이트시키고, 리드된 데이타의 라이트동작이 완료된 수 상기 제 3 수단에서 상기 제 4 신호를 마련하는 수단을 포함하는 데이타 처리장치.
  3. 특허청구의 범위 제 2 항에 있어서, 상기 제어데이타에는 다수개의 데이타성분이 포함되고, 상기 데이타 저장수단의 상기 일부분의 영역에는 데이타 성분을 저장하기 위해 연속적인 어드레스위치가 포함되며, 상기 제 1 수단내의 상기 라이트수단은 상기 데이타저장수단의 상기 일부분의 영역의 각각의 어드레스위치에 상기 제어데이타의 상기 데이타성분을 연속적으로 라이트하는 수단을 포함하고, 상기 제 2 수단은 상기 데이타 저상수단의 상기 일부분의 영역의 상기 각각의 어드레스 위치로 부터 상기 제어데이타의 상기 데이타 성분을 연속적으로 리드하고, 상기 데이타소스수단에서 리드된 다수개의 데이타성분으로 구성된 상기 데이타를 일부분의 영역 다음의 어드레스 위치에서 상기 데이타 저장수단의 나머지 영역의 각 어드레스 위치로 연속적으로 라이트하는 수단을 포함하는 데이타처리장치.
  4. 특허청구의 범위 제 3 항에 있어서, 상기 제 1 과 제 2 수단중의 적어도 하나는 마이크로프로그램 제어 처리장치로 구성되는 데이타 처리장치.
  5. 특허청구의 범위 제 1 항에 있어서, 상기 제 3 수단을 상기 제 1 신호를 세트신호로 수신하고 상기 제 4 신호를 리세트신호로 수신하도록 접속된 세트-리세트형의 플립플롭, 상기 제 2 클럭신호로 상기 플립플롭의 출력신호를 동기시키는 제 1 동기회로수단, 상기 제 1 클럭신호로 상기 제 1 동기회로수단의 출력신호를 동기시키는 제 2 동기회로수단, 상기 제 3 신호를 발생하기 위하여 상기 플립플롭이 상기 출력신호와 상기 제 1 동기회로수단의 출력신호를 수신하도록 접속된 AND게이트를 포함하는 수단 및 상기 제 2 신호를 발생하기 위하여 상기 플립플롭의 출력과 상기 제 2 동기회로수단의 출력을 수신하도록 접속된 OR게이트를 포함하는 수단을 포함하는 데이타 처리장치.
  6. 특허청구의 범위 제 5 항에 있어서, 상기 제 1 과 제 2 클럭신호는 각각 다수의 위상의 클럭을 포함하는 데이타처리장치.
  7. 특허청구의 범위 제 1 항에 있어서, 상기 제 1 수단은 상기 데이타저장수단으로 부터 리드한 데이타의 일부를 상기 제 1 버스에 송신하기 전에 상기 데이타 처리수단에 송신요구신호를 보내고, 상기 데이타처리수단으로부터 허가신호를 받은 후에 상기 데이타의 일부를 전송하기 시작하며, 전체 데이타의 서로 다른 부분이 여러단계로 나누어 데이타의 각 부분의 전송단계마다 허가신호를 받은 후에 전송하도록, 송신요구신호의 송신과 데이타의 일부분의 전송을 반복하여서 전체 데이타의 서로 다른 부분을 제 1 버스에 보내는 수단을 포함하는 데이타 처리장치.
  8. 데이타를 처리하기 위해 제 1 버스에 접속되고, 상기 제 1 버스에 제 1 명령신호를 송신하는 수단을 포함하는 데이타처리수단, 제 2 버스에 접속되고, 제 1 클럭신호와 제 2 클럭신호중의 어느 하나와 동기되어 동작하는 데이타저장수단, 상기 제 1 버스와 제 2 버스에 접속되고 제 1 클럭신호와 동기되어 동작하고, 제 1 신호를 발생하기 위하여 제 1 명령신호에 대응하는 제 2 명령신호를 제 2 수단에 송신하는 제 1 수단, 상기 데이타 처리수단에 의해 처리되는 데이타를 발생하고, 수신하기위해 제 2 클럭신호와 동기되어 동작하는 입/출력장치수단, 상기 제 2 버스와 상기 입/출력장치수단에 접속되고, 제 4 신호를 발생하기 위해 제 2 클럭신호와 동기되어 동작하는 상기제 2 수단, 상기 제 1 수단과 제 2 수단에 접속되고, 제 2 신호와 제 3 신호를 발생하기 위해 상기 제 1 클럭신호와 제 2 클럭신호에 응답하는 제 3 수단, 제 2 명령신호를 상기 제 2 수단에 보낼 때 발생되는 제 1 신호, 상기 제 1 신호에 응답하여 발생되고, 상기 제 2 수단이 동작상태임을 지시하기 위해 사용되는 제 2 신호, 상기 제 1 신호에 응답하고, 상기 제 2 수단의 동작을 개시하도록 사용되는 제 3 신호 및 제 2 명령신호가 종료될 때, 상기 제 2 수단의 동작에 응답하여 발생되며, 제 2 신호와 제 3 신호를 네게이트하는데 사용되는 제 4 신호를 포함하는 데이타 처리장치.
  9. 데이타를 처리하기 위해 제 1 버스에 접속되고 상기 제 1 버스에 제 1 명령신호를 보내기 위한 수단을 포함하는 데이타 처리수단, 제 2 버스에 접속되고 제 1 클럭신호와 제 2 클럭신호중의 하나와 동기되어 동작하는 데이타 저장수단, 상기 제 1 버스와 제 2 버스에 접속되고 제 1 클럭신호와 동기되어 동작하고 제 1 명령신호에 대응하는 제 2 명령신호를 제 2 수단에 송신하며, 상기 데이타 처리수단에 의해 처리되는 데이타를 발생하기 위한 제2클럭신호와 어서트되거나, 상기 데이타 처리수단에 의해 처리되는 데이타를 수신하는 제 1 수단, 상기 제 2 버스와 제 2 클럭신호에 동기되어 동작하는 입/출력장치에 접속되고 제 4 신호를 어서트하는 제 2 수단을 포함하는 데이타 처리장치용 제어수단에 있어서, 상기 제 1 수단과 제 2 수단에 접속되고, 제 2 신호와 제 3 신호를 어서트하기 위해 제 1 클럭신호와 제 2 클럭신호에 응답하는 제 3 수단, 제 2 명령신호를 상기 제 2 수단에 보낼 때 어서트되는 제 1 신호, 제 1신호에 의해 어서트되며, 상기 제 2 수단이 동작상태임을 지시하기 위해 사용되는 제 2 신호, 제 1 신호에 의해 어서트되며, 상기 제 2 수단의 동작을 개시하기 위해 사용되는 제 3 신호 및 제 2 명령신호가 종료될 때, 상기 제 2 수단의 동작에 응답하여 어서트되며, 제 2 신호와 제 3 신호를 네게이트하는 데 사용되는 제 4 신호를 포함하는 데이타 처리장치용 제어수단.
  10. 데이타를 처리하기 위해 제 1 버스에 접속되고, 상기 제 1 버스에 데이타 수신명령을 전송하는 수단을 포함하는 데이타 처리수단, 제 2 버스에 접속된 데이타 저장수단, 상기 제 1 버스와 제 2 버스에 접속되어 제 1 클럭신호와 동기되어 동작하고, 상기 데이타 수신명령에 응답하여 상기 제 1 클럭신호와 동기되어 제 1 신호를 발생하고, 상기 제 1 클럭신호에 공급된 제 2 신호에 응답하여 상기 제 1 버스를 통해 상기 데이타 처리장치로 부터 수신한 데이타를 상기 제 2 버스를 통하여 상기 데이타 저장수단에 라이트하며, 상기 데이타를 라이트한 후에 상기 제 1 클럭신호와 동기하는 제 3 신호를 발생하는 제 1 수단, 상기 데이타 처리수단에 의해 처리되는 데이타를 발생하거나, 수신하기 위해 제 2 클럭신호와 동기되어 동작하는 데이타 입/출력수단, 상기 제 2 버스와 상기 데이타 입/출력수단에 접속되며, 상기 제 2 클럭신호와 동기되는 상기 제 2 수단에 공급된 제 4 신호에 응답하기 위해 제 2 클럭신호와 동기되어 동작하여 상기 데이타 저장수단으로 부터 데이타를 리드하고, 상기 데이타 입/출력수단에 상기 리드한 데이타를 공급하는 제 2 수단 및 상기 제 1 수단과 제 2 수단에 접속되며, 상기 제 1 클럭신호 및 제 2 클럭신호와 상기 제 1 신호와 제 4 신호에 응답하여 상기 제 1 신호를 수신한 후에 상기 제 2 신호를 상기 제 1 수단에 공급하고 상기 제 3 신호를 수신한 후에 상기 제 4 신호를 제 2 수단에 공급하는 제 3 수단을 포함하는 데이타 처리장치.
  11. 특허청구의 범위 제 10 항에 있어서, 상기 데이타 처리수단을 또 상기 데이타 입/출력수단에 공급될 데이타를 지정하는 제어데이타를 상기 데이타 수신 명령이 상기 제 1 수단에 전송될 때 상기 제 1 버스를 통해 상기 제 1 수단에 전송하는 수단을 포함하며, 상기 제 1 수단을 상기 제 1 신호가 발생되기 이전에 상기 제 2 버스를 통하여 상기 데이타 저장수단의 일부분에 제어데이타를 라이트시키는 수단을 포함하며, 상기 제 2 수단은 상기 데 4 신호에 응답하여 상기 데이타 입/출력수단에 상기 리드데이타를 공급하도록상기 데이타 저장수단의 상기 일부분으로 부터 상기 제어데이타를 리드하고, 상기 데이타 저장수단으로 부터 상기 리드된 제어데이타에 의해 지정된 데이타를 리드하는 수단을 포함하는 데이타 처리장치.
  12. 특허청구의 범위 제 11 항에 있어서, 상기 제어데이타는 다수개의 데이타 성분이 포함되고 상기 데이타 저장수단의 상기 일부분의 영역에는 데이타성분을 저장하기 위해 연속하는 어드레스 위치가 포함되며, 상기 제 1 수단내의 상기 라이트수단은 상기 데이타 저장수단의 상기 일부분의 영역의 각각의 어드레스위치에 상기 제어데이타의 데이타 성분을 연속적으로 라이트하는 수단을 포함하며, 상기 제 2 수단을 상기 데이타 저장수단의 상기 일부분의 영역의 각각의 상기 어드레스 위치로 부터 상기 제어데이타의 데이타성분을 연속적으로 리드하고, 상기 데이타 저장수단에서 리드된 다수개의 데이타성분으로 구성된 상기 데이타를 상기 일부분 영역다음의 어드레스 위치에서 상기 데이타 저장수단의 나머지 영역의 각 어드레스 위치로 연속적으로 라이트하는 수단을 포함하는 데이타 처리장치.
  13. 특허청구의 범위 제 12 항에 있어서, 상기 제 1 수단과 제 2 수단을 각각 마이크로 프로그램 제어처리장치로 구성되는 데이타 처리장치.
KR1019850000101A 1984-01-11 1985-01-10 개량된 통신제어장치에 사용된 데이타 처리장치 KR920004416B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP59-1909 1984-01-11
JP59001909A JPS60146350A (ja) 1984-01-11 1984-01-11 通信制御装置

Publications (2)

Publication Number Publication Date
KR850005641A KR850005641A (ko) 1985-08-28
KR920004416B1 true KR920004416B1 (ko) 1992-06-04

Family

ID=11514703

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019850000101A KR920004416B1 (ko) 1984-01-11 1985-01-10 개량된 통신제어장치에 사용된 데이타 처리장치

Country Status (3)

Country Link
US (1) US4674037A (ko)
JP (1) JPS60146350A (ko)
KR (1) KR920004416B1 (ko)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5109492A (en) * 1986-09-19 1992-04-28 Hitachi, Ltd. Microprocessor which terminates bus cycle when access address falls within a predetermined processor system address space
SE454921B (sv) * 1986-10-03 1988-06-06 Ellemtel Utvecklings Ab Sett och anordning for att i en pa forhand avgjord ordningsfoljd exekvera tva instuktionssekvenser
US4816990A (en) * 1986-11-05 1989-03-28 Stratus Computer, Inc. Method and apparatus for fault-tolerant computer system having expandable processor section
AU601784B2 (en) * 1986-12-18 1990-09-20 Honeywell Bull Inc. Data processing system having a bus command generated by one subsystem on behalf of another subsystem
US5483659A (en) * 1987-09-14 1996-01-09 Yamamura; Kimio Apparatus for controlling a signal processing system to operate in high and low speed modes
US4965801A (en) * 1987-09-28 1990-10-23 Ncr Corporation Architectural arrangement for a SCSI disk controller integrated circuit
JP2538949B2 (ja) * 1987-11-02 1996-10-02 富士通株式会社 システム間通信制御装置
US4937741A (en) * 1988-04-28 1990-06-26 The Charles Stark Draper Laboratory, Inc. Synchronization of fault-tolerant parallel processing systems
US5175825A (en) * 1990-02-02 1992-12-29 Auspex Systems, Inc. High speed, flexible source/destination data burst direct memory access controller
US6260082B1 (en) * 1998-12-23 2001-07-10 Bops, Inc. Methods and apparatus for providing data transfer control
US7010607B1 (en) * 1999-09-15 2006-03-07 Hewlett-Packard Development Company, L.P. Method for training a communication link between ports to correct for errors
JP4543458B2 (ja) * 1999-10-29 2010-09-15 セイコーエプソン株式会社 出力システム、出力装置、ホスト装置、これらの制御方法、および、情報記録媒体
US6802022B1 (en) 2000-04-14 2004-10-05 Stratus Technologies Bermuda Ltd. Maintenance of consistent, redundant mass storage images
US6862689B2 (en) 2001-04-12 2005-03-01 Stratus Technologies Bermuda Ltd. Method and apparatus for managing session information
US6718474B1 (en) 2000-09-21 2004-04-06 Stratus Technologies Bermuda Ltd. Methods and apparatus for clock management based on environmental conditions
US6948010B2 (en) * 2000-12-20 2005-09-20 Stratus Technologies Bermuda Ltd. Method and apparatus for efficiently moving portions of a memory block
US6766413B2 (en) 2001-03-01 2004-07-20 Stratus Technologies Bermuda Ltd. Systems and methods for caching with file-level granularity
US6874102B2 (en) * 2001-03-05 2005-03-29 Stratus Technologies Bermuda Ltd. Coordinated recalibration of high bandwidth memories in a multiprocessor computer
US8996734B2 (en) * 2010-08-19 2015-03-31 Ineda Systems Pvt. Ltd I/O virtualization and switching system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4164787A (en) * 1977-11-09 1979-08-14 Bell Telephone Laboratories, Incorporated Multiple microprocessor intercommunication arrangement
US4354227A (en) * 1979-11-19 1982-10-12 International Business Machines Corp. Fixed resource allocation method and apparatus for multiprocessor systems having complementarily phased cycles

Also Published As

Publication number Publication date
JPS60146350A (ja) 1985-08-02
KR850005641A (ko) 1985-08-28
US4674037A (en) 1987-06-16

Similar Documents

Publication Publication Date Title
KR920004416B1 (ko) 개량된 통신제어장치에 사용된 데이타 처리장치
KR0160128B1 (ko) 동적으로 버스제어를 실행하는 마이크로컴퓨터 및 그것을 이용한 데이터처리시스템
US6393576B1 (en) Apparatus and method for communication between integrated circuit connected to each other by a single line
US5701417A (en) Method and apparatus for providing initial instructions through a communications interface in a multiple computer system
US5021950A (en) Multiprocessor system with standby function
EP0743597A1 (en) Programming memory devices through the parallel port of a computer system
US5463756A (en) Memory control unit and associated method for changing the number of wait states using both fixed and variable delay times based upon memory characteristics
KR100395383B1 (ko) 데이터 전송 장치
EP0338564B1 (en) Microprogram branching method and microsequencer employing the method
US6728813B1 (en) Method and apparatus for converting non-burst write cycles to burst write cycles across a bus bridge
EP0473059B1 (en) Communication control system
US7310717B2 (en) Data transfer control unit with selectable transfer unit size
US5109492A (en) Microprocessor which terminates bus cycle when access address falls within a predetermined processor system address space
US5430853A (en) Update of control parameters of a direct memory access system without use of associated processor
KR20010013137A (ko) 통신 dma 장치
US5588120A (en) Communication control system for transmitting, from one data processing device to another, data of different formats along with an identification of the format and its corresponding DMA controller
US6463551B1 (en) Debug circuit and microcomputer incorporating debug circuit
KR100266963B1 (ko) 전송되는 패킷을 오버래핑하여 인터페이스의 대기시간을 감소시키는 방법 및 장치
US4503498A (en) Multiprocessor cratecontroller
US5823871A (en) Interface control device for use with TV game equipment
KR0184402B1 (ko) I₂c 버스의 인터럽트 발생 장치
JPH1063617A (ja) シリアル通信装置
JPH03139751A (ja) 優先度判定機能を有する通信用dmaコントローラ
JP2001265711A (ja) データ転送装置およびバスシステム
JPH06131294A (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: 20020524

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee