KR900000115B1 - Fifo방식을 이용한 병렬 인터페이싱 방식 - Google Patents
Fifo방식을 이용한 병렬 인터페이싱 방식 Download PDFInfo
- Publication number
- KR900000115B1 KR900000115B1 KR1019870008261A KR870008261A KR900000115B1 KR 900000115 B1 KR900000115 B1 KR 900000115B1 KR 1019870008261 A KR1019870008261 A KR 1019870008261A KR 870008261 A KR870008261 A KR 870008261A KR 900000115 B1 KR900000115 B1 KR 900000115B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- cpu
- output
- external device
- signal
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
Abstract
내용 없음.
Description
제1도는 종래의 회로도.
제2도는 본 발명의 회로도.
제3도는 제2의 동작 타이밍도.
* 도면의 주요부분에 대한 부호의 설명
10 : CPU 20 : 외부장치
30 : 피포 방식 병렬 입출력부 40 : 데이타 버퍼
50 : 데이타 전송 제어부 60 : 인터럽트 발생부
본 발명은 컴퓨터와 외부 디바이스와의 병렬 인터페이스 회로에 관한 것으로 특히 피포 방식의 입출력 장치를 이용하여 CPU의 부하를 경감시켜 멀티 타스크를 수행할 수 있는 인터 페이싱 방식에 관한 것이다. 일반적으로 컴퓨터에서 사용하고 있는 병렬 인터페이스 회로는 하나의 데이타를 전송할때마다 인터럽트를 발생시켜 외부 디바이스(peripheral device)의 상태를 검사하는데 이것은 컴퓨터가 하나의 데이타를 병렬 인터페이스 회로에 보내주면 병렬 인터페이스 회로는 이 데이타를 외부 디바이스로 출력한다.
제1도는 종래의 회로도로서, CPU(1)와, 외부장치(2)와, 상기 CPU(1)와 외부장치(2)를 인터페이싱하는 병렬입출력부(3)와, 상기 병렬 입출력부(3)와 외부장치(2)의 데이타를 버퍼링하는 데이타 버퍼(4)와, 인버퍼(I1-I2), 단안정 멀티바이브레이터(M1)로 구성되어 병렬 입출력부(3) 출력을 소정시간 유지하여 외부장치(2)의 스트로브 신호로 출력하는 데이타 전송 제어부(5)와, 인버퍼(I3-I4)로 구성되어 외부장치(2)의 액크널리지 신호를 병렬 입출력부(3)로 출력하는 데이타 확인부(6)와, 상기 데이타 확인부(6)의 출력을 입력하여 상기 CPU(1)의 인터럽트 신호를 출력하는 래치(F1)로 구성된다. 여기서 외부장치(2)를 프린터라고 가정한다. 병렬 입출력 장치(3)가 CPU(1)에서 출력한 데이타를 입력하면 A래디(A Ready)를 통해 프린터(2)에 데이타를 전송하겠다는 스트로브 신호를 출력하는데 소정 기간의 스트로브 신호를 유지해야 하므로 인버터(I1-I2)와 단안정 멀티바이브레이터(M1)를 사용하여 소정 기간의 스트로브 신호를 유지하도록 한다.
이후 병렬 입출력 장치(3)는 양 방향의 데이타 버퍼(4)를 통해 프린터(2)로 데이타를 출력하며 데이타를 입력한 프린터(2)는 데이타를 처리한 후 이에 대한 확인 신호로 액크널리지(acknowledge : ACK) 신호를 인버터(I3-I4)를 통해 병렬 입출력장치(3)의 A스트로브(ASTB)로 보낸다. 그러면 병렬 입출력장치(3)는 액크널리지 신호(ACK)를 받아 하나의 데이타 전송 싸이클을 종료한다. 또한 프린터(2)에서 액크널리지(ACK) 신호를 출력했을 때 이 신호가 래치(F1)를 통해 CPU(1)로 인터럽트 신호를 출력하며 인터럽트 신호가 발생되면 비지신호(busy signal)를 인터럽트 서비스루틴에서 검사한다.
프린터의 비지 신호는 프린터(2)가 데이타를 받아들일 수 있는가 또는 없는가의 상태를 나타내게 되는데 데이타를 앤트리(entry)하고 있는 중이거나 인자중, 오프라인(off-line)상태, 에러상태, 종이보내기의 일부시간 중이면 데이타를 받아들일 수 없는 상태가 된다. 외부장치(2)가 이미지 스캐너(image scanner)라 가정하면 이미지 스캐너가 데이타를 전송하기 위하여 먼저 병렬방식의 스트로브(STB) 단자를 통해서 병렬 입출력장치(3)의 B 스트로브(B STB)단자에 스트로브 신호를 출력한다. 이때 병렬 입출력부(3)는 데이타 버퍼(4)를 통해 이미지 스캐너에서 출력한 데이타를 CPU(1)로 출력하기 위하여 B레디(BRDY) 단자를 통해 이미지 스캐너의 비지 단자로 제어 신호를 출력한다.
상기 사항을 종합 설명하면 CPU(1)에서 하나의 데이타를 병렬 입출력부(3)로 출력하면 병렬 입출력부(3)는 CPU(1)의 전송데이타를 외부장치(2)로 전송하며 외부장치(2)는 전송 데이타를 수신한후 액크널리지 신호(ACK)와 비지(busy) 신호를 병렬 입출력부(3)로 출력하고 이중 액크널리지(ACK) 신호는 병렬 입출력부(3)에서 사용하고 비지(busy) 신호는 CPU(1)가 검사한다. CPU(1)가 비지(busy) 신호를 검사하는 이유는 상술한 바와 같은 외부장치(2)의 상태를 알기 위함이며 비지(busy) 신호를 검사하기 위해 인터럽트를 발생시켜 왔다. 그러므로 상기와 같은 종래의 병렬 입출력 인터페이스 장치는 CPU(1)에서 보낸 하나의 데이타를 받아 외부장치(2)로 보내고 인터럽트를 발생시켜 CPU(1)로 출력했으므로 한 데이타를 프린팅 할때마다 인터럽트가 발생되어 CPU(1)에 과도한 부하(load)를 걸어 왔었으며 이에 따라 멀티타스킹(multi-tasking) 기능을 불가능하게 하였고 하나의 데이타 단위로 전송함으로써 데이타 전송 속도가 늦어져 이미지 스캐너와 같이 많은 양의 데이타를 주고 받아야 하는 경우 스캐너 디바이스와 병렬 입출력 인터페이스 회로와의 인터 페이싱 타이밍을 제어하기에 어려운 문제점이 있었다. 따라서 본 발명의 목적은 피포식 병렬입출력 장치를 사용하여 피포의 용량에 따른 데이타 저장량으로 외부장치와 데이타를 교환할 수 있는 병렬 인터 페이싱 방법을 제공함에 있다.
본 발명의 또다른 목적은 피포 방식의 병렬 인터페이싱을 구성하여 CPU의 부하를 경감하여 멀티 타스킹을 수행시킬 수 있는 방식을 제공함에 있다. 이하 본 발명을 도면을 참조하여 상세히 설명한다. 제2도는 본 발명을 따른 구체회로도로서 CPU(10)와, 외부장치(20)와, 상기 CPU(10)와 외부장치(20)를 병렬 인터페이싱하는 피포식 병렬 입출력부(parallel Input/Output Included First In First Out)(30)와, 외부장치(20)와 피포 방식 병렬 입출력부(30)의 출력데이타를 양 방향으로 버퍼링하는 데이타 버퍼(40)와, 피포 방식 병렬 입출력부(30)에서 출력하는 데이타 전송신호인 소정 주기로 발생하여 외부장치(20)의 스트로브(STB) 단자로 출력하는 데이타 전송 제어부(50)와, 상기 피포 방식 병렬 입출력부(30)의 피포 레지스터 앰티(empty)신호를 래치 출력하여 상기(CPU)의 인터럽트 신호로 출력하는 인터럽트 발생부(60)로 구성하여 제3도는 제2도의 동작타이밍도로서 (a)는 비지신호(busy signal)이며 (b)는 외부장치(20)에서 출력하는 액크널리지(ACK) 신호이고, (c)는 피포식 PIO(30)의 데이타 출력신호이며 (d)는 데이타 전송 제어부(50)의 출력신호이다. 상술한 구성에 의거 본 발명을 제3도를 참조하여 상세히 설명한다. 우선 피포식 병렬 입출력부(Parallel Input/Output Included FIFO : 이하 피포식 PIO라 칭한다)(30)의 피포 메모리 용량을 얼만큼 활용할 것인가를 결정하며 피포가 풀(full)일시 인터럽트 신호를 발생할 것인가 아니면 앰프티(empty)일시 인터럽트 신호를 발생할 것인가를 결정해야 하는데 본 발명에서는 피포가 앰프티 상태일 때 인터럽트 신호를 발생하도록 결정한다.
우선 외부장치(60)가 프린터라고 가정하여 설명한다. CPU(10)에서 피포식 PIO(30)에 데이타를 라이트할 시 매우 짧은 시간에 실행하므로 피포식 PIO(30)의 피포PIO(30)의 피포가 풀(full)일시 CPU(10)와 무관하게 피포식 PIO(30)와 프린터(20)가 서로 인터페이싱하게 된다.
피포식 PIO(30)의 피포에 풀 데이타(full data)가 될 때까지 프린터(20)에서 프린팅 되지 않도록 레지스터를 세팅시키며 피포에 풀 데이타(full data)가 되면 CPU(10)와 무관하게 피포식 PIO(30)와 프린터(20)가 독자적으로 인터 페이싱하여 데이타를 전송한다. 피포식 PIO(30)와 외부장치(20) 사이의 데이타 전송을 하기와 같다.
피포식 PIO(30)는 제3도의 (c)와 같이 데이타를 전송하기 위하여 프린터(20)의 스트로브(STB) 단자로 스트로브 신호를 출력하는데 단안정 멀티 바이브레이터등으로 구성된 데이타 전송 제어부(50)를 통하여 제3도의 (d)와 같이 소정시간 "로우"상태를 유지해야 하며 그 이유는 프린터(20)가 트레일링 에지(trailing edge)를 검출하여 데이타 버퍼(40)를 통한 데이타를 판단하기 때문이다.
프린터(20)가 스트로브 신호를 입력하면 제3도의 (a)와 같이 비지(busy) 신호가 "하이"상태로 되어 이"하이"신호 동안에 데이타를 앤트리(entry) 및 데이타 앤트리를 처리하며 데이타 앤트리 처리후 프린터(20)는 액크널리지 단자(ACK)를 통하여, 제3도의 (b)와 같은 액크널리지 신호를 피포식 PIO(30)로 출력하며 이 신호에 의해 피포식 PIO(30)는 제3도의 (c)(d) 같은 데이타와 스트로브 신호를 출력한다. 즉, 피포식 PIO(30)의 피포에 저장되어 있는 데이타를 CPU(10)와 무관하게 피포식 PIO(30)가 프린터(20)로 출력하며 이에 따른 시간 동안 CPU(10)는 다른 타스크(task)에 따른 프로그램을 수행할 수 있다.
이때 피포식 PIO(30)에 피포에 저장되어 있던 데이타가 모두 출력되면 피포식 PIO(30)의 피포에 저장되어 있던 데이타가 모두 출력되며 피포식 PIO(30)의 앰프티(empty)신호가 플립플롭등으로 구성할 수 있는 인터럽트 발생부(60)로 인가되며 인터럽트 발생부(60)는 이 신호를 CPU(10)로 출력하며 CPU(10)는 인터럽트 신호에 의해 피포식 PIO(30)의 피포에 새로운 데이타를 라이트 시킨다. 여기서 외부장치(20)를 이미지 스캐너(image scanner)라고 가정할시 이미지 스캐너는 화상등과 같은 이미지 데이타를 스캐닝하여 CPU(10)로 출력하게 된다.
이미지 스캐너의 스트로브 단자(STB)에서 보내주는 신호를 피포식 PIO(30)의 액크널리지단자(ACK) 단자에 연결시키며 이때 데이타 버퍼(40)를 통해 피포식 PIO(30)의 피포에 이미지 스캐너에서 출력한 데이타를 라이트 시킨다. 피포식 PIO(30)의 피포에 풀 데이타(full data)가 되면 피포식 PIO(30)는 이미지 스캐너 측으로 비지신호를 출력하며 이 신호에 의해 이미지 스캐너는 데이타 출력을 중지하고 이때 CPU(10)는 피포식 PIO(30)의 피포에 라이트 되어 있는 내용을 읽는다.
상술한 바와 같이 피포식 PIO를 사용하여 피포에 라이트하는 데이타 양 단위로 데이타를 처리함으로써 CPU의 과도한 부하를 경감시키며 이에따라 CPU가 다른 기능의 프로그램을 제할 수 있어 멀티 타스킹을 수행할 수 있고 피포에 따른 데이타 처리를 실행하므로 전송속도를 증가하여 데이타의 양이 크게 될시에 더 발생을 줄일 수 있는 이점이 있다.
Claims (1)
- 피포 방식을 이용한 병렬 인터페이스 방식에 있어서 CPU(10)와, 상기 CPU(10)로부터 데이타를 입력하거나 또는 자체에서 발생한 데이타를 출력하는 외부장치(20)와, 상기 CPU(10)와 외부장치(20)의 발생 데이타를 피포에 저장하는 동시에 CPU(10)와 외부장치(20)의 제어에 의해 피포 데이타를 출력하는 피포식 병렬 입출력부(30)와, 상기 외부장치(20) 또는 피포식 병렬 입출력부(30)의 출력데이타를 피포식 병렬 입출력부(30) 또는 외부장치(20)로 완송출력하는 데이타 버퍼(40)와, 상기 병렬 입출력부(30)에서 출력하는 데이타 전송신호를 소정시간 유지하여 외부장치(30)의 스트로부 단자(ACK)로 출력하는 데이타 전송제어부(50)와, 상기 피포식 병렬 입출력부(30)의 피포가 앰프티 신호일시 CPU(10)로 인터럽트 신호를 출력하는 인터럽트 발생부(60)를 구비하여 CPU(10) 및 외부장치(20)의 발생 데이타를 피포식 병렬 입출력부(30)의 피포에 라이트하고 피포가 풀 데이타(full data)가 됐을 시 CPU(10)와 무관하게 피포식 병렬 입출력부(30)와 외부장치(20)가 서로 데이타를 교환하며 피포가 앰프티 데이타(empty data)가 됐을 시 CPU(10)로 인터럽트 신호를 출력하여 다음 데이타를 피포에 라이트시킬 수 있도록 함을 특징으로 하는 방식.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019870008261A KR900000115B1 (ko) | 1987-07-29 | 1987-07-29 | Fifo방식을 이용한 병렬 인터페이싱 방식 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019870008261A KR900000115B1 (ko) | 1987-07-29 | 1987-07-29 | Fifo방식을 이용한 병렬 인터페이싱 방식 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR890002771A KR890002771A (ko) | 1989-04-11 |
KR900000115B1 true KR900000115B1 (ko) | 1990-01-20 |
Family
ID=19263373
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019870008261A KR900000115B1 (ko) | 1987-07-29 | 1987-07-29 | Fifo방식을 이용한 병렬 인터페이싱 방식 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR900000115B1 (ko) |
-
1987
- 1987-07-29 KR KR1019870008261A patent/KR900000115B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR890002771A (ko) | 1989-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5175818A (en) | Communication interface for independently generating frame information that is subsequently stored in host memory and sent out to transmitting fifo by dma | |
US6907480B2 (en) | Data processing apparatus and data input/output apparatus and data input/output method | |
CN117807004A (zh) | 面向片上网络与NandFlash控制器的通信接口 | |
KR900000115B1 (ko) | Fifo방식을 이용한 병렬 인터페이싱 방식 | |
US5842044A (en) | Input buffer device for a printer using an FIFO and data input method | |
US5943509A (en) | Small size inter-processor data transfer system | |
JP2924783B2 (ja) | リモートリード処理方法およびその装置 | |
JP2762506B2 (ja) | 回線制御装置 | |
KR100498909B1 (ko) | 교환시스템의 프로세서간 통신 이중화 장치 | |
KR930009064B1 (ko) | 피포(fifo)를 이용한 두 시스템간의 통신방법 | |
JPS60195659A (ja) | バス制御方式 | |
KR950002306B1 (ko) | Fifo를 이용한 보드간 데이타 전송장치 및 방법 | |
JP2581041B2 (ja) | デ−タ処理装置 | |
JPS6253046A (ja) | 産業用ロボツトのデ−タ通信装置 | |
JPH02105248A (ja) | ファーストイン・ファーストアウトメモリ利用の通信方式 | |
JPS6378257A (ja) | 入出力制御装置 | |
JPH05265925A (ja) | データ転送制御装置 | |
JPS55134426A (en) | Input/output control system | |
JPH0342740B2 (ko) | ||
JPH02277160A (ja) | データ処理装置 | |
JPS63219248A (ja) | パケツト中継・転送装置 | |
JP2000010758A (ja) | Fifoコントローラ | |
JPH02257237A (ja) | バス結合装置 | |
JPS6336356A (ja) | メツセ−ジ転送方式 | |
JPS6276866A (ja) | パラレル−シリアル変換回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
N231 | Notification of change of applicant | ||
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: 20021230 Year of fee payment: 14 |
|
LAPS | Lapse due to unpaid annual fee |