KR950007880B1 - 중앙제어 장치와 인터페이스 되는 피포 회로 - Google Patents
중앙제어 장치와 인터페이스 되는 피포 회로 Download PDFInfo
- Publication number
- KR950007880B1 KR950007880B1 KR1019920026162A KR920026162A KR950007880B1 KR 950007880 B1 KR950007880 B1 KR 950007880B1 KR 1019920026162 A KR1019920026162 A KR 1019920026162A KR 920026162 A KR920026162 A KR 920026162A KR 950007880 B1 KR950007880 B1 KR 950007880B1
- Authority
- KR
- South Korea
- Prior art keywords
- signal
- cpu
- data
- write
- controller
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
- Computer And Data Communications (AREA)
Abstract
내용 없음.
Description
제1도는 본 발명에 따른 피포 레지스터의 블럭 구성도.
제2도는 CPU_ 쓰기 시의 피포 콘트롤러에 대한 타이밍도.
제3도는 메모리 쓰기 시의 피포 콘트롤러에 대한 타이밍도.
제4도는 피코 콘트롤러의 제어에 따른 선입선출의 개념적 구성도.
제5도는 제4도의 동작을 구체적으로 나타내는 상태천이도.
* 도면의 주요부분에 대한 부호의 설명
1 : CPU_데이타 래치 레지스터 2 : 피포 콘트롤러
3 : 2비트 업/다운(UP/DOWN)콘트롤러 및 디코더
4 : 피포 레지스터
본 발명은 CPU와 메모리를 가지고 있는 시스템에서의 인터페이스 되는 피포(FIFO)기능을 수행하는 회로에 관한 것이다.
일반적으로 피포는 듀얼 포트 SRAM이나 두개의 개별 포인터(입/출력 각각에 대한 포인터)를 사용하거나 크기(SIZE)가 정해져 나오는 규격화된 제품 등을 이용하였으므로 원하는 만큼만 이용하려 해도 그 만큼만 이용하는 것이 불가능한 문제점이 있었다.
상기 문제점을 해결하기 위하여 안출된 본 발명은, 하나의 포인터(입/출력에 대한 공통 포인터)만을 사용하여 동작하도록 하여 피포에 대해 쓰기, 읽기 포인터가 공통된 포인터 하나로만 구성됨에 따라 피포의 제로 번지를 베이스로 하여 쓰기와 읽기 시마다 포인터가 변하도록 한 피포 회로를 제공하는데 그 목적이 있다.
상기 목적을 달성 하기 위하여 본 발명은 CPU_쓰기 신호를 인가 받아 데이타를 저장하고 새로운 CPU_쓰기 신호가 액티브 될 때까지 데이타를 유지하도록 하는 CPU_데이타 래치 레지스터 수단, 상기 CPU_쓰기 신호를 액티브가 풀리는 시점에서 동작하도록 구성되어, 메모리 쓰기 인가 받고, 클럭 신호에 의해 동기되는 피포 콘트롤러 수단, 상기 피포 콘트롤러 수단으로 부터의 업_플래그 신호와 다운_플래그 신호 신호를 인가 받으며, 클럭에 의해 동기 되고, 피포 어드레스 신호와 풀_플래그(Full_Flag)신호를 출력하는 2비트 업/다운 콘트롤러 및 디코더 수단, 상기 CPU_데이타 래치 레지스터 수단으로 부터 데이타 신호와, 상기 피로 콘트롤러 수단으로 부터 로드 신호와 홀드/시피트 토글 신호와, 상기 2비트 업/다운(UP/DOWN) 콘트롤러 및 디코더 수단으로 부터 피포 어드레스 신호를 인가받고 클럭에 의해 동기되며, 외부로 부터 데이타_어드레스 신호를 인가받아 데이타 신호와 어드레스 신호를 출력하기 위한 피포 레지스터 수단을 구비한다.
이하, 첨부된 도면을 참조하여 본 발명의 일실시예를 상세히 설명한다.
제1도는 본 발명에 따른 피포 레지스터 회로의 블럭 구성도이다.
도면에서, 1은 CPU_데이타 래치 레지스터, 2는 피포 콘트롤러, 3은 2비트 업/다운(UP/DOWN) 콘트롤러로 및 디코더, 4는 피포 레지스터를 각각 나타낸다.
도면을 참조하여 본 발명의 구성요소간 동작관계와 세부적인 구성에 대해 설명하면 다음과 같다.
CPU_데이타 래치 레지스터(1)는 CPU_쓰기 신호를 인가 받으면 CPU_데이타가 저장되고, 새로운 CPU_쓰기 신호가 액티브 될 때까지 데이타를 유지하도록 래치 플립-플롭으로 구현하였다.
피포 콘트롤러(2)는 상기 CPU_쓰기의 액티브가 풀리는 시점에서 동작하도록 구성되었으며(이는 CPU_쓰기 신호가 길기 때문에 CPU_쓰기 명령을 수행한 뒤에도 신호가 연장되므로 새로 입력된 신호로 인지하여 오동작하는 일이 없도록 하기 위함인데, 그렇지 않을 경우 블럭(2)내에서 CPU_쓰기 루틴이 반복 수행되어 후술할 피포 레지스터(4)의 피포 어드레스가 변하게 되어 피포에 원치않는 데이타가 기록되는 일이 없도록 하기 위함이다), 메모리 쓰기 신호를 인가받고, 클럭 신호에 의해 동기된다.
2비트 업/다운 콘트롤러 및 디코더(3)는 상기 피포 콘트롤러(2)로 부터의 업_플래그 신호와 다운_플래그 신호를 인가받으며, 클럭에 의해 동기되고, 피포 어드레스 신호와 풀_플래그(Full_Flag)신호를 출력한다.
피포 레지스터(4)는 상기 _데이타 래치 레지스터(1)로 부터의 데이타 신호와, 상기 피포 콘트롤러(2)로 부터의 로드 신호와 홀드/시프트 토글 신호와, 상기 2비트 업/다운(UP/DOWN) 콘틀롤러 및 디코더(3)으로 부터는 피포 어드레스 신호를 인가받고 클럭에 동기되며, 외부로부터 데이타_어드레스 신호를 인가받아 데이타 신호와 어드레스 신호를 출력한다.
상기와 같이 구성되는 본 발명의 구체적인 동작과 그에 따른 효과를 살펴보면, 먼저 CPU_가 쓰기 신호를 출력하면 CPU_데이타는 상기 CPU_데이타 래치 레지스터(1)에 의해 상기 피포 레지스터(4)로 전송되어 제로 번지에 해당하는 데이타 및 어드레스가 저장된다. 그리고, 상기 피포 콘트롤러(2)에 의해 생성된 업_플래그에 으해 상기 2비트 업/다운(UP/DOWN) 콘틀롤러 및 디코더(3)에서 피포 어드레스가 1만큼 증가되어 1번지를 지정하게 된다. 동일한 방법으로 CPU_쓰기를 다시 실행하면 데이타 및 어드레스가 저장되어지므로 피포 어드레스는 2번지를 가리키게된다. 상기와 같은 반복 수행으로 인하여 상기 2비트 업/다운 콘트롤러 및 디코더(3)의 풀_플래그가 액티브 될 때까지 CPU_쓰기가 가능하게 된다.
다음에 피포 래지스터로 부터 데이타를 읽는 과정을 설명한다.
데이타를 읽는 번지는 항상 제로 번지로 고정되어 있으모로 상기 메모리 쓰기 신호가 액티브되면 피포 레지스터(4)의 제로 번지 데이타는 메모리에 쓰여지며 상기 피포 콘트롤러(2)에의해 다운 플래그가 생성되게 된다. 따라서 이 플래그에 의해 피포 레지스터(4)의 데이타는 각각 1만큼 작은 번지로 시프트 되게 된다. 이는 4바이트의 피포 레지스터의 경우 3번지에서 2번지, 2번지에서 1번지, 1번지에서 0번지로 각 데이타가 시프트 되어지며 이러한 과정이 메모리 쓰기 신호가 액티브 될 때마다 일어난다.
제2도는 CPU_쓰기 시의 콘트롤러에 대한 타이밍도이다.
ⓐ는 데이타 신호 타이밍도, ⓑ는 래치 데이타 타이밍도, ⓒ는 CPU_쓰기 신호 타이밍도, ⓓ는 CPU 플래그 타이밍도, ⓔ는 로드(LOAD)신호 타이밍도, ⓕ는 업_플래그 타이밍도, ⓖ는 클럭 타이밍도를 각각 나타내며, 도면에서 보이는 것과 같이 상기 CPU_쓰기의 상승 에지에서 인터벌 신호인 CPU_플래그가 발생되며, 데이타의 로드가 끝나면 순차적으로 업_플래그가 발생하므로 업_플래그 발생 시점에서 곧바로 CPU_쓰기 신호를 받을 수 있도록 CPU_플래그신호를 클리어 시킨다.
제3도는 메모리 쓰기 시의 피포 콘트롤러에 대한 타이밍도이다.
ⓐ는 메모리_쓰기 신호 타이밍도, ⓑ는 메모리_플래그 타이밍도, ⓒ는 홀드/시프트 타이밍도, ⓓ는 다운_플래그 타이밍도, ⓔ는 클럭 타이밍도를 각각 나타내며 상기 CPU_쓰기 시의 피포 콘트롤러와 동일한 방식으로 작용한다.
이제, 더 상세하게 피포 콘트롤러(2)에 의한 피포 레지스터(4)의 제어동작을 살펴보면 다음과 같다.
피포 콘트롤러의 제어에 관한 개념적 구성을 도시해 보면 제4도와 같고, 구체적인 실행에 따른 상태 천이도는 제5도와 같다.
먼저, 제4도에 있어서, n개의 레지스터에 데이타를 저장하는 방식은 어드레스를 나타내는 'CPU_쓰기 포인터'의 지시에 의해 n번째 레지스에 쓰게 되며, 고정된 '메모리 쓰기 포인터'의 제어에 의해 매번 1번 레지스에 저장된 데이타가 읽혀지게 되고, 2번 레지스터의 데이타가 1번으로 자동적으로 이동되게 하였다.
제5도의 상태 천이도에 있어서는, 내용적으로 크게 'CPU 쓰기' 루틴과 '메모리 쓰기' 루틴으로 분류할 수 있는데, 제1도의 'CPU 쓰기' 루틴과 '메모리 쓰기' 신호에 의해서 시작되고, 생성되는 루틴은 제5도에서 화살표로 도시된 것 처럼 3가지이다. 다시말해서, 루틴1은 '메모리 쓰기' 루틴이고, 루틴 2는 '메모리 쓰기'와 'CPU 쓰기'가 동시에 발생할 경우 수행되는 루틴이고, 루틴 3은 'CPU 쓰기'루틴이다.
입력신호의 제어에 의해 순차적으로 진행되는 제5도의 상태 천이도는 각 루틴마다 '다운_플래그'와 업_플래그' 신호를 생성하여, 2비트 업/다운 콘틀롤러 및 디코더(3)에 제공하고, 2비트 업/다운 콘틀롤러 및 디코더(3)는 이 신호를 인에이블 신호로 사용, 업 카운트와 다운 카운트를 수행하고 디코딩한다.
한편, 상태 천이도상에 표시된 각 상태로의 입력신호를 b3b2b1b0(=XXXX)로 나타낼때, b3는 메모리 신호인 RAS(Row Adress Strobe) 신호, b2는 메모리 플래그 신호, b1은 CPU_플래그 신호, b0는 CPU 쓰기 신호의 역 신호 값을 가진다.
상기와 같은 설명과 같이 CPU_쓰기 신호와 메모리_쓰기 신호의 입력에 의해 제어되는 피포 레지스터(4)는 데이타 및 어드레스를 저장할 수 있으므로 CPU의 프리패치(PREFETCH)기능과 같이 시스템의 효율을 높여주고, 2비트 업/다운 콘틀롤러 및 디코더(3)를 2비트가 아닌 더 확장된 비트로 설계할 수 있고, 이에 따라 피포 레지스터(4)의 레지스터 수를 크게하는 것이 용이하고, 시스템 보드를 줄일 수 있는 효과와 클럭에 의한 동기식 설계이므로 어느 시스템에나 적용할 수 있는 이점이 있다.
Claims (1)
- CPU_쓰기 신호를 인가 받아 데이타를 저장하고 새로운 CPU_쓰기 신호가 액티브 될 때까지 데이타를 유지하도록 하는 CPU_데이타 래치 레지스터, 상기 CPU_쓰기 신호를 입력받아 이 신호의 액티브가 풀리는 시점에서 동작하도록 구성되며, 메모리 쓰기 신호를 인가 받고, 클럭 신호에 의해 동기되는 피포 콘트롤러, 상기 피포 콘트롤러로 부터의 업_플래그 신호와 다운_플래그 신호 신호를 인가 받으며, 클럭에 의해 동기 되고, 피포 어드레스 신호와 풀_플래그(Full_Flag)신호를 출력하는 업/다운 콘트롤러 및 디코더 수단, 상기 CPU_데이타 래치 레지스터로 부터 데이타 신호와, 상기 피로 콘트롤러로 부터 로드 신호와 홀드/시피트 토글 신호와, 상기 업/다운(UP/DOWN) 콘트롤러 및 디코더 수단으로 부터 피포 어드레스 신호를 인가받고 클럭에 의해 동기되며, 외부로 부터 데이타_어드레스 신호를 인가받아 데이타 신호와 어드레스 신호를 출력하기 위한 피포 레지스터 수단을 구비하는 것을 특징으로 하는 중앙제어 장치와 인터페이스 되는 피포 회로.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019920026162A KR950007880B1 (ko) | 1992-12-29 | 1992-12-29 | 중앙제어 장치와 인터페이스 되는 피포 회로 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019920026162A KR950007880B1 (ko) | 1992-12-29 | 1992-12-29 | 중앙제어 장치와 인터페이스 되는 피포 회로 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR940015803A KR940015803A (ko) | 1994-07-21 |
KR950007880B1 true KR950007880B1 (ko) | 1995-07-21 |
Family
ID=19347306
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019920026162A KR950007880B1 (ko) | 1992-12-29 | 1992-12-29 | 중앙제어 장치와 인터페이스 되는 피포 회로 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR950007880B1 (ko) |
-
1992
- 1992-12-29 KR KR1019920026162A patent/KR950007880B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR940015803A (ko) | 1994-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2916045B2 (ja) | Fifoモジュール | |
US5079693A (en) | Bidirectional FIFO buffer having reread and rewrite means | |
US5587953A (en) | First-in-first-out buffer memory | |
US5274600A (en) | First-in first-out memory | |
US5673415A (en) | High speed two-port interface unit where read commands suspend partially executed write commands | |
KR960005605A (ko) | 반도체 기억장치 | |
KR960042730A (ko) | 반도체기억장치 | |
US5269012A (en) | Stack memory system including an address buffer for generating a changed address by inverting an address bit | |
US5051890A (en) | Program/data memory employed in microcomputer system | |
US5033066A (en) | Event tagging time delay | |
KR950007880B1 (ko) | 중앙제어 장치와 인터페이스 되는 피포 회로 | |
JPS6334795A (ja) | 半導体記憶装置 | |
JPS5927624A (ja) | 論理変更可能な集積回路 | |
JPH0547174A (ja) | マルチポートメモリ | |
KR940009821B1 (ko) | 마이크로 프로세서의 입출력 기능을 이용한 어드레스 확장회로 | |
KR100211754B1 (ko) | 비동기 메모리 제어회로 | |
KR0181592B1 (ko) | 피엘씨의 아이오 모듈과 특수모듈의 슬롯 선택장치 | |
KR950014159B1 (ko) | 선입선출(fifo) 레지스터 제어방법 | |
JPH06103026A (ja) | メモリシステム | |
KR910006684Y1 (ko) | 중앙처리장치 신호 제어회로 | |
JPS60218146A (ja) | 記憶装置アドレス制御方式 | |
JPS61269288A (ja) | 記憶素子モジユ−ル | |
KR20020054891A (ko) | Fifo 메모리 장치의 플래그 발생회로 | |
JPS598058A (ja) | マイクロプロセツサ | |
JPH01182884A (ja) | 画像メモリ表示制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
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: 20020618 Year of fee payment: 8 |
|
LAPS | Lapse due to unpaid annual fee |