KR0176674B1 - Cpu의 주변장치로의 데이타전송 제어방법 및 제어장치 - Google Patents
Cpu의 주변장치로의 데이타전송 제어방법 및 제어장치 Download PDFInfo
- Publication number
- KR0176674B1 KR0176674B1 KR1019960003759A KR19960003759A KR0176674B1 KR 0176674 B1 KR0176674 B1 KR 0176674B1 KR 1019960003759 A KR1019960003759 A KR 1019960003759A KR 19960003759 A KR19960003759 A KR 19960003759A KR 0176674 B1 KR0176674 B1 KR 0176674B1
- Authority
- KR
- South Korea
- Prior art keywords
- bits
- peripheral device
- data
- address
- data bits
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0615—Address space extension
- G06F12/063—Address space extension for I/O modules, e.g. memory mapped I/O
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)
- Bus Control (AREA)
Abstract
본 발명은 CPU의 데이타 비트의 갯수를 초과하는 갯수의 입력데이타 비트를 필요로 하는 주변장치로의 데이타전송 제어방법 및 제어장치에 관한 것으로서, 입력데이타 비트의 갯수의 부족분에 해당하는 추가 데이타 비트를, CPU가 상기 주변장치를 제어하기 위해 사용하는 어드레스 비트 중에서 취하여 구성하는 단계와; 추가 데이타 비트를 제외한 어드레스 비트를 통해 주변장치를 선택적으로 구동하기 위한 칩선택신호를 송출하여 주변장치를 구동시키는 단계와; 구성된 데이타 비트와 추가 데이타 비트를 통해 원하는 데이타를 송출하여 주변장치에 입력하는 단계를 포함하는 제어방법 및 이러한 방법을 수행하는 제어장치에 관한 것이다. 이에 의해, 처리시간의 지체가 일어나지 않고, 어드레스 관리가 크게 난해하지 않으며, 주변장치 제어상의 제한을 받지 않게 된다.
Description
제1도는 본 발명에 따른 데이타전송 제어장치에 대한 도면.
제2도는 2개의 랫치를 이용한 종래의 데이타전송 제어장치에 대한 도면.
제3도는 어드레스 비트를 이용한 종래의 데이타전송 제어장치에 대한 도면이다.
본 발명은 CPU의 주변장치로의 데이타전송 제어방법 및 제어장치에 관한 것이다.
CPU는 주로 I/O 디바이스에 해당하는 외부의 주변장치들과 데이타를 주고 받기 위해서 어드레스 비트와 데이타 비트를 사용한다. 어드레스 비트는 다수의 주변장치들 중 구동할 주변장치에 대한 선택 정보 및 주변장치가 메모리일 경우 메모리 내의 어드레스 정보 등을 가지고 있고, 데이타 비트는 해당하는 주변장치에 입력할 데이타를 송출한다. 이 경우, CPU가 송출하는 데이타 비트의 갯수와 주변장치가 받아들이는 입력데이타 비트의 갯수가 같을 때에는 별다른 문제가 발생하지 않으나, 다를 경우에는 이 갯수가 같도록 조절하는 것이 필요하다.
데이타 비트의 갯수가 입력데이타 비트의 갯수보다 많은 경우는, 데이타 비트 중 필요한 갯수의 데이타 비트만 사용하고 나머지 비트는 데이타로 사용하지 않는 방법에 의해 간단하게 조절이 된다. 그러나, 데이타 비트의 갯수가 입력데이타 비트의 갯수보다 작은 경우에는 조절이 난해하게 되므로, 이를 위한 종래의 제어장치가 제2도 및 제3도에 도시되어 있다.
제2도는 2개의 랫치를 이용한 종래의 데이타전송 제어장치에 대한 도면으로서, CPU(21)의 데이타 비트(D0∼D7)는 8비트이고, 어드레스 비트(A0∼A15)는 16비트이며, 주변장치(23)는 AD7545 D/A 컨버터를 예로 든 것으로서 주변장치(23)로의 입력데이타 비트(DB0∼DB11)가 12비트이다.
CPU(21)와 주변장치(23) 사이에는 두 개의 랫치(25,27)가 개재되어 있다. 상측 랫치(25)는 8비트 버퍼의 역할을 하고, 하측 랫치(27)는 4비트 버퍼의 역할을 한다. 8비트의 데이타 비트(D0∼D7)는 8비트 랫치(25)에 연결되고, 데이타 비트(D0∼D7) 중 하위 4비트(D0∼D3)는 4비트 랫치(27)에 중복되어 연결되어 있다. 16비트의 어드레스 비트(A0∼A15)는 어드레스디코더(22)를 거쳐 각 주변장치에 연결되어 있다.
어드레스 데이타가 어드레스디코더(22)에 입력되어 디코우딩이 되면, 그에 해당하는 주변장치의 칩선택단자가 ON되어 구동을 시작한다. AD7545(23)에 해당하는 어드레스 데이타가 송출되면 AD7545(23)의 칩선택단자(CS)가 ON되어 구동되기 시작하고, 어드레스디코더(22)의 Q출력은 8비트 랫치(25)를 구동하여 8비트의 데이타(D0∼D7)는 AD7545(23)의 하위비트(DB0∼DB7)로 입력된다. 한 클럭펄스 후에는 어드레스디코더(22)의출력에 의해 4비트 랫치(27)가 구동되어 데이타 비트(D0∼D7) 중 4비트 랫치(27)에 연결된 4개의 데이타 비트(D0∼D3)가 나타내는 데이타가 AD7545(23)의 상위비트(DB8∼DB11)로 입력되어 총 12비트의 데이타가 입력된다.
그런데, 이러한 방법은, 2회에 걸쳐 한 개의 데이타를 송출하고, 또 이를 위해서 별도의 랫치를 사용하며 각 랫치를 분리제어하여야 하므로, 프로그램적으로 비효율적이고 처리속도가 반으로 떨어지게 된다는 단점이 있다.
제3도는 어드레스 비트를 이용한 종래의 데이타전송 제어장치에 대한 도면으로서, 상대적으로 비트수가 많은 어드레스 비트(A0∼A15)를 입력데이타 비트로 사용하여 직접적으로 주변장치에 입력시키는 것이다. 어드레스 비트(A0∼A15)의 상위 4비트(A12∼A15)가 AD7545(33)를 구동하는 어드레스 데이타를 가지면, 어드레스디코더(32)에 의해 AD7545(33)가 구동되고, 16비트의 어드레스 데이타 중 AD7545(33)에 중복 연결되어 있는 12비트(A0∼A11)는 AD7545(33)의 입력데이타로 사용된다. 이러한 경우에는 한 번에 12비트의 데이타를 전송하므로, 시간적으로 제2도에서 설명한 장치보다 빠르게 된다.
그러나, 이러한 방법은 어드레스의 제어가 난해하다는 단점이 있다. 즉, 16비트가 표현할 수 있는 65536개의 어드레스 중 데이타 비트로 할당된 12비트에 해당하는 4096개의 어드레스를 별도로 관리해야 하는 것은 프로그래밍에 있어서 상당한 주의를 요하는 것이며, 또 이로 인해 프로그래밍상의 각종 모드를 적용함에 있어서 에러를 유발할 가능성이 높아져 사용할 수 있는 프로그래밍 모드에 제약을 받게 된다. 이로 인해, 다른 데이타의 관리나 I/O의 제어 기능이 포함된 시스템인 경우에는 프로그램이 복잡해져, 현실적으로 적용하기가 힘든 방법이다.
따라서, 본 발명의 목적은, 데이타 비트 전체와 어드레스 비트의 일부를 주변장치의 입력데이타 비트로 사용함으로써, 처리시간의 지체가 일어나지 않고, 어드레스 관리가 크게 난해하지 않으며, 어드레스 비트를 입력데이타 비트로 전용함에 따른 주변장치 제어상의 제한을 받지 않는, CPU의 주변장치로의 데이타전송 제어방법 및 제어장치를 제공하는 것이다.
상기 목적은, 본 발명에 따라, CPU의 데이타 비트의 갯수를 초과하는 갯수의 입력데이타 비트를 필요로 하는 주변장치로의 데이타전송 제어방법에 있어서, 상기 데이타 비트에 의한 상기 입력데이타 비트의 갯수의 부족분에 해당하는 추가 데이타 비트를, CPU가 상기 주변장치를 제어하기 위해 사용하는 어드레스 비트 중에서 취하여 구성하는 단계와; 상기 추가 데이타 비트를 제외한 상기 어드레스 비트를 통해 상기 주변장치를 선택적으로 구동하기 위한 칩선택신호를 송출하여 상기 주변장치를 구동시키는 단계와; 상기 구성된 데이타 비트와 상기 추가 데이타 비트를 통해 원하는 데이타를 송출하여 상기 주변장치에 입력하는 단계를 포함하는 것을 특징으로 하는 데이타전송 제어방법에 의해 달성된다.
또한, 본 발명에 따르면, CPU의 데이타 비트의 갯수를 초과하는 갯수의 입력데이타 비트를 필요로 하는 주변장치로의 데이타전송 제어장치에 있어서, 상기 데이타 비트로부터의 신호를 상기 주변장치에 입력시키는 데이타 버스와; CPU가 상기 주변장치를 제어하기 위해 사용하는 어드레스 비트 중의 일부를, 상기 데이타 비트에 의한 상기 입력데이타 비트의 갯수의 부족분에 해당하는 추가 데이타 비트에 입력시키는 추가 데이타 버스와; 상기 추가 데이타 비트를 제외한 상기 어드레스 비트로부터의 신호를 디코우딩하여 상기 주변장치의 칩선택단자에 입력시키는 어드레스디코더를 포함하는 것을 특징으로 하는 데이타전송 제어장치가 제공된다.
이하에서는 도면을 참조하여 본 발명을 상세히 설명한다.
제1도는 본 발명에 따른 데이타전송 제어장치에 대한 도면으로서, CPU(11)의 데이타 비트(D0∼D7)는 8비트이고, 어드레스 비트(A0∼A15)는 16비트이며, 주변장치(13)는 AD7545 D/A 컨버터를 예로 든 것으로서 주변장치(13)로의 입력데이타 비트(DB0∼DB11)가 12비트이다.
8비트의 데이타 비트(D0∼D7)는 AD7545(13)로의 입력데이타 비트로 사용되어 입력데이타 비트(DB0∼DB11)의 하위비트(DB0∼DB7)로 입력된다. 16비트의 어드레스 비트(A0∼A15)는 어드레스디코더(12)에 입력되어 주변장치(13)를 선택하여 구동하는 어드레스 및 주변장치가 메모리일 경우 메모리 내에서 억세스할 주소 등의 제어신호로 사용하며, 그 중 하위의 4비트(A0∼A3)는 입력데이타 비트(DB0∼DB11)의 상위비트(DB8∼DB11)로 중복 입력된다. 어드레스 데이타가 어드레스디코더(12)에 입력되어 디코우딩이 되면, 그에 해당하는 주변장치의 칩선택단자가 ON되어 구동을 시작한다.
AD7545(13)에 해당하는 어드레스 데이타가 송출되면 AD7545(13)의 칩선택단자(CS)가 ON되어 구동되기 시작하고, 8개의 데이타 비트(D0∼D7)와 4개의 어드레스 비트(A0∼A3)를 통해 12비트의 데이타가 입력데이타로서 AD7545(13)에 입력된다. 8개의 데이타 비트(D0∼D7)와 4개의 어드레스 비트(A0∼A3)에는 AD7545(13)에 입력할 데이타가 CPU(11)에 의해 미리 계산되어 있다.
예컨데, 16진법으로 표현된 세자리 숫자 123h를 입력하기 위해서는 12비트의 데이타 비트가 필요한데, 본 발명에서는 데이타 비트(D0∼D7)를 이용해서 23h를 나타내는 8비트 수를 구성하고, 어드레스 비트(A0∼A15)의 하위 4비트(A0∼A3)를 이용해서 1h를 나타내는 4비트 수를 구성하여, 각각 입력데이타의 하위비트(DB0∼DB7)와 상위비트(DB8∼DB11)로 사용하여 12진수를 구성한다.
이때, 어드레스 비트(A0∼A15)의 상위 12비트(A4∼A11)는 AD7545(13)의 칩선택단자(CS)를 ON시키도록 하는 어드레스 데이타를 어드레스디코더(12)에 송출한다. 만약, 어드레스 비트(A0∼A15)의 상위 12비트(A4∼A15)가 100h를 가리킬 경우에 AD7545(13)가 구동되도록 어드레스디코더(12)가 구성되어 있다면, 위의 경우 16비트의 어드레스 비트(A0∼A15)는 1001h를 나타내고 8비트의 데이타 비트(D0∼D7)는 23h를 나타내면 된다.
이러한 방법을 사용하면 어드레스 비트 중 4비트에 해당하는 16개의 어드레스만 별도로 관리하면 되므로, 프로그래밍상의 오류가 발생할 가능성이 적어 프로그래밍 모드의 제약을 덜 받게 된다.
본 발명에 따르는 상기와 같은 방법 및 장치는, 주변장치에서 요하는 입력데이타 비트의 비트수가 데이타 비트의 비트수보다 많은 경우, 에컨데 데이타 비트는 16비트이고 주변장치의 입력데이타 비트는 24비트인 경우 등에 광범위하게 적용할 수 있다. 이러한 방법은, 입력데이타 비트의 비트수가 데이타 비트의 비트수의 1.5배에 이를 경우가 가장 효율적으로 적용되며, 2배에 이를 경우에는 데이타 비트를 2번 송출하는 제1도와 같은 방법이 바람직할 수도 있다.
상기와 같은 CPU의 주변장치로의 데이타전송 제어방법 및 제어장치는, 데이타 비트 전체와 어드레스 비트의 일부를 주변장치의 입력데이타 비트로 사용함으로써, 처리시간의 지체가 일어나지 않고, 어드레스 관리가 크게 난해하지 않으며, 어드레스 비트를 입력데이타 비트로 전용함에 따른 주변장치 제어상의 제한을 받지 않는다는 장점을 가진다.
Claims (2)
- CPU의 데이타 비트의 갯수를 초과하는 갯수의 입력데이타 비트를 필요로 하는 주변장치로의 데이타전송 제어방법에 있어서, 상기 데이타 비트에 의한 상기 입력데이타 비트의 갯수의 부족분에 해당하는 추가 데이타 비트를, CPU가 상기 주변장치를 제어하기 위해 사용하는 어드레스 비트 중에서 취하여 구성하는 단계와; 상기 추가 데이타 비트를 제외한 상기 어드레스 비트를 통해 상기 주변장치를 선택적으로 구동하기 위한 칩선택신호를 송출하여 상기 주변장치를 구동시키는 단계와; 상기 구성된 데이타 비트와 상기 추가 데이타 비트를 통해 원하는 데이타를 송출하여 상기 주변장치에 입력하는 단계를 포함하는 것을 특징으로 하는 데이타전송 제어방법.
- CPU의 데이타 비트의 갯수를 초과하는 갯수의 입력데이타 비트를 필요로 하는 주변장치로의 데이타전송 제어장치에 있어서, 상기 데이타 비트로부터의 신호를 상기 주변장치에 입력시키는 데이타 버스와; CPU가 상기 주변장치를 제어하기 위해 사용하는 어드레스 비트 중의 일부를, 상기 데이타 비트에 의한 상기 입력데이타 비트의 갯수의 부족분에 해당하는 추가 데이타 비트에 입력시키는 추가 데이타 버스와; 상기 추가 데이타 비트를 제외한 상기 어드레스 비트로부터의 신호를 디코우딩하여 상기 주변장치의 칩선택단자에 입력시키는 어드레스디코더를 포함하는 것을 특징으로 하는 데이타전송 제어장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960003759A KR0176674B1 (ko) | 1996-02-15 | 1996-02-15 | Cpu의 주변장치로의 데이타전송 제어방법 및 제어장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960003759A KR0176674B1 (ko) | 1996-02-15 | 1996-02-15 | Cpu의 주변장치로의 데이타전송 제어방법 및 제어장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR970062920A KR970062920A (ko) | 1997-09-12 |
KR0176674B1 true KR0176674B1 (ko) | 1999-05-15 |
Family
ID=19451343
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019960003759A KR0176674B1 (ko) | 1996-02-15 | 1996-02-15 | Cpu의 주변장치로의 데이타전송 제어방법 및 제어장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR0176674B1 (ko) |
-
1996
- 1996-02-15 KR KR1019960003759A patent/KR0176674B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR970062920A (ko) | 1997-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS5831431A (ja) | インタ−フエ−ス回路 | |
EP0120889A1 (en) | Peripheral control device with direct memory access. | |
WO2002079971A1 (en) | Programmable cpu/interface buffer structure using dual port ram | |
EP0306962A2 (en) | Single-chip microcomputer | |
JPH07182277A (ja) | コンピュータシステム、およびその中での直接メモリアクセス動作を制御するための方法 | |
US4459662A (en) | Microcomputer having ROM mass memory for downloading main RAM memory with microcomputer instructions | |
JPH0440734B2 (ko) | ||
KR0176674B1 (ko) | Cpu의 주변장치로의 데이타전송 제어방법 및 제어장치 | |
KR920002831B1 (ko) | 데이타 전송 제어 시스템 | |
US5430844A (en) | Communication control system for transmitting, from one data processing device to another, data along with an identification of the address at which the data is to be stored upon reception | |
KR900005547B1 (ko) | 시퀀스 콘트로울러 | |
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 | |
JPS6111873A (ja) | 16ビツトマイクロプロセツサによる8ビツトおよび16ビツトの各周辺装置へのアクセス方法 | |
KR0167644B1 (ko) | 다수의 통신 전송 방식을 선택적으로 사용하기 위한 통신시스템 | |
JPH0227696B2 (ja) | Johoshorisochi | |
US5823871A (en) | Interface control device for use with TV game equipment | |
US5301300A (en) | Floppy disk drive controller with improved density select | |
KR100496479B1 (ko) | 어드레스 신호 디코딩 회로 | |
KR0119130B1 (ko) | 12비트 아날로그/디지탈 변환장치를 이용한 데이타 처리장치 | |
KR900005421B1 (ko) | 데이터의 선택적 통신을 위한 버스시스템 | |
CA1253257A (en) | Microprocessor control system with a bit/byte memory array | |
KR20000065450A (ko) | 버스 인터페이스 시스템과 이를 이용한 버스 인터페이스 방법 | |
JP2905989B2 (ja) | 入出力制御装置 | |
KR19980083459A (ko) | 데이터버스 사이즈 조정 장치 | |
KR940004729B1 (ko) | 8비트 및 16비트 공용의 인터페이스 장치 |
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: 20091116 Year of fee payment: 12 |
|
LAPS | Lapse due to unpaid annual fee |