KR100557561B1 - Fifo 저장 장치 - Google Patents

Fifo 저장 장치 Download PDF

Info

Publication number
KR100557561B1
KR100557561B1 KR1020030053408A KR20030053408A KR100557561B1 KR 100557561 B1 KR100557561 B1 KR 100557561B1 KR 1020030053408 A KR1020030053408 A KR 1020030053408A KR 20030053408 A KR20030053408 A KR 20030053408A KR 100557561 B1 KR100557561 B1 KR 100557561B1
Authority
KR
South Korea
Prior art keywords
signal
block
write
read
register file
Prior art date
Application number
KR1020030053408A
Other languages
English (en)
Other versions
KR20050014973A (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 KR1020030053408A priority Critical patent/KR100557561B1/ko
Publication of KR20050014973A publication Critical patent/KR20050014973A/ko
Application granted granted Critical
Publication of KR100557561B1 publication Critical patent/KR100557561B1/ko

Links

Images

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
    • G06F9/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/10629Data buffering arrangements, e.g. recording or playback buffers the buffer having a specific structure
    • G11B2020/10638First-in-first-out memories [FIFO] buffers

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)

Abstract

본 발명에 따른 FIFO 저장 장치는 다수의 일정 용량의 레벨들을 포함하여 실제 데이터가 저장되는 레지스터 파일 블록과, 외부에서 인가되는 쓰기 활성화 신호 및 읽기 활성화 신호를 입력받아 레지스터 파일 블록을 제어하는 쓰기 제어신호 및 읽기 제어신호를 발생하는 제어 블록과, 레지스터 파일 블록의 현재 남은 저장 공간과 수행된 쓰기 회수 및 읽기 회수를 카운트하는 레벨 카운트 블록을 포함하여, 선택된 레벨(depth)만 활성화하여 데이터가 저장되고 출력되어 대기 시간이 없기 때문에 소비전력을 줄일 수 있고 클럭 신호에 동기시킬 수 있다.

Description

