KR950007880B1 - 중앙제어 장치와 인터페이스 되는 피포 회로 - Google Patents

중앙제어 장치와 인터페이스 되는 피포 회로 Download PDF

Info

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
Application number
KR1019920026162A
Other languages
English (en)
Other versions
KR940015803A (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 현대전자산업주식회사
Priority to KR1019920026162A priority Critical patent/KR950007880B1/ko
Publication of KR940015803A publication Critical patent/KR940015803A/ko
Application granted granted Critical
Publication of KR950007880B1 publication Critical patent/KR950007880B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements 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)
  • Computer And Data Communications (AREA)
  • Information Transfer Systems (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)

  1. CPU_쓰기 신호를 인가 받아 데이타를 저장하고 새로운 CPU_쓰기 신호가 액티브 될 때까지 데이타를 유지하도록 하는 CPU_데이타 래치 레지스터, 상기 CPU_쓰기 신호를 입력받아 이 신호의 액티브가 풀리는 시점에서 동작하도록 구성되며, 메모리 쓰기 신호를 인가 받고, 클럭 신호에 의해 동기되는 피포 콘트롤러, 상기 피포 콘트롤러로 부터의 업_플래그 신호와 다운_플래그 신호 신호를 인가 받으며, 클럭에 의해 동기 되고, 피포 어드레스 신호와 풀_플래그(Full_Flag)신호를 출력하는 업/다운 콘트롤러 및 디코더 수단, 상기 CPU_데이타 래치 레지스터로 부터 데이타 신호와, 상기 피로 콘트롤러로 부터 로드 신호와 홀드/시피트 토글 신호와, 상기 업/다운(UP/DOWN) 콘트롤러 및 디코더 수단으로 부터 피포 어드레스 신호를 인가받고 클럭에 의해 동기되며, 외부로 부터 데이타_어드레스 신호를 인가받아 데이타 신호와 어드레스 신호를 출력하기 위한 피포 레지스터 수단을 구비하는 것을 특징으로 하는 중앙제어 장치와 인터페이스 되는 피포 회로.
KR1019920026162A 1992-12-29 1992-12-29 중앙제어 장치와 인터페이스 되는 피포 회로 KR950007880B1 (ko)

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)

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) 반도체 기억장치
US5033066A (en) Event tagging time delay
EP0361497A2 (en) Program/data memory employed in microcomputer system
KR950007880B1 (ko) 중앙제어 장치와 인터페이스 되는 피포 회로
JPS6334795A (ja) 半導体記憶装置
JPS61286940A (ja) イベントカウンタ
JPS5927624A (ja) 論理変更可能な集積回路
KR940009821B1 (ko) 마이크로 프로세서의 입출력 기능을 이용한 어드레스 확장회로
JPH0547174A (ja) マルチポートメモリ
KR100211754B1 (ko) 비동기 메모리 제어회로
KR0181592B1 (ko) 피엘씨의 아이오 모듈과 특수모듈의 슬롯 선택장치
SU1259260A1 (ru) Устройство управлени выборкой команд
JP2000132451A (ja) メモリ制御回路
KR950014159B1 (ko) 선입선출(fifo) 레지스터 제어방법
JPS6391756A (ja) 記憶装置の部分書き込み命令処理方式
JPH06103026A (ja) メモリシステム
JPS60218146A (ja) 記憶装置アドレス制御方式
JPS61269288A (ja) 記憶素子モジユ−ル
KR20020054891A (ko) Fifo 메모리 장치의 플래그 발생회로
JPH055133B2 (ko)

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