FIFO 저장 장치{First in First out storage device}
도 1은 종래 기술에 따른 FIFO 저장 장치를 나타낸 블록도.
도 2는 본 발명에 따른 FIFO 저장 장치를 나타낸 블록도.
도 3은 도 2에 도시된 레지스터 파일 블록을 나타낸 상세 블록도.
도 4는 도 2에 도시된 제어 블록을 나타낸 상세 블록도.
도 5는 도 2에 도시된 FIFO 레벨 카운트 블록을 나타낸 상세 블록도.
본 발명은 외부에서 통신용 디지털 시스템 등에서 사용 가능하며 입력되는 데이터를 차례대로 저장하여 출력신호가 인가되었을 때 제일 먼저 저장된 데이터부터 차례대로 출력시키는 선입선출(First In First Out; 이하 FIFO라 한다) 저장 장치에 관한 것으로, 보다 상세하게는 레지스터 파일(register file)을 사용하여 선택된 레벨(depth)만 활성화하여 데이터가 저장되고 출력되어 대기 시간이 없기 때문에 소비전력을 줄일 수 있고 클럭 신호에 동기시킬 수 있는 FIFO 저장 장치에 관한 것이다.
FIFO(First In First Out;선입선출)은 가장 먼저 들어온 것이 가장 먼저 처 리되고, 가장 나중에 들어온 것이 가장 나중에 처리되는 방식의 작업처리 방법을 말한다.
예를 들면 하나의 자원을 이용하기 위해 여러 개의 프로그램에서 자원을 요구하는 경우에 가장 먼저 자원을 요구한 작업에서 자원을 가장 먼저 할당받고, 가장 나중에 자원을 요구한 작업에서 자원을 가장 나중에 할당받는 방법으로 동작한다.
이러한 방식으로 동작하는 자료 구조 큐(Queue)를 FIFO라는 이름으로 부르기도 한다.
일반적으로 FIFO 저장 장치는 제일 먼저 저장된 데이터를 제일 먼저 읽어내는 기억 소자로써 LCD 제어기(LCD controller) 등에 적용된다.
도 1은 종래 기술에 따른 FIFO 저장 장치를 나타낸 블록도이다. 여기서는 래치 기반(latch based) 방식 비동기 32 × 32 FIFO를 예를 들어 설명한다.
FIFO 저장 장치는 32개의 FIFO 모듈을 갖는다. 각 FIFO 모듈은 FIFO 제어부(1)와 데이터 기억부(2)를 포함하여 구성된다.
FIFO 제어부(1)는 데이터 기억부(2)에 데이터를 쓰거나 데이터 기억부(2)로부터 데이터를 읽을 때 필요한 제어신호를 발생하는 기능을 수행하며, 외부로부터 쓰기 활성화 신호(FW) 및 읽기 활성화 신호(FR)를 입력받아 읽기 포인터(read pointer), 쓰기 포인터(write pointer), 엠프티(empty) 신호, 풀 플래그(full flag) 신호 등을 발생시킨다. 또한 FIFO 제어부(1)는 실제로 데이터가 저장되는 데이터 기억부(2)의 구성소자에 대한 쓰기 제어신호도 발생한다.
먼저, FIFO 모듈에 데이터를 쓰기 위해 쓰기 활성화 신호(FW)를 인가한다. 즉 데이터를 입력할 때마다 쓰기 활성화 신호(FW)가 활성화되어 FIFO 모듈의 데이터 기억부(2)는 쓰기 활성화 신호(FW)의 특정 에지(edge)에서 데이터를 래치한다.
이와 같이 FIFO 저장 장치는 비동기 방식을 사용하기 때문에 레벨(depth) 수만큼 제어 회로가 필요하기 때문에 칩 면적이 증가하는 문제점이 있다.
또한 데이터를 한번 저장하고 출력시키기 위해 전체 레벨(depth)에서 한번씩 변화(transition)가 발생하기 때문에 전력 소모가 큰 문제점이 있다.
상기 문제점을 해결하기 위한 본 발명의 목적은, 레지스터 파일(register file)을 사용하여 선택된 레벨(depth)만 활성화하여 데이터가 저장되고 출력되어 대기시간이 없고 소비 전력을 줄이고, 데이터를 저장하고 출력하는 동작을 클럭 신호의 상승 에지에 동기시키는 것이다.
상기 목적을 달성하기 위한 본 발명의 FIFO 저장 장치는 다수의 일정 용량의 레벨들을 포함하여 실제 데이터가 저장되는 레지스터 파일 블록; 외부에서 인가되는 쓰기 활성화 신호 및 읽기 활성화 신호를 입력받아 상기 레지스터 파일 블록을 제어하는 쓰기 제어신호 및 읽기 제어신호를 발생하는 제어 블록; 및 상기 레지스터 파일 블록의 현재 남은 저장 공간과 수행된 쓰기 회수 및 읽기 회수를 카운트하는 레벨 카운트 블록을 포함하여 구성된 것을 특징으로 한다.
상술한 목적 및 기타의 목적과 본 발명의 특징 및 이점은 첨부도면과 관련한 다음의 상세한 설명을 통해 보다 분명해 질 것이다.
이하, 첨부 도면을 참조하여 본 발명의 실시예를 상세히 설명하면 다음과 같다.
도 2는 본 발명에 따른 FIFO 저장 장치를 나타낸 블록도이다. 여기서는 32×32 레지스터 파일 기반(register file based) FIFO를 예를 들어 설명한다.
FIFO 저장 장치는 실제 데이터가 저장되는 레지스터 파일 블록(10)과, 외부에서 인가되는 쓰기 활성화 신호(FW) 및 읽기 활성화 신호(FR)를 입력받아 레지스터 파일 블록(10)을 제어하는 신호(WEN, REN)를 발생하는 제어 블록(20)과, 현재 FIFO에 남은 공간과 수행된 쓰기 회수, 읽기 회수를 카운트하는 FIFO 레벨 카운트 블록(30)을 포함하여 구성된다.
외부에서 데이터(DIN)와 쓰기 활성화 신호(FW)가 인가되면 제어 블록(20)에서 쓰기 제어신호(WEN)를 발생시키고 0번째 32비트 레지스터 파일(0번째 FIFO 레벨(depth))에 데이터를 쓴다.
이와 같이 데이터가 들어오는 순서대로 0번째에서 31번째까지 차례대로 데이터가 쓰여진다.
한편 외부에서 데이터를 읽기 위해 읽기 활성화 신호(FR)가 입력되면 제어 블록(20)에서 읽기 제어신호(REN)를 발생시켜 0번째부터 차례대로 데이터를 읽어 간다.
여기서 FIFO의 쓰기 및 읽기 동작은 각각 쓰기 및 읽기 활성화 신호(FW, FR) 의 상승 에지(rising edge)에 동기되어 수행된다.
또한 FIFO 레벨 카운트 블록(30)은 쓰기, 읽기 활성화 신호(FW, FR)를 이용하여 FIFO의 남은 공간에 대한 정보를 외부에 보내주기 위한 신호(VLD)를 발생한다.
도 3은 도 2에 도시된 레지스터 파일 블록(10)을 나타낸 상세 블록도이다.
레지스터 파일 블록(10)은 32개의 32 비트 레벨(depth)로 나누어져 구성된다.
쓰기 동작을 위해 데이터(DIN)가 입력되면 데이터 버스를 공유하고 있던 32개의 레벨(depth) 중에서 쓰기 제어신호(WEN)가 발생된 레벨(depth)에서만 데이터가 써진다.
읽기 동작 시에 읽기 제어신호(REN)가 발생된 레벨(depth)에서만 데이터(DOUT)가 읽어진다.
쓰기와 읽기 동작 시에 레벨(depth)은 중복되어 선택되지 않는다.
도 4는 도 2에 도시된 제어 블록(20)을 나타낸 상세 블록도이다. 여기서는 쓰기 제어신호(WEN)를 발생하는 회로만을 도시하였지만, 이와 동일하게 읽기 제어신호(REN)를 발생하는 회로도 구성된다.
제어 블록(20)의 쓰기 제어신호 발생 회로는 앞단의 출력이 입력단자에 인가되어 피드백되는 32개의 플립플롭(21)으로 구성된다.
각 플립플롭(21)의 클럭 입력단자에는 쓰기 활성화 신호(FW)가 인가되고, 리셋 단자에는 전체 리셋 신호(NRST)가 인가된다.
따라서 쓰기 활성화 신호(FW)의 상승 에지가 발생될 때마다 쓰기 제어신호(WEN)가 0 번째 비트부터 차례대로 포지티브 트리거(positive triggered)된다. 또한 리셋 신호(NRST)가 인가되면 0번째 쓰기 제어신호(WEN)가 하이 레벨이 된다.
도 5는 도 2에 도시된 FIFO 레벨 카운트 블록(30)을 나타낸 상세 블록도이다.
FIFO 레벨 카운트 블록(30)은 쓰기 활성화 신호(FW) 및 읽기 활성화 신호(FR)의 상승 에지를 각각 카운트하는 5비트 카운터들(31, 32)과, 각 카운터들(31, 32)의 출력신호를 조합하는 뺄셈기(33)와, 뺄셈기(33)로부터의 출력신호를 디코딩하여 레벨 신호(VLD<0:31>)를 발생하는 디코더(34)를 포함하여 구성된다.
FIFO 레벨 카운트 블록(30)은 FIFO 레벨을 카운트하여 그 결과를 외부로 보내주는 레벨 신호(VLD<0:31>)를 발생한다.
본 발명의 FIFO 저장 장치는 쓰기 활성화 신호(FW) 및 읽기 활성화 신호(FR)의 상승 에지에 동기되어 쓰기 및 읽기 동작을 수행하기 때문에, 쓰기 활성화 신호(FW) 및 읽기 활성화 신호(FR)를 이용하면 레지스터 파일 블록(10)의 어느 레벨(depth)에 현재 데이터가 저장되어 있는지 알 수 있고, 외부 장치는 이를 이용하여 데이터를 전송할 수 있고 받을 수도 있다.
이와 같이 구성된 본 발명의 FIFO 저장 장치는 LCD 제어기에 적용될 수 있는데, SDRAM과 같은 메모리 소자로부터 LCD 제어에 사용되는 데이터를 저장했다가 LCD 제어기의 요청이 있을 때에 데이터를 출력한다.
이상에서 살펴본 바와 같이, 본 발명에 따른 FIFO 저장 장치는 레지스터 파일을 사용하여 선택된 레벨(depth)만 활성화하여 데이터가 저장되고 출력되어 대기시간이 없고, 소비전력을 줄일 수 있는 효과가 있다.
또한 각 레벨(depth)에 데이터를 저장하고 출력하는 동작을 클럭 신호의 상승 에지에 동기하여 수행할 수 있는 효과가 있다.
아울러 본 발명의 바람직한 실시예는 예시의 목적을 위한 것으로, 당업자라면 첨부된 특허청구범위의 기술적 사상과 범위를 통해 다양한 수정, 변경, 대체 및 부가가 가능할 것이며, 이러한 수정 변경 등은 이하의 특허청구범위에 속하는 것으로 보아야 할 것이다.

Claims (5)

  1. 다수의 일정 용량의 레벨들을 포함하여 데이터가 저장되는 레지스터 파일 블록;
    외부에서 인가되는 쓰기 활성화 신호 및 읽기 활성화 신호를 이용하여 상기 레지스터 파일 블록의 대응하는 상기 레벨들을 각각 제어하는 다수의 쓰기 제어신호 및 다수의 읽기 제어신호를 발생하는 제어 블록; 및
    쓰기 회수 및 읽기 회수를 카운트하여 데이터가 저장된 상기 레지스터 파일 블록의 상기 레벨을 나타내는 신호를 발생하여 상기 레지스터 파일 블록의 현재 남은 저장 공간을 나타내는 레벨 카운트 블록을 포함하여 구성된 것을 특징으로 하는 FIFO 저장 장치.
  2. 삭제
  3. 제 1 항에 있어서, 상기 제어블록은
    상기 쓰기 제어신호를 발생하는 쓰기 제어신호 발생수단; 및
    상기 읽기 제어신호를 발생하는 읽기 제어신호 발생수단을 포함하여 구성된 것을 특징으로 하는 FIFO 저장 장치.
  4. 제 3 항에 있어서,
    상기 쓰기 제어신호 발생수단은 클럭 입력단자에 상기 쓰기 활성화 신호가 인가되고, 앞단의 출력단자가 입력단자에 접속된 다수의 제1 플립플롭들을 포함하고,
    상기 읽기 제어신호 발생수단은 클럭 입력단자에 상기 읽기 활성화 신호가 인가되고, 앞단의 출력단자가 입력단자에 접속된 다수의 제2 플립플롭들을 포함하는 것을 특징으로 하는 FIFO 저장 장치.
  5. 제 1 항에 있어서, 상기 레벨 카운트 블록은
    상기 쓰기 활성화 신호의 상승에지를 카운트하는 제1 카운터;
    상기 읽기 활성화 신호의 상스에지를 카운트하는 제2 카운터;
    상기 제1 카운터 및 상기 제2 카운터로부터 출력된 신호들을 조합하는 뺄셈수단; 및
    상기 뺄셈 수단으로부터 출력된 신호를 디코딩 하는 디코더를 포함하는 것을 특징으로 하는 FIFO 저장 장치.
KR1020030053408A 2003-08-01 2003-08-01 Fifo 저장 장치 KR100557561B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030053408A KR100557561B1 (ko) 2003-08-01 2003-08-01 Fifo 저장 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030053408A KR100557561B1 (ko) 2003-08-01 2003-08-01 Fifo 저장 장치

Publications (2)

Publication Number Publication Date
KR20050014973A KR20050014973A (ko) 2005-02-21
KR100557561B1 true KR100557561B1 (ko) 2006-03-03

Family

ID=37225820

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030053408A KR100557561B1 (ko) 2003-08-01 2003-08-01 Fifo 저장 장치

Country Status (1)

Country Link
KR (1) KR100557561B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102624808B1 (ko) 2016-07-13 2024-01-17 삼성전자주식회사 멀티 랭크로 구성된 메모리와 인터페이싱을 수행하는 인터페이스 회로

Also Published As

Publication number Publication date
KR20050014973A (ko) 2005-02-21

Similar Documents

Publication Publication Date Title
CN111367495B (zh) 一种异步先入先出的数据缓存控制器
US5596540A (en) Serial to parallel and parallel to serial architecture for a RAM based FIFO memory
KR0123239B1 (ko) 선입선출방식(fifo) 메모리
CN101261575B (zh) 一种实现不等宽数据传输的异步先进先出存储器及方法
JP2000148444A (ja) 複数論理fifoシステム
CN109388370B (zh) 一种实现先入先出队列的方法及装置
US20070038795A1 (en) Asynchronous bus interface and processing method thereof
US20050220239A1 (en) Asynchronous FIFO apparatus and method for passing data between a first clock domain and a second clock domain of a data processing apparatus
JP2004062630A (ja) Fifoメモリ及び半導体装置
KR100557561B1 (ko) Fifo 저장 장치
CN115221082B (zh) 一种数据缓存方法、装置及存储介质
CN110968538B (zh) 一种数据缓冲方法和装置
EP4113304A1 (en) Work queue for communication between a producer and a consumer
JP4019757B2 (ja) 記憶装置
CN110618950B (zh) 一种异步fifo读写控制电路及方法、可读存储介质及终端
EP3531560B1 (en) A binary-to-gray conversion circuit, related fifo memory, integrated circuit and method
JP4478592B2 (ja) メモリ回路
JP4696003B2 (ja) データ転送回路
JP4217208B2 (ja) Fifoメモリ
US8462167B2 (en) Memory access control circuit and image processing system
JP2019075058A (ja) 非同期fifo回路
KR940009821B1 (ko) 마이크로 프로세서의 입출력 기능을 이용한 어드레스 확장회로
JP2005321933A (ja) データ入出力装置およびデータ入出力方法
JP2006012235A (ja) 記憶装置
CN117311662A (zh) 一种数据清除系统及方法

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130122

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140116

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150116

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee