KR0182778B1 - First-in first-out semiconductor memory device - Google Patents

First-in first-out semiconductor memory device Download PDF

Info

Publication number
KR0182778B1
KR0182778B1 KR1019940020631A KR19940020631A KR0182778B1 KR 0182778 B1 KR0182778 B1 KR 0182778B1 KR 1019940020631 A KR1019940020631 A KR 1019940020631A KR 19940020631 A KR19940020631 A KR 19940020631A KR 0182778 B1 KR0182778 B1 KR 0182778B1
Authority
KR
South Korea
Prior art keywords
data
address
write
bus
read
Prior art date
Application number
KR1019940020631A
Other languages
Korean (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
Priority claimed from JP63224931A external-priority patent/JP2818418B2/en
Priority claimed from JP1149241A external-priority patent/JP2849115B2/en
Priority claimed from KR1019890012110A external-priority patent/KR0168832B1/en
Application filed by 미다 가쓰시게, 가부시끼가이샤 히다찌세이사꾸쇼 filed Critical 미다 가쓰시게
Application granted granted Critical
Publication of KR0182778B1 publication Critical patent/KR0182778B1/en

Links

Landscapes

  • Communication Control (AREA)

Abstract

내부에 어드레스생성수단을 포함하는 반도체기억장치에 관한 것으로써, 데이타전송효율을 향상시키고, 축적데이타수를 정확하게 파악할 수 있고, 축적데이타수를 자유롭게 설정할 수 있는 등 하기 위해, 메모리셀어레이를 액세스하기 위해 사용되는 내부리드어드레스신호를 생성하기 위한 리드어드레스카운터, 리드어드레스카운터에서 공급되는 내부리드어드레스신호에 따라서 메모리셀어레이내의 비트셀을 선택하기 위한 선택수단 및 내부리드어드레스신호를 리라이트가능하게 하기 위한 제1의 제어신호가 공급되는 제1의 단자를 포함한다.A semiconductor memory device including an address generating means therein, which is used to access a memory cell array in order to improve data transfer efficiency, accurately determine the accumulated data number, and freely set the accumulated data number. Rewrite of the lead address counter for generating the internal lead address signal used for the purpose, the selection means for selecting the bit cell in the memory cell array according to the internal lead address signal supplied from the lead address counter, and enabling the internal read address signal to be rewritten And a first terminal to which a first control signal is supplied.

이러한 장치를 이용하는 것에 의해, 데이타전송효율이 향상되고, 축적데이타수를 정확하게 파악할 수 있으며, 축적데이타수를 자유롭게 설정할 수 있게 된다.By using such a device, data transfer efficiency can be improved, the accumulated data number can be grasped accurately, and the accumulated data number can be freely set.

Description

반도체기억장치(SEMICONDUCTOR MEMORY DEVICE)SEMICONDUCTOR MEMORY DEVICE

제1a도는 본 발명에 관한 FIFO메모리를 포함한 통신제어장치의 수신측의 1실시예의 블럭도.1A is a block diagram of one embodiment of a receiving side of a communication control apparatus including a FIFO memory according to the present invention.

제1b도는 본 발명에 관한 FIFO메모리를 포함한 통신제어장치의 송신측의 1실시예의 블럭도.1B is a block diagram of one embodiment of a transmitting side of a communication control apparatus including a FIFO memory according to the present invention.

제2도는 수신FIFO메모리의 단위기억영역 선택을 위한 상세한 예를 도시한 블럭도.2 is a block diagram showing a detailed example for selecting a unit memory area of a received FIFO memory.

제3도는 송신FIFO메모리의 단위기억영역 선택을 위한 상세한 예를 도시한 블럭도.3 is a block diagram showing a detailed example for selecting a unit memory area of a transmission FIFO memory.

제4도는 수신FIFO메모리에 포함되는 선택제어회로의 1예를 도시한 논리회로도.4 is a logic circuit diagram showing an example of the selection control circuit included in the reception FIFO memory.

제5도는 송신FIFO메모리에 포함되는 선택제어회로의 1예를 도시한 논리회로도.5 is a logic circuit diagram showing an example of a selection control circuit included in the transmission FIFO memory.

제6a도∼c도는 수신 FIFO메모리로 부터의 데이타리드상태의 1예를 도시한 설명도.6A to 6C are explanatory diagrams showing an example of the data lead state from the reception FIFO memory.

제7a도∼c도는 송신FIFO메모리로 부터의 데이타리드상태의 1예를 도시한 설명도.7A to C are explanatory diagrams showing an example of the data lead state from the transmission FIFO memory.

제8도는 수신FIFO메모리에 포함되는 비트셀의 1예를 도시한 회로도.8 is a circuit diagram showing an example of a bit cell included in a received FIFO memory.

제9도는 송신FIFO메모리에 포함되는 비트셀의 1예를 도시한 회로도.9 is a circuit diagram showing an example of a bit cell included in a transmission FIFO memory.

제10도는 송신FIFO메모리에 있어서의 라이트카운터 및 리드카운터의 계수값과 축적데이타수의 관계의 1예를 도시한 설명도.FIG. 10 is an explanatory diagram showing an example of the relationship between the count value of the write counter and read counter and the number of accumulated data in the transmission FIFO memory. FIG.

제11a도∼c도는 수신FIFO메모리에 포함되는 연산부의 가산기의 1예를 도시한 논리회로도.11A to 11C are logic circuit diagrams showing one example of the adder of the calculation unit included in the reception FIFO memory.

제12도는 플래그를 사용해서 축적데이타수를 연산하기 위한 1예의 블럭도.12 is a block diagram of an example for calculating the number of accumulated data using a flag.

제13도는 본 발명에 관한 다른 실시예인 FIFO메모리의 블럭도.13 is a block diagram of a FIFO memory, which is another embodiment of the present invention.

제14도는 제13도에 도시된 FIFO메모리를 1개의 반도체기판에 포함해서 이루어지는 프로세서의 주요부를 도시한 블럭도.FIG. 14 is a block diagram showing an essential part of a processor including the FIFO memory shown in FIG. 13 in one semiconductor substrate. FIG.

제15a, b도는 FIFO메모리에 있어서의 클리어처리의 1예를 도시한 설명도.15A and 15B are explanatory views showing one example of clear processing in a FIFO memory.

제16도는 본 발명에 관한 또 다른 실시예인 FIFO메모리의 블럭도.Figure 16 is a block diagram of a FIFO memory, which is another embodiment of the present invention.

제17도는 제16도에 도시된 FIFO메모리를 포함하는 시스템의 1예를 도시한 블럭도.FIG. 17 is a block diagram showing an example of a system including the FIFO memory shown in FIG.

본 발명은 내부에 어드레스생성수단을 포함하는 반도체기억장치, 특히 데이타를 선입선출형식으로 일시적으로 축적하는 FIFO메모리(first-in first-out memory)에 관한 것으로써, 예를들면 통신제어용 LSI나 통신제어시스템에 적용해서 유효한 기술에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention [0001] The present invention relates to a semiconductor memory device including an address generating means therein, in particular a FIFO memory (first-in first-out memory) for temporarily storing data in a first-in, first-out form. It relates to a valid technology applied to the control system.

데이타의 처리속도나 전송속도가 다른 여러개의 장치나 기능모듈사이에서 데이타의 전송을 실행하는 경우에 그와 같은 능력이나 속도가 다른 것을 흡수하기 위해 FIFO메모리등을 버퍼메모리로써 이용할 수 있다. 예를들면 통신제어용 LSI에 있어서, 통신회선과의 사이에서 데이타를 송수신하는 회선제어부와 상위장치에 접속되는 버스인터페이스부사이에 송신FIFO메모리나 수신FIFO메모리가 배치되어 있다. 수신FIFO메모리는 회선제어부에서 수신된 데이타를 순차적으로 축적하고, 축적된 데이타는 버스인터페이스부를 거쳐서 상위장치가 순차적으로 리드하여 데이타전송이나 데이타처리에 이용하게 된다. 상기 송신FIFO메모리는 버스인터페이스부를 거쳐서 상위장치에서 공급되는 송신데이타를 순차적으로 축적하고, 축적된 데이타는 회선제어부에 의해 순차적으로 리드되어 송신에 이용하게 된다.When transferring data between multiple devices or function modules having different data processing speeds or transfer speeds, a FIFO memory or the like can be used as a buffer memory in order to absorb such different capacities or speeds. For example, in the communication control LSI, a transmission FIFO memory and a reception FIFO memory are disposed between a line control unit for transmitting and receiving data between communication lines and a bus interface unit connected to a host device. The receiving FIFO memory sequentially stores the data received by the circuit control unit, and the accumulated data is sequentially read by the host device via the bus interface unit and used for data transmission or data processing. The transmission FIFO memory sequentially stores transmission data supplied from the host device via the bus interface unit, and the accumulated data is sequentially read by the circuit control unit and used for transmission.

그런데, 상기 수신FIFO메모리나 송신FIFO메모리에 있어서는 수신데이타의 오버런방지등의 관점이외에 상위시스템과의 사이에서의 데이타전송을 위한 오버헤드저감이나 상위시스템의 데이타처리능력과의 관계에 의해 데이타의 축적수를 자유롭게 제어하거나 더나아가서는 데이타축적수를 실시간으로 상위장치에 알릴 필요성을 본 발명자는 발견하였다. 이때, FIFO메모리의 데이타축적수를 얻기 위한 기술로써는 예를들면 일본국 특허공개공보 소화62-225050호에 기재되어 있는 바와 같이 FIFO메모리에 라이트동작이 지시될때마다 인크리먼트되고, 리드동작이 지시될때마다 디크리먼트되는 전용카운터를 사용하는 기술이 제공되고 있다.By the way, in the reception FIFO memory and the transmission FIFO memory, data is accumulated by the relationship between the overhead reduction for data transfer between the host system and the data processing capability of the host system, in addition to the prevention of overrun of the received data. The inventors have found the need to freely control the number or further inform the host apparatus of the data accumulation number in real time. At this time, as a technique for obtaining the data accumulation number of the FIFO memory, for example, as described in Japanese Patent Laid-Open No. 62-225050, it is incremented every time a write operation is instructed in the FIFO memory, and a read operation is instructed. There is a technology that uses a dedicated counter that decrements each time.

또, 데이타송수신에 있어서의 프레임 또는 문자는 8비트를 최소단위로 해서 전송되는 것이 보통이므로, 종래의 송신FIFO메모리나 수신FIFO메모리는 회선제어부와의 사이에서 데이타를 8비트 단위로 전송하도록 되어 있다. 종래는 이것에 따라서 송수신FIFO메모리와 버스인터페이스부도 각각 8비트의 버스 1개로 접속되어 있을 뿐이었다. 이와 같은 FIFO메모리의 버스구조에 대해서 기재된 문헌의 예로써는 미국 인텔사82586(1984년3월발간, LAN Components Users Manual 2. 13)이 있다.In addition, since a frame or character in data transmission / reception is usually transmitted with a minimum unit of 8 bits, the conventional transmission FIFO memory and the reception FIFO memory transmit data in units of 8 bits between the circuit control unit. . In the related art, the transmission / reception FIFO memory and the bus interface unit are only connected to one 8-bit bus. An example of the literature described for the bus structure of such a FIFO memory is US Intel Corporation 82586 (published March 1984, LAN Components Users Manual 2. 13).

그러나, FIFO메모리의 데이타축적수를 얻기 위해서 라이트할때마다 인크리먼트되고, 리드할때마다 디크리먼트되는 1개의 전용카운터를 사용한 것으로는 라이트와 리드가 동시에 발생한 경우에 인크리먼트 동작과 디크리먼트동작은 정확하게 실행하기 곤란하여 축적데이타수를 취득하는데 정확성을 기대하기 곤란하다는 문제점이 있었다.However, one dedicated counter that is incremented each time to write and decremented every time to obtain the data accumulation number of FIFO memory is used. There is a problem that the creep operation is difficult to execute accurately, and therefore it is difficult to expect accuracy in acquiring the accumulated data number.

또한, 본 발명자는 상위장치에서 송신FIFO메모리로 전송되고 남은 송신데이타의 축적데이타수에 따라 상위장치에 송신데이타의 전송을 요구하는 기술에 대해서 검토한 결과, 종래는 축적데이타의 잔류수에 따라 데이타전송을 요구하는 것에만 착안하고, 상위장치에서 송신FIFO메모리로 전송되는 데이타수를 제어하는 점에 대해서는 전혀 고려되어 있지 않았다. 이 때문에 다채널을 지원하는 회선제어부의 각 채널에 대응해서 다수의 송신FIFO메모리가 마련되어 있는 경우에는 동작상 다수의 송신FIFO메모리에서 상위장치로 데이타전송이 요구되는 경우가 있고, 그와 같은 시간에 송신FIFO메모리로의 전송요구의 네게이트조건을 자유롭게 설정할 수 없는 종래의 구성에서는 송신FIFO메모리로의 데이타전송을 위해 무제한으로 버스가 점유되어 상위장치에 의한 그 이외의 필요한 처리가 저지될 염려가 있었다.In addition, the present inventors have reviewed a technique for requesting transmission of transmission data to the host device according to the accumulated data of the remaining transmission data transferred from the host device to the transmission FIFO memory. Considering only the request for transmission, no consideration has been given to controlling the number of data transferred from the host device to the transmission FIFO memory. For this reason, when a large number of transmission FIFO memories are provided for each channel of a circuit control unit supporting multiple channels, data transmission may be required from a plurality of transmission FIFO memories to an upper device in operation. In the conventional configuration in which the negate condition of the transfer request to the FIFO memory cannot be freely set, there is a concern that the bus is occupied indefinitely for data transfer to the transmission FIFO memory, and other necessary processing by the host apparatus is prevented.

또, 통신제어장치에 있어서의 버스인터페이스부가 16비트와 같은 비트구성의 버스를 거쳐서 상위장치와 접속할 수 있게 되어 있는 경우 상위장치와 버스인터페이스부 사이에서 데이타를 16비트단위로 수수해도 종래와 같이 송신FIFO메모리나 수신FIFO메모리와 그 버스인터페이스부가 각각 8비트버스로 접속되어 있으면 송신FIFO메모리나 수신FIFO메모리와 버스인터페이스사이에서는 여러 회로로 분할해서 데이타전송을 실행해야하고, 이것에 의해서 FIFO메모리와 상위장치사이에서의 데이타전송효율이 저하되고 마는 문제가 있었다.In addition, when the bus interface unit in the communication control device can be connected to the host device via a bus having a bit structure such as 16 bits, data is transmitted between the host device and the bus interface unit in units of 16 bits and transmitted as usual. If the FIFO memory or the receiving FIFO memory and its bus interface are each connected by an 8-bit bus, the data transfer must be executed by dividing the data into several circuits between the transmitting FIFO memory, the receiving FIFO memory and the bus interface. There was a problem that the data transfer efficiency between devices was reduced.

또, FIFO메모리는 데이타를 선입선출형식으로 축적하기 위해서 리드카운터 및 라이트카운터와 같은 어드레스카운터를 마련하고, 메모리셀어레이에 대한 액세스어드레스는 그 리드카운터나 라이트카운터가 지시하도록 되어 있다. 예를들면 데이타가 비어 있는 상태에서 리드카운터와 라이트카운터의 값은 일치되어 데이타의 라이트동작이 지시될때마다 라이트카운터의 값이 인크리먼트되고, 데이타의 리드동작이 지시될때마다 리드카운터의 값이 인크리먼트된다. 이와 같은 FIFO메모리에 대해서 기재된 문헌의 예로써는 니케이 맥그로힐사 발행의 니케이일렉트로닉스제423호(1987년6월15일 발행, pp.181∼188)가 있다. 그러나, 종래의 FIFO메모리는 데이타의 리드와 라이트의 순서가 리드카운터나 라이트카운터와 같은 내장어드레스카운터에 의해서 유일하게 결정되어 있으므로, 메모리셀에 대한 랜덤액세스의 요구에는 일체 응답할 수가 없다. 예를들면 시스템동작상 FIFO메모리의 도중에 저장되어 있는 데이타를 검사할 필요가 있는 경우에는 그 필요한 데이타가 순차적으로 출력될때까지 대기하지 않으면 안된다. 또, 시스템동작상의 에러등에 의해서 도중에 불필요한 데이타가 발생한 경우에 이것을 클리어하기 위해서는 이 불필요한 데이타를 모두 순차적으로 리드해서 리드카운터의 값을 갱신해주지 않으면 안되고, 그 때문에 조작하는데 시간이 걸려 데이타의 실시간처리를 방해하는 것으로 되는 것이 본 발명자에 의해 명확하게 되었다.In order to accumulate data in a first-in-first-out format, the FIFO memory is provided with address counters such as read counters and write counters, and the access counter for the memory cell array is instructed by the read counter or the write counter. For example, when the data is empty, the values of the lead counter and the light counter are matched. Whenever the data write operation is instructed, the value of the write counter is incremented. When the data read operation is instructed, the read counter value is increased. It is incremented. An example of a document described for such a FIFO memory is Nikkei Electronics No. 423 (published on June 15, 1987, pp. 181 to 188) issued by Nikkei McGraw-Hill. However, in the conventional FIFO memory, since the order of reading and writing data is uniquely determined by a built-in address counter such as a read counter or a write counter, it cannot respond to any request for random access to the memory cell. For example, if the system needs to check the data stored in the middle of the FIFO memory, it must wait until the required data is output sequentially. In addition, in order to clear the unnecessary data due to an error in the system operation, it is necessary to read all the unnecessary data sequentially and update the read counter value. It was made clear by the present inventors to be the thing which hinders.

본 발명의 목적은 외부와의 데이타전송효율을 향상시킬 수 있는 FIFO형식의 반도체기억장치를 제공하는 것이다.An object of the present invention is to provide a FIFO type semiconductor memory device that can improve the data transfer efficiency to the outside.

본 발명의 다른 목적은 축적데이타수를 정확하게 파악할 수 있는 FIFO형식의 반도체기억장치를 제공하는 것이다.Another object of the present invention is to provide a FIFO type semiconductor memory device capable of accurately determining the accumulated data number.

본 발명의 다른 목적은 축적데이타수를 자유롭게 설정할 수 있는 FIFO형식의 반도체기억장치를 제공하는 것이다.Another object of the present invention is to provide a FIFO type semiconductor memory device capable of freely setting the accumulated data number.

본 발명의 다른 목적은 메모리셀에 대한 데이타의 리드나 라이트의 순서가 내장어드레스카운터에 의해 규정되어 있어도 랜덤액세스가 가능한 반도체기억장치를 제공하는 것이다.Another object of the present invention is to provide a semiconductor memory device which can be randomly accessed even if the order of reading or writing data to and from a memory cell is defined by the built-in address counter.

본 발명의 또 다른 목적은 메모리셀에 대한 데이타의 리드나 라이트의 순서가 내장어드레서 카운터에 의해 규정되어 있어도 데이타의 클리어처리를 간단하게 실행할 수 있는 반도체기억장치를 제공하는 것이다.Still another object of the present invention is to provide a semiconductor memory device which can easily perform data clearing processing even if the order of reading or writing data to and from a memory cell is specified by an internal address counter.

본 발명의 상기 및 그외의 목적과 새로운 특징은 본 명세서의 기술 및 첨부도면으로 명확하게 될 것이다.The above and other objects and novel features of the present invention will become apparent from the description and the accompanying drawings.

본원에서 개시되는 발명중 대표적인 것의 개요를 간단히 설명하면 다음과 같다.Brief descriptions of representative ones of the inventions disclosed herein are as follows.

즉, 데이타의 병렬리드비트수와 병렬라이트비트수가 서로 2이상의 정수배의 관계를 갖도록 데이타의 입력신호선과 출력신호선을 비트셀어레이에 포함되는 각각의 비트셀에 접속해서 FIFO메모리를 구성하는 것에 의해 소정의 여러개의 비트를 1단위로 하는 데이타를 선입선출형식으로 축적하는 경우에 FIFO메모리의 한쪽의 포트는 다른쪽의 포트에 비해 여러배의 단위데이타를 종합해서 수수가 가능하게 되고, 이것에 의해서 외부와의 데이타전송효율의 향상을 달성한다. 예를들면, FIFO메모리가 통신제어장치의 회선제어부와 버스인터페이스부사이에 배치되는 경우, FIFO메모리는 옥텟단위로 회선제어부와 데이타를 수수하는 한편, 여러배의 단위로 버스인터페이스부와 데이타를 수수한다.That is, the FIFO memory is formed by connecting the input signal line and the output signal line of the data to each bit cell included in the bit cell array such that the number of parallel lead bits and parallel write bits of the data has an integer multiple of two or more. In the case of accumulating data in units of one bit in a first-in-first-out format, one port of the FIFO memory can receive multiple times of unit data as compared to the other port. Improve the data transfer efficiency with For example, when the FIFO memory is arranged between the circuit control unit and the bus interface unit of the communication control device, the FIFO memory receives the circuit control unit and data in octets, and receives the bus interface unit and data in multiple units. .

이때, 데이타의 병렬리드 비트수와 병렬라이트 비트수의 관계를 동일 또는 2이상의 정수배로 선택제어하는 제어회로를 마련해두는 것에 의해, FIFO메모리와 데이타전송을 실행하는 회로블럭과의 버스접속구성에 범용성을 얻을 수 있고, 더나아가서는 외부회로를 이용하지 않고 버스교체를 용이하게 실행할 수 있음과 동시에 FIFO메모리사용의 편리성을 향상시킨다.At this time, by providing a control circuit for selectively controlling the relationship between the number of parallel lead bits of data and the number of parallel write bits by an integer multiple of the same or two or more, it is versatile for a bus connection configuration between a FIFO memory and a circuit block for performing data transfer. In addition, bus replacement can be easily performed without using an external circuit, and the convenience of using a FIFO memory is improved.

수신FIFO메모리의 축적데이타수를 취득하는 연산수단은 라이트카운터의 값과 리드카운터의 값을 실질적으로 대소비교하는 비교기수단을 포함하고, 이 비교수단에 의한 비교결과에 따라 라이트카운터의 값, 리드카운터의 값 및 단위기억영역의 기억단수에 따라서 축적데이타수를 산출한다. 이때, 리드카운터와 라이트카운터는 별도로 동작해서 각각의 계수값을 연산수단에 부여하고, 이와 같이 해서 양쪽의 카운터에서 별도로 부여되는 값을 연산수단이 처리하는 것에 의해 동시에 리드와 라이트가 발생해도 축적데이타수를 정확하게 취득하는 것을 달성한다.The calculating means for acquiring the accumulated data number of the received FIFO memory includes a comparator means for substantially comparing the value of the light counter with the value of the lead counter, and the value of the light counter and the lead counter according to the comparison result by the comparing means. The accumulated data number is calculated according to the value of and the number of storage stages in the unit memory area. At this time, the lead counter and the light counter operate separately to give each count value to the calculation means, and in this way, the calculation means processes the values separately given by both counters, thereby accumulating the data even if read and write occur. Achieves to get the number correctly.

상기 리드카운터 및 라이드카운터에 계수값이 초기값으로 되돌려질 때마다 반전하는 상태를 마련해서 양쪽 상태의 일치, 불일치를 비교수단으로 판정하도록 해서 리드카운터의 값과 라이트카운터의 값이 대소비교를 실행하게 하는 것에 의해 축적데이타수를 연산취득할때 라이트카운터의 값이 일순해서 초기값으로 되돌려진 이후의 대소판별을 용이하게 하는 것을 달성한다.The lead counter and the ride counter are inverted each time the count value is returned to the initial value, so that both states can be judged by comparing means so that the value of the lead counter and the light counter can be compared. By making it possible to calculate the accumulated data number, it is possible to facilitate the large and small discrimination after the value of the light counter is returned to the initial value sequentially.

FIFO메모리의 기억단수가 비교적 적은 경우에는 단위기억영역에 1대 1로 대응하는 플래그를 마련함과 동시에 라이트카운터가 지시하는 위치에 따른 플래그를 세트상태로 함과 동시에 라이트카운터가 지시하는 위치에 따른 플래그를 리세트상태로 제어하는 제어수단과 각 플래그의 상태에서 비트셀어레이의 축적데이타수를 취득하기 위한 논리게이트어레이를 마련하는 것에 의해서도 상기와 마찬가지로 축적데이타수를 정확하게 취득하는 것을 달성한다.When the number of storage stages of the FIFO memory is relatively small, a flag corresponding to one-to-one is provided in the unit memory area, the flag corresponding to the position indicated by the light counter is set, and the flag corresponding to the position indicated by the light counter. By acquiring the control means for controlling the to be in the reset state and the logic gate array for acquiring the accumulated data number of the bit cell array in the state of each flag, the accurate acquisition of the accumulated data number is achieved in the same manner as above.

이와 같이 해서 취득된 축적데이타수는 그대로 외부에 부여할 수도 있지만, 내부에서 취득된 축적데이타수를 이용해서 내부에 축적된 데이타수를 자유롭게 설정할 수 있도록 하기 위해서는, 즉 내부에 축적된 데이타수와의 관계에서 외부에 데이타전송을 지시하는 타이밍을 자유롭게 설정할 수 있도록 하기 위해서는 외부로 데이타전송을 지시하기 위한 전송준비신호의 어서트조건을 임의로 설정할 수 있는 레지스터의 설정값과 내부에서 취득되는 축적데이타수의 비교결과에 따라 어스트타이밍을 결정하도록 전송준비신호를 생성하면 좋다.Although the accumulated data number acquired in this way can be given to the outside as it is, in order to be able to freely set the number of data stored therein using the accumulated data number acquired internally, that is, In order to be able to freely set the timing for instructing data transmission to the outside in relation, the setting value of the register that can arbitrarily set the assertion condition of the transmission ready signal for instructing the data transmission to the outside and the number of accumulated data acquired internally The transmission ready signal may be generated to determine the astiming according to the comparison result.

이때, FIFO메모리의 데이타전송에 의한 버스점유기간이 길어져서 불편한 경우에는 전송준비신호의 네게이트조건을 임의로 설정할 수 있는 레지스터의 설정값과의 비교에 따라 전송준비신호의 네게이트타이밍도 자유롭게 제어하도록 해도 좋다.At this time, if the bus occupancy period by the data transfer of the FIFO memory becomes inconvenient, the negate timing of the transmission ready signal can be freely controlled according to the comparison with the setting value of the register that can arbitrarily set the negate condition of the transmission ready signal. You may also

이와 같이 전송준비신호의 어서트조건을 임의로 설정할 수 있는 제어레지스터, 더나아가서는 그 네게이트조건을 임의로 설정할 수 있는 제어레지스터를 마련하고, 이 레지스터의 설정값과 내부에서 취득되는 축적데이타수의 비교결과에 따라서 전송준비신호의 어서트타이밍이나 네게이트타이밍을 결정하는 것에 의해 FIFO메모리의 기억단수를 외관상 가변으로 제어할 수 있다.In this way, a control register that can arbitrarily set the assertion condition of the transmission ready signal is provided, and further, a control register that can arbitrarily set the negate condition, and a comparison between the set value of this register and the number of accumulated data acquired therein. By determining the assert timing or the gate timing of the transmission ready signal according to the result, the number of storage stages of the FIFO memory can be controlled in appearance.

이것에 의해, FIFO메모리의 데이타를 처리하는 장치의 부하가 작을때에는 FIFO메모리의 축적데이타수를 상대적으로 적게 하거나 부하가 클때에는 축적데이타수를 많게 하는 것이 가능하게 되어 용이하게 시스템동작의 유연성을 향상시킬 수 있고, 또한 고속동작시등에 있어서는 데이타전송요구의 빈도를 감소해서, 즉 데이타전송제어를 기동시키기 위한 오버헤드를 감소해서 시스템의 스루풋을 용이하게 향상시킬 수 있다.This makes it possible to relatively reduce the number of accumulated data in the FIFO memory when the load of the device processing the data of the FIFO memory is small or to increase the number of accumulated data when the load is large, thereby improving the flexibility of the system operation easily. In addition, the throughput of the system can be easily improved by reducing the frequency of data transfer requests during high-speed operation, that is, by reducing the overhead for activating the data transfer control.

또, 데이타의 리드나 라이트의 순서가 내장어드레스카운터에 의해 규정되는 반도체기억장치에 있어서, 어드레스카운터의 출력어드레스신호와 외부에서 공급되는 어드레스신호를 선택하는 선택수단을 마련하고, 이 선택수단에 의해 외부어드레스신호를 액세스어드레스신호로써 채용할때 상기 어드레스카운터의 갱신동작을 억제 제어할 수 있게 하는 것에 의해, 어드레스카운터가 지시하는 어드레스를 그대로 유지하면서 그 어드레스이외의 임의의 어드레스에서 필요한 데이타를 얻을 수 있다. 이것에 의해, 데이타의 리드나 라이트의 순서가 내장 어드레스카운터에 의해 규정된 반도체기억장치라도 랜덤액세스가 가능하게 된다.In addition, in the semiconductor memory device in which the order of reading or writing data is defined by the built-in address counter, selection means for selecting the output address signal of the address counter and the address signal supplied from the outside is provided. By employing an external address signal as an access address signal, it is possible to restrain and control the update operation of the address counter, so that necessary data can be obtained from any address other than the address while maintaining the address indicated by the address counter. have. As a result, random access is possible even in the case of a semiconductor memory device whose data is read or written in the order specified by the built-in address counter.

또한, 데이타의 리드나 라이트의 순서를 규정하는 내장어드레스카운터의 값을 외부에서 리라이트가능하게 하는 것에 의해 저장데이타의 도중에 불필요한 데이타가 발생한 경우 어드레스카운터를 외부에서 강제적으로 리라이트하는 것에 의해 데이타의 클리어처리를 간단히 실행하는 것을 달성하는 것이다. 이와 같이 구성된 반도체기억장치에 있어서, 랜덤액세스나 불필요한 데이타를 클리어처리할때 어드레스카운터의 값을 리라이트하는 경우 그 어드레스카운터의 상태를 외부에서 알 필요가 있는 경우를 고려하면 외부데이타 입출력단자를 거쳐서 어드레스카운터의 값을 외부로 리드할 수 있게 해두는 것이 바람직하다.In addition, when unnecessary data is generated in the middle of the stored data by enabling the external address value to be rewritten externally, which prescribes the data read or write order, the address counter is forcibly rewritten externally. It is to achieve a simple execution of the clear processing. In the semiconductor memory device configured as described above, when the address counter value is rewritten when random access or unnecessary data is cleared, it is necessary to know the state of the address counter externally via an external data input / output terminal. It is desirable to allow the value of the address counter to be read externally.

이하, 본 발명의 구성에 대해서 실시예와 함께 설명한다.EMBODIMENT OF THE INVENTION Hereinafter, the structure of this invention is demonstrated with an Example.

[통신제어장치(1)][Communication control device (1)]

제1a도에 수신측의 구성이 도시됨과 동시에 제1b도에 송신측의 구성이 도시된 본 발명의 1실시예인 통신제어장치는 특히 제한되지 않지만 공지의 반도체집적회로의 제조기술에 의해 실리콘과 같은 1개의 반도체기판에 형성되어 있다.The communication control apparatus according to the embodiment of the present invention, in which the configuration of the receiving side is shown in FIG. 1A and the configuration of the transmitting side is shown in FIG. 1B, is not particularly limited. It is formed on one semiconductor substrate.

이 통신제어장치(1)은 특히 제한되지 않지만 수신회선 RL 에서 직렬비트로 전송되는 수신데이타를 받아서 옥텟단위(8비트단위)로 직렬 또는 병렬 변환하는 수신회로(2)나 송신해야할 병렬데이타를 옥텟단위로 병렬/직렬변환해서 송신회선 TL로 송출하는 송신회로(3) 등을 포함한 회선제어부(4) 및 상위장치와 인터페이스되는 버스인터페이스부(5)를 갖는다. 이 버스인터페이스부(5)와 수신회로(2) 사이에는 병렬로 변환된 수신데이타를 옥텟단위로 순차로 일시적으로 축적하는 수신FIFO메모리(6)이 배치되고, 또 버스인터페이스부(5)와 송신회로(3)사이에는 송신해야할 데이타를 옥텟단위로 순차로 일시적으로 축적하는 송신FIFO메모리(7)이 마련되어 있다. 또한, 회신제어부(4)에서 직렬/병렬변환되는 단위는 8비트길이에 한정되지 않고 유한길이에서 일정하면 몇비트라도 좋다. 또, 직렬 데이타열의 최후의 트레인은 단위비트수에 꼭맞는 것이나 남는 것이라도 좋다. 직렬데이타의 최초 및 최후의 인식은 미리 정해진 순서에 따라 수신회로(2)가 실행한다. 마찬가지로 송신회로(3)은 송신데이타의 최초나 최후를 인식하기 위한 정보를 부가한다. 이들의 제어순서는 통신제어장치가 지원하는 프로토콜에 따라 결정되며, 그 구체적인 내용은 한정되지 않는다.Although the communication control device 1 is not particularly limited, the reception circuit 2 which receives reception data transmitted in serial bits on the reception line RL and converts them serially or in parallel into octets (8-bit units) or parallel data to be transmitted is octet units. Circuit control unit 4 including a transmission circuit 3 for parallel / serial conversion to a transmission line TL and a bus interface unit 5 for interfacing with the host device. Between the bus interface 5 and the receiving circuit 2, a receiving FIFO memory 6 for temporarily storing received data converted in parallel in order in octets is arranged, and the bus interface 5 and the transmission are arranged. Between the circuits 3, there is provided a transmission FIFO memory 7 which temporarily stores data to be transmitted sequentially in octets. In addition, the unit of serial / parallel conversion in the reply control section 4 is not limited to 8 bits in length, but may be any number of bits as long as it is constant at a finite length. The last train of the serial data string may be the one that fits in the number of unit bits or may remain. The first and last recognition of serial data is performed by the receiving circuit 2 in a predetermined order. Similarly, the transmission circuit 3 adds information for recognizing the beginning or the end of the transmission data. These control orders are determined according to the protocols supported by the communication control device, and the details thereof are not limited.

상기 버스인터페이스부(5)는 특히 제한되지 않지만 16비트의 데이타버스나 어드레스버스등을 포함하는 시스템버스(8)을 거쳐서 시스템전체의 제어를 담당하는 CPU(Central Processing Unit)(9), 싱글어드레싱모드나 이중모드로 데이타의 블럭전송제어를 실행할 수 있는 DMAC(Direct Memory Access Controller)(10) 및 데이타의 저장영역이나 CPU(9)의 작업영역등에 이용되는 RAM(Random Access Memory)(11)등의 상위장치에 결합되어 있다. 버스인터페이스부(5)에는 상위장치의 CPU(9)나 DMAC(10)등이 버스마스터모듈에서 출력되는 버스제어신호, 예를들면 데이타전송방향을 나타내는 리드/라이트신호 R/W, 시스템버스(8)에 포함되는 데이타버스상의 데이타가 유효인 것을 나타내는 데이타스트로브신호 DS, 16비트 데이타버스의 상위 8비트가 유효인 것을 나타내는 버스하이신호 BH, 16비트 데이타버스의 하위 8비트가 유효인 것을 나타내는 버스로우신호 BL등이 공급된다.The bus interface unit 5 is not particularly limited, but the CPU (Central Processing Unit) 9, single addressing, which is in charge of controlling the entire system via a system bus 8 including a 16-bit data bus, an address bus, and the like. Direct Memory Access Controller (DMAC) 10 capable of performing block transfer control of data in dual mode or duplex mode, and Random Access Memory (RAM) 11 used for data storage area and CPU 9 work area. It is coupled to the upper device of. The bus interface unit 5 has a bus control signal output from the bus master module such as the CPU 9 or the DMAC 10 of the host device, for example, a read / write signal R / W indicating a data transfer direction, and a system bus ( 8) Data strobe signal DS indicating that the data on the data bus included in the data is valid, bus high signal BH indicating that the upper 8 bits of the 16-bit data bus are valid, and indicating that the lower 8 bits of the 16-bit data bus are valid. The buslow signal BL is supplied.

수신회로(2)가 데이타를 수신하면 그 수신데이타는 순차로 수신FIFO메모리(6)에 라이트된다. 수신FIFO메모리(6)의 축적데이타수가 소정수에 도달하면 수신FIFO메모리(6)은 상위장치측에 수신FIFO메모리(6)의 리드액세스를 지시하는 전송준비신호, 예를들면 DMA전송용구신호 DREQ1을 DMAC(10)의 소정채널로 어서트한다. 이것에 대해 DMAC(10)은 수신 FIFO메모리(6)의 개장데이타를 상호 어드레스모드로 RAM(11)로 전송제어한다. RAM(11)된 전송된 데이타는 CPU(9)에 의한 소정의 프로토콜처리등에 사용하게 된다.When the reception circuit 2 receives data, the reception data is sequentially written to the reception FIFO memory 6. When the number of accumulated data in the reception FIFO memory 6 reaches a predetermined number, the reception FIFO memory 6 sends a ready signal for instructing the host apparatus to read access the reception FIFO memory 6, for example, a DMA transmission tool signal DREQ1. Is asserted to a predetermined channel of the DMAC 10. On the other hand, the DMAC 10 transfer-controls the retrofit data of the reception FIFO memory 6 to the RAM 11 in the mutual address mode. The transferred data from the RAM 11 is used for predetermined protocol processing by the CPU 9 and the like.

송신회로(3)은 송신FIFO메모리(7)에 축적되어 있는 데이타를 소정의 순서에 따라서 순차적으로 송신하지만 송신FIFO메모리(7)에 남아 있는 데이타수가 감소되면 송신FIFO메모리(7)은 상위장치측으로 송신해야할 데이타의 라이트를 지시하기 위한 전송준비신호, 예를들면 DMA전송요구신호 DREQ2를 DMAC(10)의 소정채널로 어서트한다. 이것에 의해, DMAC(10)은 RAM(11)에 저장되어 있는 송신해야할 데이타를 싱글어드레싱모드로 송신FIFO메모리(7)로 전송제어한다.The transmitting circuit 3 sequentially transmits the data stored in the transmitting FIFO memory 7 in a predetermined order, but when the number of data remaining in the transmitting FIFO memory 7 decreases, the transmitting FIFO memory 7 moves to the host apparatus. A transmission ready signal for indicating the write of data to be transmitted, for example, the DMA transmission request signal DREQ2, is asserted to a predetermined channel of the DMAC 10. As a result, the DMAC 10 transfers and controls the data to be transmitted stored in the RAM 11 to the transmission FIFO memory 7 in the single addressing mode.

통신제어장치(1)에 내장되어 있는 각종 제어용 레지스터는 특히 제한되지 않지만 CPU(9)에 의해 직접 액세스가능하게 되어 있다. 즉, CPU(9)에서 버스인터페이스부(5)로 어드레스신호가 공급되면 그 어드레스신호를 디코드하는 레지스터선택회로가 이 어드레스에 대응하는 레지스터를 선택하고, 이와 같이 해서 선택된 레지스터에 대해서 CPU(9)가 제어데이타의 초기설정등을 실행한다.The various control registers built in the communication control device 1 are not particularly limited, but are directly accessible by the CPU 9. That is, when an address signal is supplied from the CPU 9 to the bus interface unit 5, a register selecting circuit that decodes the address signal selects a register corresponding to this address, and thus the CPU 9 for the selected register. Executes initial setting of control data.

[수신FIFO메모리(6)][Receive FIFO Memory (6)]

상기 수신FIFO메모리(6)은 특히 제한되지 않지만 8비트분의 비트셀을 1단위로 하는 여러개의 단위기억영역RE0∼REm을 포함하는 비트셀어레이(13), 단위기억영역의 선택제어등을 실행하는 FIFO제어부(14), 비트셀어레이(13)에 축적되어 있는 데이타수를 연산하기 위한 연산부(15), 연산부(15)에서 취득된 축적데이타수를 이용해서 상기 DMA전송요구신호DREQ1을 생성하는 전송준비생성부(16)등을 포함한다.Although the receiving FIFO memory 6 is not particularly limited, the bit cell array 13 including a plurality of unit memory areas RE 0 to RE m having 8 bit cells for one unit, selection control of the unit memory area, and the like. The DMA transfer request signal DREQ1 by using the FIFO control unit 14 for executing the operation, the operation unit 15 for calculating the number of data stored in the bit cell array 13, and the accumulated data number acquired by the operation unit 15. And a transmission preparation generating unit 16 to generate.

상기 비트셀어레이(13)은 특히 제한되지 않지만 제2도에 도시된 바와 같이 비트셀 BC를 n행 8열로 매트릭스 배치되어 이루어지고, 각 행8개의 비트셀이 각각 8비트분의 단위기억영역RE0∼REm을 구성한다.The bit cell array 13 is not particularly limited but is formed by arranging the bit cells BC in n rows and 8 columns as shown in FIG. 2, and each of the 8 bit cells in each row is 8 bits of unit memory area RE. constitute 0 ~RE m.

비트셀어레이(13)으로의 데이타라이트동작에 있어서의 단위기억영역의 지정은 라이트카운터(20)이 실행하고, 그 계수데이타 RCOUNTw를 라이트어드레스디코더(21)이 해독하는 것에 의해 1개의 단위기억영역이 선택된다. 데이타리드동작에 있어서의 단위기억영역의 지정은 리드카운터(22)가 실행하고, 그 계수데이타 RCOUNTr을 리드어드레스디코더(23)이 해독하는 것에 의해 소정의 단위기억영역이 선택된다. 수신 FIFO 메모리(6)의 초기상태에 있어서, 상기 라이트카운터(20) 및 리드카운터(22)의 값은 0으로 초기화된다.The designation of the unit memory area in the data write operation to the bit cell array 13 is executed by the write counter 20, and the unit of the unit memory area is obtained by the write address decoder 21 decoding the coefficient data RCOUNTw. Is selected. The designation of the unit memory area in the data read operation is performed by the read counter 22, and the predetermined unit memory area is selected by the read address decoder 23 decoding the coefficient data RCOUNTr. In the initial state of the receiving FIFO memory 6, the values of the light counter 20 and the read counter 22 are initialized to zero.

(수신FIFO메모리(6)...라이트카운터(20))(Receive FIFO Memory (6) ... Light Counter (20))

라이트카운터(20)은 라이트할 수 있는 선두의 단위기억영역의 위치를 지시하고, 그 정보는 라이트어드레스디코더(21)을 향해서 출력되고 있다. 수신회로(2)에서 수신데이타가 비트셀어레이(13)으로 출력되면 이것에 따라서 수신회로(2)는 스트로브신호 RWS를 어서트한다. 이 스트로브신호RWS가 게이트(25)를 통과하면 처음에 라이트어드레스디코더(21)이 그 스트로브신호RWS의 어서트타이밍에 동기하여 라이트카운터(20)의 값을 디코드해서 단위기억영역을 선택하고, 선택된 단위기억영역에 수신데이타가 라이트된다. 계속해서 그 스트로브신호RWS의 네게이트 타이밍에 동기헤서 라이트카운터(20)이 인크리먼트되고, 이것에 의해 라이트카운터(20)은 다음의 라이트위치를 보유한다.The light counter 20 instructs the position of the first unit memory area to be written, and the information is output toward the write address decoder 21. When the reception data is output from the reception circuit 2 to the bit cell array 13, the reception circuit 2 asserts the strobe signal RWS accordingly. When the strobe signal RWs passes through the gate 25, the write address decoder 21 decodes the value of the light counter 20 in synchronization with the assertion of the strobe signal RWs to select a unit memory area, The reception data is written to the unit memory area. Subsequently, the light counter 20 is incremented in synchronism with the negate timing of the strobe signal RWS, whereby the light counter 20 holds the next write position.

또, 모든 단위기억영역RE0∼REm에 리드하기전의 데이타가 라이트되어 있는 풀상태, 즉 비트셀어레이(13)의 축적데이타수가 단위기억영역의 수(기억단수)와 같게 되어 있는 상태에서 더이상 새로운 수신데이타를 라이트할 수 없다. 이와 같은 상태에서 라이트를 저지하기 위해 상기 연산부(15)에서 연산된 축적데이타수를 받아서 비트셀어레이(13)이 풀상태인지를 판정하는 풀상태검출회로(26)이 마련되고, 이 검출결과신호 RFS가 상기 게이트(25)에 부여되는 것에 의해, 풀상태일때에는 스트로브신호RWS가 라이트카운터(20) 및 라이트어드레스디코더(21)로 전달되지 않도록 되어 있다.Further, in the full state in which the data before reading all the unit memory areas RE 0 to RE m is written, that is, the accumulated data number of the bit cell array 13 is equal to the number of unit memory areas (number of storage stages). New reception data cannot be written. In this state, a full state detection circuit 26 for determining whether the bit cell array 13 is in a full state by receiving the accumulated data number calculated by the operation unit 15 is provided to stop the write. The RFS is applied to the gate 25 so that the strobe signal RWS is not transmitted to the light counter 20 and the light address decoder 21 when in the full state.

(수신FIFO메모리(6)...리드카운터(22))(Receive FIFO Memory (6) ... Lead Counter (22))

상기 리드카운터(22)는 리드할 수 있는 선두의 단위기억영역의 위치를 지시하고, 그 정보는 리드어드레스디코더(23)를 향해서 출력되고 있다. 상위장치에서 출력되는 데이타스트로브신호DS, 리드/라이트신호R/W, 버스로우신호BL, 버스하이신호BH에 의해 수신FIFO메모리(6)의 리드동작이 지시되면 버스인터페이스부(5)는 리드/라이트신호R/W가 하이레벨과 같은 리드동작 지시레벨로 되어 있을때 데이타스트로브신호DS가 하이레벨로 어서트되는 타이밍에 동기해서 스트로브신호RRS를 어서트한다. 이 어서트타이밍에 동기해서 리드어드레스디코더(23)이 리드카운터(22)의 값을 디코드해서 단위기억영역에서 수신데이타가 리드된다. 그리고, 상기 스트로브신호의 네게이트타이밍에 동기해서 카운터컨트롤러(27)이 리드카운터(22)를 인크리먼트하고, 이것에 의해 리드카운터(22)는 다음의 리드위치를 보유한다. 카운터컨트롤러(27)에 의한 리드카운터의 인크리먼트동작은 버스로우신호BL 및 버스하이신호BH의 레벨에 따른 상태신호LDS, HDS에 의해 결정된다. 즉, 버스로우신호BL 및 버스하이신호BH가 모두 하이레벨로 어서트되어 양쪽의 상태신호LDS, HDS가 하이레벨로 되어 있을때, 즉 16비트데이타버스의 하위8비트 및 상위 8비트의 양쪽을 사용해서 데이타전송을 실행하는 것이 지시되어 있는 상태에서 카운터컨트롤러(27)은 카운트클럭RRC1, RRC2를 사용해서 리드카운터(22)를 2회 인크리먼트(2카운트업)한다. 상위 장치에 의해 16비트단위로 데이타가 리드될때에는 동시에 2개의 단위기억영역이 선택되게 되어 있기 때문이다. 또, 버스로우신호 BL과 버스하이신호BH중 어느 한쪽만 어스트되어 있을때, 즉 16비트데이타버스의 하위8비트 또는 상위 8비트중 어느 한쪽을 사용해서 데이타전송을 실행하는 것이 지시되어 있는 상태에서 카운터컨트롤러(27)은 카운트클럭RRC1 또는 RRC2의 한쪽을 사용해서 리드카운터를 1회 인크리먼트(1키운트업)한다.The lead counter 22 instructs the position of the leading unit memory area to be read, and the information is output toward the lead address decoder 23. When the read operation of the receiving FIFO memory 6 is instructed by the data strobe signal DS, the read / write signal R / W, the bus low signal BL, and the bus high signal BH output from the host device, the bus interface unit 5 reads the read / write signal. When the write signal R / W is at the read operation instruction level equal to the high level, the strobe signal RRS is asserted in synchronization with the timing at which the data strobe signal DS is asserted to the high level. In synchronization with this assertion timing, the read address decoder 23 decodes the value of the read counter 22, and the reception data is read in the unit memory area. Then, in synchronization with the gate timing of the strobe signal, the counter controller 27 increments the lead counter 22, whereby the lead counter 22 holds the next lead position. Incremental operation of the lead counter by the counter controller 27 is determined by the state signals LDS and HDS according to the levels of the bus low signal BL and the bus high signal BH. That is, when both the bus low signal BL and the bus high signal BH are asserted to the high level and both status signals LDS and HDS are at the high level, that is, both the lower 8 bits and the upper 8 bits of the 16-bit data bus are used. In the state in which data transfer is instructed, the counter controller 27 increments (counts up) the read counter 22 twice using the count clocks RRC1 and RRC2. This is because two unit memory areas are selected at the same time when data is read in units of 16 bits by the host device. In addition, when only one of the bus low signal BL and the bus high signal BH is asserted, i.e., instructing to perform data transfer using either the lower 8 bits or the upper 8 bits of the 16-bit data bus. The counter controller 27 increments (1 counts up) the lead counter once using either the count clock RRC1 or RRC2.

또, 단위기억영역E0∼Em에 저장되어 있는 데이타가 모두 리드된 빈상태, 즉 비트셀어레이(13)의 축적데이타수가 0인 상태에서는 더이상 리드해야할 정보가 존재하지 않는다. 이와 같은 상태에 있어서, 리드를 저지하기 위해 상기 연산부(15)에서 연산된 축적데이타수를 받아서 비트셀어레이(13)이 빈상태인지 아닌지를 판정하는 빈상태 검출회로(29)가 마련되고, 이 검출결과 신호RES가 리드어드레스디코더(23) 및 카운터컨트롤러(27)에 부여되는 것에 의해 스트로브신호RRS의 변화가 무시되도록 되어 있다.In the empty state in which all the data stored in the unit memory areas E 0 to E m are read, that is, when the accumulated data number of the bit cell array 13 is zero, there is no information to be read anymore. In this state, an empty state detection circuit 29 is provided which determines whether or not the bit cell array 13 is empty by receiving the accumulated data number calculated by the calculating unit 15 to prevent reads. The detection result signal RES is applied to the read address decoder 23 and the counter controller 27 so that the change in the strobe signal RRS is ignored.

[수신FIFO메모리(6)...2바이트병렬리드][Receive FIFO memory (6) ... 2 byte parallel lead]

비트셀어레이(13)에서 1바이트(8비트) 단위의 수신데이타를 병렬로 2개씩 리드할 수 있게 하기 위해 각 비트셀BC는 특히 제한되지 않지만 제8도에 도시된 바와 같이 D형 플립플롭과 같은 래치회로(30)의 데이타입력단자D에 선택스위치(31)을 거쳐서 1개의 라이트데이타선Dwi(i=0∼7)가 결합되고, 래치회로(30)의 데이타출력단자Q에는 각각 선택스위치(32), (33)을 거쳐서 상위 리드데이타선HDri와 하위 리드데이타선LDri가 공통접속되어 있다. 상기 선택스위치(31)의 선택단자는 라이트워드선 Wwj(j=o∼m)에 결합되고, 선택스위치(32), (33)의 선택단자는 상위 리드워드선HWrj, 하위 리드위드선LWrj엑 각각 접속되어 있다. 제2도에 도시된 바와 같이 상기 라이트워드선 Wwj, 상위 리드워드 HWrj, 하위 리드워드선LWrj는 1개의 단위 기억영역을 구성하는 1행8개의 비트셀 BC에 공통접속되고, 또 라이트데이타선Dwi, 상위 리드데이타선HDri, 하위 리드데이타선 LDri는 1열 n개의 비트셀BC에 공통 접속되어 있다.Each bit cell BC is not particularly limited in order to read two received data in units of one byte (8 bits) in parallel in the bit cell array 13, but as shown in FIG. One write data line Dwi (i = 0 to 7) is coupled to the data input terminal D of the latch circuit 30 via the select switch 31, and the select switch is respectively connected to the data output terminal Q of the latch circuit 30. The upper lead data line HDri and the lower lead data line LDri are connected in common through (32) and (33). The select terminal of the select switch 31 is coupled to the write word line Wwj (j = o to m), and the select terminals of the select switches 32 and 33 are the upper lead word line HWrj and the lower lead weed line LWrj X. Each is connected. As shown in FIG. 2, the write word line Wwj, the upper lead word HWrj, and the lower lead word line LWrj are commonly connected to one row and eight bit cells BC constituting one unit storage area, and the write data line Dwi. The upper lead data line HDri and the lower lead data line LDri are commonly connected to n bit cells BC in one column.

상기 라이트데이타선Dw0∼Dw7은 제1도a에 도시된 8비트의 내부버스(35)를 거쳐서 수신회로(2)의 데이타출력단자에 결합된다. 상기 하위 리드데이타선LDr0∼LDr7은 제1a도에 도시된 8비트의 내부버스(37)을 거치고, 상위 리드데이타선 HDr0~HDr7은 8비트의 내부버스(37)을 거쳐서 각각 버스인터페이스부(5)에 접속되고, 이것을 통해서 시스템버스(8)의 16비트데이타버스의 하위8비트, 상위8비트에 각각 인터페이스가능하게 되어 있다.The write data lines Dw0 to Dw7 are coupled to the data output terminal of the reception circuit 2 via the 8-bit internal bus 35 shown in FIG. The lower lead data lines LDr0 to LDr7 pass through the 8-bit internal bus 37 shown in FIG. 1a, and the upper lead data lines HDr0 to HDr7 pass through the 8-bit internal bus 37, respectively. Is connected to the lower 8 bits and the upper 8 bits of the 16-bit data bus of the system bus 8, respectively.

상기 라이트워드선Ww0∼Wwm은 라이트카운터(20)에서 부여되는 계수값을 디코드해서 선택신호RSw0∼RSwm을 형성하는 라이트어드레스디코더(21)의 출력단자에 순차로 접속되고, 라이트카운터(20)에서 부여되는 계수값의 디코드결과에 따라서 소정의 1개가 하이레벨과 같은 선택레벨로 제어된다. 1개의 라이트워드선Wwj가 선택레벨로 되면 이것에 접속한 1행 8개의 비트셀BC로 이루어지는 단위기억영역Ej에 라이트테이타선Dw0∼Dwm에서 부여되는 8비트의 수신데이타가 라이트된다. 라이트타이밍은 래치회로(30)의 클럭입력단자CK에 공급된 신호의 클럭변화 또는 레벨에 따라 결정되며, 예를들면 라이트워드선Wwj의 신호를 그대로 클럭입력단자CK에 부여해도 좋다.The light word lines Ww0 to Wwm are sequentially connected to the output terminals of the write address decoder 21 which decodes the coefficient value provided by the light counter 20 to form the selection signals RSw0 to RSwm. According to the decoding result of the given coefficient value, a predetermined one is controlled at a selection level such as a high level. When one write word line Wwj becomes the selection level, the 8-bit reception data provided in the write data lines Dw0 to Dwm is written to the unit memory area Ej consisting of one row and eight bit cells BC connected thereto. The write timing is determined in accordance with the clock change or level of the signal supplied to the clock input terminal CK of the latch circuit 30. For example, the signal of the write word line Wwj may be applied to the clock input terminal CK as it is.

상기 하위 리드워드선LWr0∼LWrm, 상위 리드워드선HWr0∼HWrm의 선택동작은 리드어드레스디코더(23)에서 출력되는 선택신호RSr0∼RSrm을 받는 선택제어회로(40)이 실행한다. 리드어드레스디코더(23)은 리드카운터(22)에서 부여되는 계수값의 디코드결과에 따라 선택신호RSr0∼RSrm중 1개를 하이레벨과 같은 선택레벨로 한다.The selection operation of the lower lead word lines LWr0 to LWrm and the upper lead word lines HWr0 to HWrm is executed by the selection control circuit 40 which receives the selection signals RSr0 to RSrm output from the read address decoder 23. The lead address decoder 23 sets one of the selection signals RSr0 to RSrm to the same selection level as the high level in accordance with the decoding result of the coefficient value provided by the read counter 22.

상기 선택제어회로(40)은 리드어드레스디코더(23)에 의한 1회의 선택동작에 의해 2바이트의 데이타를 병렬리드가능하게 제어하는 것으로써, 단위기억영역RE0∼REm마다 마련된 셀렉터 RSEL0∼RSELm으로 구성된다.The selection control circuit 40 controls two bytes of data in parallel reading by one selection operation by the read address decoder 23, so that the selector RSEL 0 to RE provided for each unit memory area RE 0 to RE m . It consists of RSEL m .

상기 셀렉터RSEL0∼RSELm은 서로 같은 논리게이트를 포함하고, 예를들면 셀렉터 RSELj는 제4도에 도시된 바와 같이 버스로우신호BL에 대응하는 버스로우상태신호LDS와 선택신호 RSrj를 2입력으로 해서 논리곱을 취하며, 그 결과를 하위 리드워드선LWrj로 출력하는 AND게이트(40), 인버터(41)에서 출력되는 버스로우상태신호LDS의 반전레벨신호, 버스하이신호BH에 대응하는 버스하이상태신호HDS 및 선택신호RSrj를 3입력으로 해서 논리곱을 취하는 AND게이트(42), 상기 버스하이상태신호HDS, 버스로우상태신호LDS 및 전단의 선택신호RSrj-1을 3입력으로 해서 논리곱을 취하는 AND게이트(43), 상기 2개의 AND게이트(42), (43)의 출력을 2입력으로 해서 논리합을 취하여 그 결과를 상위 리드워드선HWrj로 출력하는 OR게이트(44)로 이루어진다.The selectors RSEL 0 to RSEL m include logic gates identical to each other. For example, the selector RSELj has two inputs of a bus low state signal LDS and a selection signal RSrj corresponding to the bus low signal BL as shown in FIG. The AND gate 40 outputting the result to the lower lead word line LWrj, the inverted level signal of the bus low state signal LDS output from the inverter 41, and the bus high state corresponding to the bus high signal BH. AND gate 42 for performing logical AND with three inputs of signal HDS and selection signal RSrj, AND gate taking AND for 42 with the input of bus high state signal HDS, buslow state signal LDS and selection signal RSrj-1 of the preceding stage (43) and OR gates 44 for outputting the two AND gates 42 and 43 as two inputs, taking a logical sum, and outputting the result to the upper lead word line HWrj.

수신데이타를 2바이트병렬리드할때 버스로우상태신호LDS와 버스하이상태신호HDS는 모두 하이레벨로 된다. 이때, 예를들면 리드카운터(22)가 단위기억영역REj를 지시하고, 이것에 의해 선택신호RSrj가 선택레벨로 되면 이 선택신호RSrj를 받는 셀렉터RSELj의 AND게이트(40)과 다음단의 셀렉터RSELj+1의 AND게이트(43)이 하이레벨의 신호를 출력하고, 이 결과 제6a도에 도시된 바와 같이 단위기억영역REj의 수신데이타가 상위 리드데이타선HDr0∼HDr7에 리드됨과 동시에 단위기억영역REj+1의 수신데이타가 하위 리드데이타선LDr0∼LDr7에 리드된다.When the received data is read in parallel in two bytes, both the bus low state signal LDS and the bus high state signal HDS are high level. At this time, for example, the lead counter 22 indicates the unit memory area REj. When the selection signal RS rj reaches the selection level, for example, the AND gate 40 of the selector RSEL j receiving the selection signal RSrj and the next stage are selected. The AND gate 43 of the selector RSEL j + 1 outputs a high level signal, and as a result, the reception data of the unit memory area REj is read to the upper lead data lines HDr 0 to HDr 7 as shown in FIG. At the same time, the reception data of the unit memory area REj + 1 is read to the lower lead data lines LDr 0 to LDr 7 .

수신데이타를 바이트단위로 상위 리드데이타선 HDr0~HDr7에 리드된다.The received data is read in the upper lead data lines HDr 0 to HDr 7 in byte units.

수신데이타를 바이트단위로 하위 리드데이타선LDr0∼LDr7에 리드할때에는 버스로우상태신호LDS가 하이레벨로 된다. 이때, 예를들면 리드카운터(22)가 단위기억영역REj를 지시하고 있으면 선택레벨이 선택신호RSrj등 모든 입력신호가 하이레벨로 되는 셀렉터 RSELj의 AND게이트(40)이 하이레벨의 신호를 출력헤서 제6도C에 도시된 바와 같이 단위기억영역REj에서 하위 리드데이타선LDr0∼LDr7로 1바이트의 데이타가 리드된다.When the received data is read in the lower lead data lines LDr 0 to LDr 7 in byte units, the bus low state signal LDS becomes high level. At this time, for example, when the read counter 22 indicates the unit memory area REj, the AND gate 40 of the selector RSEL j outputs a high level signal in which all input signals, such as the selection signal RSrj, are high level. As shown in FIG . 6C, one byte of data is read from the unit memory area REj into the lower read data lines LDr 0 to LDr 7 .

[수신FIFO메모리(6)...축적데이타수연산][Receive FIFO memory (6) ... storage data calculation operation]

상기 연산부(15)는 라이트카운터(20) 및 리드카운터(22)의 계수동작에 따라서 수신FIFO메모리(6)의 축적데이타수를 연산한다. 리드카운터(22) 및 라이트카운터(20)은 계수값RCOUNTr, RCOUNTw가 0의 리세트상태를 기점으로 리드, 라이트동작에 따라 카운트업을 반복하여 n-1(n은 수신FIFO메모리(6)의 기억단수, 즉 단위기억영역RE0∼REm의 수)까지 카운트업한 다음, 재차0으로 되돌아간다. 이 라이트카운터(20) 및 리드카운터(22)는 특히 제한되지 않지만 계수값RCOUNTw, RCOUNTr이 0으로 되돌아갈때마다 반전하는 스테이터스RSTSw, RSTSr을 갖는다. 이 스테이터스RSTSw, RSTSr은 초기상태에 있어서 0으로 리세트되고, 계수값RCOUNTw, RCOUNTr이 0으로 되돌아갈때마다 0에서 1, 1에서 0으로 반전한다. 예를들면 라이트카운터(20), 리드카운터(22)가 이진카운터로 구성되고, 기억단수n이 2의 수능과 같을때 스테이터스RSTSw, RSTSr은 계수값RCOUNTr, RCOUNTw의 최상위비트의 다음의 상위 자리수비트에 해당한다.The calculation unit 15 calculates the accumulated data number of the reception FIFO memory 6 in accordance with the counting operation of the write counter 20 and the read counter 22. The read counter 22 and the write counter 20 repeat counting up according to the read and write operation starting from the reset state of the count values RCOUNTr and RCOUNTw of 0, and n-1 (n denotes that of the receiving FIFO memory 6). After counting up to the number of storage stages, i.e., the unit memory areas RE 0 to RE m , the process returns to zero again. The light counter 20 and the lead counter 22 are not particularly limited but have statuses RSTSw and RSTSr which are inverted each time the count values RCOUNTw and RCOUNTr return to zero. This status RSTSw and RSTSr are reset to 0 in the initial state, and are reversed from 0 to 1 and 1 to 0 whenever the count values RCOUNTw and RCOUNTr return to zero. For example, the light counter 20 and the lead counter 22 are binary counters, and when the storage stage n is equal to 2, the status RSTSw and RSTSr are the next higher digit bits of the most significant bit of the count values RCOUNTr and RCOUNTw. Corresponds to

제10도에는 라이트, 리드동작에 따라 변화하는 라이트카운터(20), 리드카운터(22)의 값의 천이상태의 1예가 도시된다. 제10도에 도시된 상태는 수신FIFO메모리(6)의 기억단수가 4단인 경우로써, 이때 라이트카운터(20), 리드카운터(22)는 각각 3비트의 이진 카운터에 의해 구성된다. 제10도에서 명백한 바와 같이 스테이터스RSTSw와 RSTSr이 일치하고 있는 경우에는 라이트카운터(20)의 계수값RCOUNTw에서 리드카운터(22)의 계수값RCOUNTr을 감산한 값이 축적데이타바이트수로 되고, 또 스테이터스RSTSw와 RSTSr이 불일치한 경우에는 라이트카운터(20)의 계수값RCOUNTw에 기억단수를 가산한 값에서 리드카운터(22)의 계수값RCOUNTr을 감산한 값이 축적데이타바이트수로 된다.FIG. 10 shows an example of a transition state of the values of the light counter 20 and the lead counter 22 that change depending on the write and read operations. The state shown in FIG. 10 is a case where the number of storage stages of the reception FIFO memory 6 is four stages. At this time, the write counter 20 and the read counter 22 are each constituted by a 3-bit binary counter. As apparent from FIG. 10, when the status RSTSw and RSTSr coincide with each other, the value obtained by subtracting the count value RCOUNTr of the lead counter 22 from the count value RCOUNTw of the light counter 20 is the accumulated data byte count. When RSTSw and RSTSr do not match, the value obtained by subtracting the count value RCOUNTr of the lead counter 22 from the value obtained by adding the number of storage stages to the count value RCOUNTw of the write counter 20 becomes the accumulated data byte number.

제1a도에 도시된 연산부(15)는 그와 같은 방법을 사용해서 축적데이타수를 연산하는 것으로써, 상기 스테이터스RSTSw와 RSTSr의 일치, 불일치를 판정하는 비교기(50), 이 비교기(50)에 의해 일치가 검출되었을때는 라이트카운터(20)의 계수값RCOUNTw를 그대로 출력하고, 불일치가 검출되었을때는 그 계수값RCOUNTW에 기억단수n을 가산해서 출력하는 가산기(51) 및 이 가산기(51)의 출력값에서 리드카운터(22)의 계수값을 감산해서 축적데이타수를 출력하는 감산기(52)로 구성된다, 또, 상기 비교기(50)은 2입력형식의 배타적OR게이트 또는 배타적NOR게이트등에 의해 구성할 수 있고, 전자의 경우에는 2입력의 일치로 로우레벨을 출력하고, 후자의 경우에는 2입력의 일치로 하이레벨을 출력한다.The calculating unit 15 shown in FIG. 1A calculates the number of accumulated data using such a method, so that the comparator 50 for determining the match or inconsistency between the status RSTSw and RSTSr is provided to the comparator 50. When a match is detected by the counter, the count value RCOUNTw of the light counter 20 is output as it is, and when a mismatch is detected, the adder 51 and the output value of the adder 51 add and output the stored number n to the count value RCOUNTW. And a subtractor 52 for subtracting the count value of the lead counter 22 and outputting the accumulated data number. The comparator 50 may be constituted by an exclusive OR gate or an exclusive NOR gate of two input formats. In the former case, a low level is output by matching two inputs, and in the latter case, a high level is output by matching two inputs.

제11a, b도에는 상기 가산기(51)을 정수가산회로로 구성하는 경우의 1예가 도시되어 있다. 제11a도에 도시된 구성은 산술논리연산기(53)의 한쪽의 입력측에 라이트카운터(20)의 계수값RCOUNTw가 공급되고, 다른쪽의 입력측에는 수신FIFO메모리(6)의 기억단수n을 지정하는 데이타가 멀티플렉서(54)를 거쳐서 선택적으로 공급가능하게 되어 있다. 상기 멀티플렉서(54)는 기억단수n지정데이타의 각 비트대용으로 2개의 AND게이트(55), (56)과 1개의 OR게이트(57)로 이루어지는 복합게이트를 갖고, 예를들면 배타적NOR게이트로 구성되어 있는 비교기(50)의 출력이 로우레벨일때에는 기억단수n의 지정데이타를 산술논리연산기(53)으로 출력하고, 하이레벨인 경우에는 전체 비트0을 공급한다. 제11b도에 도시된 구성은 제11a도의 구성에 대해서 멀티플렉서(54)를 산술논리연산기(53)의 출력측에 배치하고, 비교기(50)의 출력에 따라서 라이트카운터(20)의 계수값 또는 산술논리연산기(53)의 출력값을 선택하도록 되어 있다.11A and b show an example of the case where the adder 51 is constituted by an integer addition circuit. In the configuration shown in Fig. 11A, the count value RCOUNTw of the light counter 20 is supplied to one input side of the arithmetic logic operator 53, and the storage stage n of the reception FIFO memory 6 is designated to the other input side. Data can be selectively supplied via the multiplexer 54. The multiplexer 54 has a composite gate composed of two AND gates 55, 56 and one OR gate 57 for each bit of the storage unit n-specified data, for example, an exclusive NOR gate. When the output of the comparator 50 is at the low level, the designated data of the storage stage n is output to the arithmetic logic operator 53, and when the level is high, all bits 0 are supplied. In the configuration shown in FIG. 11B, the multiplexer 54 is arranged on the output side of the arithmetic logic operator 53 with respect to the configuration in FIG. 11A, and the coefficient value or the arithmetic logic of the light counter 20 in accordance with the output of the comparator 50. The output value of the calculator 53 is selected.

제11c도에는 산술논리연산기를 사용하지 않고 구성한 가산기(51)의 예가 도시된다. 이와 같은 구성은 수신FIFO메모리(6)의 기억단수가 2의 누승과 같을때에 라이트카운터(20)이 이진카운터로 구성되고, 그 라이트카운터(20)의 계수값RCOUNTw를 풀디코드해서 단위기억영역의 지정에 사용하는 경우에 적용되는 것으로써, 라이트카운터(20)에서 출력되는 계수값RCOUNTw의 최상위비트의 다음에 상위 자리수비트Cu를 추가하고, 비교기(50)의 출력에 따라서 그 추가비트Cu의 값을 멀티플렉서(58)에 의해 비트0 또는 비트1로 선택제어하도록 되어 있다. 이 구성에 있어서, 추가비트Cu에 비트1을 부여하는 것은 계수값RCOUNTw에 기억단수를 가산한 것과 동일하다. 따라서, 산술논리연산기를 사용하는 경우에 비해 가산기(51)의 구성을 간단하게 할 수 있다. 또, 멀티플렉서(58)은 2개의 AND게이트(59), (60)과 1개의 0R게이트(61)로 이루어지고, 예를들면 배타적NOR게이트로 구성되어 있는 비교기(50)의 출력이 로우레벨일때는 추가비트Cu에 1을 부여하고, 하이레벨인 경우에는 0을 부여한다. 감산기(52)에 있어서의 추가비트Cu의 의의는 그 감산기(52)의 회로구성에 의해 다르게 되고, 예를들면 캐리로써 이용할 수도 있다.11C shows an example of an adder 51 configured without using an arithmetic logic operator. In such a configuration, when the number of storage stages of the receiving FIFO memory 6 is equal to 2, the light counter 20 is configured as a binary counter, and the count value RCOUNTw of the light counter 20 is fully decoded to unit memory area. In the case of use in the designation of, the upper digit bit Cu is added after the most significant bit of the count value RCOUNTw output from the light counter 20, and the additional bit Cu is added in accordance with the output of the comparator 50. The multiplexer 58 selects and controls the value at bit 0 or bit 1. In this configuration, giving bit 1 to the additional bit Cu is the same as adding the storage stage to the count value RCOUNTw. Therefore, the structure of the adder 51 can be simplified compared with the case of using an arithmetic logic operator. The multiplexer 58 is composed of two AND gates 59 and 60 and one 0R gate 61, for example, when the output of the comparator 50 composed of an exclusive NOR gate is at a low level. Gives 1 to the additional bit Cu, and 0 for high level. The meaning of the additional bit Cu in the subtractor 52 is different depending on the circuit configuration of the subtractor 52, and can be used as a carry, for example.

[수신FIFO메모리(6)...전송준비제어][Receive FIFO memory (6) ... transmission ready control]

상기 전송준비생성부(16)은 특히 제한되지 않지만 DMA전송요구신호DREQ1의 어서트타이밍을 결정하기 위한 정보가 CPU(9)에 의해서 임의로 설정할 수 있는 제어레지스터(70), 상기 연산부(15)에서 출력되는 축적데이타수가 제어레지스터(70)의 설정값을 초월했는지 하지않았는지를 판정하는 비교기(71), 상기 빈상태검출회로(29) 및 비교기(71)의 출력이 세트단자S에 부여됨과 동시에 빈상태검출회로(29)의 출력이 리세트단자R에 부여되고, 출력단자Q에서 DMA전송요구신호DREQ1을 출력하는 세트, 리세트형의 RS플립플롭(72)를 포함해서 구성된다. 수신FIFO메모리(6)의 축적데이타수가 제어레지스터에 설정되어 있는 값을 초월하면 비교기(71)의 출력에 의해 RS플립플롭(72)가 세트상태로 되고, 이것에 의해서 DMA전송요구신호DREQ1이 어서트된다. DMA컨트롤러(10)이 이것을 받으면 버스인터페이스부(5)를 거쳐서 수신FIFO메모리(6)을 액세스하여 순차로 싱글어드레싱모드에서 수신데이타를 리드해서 전송한다. 이 데이타리드에 의해 축적데이타수가 0으로 되면 빈상태검출회로(29)가 RS플립플롭(72)를 리세트해서 DMA전공요구신호DREQ1을 네게이트한다. DMA전송요구신호DREQ1이 네게이트되면 DMAC(10)은 해당 데이타전송 채널에 있어서의 데이타전송제어를 중단하고, 지금까지의 데이타전송단어수가 필요한 단어수에 도달하고 있지않은 경우에는 재차 DMA전송요구신호DREQ1이 어서트되는 것을 기다려서 나머지의 데이타전송제어를 개재하게 된다. DMA전송 요구신호DREQ1의 어서트타이밍은 제어레지스터(70)에 설정된 조건값에 따라 결정된다. 따라서, 제어레지스터(70)의 설정값을 변경하는 것에 의해 외관상 수신FIFO메모리(6)의 기억단수가 가변으로 되고, 이것에 의해서 상위시스템의 데이타처리능력 또는 데이타처리상황에 따라 시스템의 동작효율을 적합하게 하거나 더나아가서는 DMA전송기동을 위한 오버헤드를 적게할 수 있다.The transfer preparation generation section 16 is not particularly limited, but is output from the control register 70 and the calculation section 15, in which information for determining assert timing of the DMA transfer request signal DREQ1 can be arbitrarily set by the CPU 9. The outputs of the comparator 71, the empty state detection circuit 29, and the comparator 71 that determine whether the accumulated accumulated data exceeds the set value of the control register 70 are given to the set terminal S and are empty. The output of the detection circuit 29 is provided to the reset terminal R, and a set of outputting the DMA transfer request signal DREQ1 from the output terminal Q, and a reset RS flip-flop 72 are configured. When the accumulated data count of the receiving FIFO memory 6 exceeds the value set in the control register, the RS flip-flop 72 is set by the output of the comparator 71, which causes the DMA transfer request signal DREQ1 to follow. Will be Upon receiving this, the DMA controller 10 accesses the reception FIFO memory 6 via the bus interface unit 5, sequentially reads out and transmits the reception data in the single addressing mode. When the accumulated data count becomes zero due to this data lead, the empty state detection circuit 29 resets the RS flip flop 72 to negate the DMA major request signal DREQ1. When the DMA transfer request signal DREQ1 is negated, the DMAC 10 stops the data transfer control on the data transfer channel. When the number of data transfer words has not reached the required number of words, the DMA transfer request signal is again performed. It waits for DREQ1 to be asserted and intervenes with the rest of the data transfer control. The assert timing of the DMA transfer request signal DREQ1 is determined in accordance with the condition value set in the control register 70. Therefore, by changing the setting value of the control register 70, the number of storage stages of the receiving FIFO memory 6 is changed in appearance, thereby improving the operating efficiency of the system according to the data processing capability or data processing situation of the host system. Adapting or further, the overhead for DMA transfer start can be reduced.

[송신FIFO메모리(7)][Transmission FIFO memory (7)]

송신FIFO메모리(7)은 특히 제한되지 않지만 8비트분의 비트셀을 1단위로 하는 여러개의 단위기억영역을 포함하는 비트셀어레이(113), 단위기억영역의 선택제어등을 실행하는 FIFO제어부(14), 비트셀어레이(113)에 축적되어 있는 데이타수를 연산하기 위한 연산부(115), 연산부(115)에서 취득된 축적데이타수를 이용해서 상기 DMA전송요구신호DREQ2를 생성하는 전송준비생성부(116)등을 포함한다.The transmission FIFO memory 7 is not particularly limited but includes a bit cell array 113 including a plurality of unit memory areas each having 8 bits of bit cells as one unit, and a FIFO control unit for selecting unit memory area selection control and the like. 14) a transfer ready generation unit for generating the DMA transfer request signal DREQ2 by using the calculation unit 115 for calculating the number of data stored in the bit cell array 113 and the accumulated data number acquired by the calculation unit 115 ( 116).

상기 비트셀어레이(113)은 특히 제한되지 않지만 수신FIFO메모리(6)과 마찬가지로 비트셀BC를 n행 8열로 매트릭스 배치해서 이루어지고, 각 행8개의 비트셀이 각각 8비트분의 단위기억영역TE0∼TEm을 구성한다.Although not particularly limited, the bit cell array 113 is formed by arranging the bit cells BC in n rows and eight columns as in the receiving FIFO memory 6, and each of the eight bit cells in each row has a unit memory area of 8 bits. It constitutes 0- TE m .

비트셀어레이(113)으로의 데이타라이트동작에 있어서의 단위기억영역의 지정은 라이트카운터(120)이 실행하고, 그 계수데이타TCOUNTw를 라이트어드레스디코더(121)이 해독하는 것에 의해 소정의 단위기억영역이 선택된다. 데이타리드동작에 있어서의 단위기억영역의 지정은 리드카운터(122)가 실행하고, 그 계수데이타TCOUNTr을 리드어드레스디코더(123)이 해독하는 것에 의해 1개의 단위기억영역이 선택된다. 송신FIFO메모리(7)의 초기상태에서 상기 라이트카운터(120) 및 리드카운터(122)의 값은 0으로 초기화된다.The designation of the unit memory area in the data write operation to the bit cell array 113 is executed by the write counter 120, and the write address decoder 121 decodes the coefficient data TCOUNTw to determine the predetermined unit memory area. Is selected. The designation of the unit memory area in the data read operation is performed by the read counter 122, and one unit memory area is selected by the read address decoder 123 decoding the coefficient data TCOUNTr. In the initial state of the transmission FIFO memory 7, the values of the light counter 120 and the read counter 122 are initialized to zero.

[송신FIFO메모리(7)...라이트카운터(120)][Transmission FIFO memory (7) ... light counter (120)]

상기 라이트카운터(120)은 라이트가능한 선두의 단위기억영역의 위치를 지시하고, 그 정보는 라이트어드레스디코더(121)을 향해서 출력되고 있다. 상위장치에서 출력되는 데이타스트로브신호DS, 리드/라이트신호 R/W, 버스로우신호BL, 버스하이신호BH에 의해 송신FIFO메모리(7)의 라이트동작이 지정되면 버스인터페이스부(5)는 리드/라이트신호R/W가 로우레벨과 같은 라이트동작 지시레벨로 되어 있을때 데이타스트로브신호DS가 하이레벨로 어서트되는 타이밍에 동기해서 스토로브신호TWS를 어서트한다. 이 어서트타이밍에 동기해서 라이트어드레스디코더(121)이 라이트카운터(120)의 값을 디코드해서 단위기억영역을 선택하고, 선택된 단위기억영역으로 송신해야할 데이타가 라이트된다. 그리고, 상기 스트로브신호TWS의 네게이트타이밍에 동기해서 카운터컨트롤러(127)이 라이트카운터(120)을 인크리먼트하고, 이것에 의해 라이트카운터(120)은 다음의 라이트위치를 보유한다. 카운터컨트롤러(127)에 의하 라이트카운터(120)의 인크리먼트동작은 수신FIFO메모리(6)과 마찬가지로 버스로우신호BL 및 버스하이신호BH의 레벨에 따른 상태신호LDS, HDS에 의해 결정된다. 즉, 버스로우신호 BL 및 버스하이신호 BH가 모두 하이레벨로 어서트되어 양쪽의 상태신호LDS, HDS가 하이레벨로 되어 있을때, 즉, 16비트데이타버스의 하위8비트 및 상위 8비트의 양쪽을 사용해서 데이타전송을 실행하는 것이 지시되어 있는 상태에서 카운터큰트롤러(127)은 카운터클럭 TWC1, TWC2를 사용해서 라이트카운터(120)을 2회 인크리먼트(2카운트업)한다. 상위장치에 의해 16비트단위로 데이타가 라이트될때에는 동시에 2개의 단위기억영역이 선택되도록 되어 있기 때문이다. 또, 버스로우신호BL과 버스하이신호BH중 어느 한쪽만 어스트되어 있을때, 즉 16비트데이타버스의 하위8비트 또는 상위 8비트중 어느 한쪽을 사용해서 데이타전송을 실행하는 것이 지시되어 있는 상태에서 카운터컨트롤러(127)은 카운트클럭TWC1 또는 TWC2중 어느 한쪽을 사용해서 라이트카운터(120)을 1회 인크리먼트(카운트업)한다.The light counter 120 indicates the position of the writeable head unit memory area, and the information is output toward the write address decoder 121. When the write operation of the transmission FIFO memory 7 is specified by the data strobe signal DS, read / write signal R / W, bus low signal BL, and bus high signal BH output from the host device, the bus interface unit 5 reads / writes the data. When the write signal R / W is at the write operation instruction level equal to the low level, the strobe signal TWS is asserted in synchronization with the timing at which the data strobe signal DS is asserted to the high level. In synchronization with this assertion timing, the write address decoder 121 decodes the value of the write counter 120, selects the unit memory area, and writes data to be transmitted to the selected unit memory area. The counter controller 127 increments the light counter 120 in synchronization with the gate timing of the strobe signal TWS, whereby the light counter 120 holds the next write position. Incremental operation of the light counter 120 by the counter controller 127 is determined by the state signals LDS and HDS according to the levels of the bus low signal BL and the bus high signal BH, similarly to the reception FIFO memory 6. That is, when both the bus low signal BL and the bus high signal BH are asserted to the high level and both status signals LDS and HDS are at the high level, that is, both the lower 8 bits and the upper 8 bits of the 16-bit data bus are erased. The counter big controller 127 increments (counts up) the light counter 120 twice using the counter clocks TWC1 and TWC2 while the data transfer is instructed. This is because two unit memory areas are selected at the same time when data is written in units of 16 bits by the host device. When only one of the bus low signal BL and the bus high signal BH is asserted, i.e., the data transfer is instructed to use either the lower 8 bits or the upper 8 bits of the 16-bit data bus. The counter controller 127 increments (counts up) the light counter 120 once using either the count clock TWC1 or TWC2.

또, 모든 단위기억영역TE0∼TEm으로 송신해야할 데이타가 라이트된 풀상태, 즉 비트셀어레이(113)의 축적데이타수가 단위기억영역의 수와 동일하게 되어 있는 상태에서는 더이상 새로 송신해야할 데이타를 라이트할 수가 없다. 이와 같은 상태에서 라이트를 저지하기 위해 상기 연산부(115)에서 연산된 축적데이타수를 받아서 비트셀어레이(113)이 풀상태인지 아닌지를 판정하는 풀상태검출회로(1260)이 마련되고, 이 검출결과신호TES가 라이트어드레스디코더(121) 및 카운터컨트롤러(127)에 부여되는 것에 의해 스트로브신호TWS의 변화가 무시되도록 되어 있다.Further, in the full state in which data to be transmitted in all unit memory areas TE 0 to TE m is written, that is, the accumulated data number of the bit cell array 113 is equal to the number of unit memory areas, data to be transmitted is no longer transmitted. Can't write. In this state, a full state detection circuit 1260 is provided which determines whether or not the bit cell array 113 is in a full state by receiving the accumulated data number calculated by the calculating unit 115, and detecting the result. The change of the strobe signal TWS is ignored by the signal TES being applied to the write address decoder 121 and the counter controller 127.

[송신FIFO메모리(7)...리드카운터(122)][Transmission FIFO memory (7) ... read counter (122)]

리드카운터(122)는 리드가능한 선두의 단위기억영역의 위치를 지시하고, 그 정보는 리드어드레스디코더(123)을 향해서 출력되고 있다. 송신회로(3)은 데이타를 송신하고자할때 스트로브신호TRS를 어서트한다. 이 스트로브신호TRS가 게이트(125)를 통과하면 최초에 리드어드레스디코더(123)이 그 스트로브신호TRS의 어서트타이밍에 동기해서 리드카운터(122)의 값을 디코드하고, 이 디코드결과에 의해서 선택된 단위기억영역에서 송신해야할 데이타가 리드된다. 계속해서 그 스트로브신호TRS의 네게이트타이밍에 동기해서 리드카운터(122)가 인크리먼트되고, 이것에 의해 리드카운터(122)는 다음의 리드 위치를 보유한다.The lead counter 122 instructs the position of the lead unit memory area that can be read, and the information is output toward the lead address decoder 123. The transmitting circuit 3 asserts the strobe signal TRS when trying to transmit data. When the strobe signal TRS passes through the gate 125, the read address decoder 123 first decodes the value of the read counter 122 in synchronization with the assert timing of the strobe signal TRS, and the unit selected by the decode result. Data to be transmitted in the storage area is read. Subsequently, the read counter 122 is incremented in synchronization with the gate timing of the strobe signal TRS, whereby the lead counter 122 holds the next read position.

또, 모든 단위기억영역TE0∼TEm에서 데이타가 리드된 빈상태에서는 더이상 새로운 송신해야할 데이타를 리드할 수가 없다. 이와 같은 상태에 있어서 송신FIFO메모리(7)의 리드동작, 더나아가서는 송신기(3)에 의한 송신동작을 저지하기 위해 상기 연산부(115)에서 연산된 축적데이타수를 받아서 비트셀어레이(113)이 빈상태인지를 판정하는 빈상태검출회로(129)가 마련되고, 이 검출결과신호TES가 상기 게이트(125)에 부여되는 것에 의해 빈상태일때에는 스트로브신호TRS가 리드카운터(122) 및 리드어드레스디코더(123)에 전달되지 않게 되어 있다. 또, 빈상태 검출회로(129)에서 출력되는 신호TES와 실질적으로 동일한 신호가 송신회로(3)에도 부여되도록 되어 있고, 송신FIFO메모리(7)의 빈상태에 따라서 송신회로(3)의 동작도 디스에이블되도록 되어 있다.In the empty state in which data is read in all the unit memory areas TE 0 to TE m , new data to be transmitted can no longer be read. In this state, the bit cell array 113 receives the accumulated data number calculated by the operation unit 115 to prevent the read operation of the transmission FIFO memory 7 and further the transmission operation by the transmitter 3. An empty state detection circuit 129 for determining whether the state is empty is provided, and when the detection result signal TES is applied to the gate 125, the strobe signal TRS is the lead counter 122 and the read address decoder. It is not delivered to 123. In addition, a signal substantially identical to the signal TES output from the empty state detection circuit 129 is also given to the transmitting circuit 3, and the operation of the transmitting circuit 3 also depends on the empty state of the transmitting FIFO memory 7. It is supposed to be disabled.

[송신FIFO메모리(7)...2바이트병렬라이트][Transmission FIFO memory (7) ... 2-byte parallel write]

비트셀어레이(113)에 1바이트(8비트)단위의 송신데이타를 병렬로 2개씩 라이트가능하게 하기 위해 각 비트셀BC는 특히 제한되지 않지만 제9도에 도시한 바와 같이 D형 플립플롭과 같은 래치회로(130)의 데이타출력단자Q에 선택스위치(131)을 거쳐서 1개의 리드데이타선Dri(i=0∼7)가 결합되고, 래치회로(130)의 데이타입력단자D에는 각각 선택스위치(132), (133)을 거쳐서 상위 라이트데이타선HDwi와 하위 라이트데이타선LDwi가 공통 접속되어 있다. 상기 선택스위치(131)의 선택단자는 리드워드선Wrj(j=0∼m)에 결합되고, 선택스위치(132), (133)의 선택단자는 상위 라이트워드선HWwj, 하위 라이트워드선LWwj에 각각 접속되어 있다. 제3도에 도시된 바와 같이 상기 리드워드선Wrj, 상위 라이트워드선HWwj, 하위 라이트워드선LWwj는 1개의 단위 기억영역을 구성하는 1행 8개의 비트셀BC에 공통접속되고, 또 리드데이타선Dri, 상위 라이트데이타선HDwi, 하위 라이트데이타선LDwi는 1열n개의 비트셀BC에 공통접속되어 있다. 상기 리드데이타선Dr0∼Dr7은 제1b도에 도시된 8비트의 내부버스(135)를 거쳐서 송신회로(3)의 데이타입력단자에 결합된다. 상기 하위 라이트데이타선LDw0LDw7은 제1b도에 도시된 8비트의 내부버스(36)을 거치고, 또 상위 라이트데이타선HDw0∼HDw7은 8비트의 내부버스(37)을 거쳐서 각각 버스인터페이스부(5)에 접속되고, 이것을 통해서 시스템버스(8)에 포함되는 16비트 데이타버스의 하위 8비트, 상위 8비트에 각각 인터페이스가능하게 되어 있다.Although each bit cell BC is not particularly limited in order to enable writing of two transmission data in units of one byte (8 bits) in parallel to the bit cell array 113, as shown in FIG. One lead data line Dri (i = 0 to 7) is coupled to the data output terminal Q of the latch circuit 130 via the selection switch 131, and a select switch (1) is respectively connected to the data input terminal D of the latch circuit 130. 132) and 133, the upper right data line HDwi and the lower right data line LDwi are connected in common. The select terminal of the select switch 131 is coupled to the lead word lines Wrj (j = 0 to m), and the select terminals of the select switches 132 and 133 are connected to the upper write word lines HWwj and the lower write word lines LWwj. Each is connected. As shown in FIG. 3, the lead word line Wrj, the upper right word line HWwj, and the lower right word line LWwj are commonly connected to one row and eight bit cells BC constituting one unit storage area, and the lead data line The Dri, the upper right data line HDwi, and the lower right data line LDwi are commonly connected to one column n bit cells BC. The lead data lines Dr 0 to Dr 7 are coupled to the data input terminals of the transmission circuit 3 via the 8-bit internal bus 135 shown in FIG. The lower write data lines LDw 0 LDw 7 pass through the 8-bit internal bus 36 shown in FIG. 1b, and the upper write data lines HDw 0 through HDw 7 pass through the 8-bit internal bus 37, respectively. It is connected to the interface unit 5, through which the lower 8 bits and the upper 8 bits of the 16-bit data bus included in the system bus 8 can be interfaced, respectively.

상기 리드워드선Wr0∼Wrm은 리드카운터(122)에서 부여되는 계수값을 디코드해서 선택신호TSr0∼TSrm을 형성하는 리드어드레스디코더(123)의 출력단자에 순차로 접속되고, 리드카운터(122)에서 부여되는 계수값의 디코드결과에 따라 소정의 1개가 하이레벨과 같은 선택레벨로 제어된다. 1개의 리드워드선Wrj가 선택레벨로 되면 이것에 접속하는 1행 8개의 비트셀BC로 이루어지는 단위기억영역TEj에서 8비트의 송신데이타가 리드데이타선Dr0∼Dr7로 출력된다.The lead word lines Wr 0 to Wr m are sequentially connected to the output terminals of the lead address decoder 123 which decodes the coefficient value applied by the lead counter 122 to form the selection signals TSr 0 to TSr m . According to the decoding result of the coefficient value imparted at 122, a predetermined one is controlled to a selection level equal to the high level. When one lead word line Wrj is at the selection level, 8-bit transmission data is output from the lead data lines Dr 0 to Dr 7 in the unit memory area TEj consisting of one row and eight bit cells BC connected thereto.

상기 하위라이트워드선LWw0∼LWwm과 상위 라이트워드선HWw0∼HWwm의 선택동작은 라이트어드레스디코더(121)에서 출력되는 선택신호TSW0∼TSwm을 받는 선택제어회로(140)이 실행한다. 라이트어드레스디코더(121)은 라이트카운터(120)에서 부여되는 계수값의 디코드결과에 따라 선택신호TSw0∼TSwm중 1개를 하이레벨과 같은 선택레벨로 한다.The selection operation of the lower light word lines LWw 0 to LWw m and the upper light word lines HWw 0 to HWw m is executed by the selection control circuit 140 which receives the selection signals TSW 0 to TSw m output from the write address decoder 121. do. The write address decoder 121 sets one of the selection signals TSw 0 to TSw m to a selection level equal to a high level in accordance with the decoding result of the coefficient value provided by the light counter 120.

상기 선택제어회로(140)은 라이트어드레스디코더(121)에 의한 1회의 선택동작으로 2바이트의 데이타를 병렬라이트가능하게 제어하는 것으로써, 단위기억영역TE0∼TEm마다 마련된 셀렉터TSEL0∼TSELm에 의해서 구성된다.The selection control circuit 140 controls parallel writing of two bytes of data in one selection operation by the write address decoder 121, and selectors TSEL 0 to TSEL provided for each unit memory area TE 0 to TE m . It is composed of m .

상기 셀렉터터TSEL0∼TSELm은 서로 동일한 논리게이트를 포함하고, 예를들면 셀렉터TSELj는 제5도에 도시된 바와 같이 버스로우신호BL에 대응하는 버스로우상태신호LDS와 선택신호TSrn를 2입력해서 논리곱을 취하여 그 결과를 하위라이트워드선LWwj로 출력하는 AND게이트(140), 인버터(141)에서 출력되는 버스로우상태신호LDS의 반전레벨신호와 버스하이신호BH에 대응하는 버스하이상태신호HDS와 선택신호TSrj를 3입력해서 논리곱을 취하는 AND게이트(142), 상기 버스하이상태신호HDS와 버스로우상태신호LDS와 전단의 선택신호TSril을 3입력해서 논리곱을 취하는 AND게이트(143), 상기 2개의 AND게이트(142), (143)의 출력을 2입력해서 논리합을 취하여 그 결과를 상위 리드워드선HWwi로 출력하는 OR게이트(144)로 이루어진다.The selector emitter TSEL 0 ~TSEL m includes the same logic gates to each other, for example, the selector TSEL j is a low state bus selection signal TS and the LDS signal rn corresponding to the bus low signal BL as shown in FIG. 5 The bus high corresponding to the inversion level signal of the bus low state signal LDS and the bus high signal BH output from the AND gate 140 and the inverter 141 outputting the result of the logical multiplication by taking the logical product and outputting the result to the lower right word line LW wj . An AND gate 142 for inputting a logical product by inputting the state signal HDS and the selection signal TS rj three, and an AND gate for inputting the logical product by inputting the bus high state signal HDS and the buslow state signal LDS and the selection signal TSr il of the preceding stage 3 ( 143, OR gates 144 for inputting two outputs of the two AND gates 142, 143 to perform a logical sum, and outputting the result to the upper lead word line HW wi .

수신데이타를 2바이트병렬 라이트할때 버스로우상태신호LDS 및 버스하이상태신호HDS는 모두 하이레벨로 된다. 이때, 예를들면 라이트카운터(120)이 단위기억영역TEj를 지시하고, 이것에 의해서 선택신호TSrj가 선택레벨로 되면 이 선택신호TSrj를 받는 셀렉터TSELj의 AND게이트(140)과 다음단의 셀렉터TSELj+1의 AND게이트(143)이 하이레벨의 신호를 출력하고, 이 결과 제7a도에 도시된 바와 같이 상위 라이트데이타선HDw0∼HDw7에서 1바이트의 송신데이타가 단위기억영역TEj로 라이트됨과 동시에 하위 라이트데이타선LDw0∼LDw7에서 또 1바이트의 송신데이타가 다음의 단위기억영역에 병렬적으로 라이트된다.When the receive data is written in two bytes in parallel, the bus low state signal LDS and the bus high state signal HDS are both at a high level. At this time, for example, the light counter 120 indicates the unit memory area TEj, and when the selection signal TS rj reaches the selection level, the AND gate 140 and the next stage of the selector TSEL j receiving this selection signal TS rj The AND gate 143 of the selector TSEL j + 1 outputs a high level signal, and as a result, as shown in FIG. 7A, transmission data of one byte in the upper write data lines HDw 0 to HDw 7 is in the unit memory area. At the same time as TEj is written, another byte of transmission data is written in parallel to the next unit memory area in the lower write data lines LDw 0 to LDw 7 .

송신데이타를 바이트단위로 상위 라이트데이타선HDw0∼HDw7에서 라이트할때는 버스하이상태신호HDS가 하이레벨로 된다. 이때, 예를들면 라이트카운터(120)이 단위기억영역TEj를 지시하고 있으면 선택레벨의 선택신호TSrj등 모든 입려긴호가 하이레벨로 되는 셀렉터TSELj의 AND게이트(142)가 하이레벨의 신호를 출력해서 제7b도에 도시된 바와 같이 단위기억영역TEj에 상위 라이트데이타선HDw0∼HDw7을 거쳐서 1바이트의 데이타수가 라이트된다.When the transmission data is written in the upper write data lines HDw 0 to HDw 7 in byte units, the bus high state signal HDS becomes high level. At this time, for example, when the light counter 120 instructs the unit memory area TEj, the AND gate 142 of the selector TSEL j , in which all the selected signals, such as the selection signal TS rj of the selection level, becomes a high level, receives a high level signal. As shown in FIG. 7B, the number of data of one byte is written to the unit memory area TEj via the upper write data lines HDw 0 to HDw 7 .

송신데이타를 바이트단위로 하위 라이트데이타선LDw0∼LDw7에서 라이트할때는 버스로우상태신호LDS가 하이레벨로 된다. 이때, 예를들면 라이트카운터(120)이 단위기억영역TEj를 지시하고 있으면 선택레벨의 선택신호TSrj등 모든 입력신호가 하이레벨로 되는 셀렉터TSELj의 AND게이트(140)이 하이레벨의 신호를 출력해서 제7c도에 도시된 바와 같이 단위기억영역TEj에 하위라이트데이타선LDw0∼LDw7을 거쳐서 1바이트의 데이타가 라이트된다.When the transmission data is written in the lower write data lines LDw 0 to LDw 7 in byte units, the bus low state signal LDS becomes high level. At this time, for example, when the light counter 120 indicates the unit memory area TEj, the AND gate 140 of the selector TSEL j , in which all input signals such as the selection signal TS rj of the selection level becomes high level, receives a high level signal. As shown in FIG. 7C, one byte of data is written to the unit memory area TEj via the lower write data lines LDw 0 to LDw 7 .

[송신FIFO메모리(7)...축적데이타수연산][Transmission FIFO memory (7) ... storage data calculation operation]

상기 연산부(115)는 라이트카운터(120) 및 리드카운터(122)의 계수이동에 따라서 송신FIFO메모리(7)의 축적데이타수를 연산한다. 리드카운터(122) 및 라이트카운터(120)은 계수값TCOUNTr, TCOUNTw가 0의 리셋트상태를 기점으로 리드, 라이트동작에 따라 카운트업을 반복하여 n-1(n은 송신FIFO메모리(7)의 기억단수, 즉 단위기억영역TE0∼TEm의 수)까지 카운트업한후 재차 0으로 되돌아간다. 이 라이트카운터(120) 및 리드카운터(122)는 특히 제한되지 않지만 계수값TCOUNTw, TCOUNTr이 0으로 되돌아갈때마다 반전하는 스테이터스TSTSw, TSTSr을 갖는다. 이 스테이터스TSTSw, TSTSr은 초기상태에 있어서 0으로 리세트되고, 계수값TCOUNTw, TCOUNTr이 0으로 되돌아갈때마다 0에서 1, 1에서 0으로 반전한다. 예를들면, 라이트카운터(120), 리드카운터(122)가 이진카운터로 구성되고, 기억단수n이 2의 누승과 같을때 스테이터스TSTSw, TSTSr은 계수값TCOUNTr, TCOUNTw의 최상위비트의 다음의 상위자리수비트에 해당한다. 라이트, 리드동작에 따라 변화하는 라이트카운터(120), 리드카운터(122)의 값의 천이상태는 기본적으로 제10도에 도시된 상태와 마찬가지로써, 스테이터스TSTSw와 TSTSr이 일치하고 있는 경우에는 라이트카운터(120)의 계수값TCOUNTw에서 리드카운터(122)의 계수값TCOUNTr을 감산한 값이 축적데이타바이트수로 되고, 또 스테이터스TSTSw와 TSTSr이 불일치한 경우에는 라이트카운터(120)의 계수값TCOUNTw에 기억단수를 가산한 값에서 리드카운터(122)의 계수값TCOUNTr을 감산한 값이 축적데이타바이트수로 된다.The calculation unit 115 calculates the number of accumulated data in the transmission FIFO memory 7 according to the coefficient movement of the write counter 120 and the read counter 122. The read counter 122 and the write counter 120 repeat counting up according to the read and write operations starting from the reset state of the count values TCOUNTr and TCOUNTw of 0, and n-1 (n denotes the transmission FIFO memory 7). After counting up to the number of storage stages, i.e., the unit memory areas TE 0 to TE m , the process returns to zero again. The light counter 120 and the lead counter 122 are not particularly limited but have statuses TSTSw and TSTSr which invert each time the count values TCOUNTw and TCOUNTr return to zero. This status TSTSw and TSTSr are reset to 0 in the initial state, and are reversed from 0 to 1 and 1 to 0 whenever the count values TCOUNTw and TCOUNTr return to zero. For example, the light counter 120 and the lead counter 122 are composed of binary counters, and when the storage stage n is equal to a power of 2, the status TSTSw and TSTSr are the next higher digits of the most significant bit of the count values TCOUNTr and TCOUNTw. Corresponds to the bit. The transition state of the values of the light counter 120 and the lead counter 122 that changes depending on the write and read operations is basically the same as the state shown in FIG. 10, and the light counter when the status TSTSw and TSTSr coincide with each other. The value obtained by subtracting the count value TCOUNTr of the lead counter 122 from the count value TCOUNTw of 120 is the accumulated data byte number, and when the status TSTSw and TSTSr do not match, they are stored in the count value TCOUNTw of the light counter 120. The value obtained by subtracting the count value TCOUNTr of the lead counter 122 from the value obtained by adding the stage becomes the accumulated data byte number.

제1b도에 도시된 연산부(115)는 그와 같은 방법을 사용해서 축적데이타수를 연산하는 것으로써, 상기 스테이터스TSTSw와 TSTSr의 일치, 불일치를 판정하는 비교기(150), 이 비교기(150)에 의해 일치가 검출되었을때에는 라이트카운터(120)의 계수값TCOUNTw를 그대로 출력하고, 불일치가 검출되었을때에는 그계수값TCOUNTw에 기억단수n을 가산해서 출력하는 가산기(151) 및 이 가산기(151)의 출력값에서 리드카운터(122)의 계수값을 감산해서 축적데이타수를 출력하는 감산기(152)로 구성된다. 또, 상기 비교기(150)이나 가산기(151)에는 상기 수신FIFO메모리(6)에서 설명한 것과 같은 회로구성을 사용할 수가 있다.The calculating part 115 shown in FIG. 1B calculates the accumulated data number using such a method, and compares the comparator 150 and the comparator 150 to determine the match or inconsistency of the status TSTSw and TSTSr. When a match is detected, the count value TCOUNTw of the light counter 120 is output as it is, and when an inconsistency is detected, the adder 151 and the output value of the adder 151 add and output the stored number n to the count value TCOUNTw. It consists of a subtractor 152 which subtracts the count value of the lead counter 122 and outputs the accumulated data number. In the comparator 150 and the adder 151, the same circuit configuration as that described in the reception FIFO memory 6 can be used.

[송신FIFO(7)...전송준비제어][Transmission FIFO (7) ... Transmission preparation control]

상기 전송준비생성부(116)은 특히 제한되지 않지만 DMA전송요구신호DREQ2의 어서트타이밍을 결정하기 위한 정보가 CPU(9)에 의해 임의로 설정할 수 있는 제어레지스터(170), DMA전송요구신호DREQ2의 네게이트타이밍을 결정하기 위한 정보가 CPU(9)에 의해 임의로 설정할 수 있는 제어레지스터(173), 상기 연산부(115)에서 출력되는 축적데이타수가 제어레지스터(170)의 설정값이하로 되었는지 아닌지를 판정하는 비교기(171), 상기 빈상태검출회로(129)와 상기 연산부(115)에서 출력되는 축적데이타수가 제어레지스터(173)의 설정값 이상으로 되었는지 아닌지를 판정하는 비교기(174) 및 비교기(171)의 출력이 세트단자S에 부여됨과 동시에 비교기(174)의 출력이 리세트단자R에 부여되고, 출력단자Q에서 DMA전송요구신호DREQ2를 출력하는 세트, 리세트형의 RS플립플롭(172)를 포함해서 구성된다. 상기 제어레지스터(170)에는 DMA전송요구신호DREQ2의 어서트조건으로 되는 데이타축적수가 설정되고, 다른쪽의 제어레지스터(173)에는 그 신호DREQ2의 네게이트조건으로 되는 데이타축적수가 설정된다. 송신FIFO메모리(7)의 축적데이타수가 제어레지스터(170)에 설정되어 있는 값이하일때에는 비교기(171)의 출력에 의해 RS플립플롭(172)가 세트상태로 되고, 이것에 의해서 DMA전송요구신호DREQ2가 어서트된다. DMA컨트롤러(10)이 이것을 받으면 버스인터페이스부(5)를 거쳐서 송신FIFO메모리(7)을 라이트액세스하여 순차로 싱글어드레싱모드에서 송신데이타를 RAM(11)에서 송신FIFO메모리(7)로 전송한다.Although the transfer preparation generation unit 116 is not particularly limited, the control register 170 and the DMA transfer request signal DREQ2 can be arbitrarily set by the CPU 9 to determine the assertion of the DMA transfer request signal DREQ2. The control register 173, in which the information for determining the gate timing can be arbitrarily set by the CPU 9, determines whether or not the number of accumulated data output from the operation unit 115 is less than or equal to the set value of the control register 170. Of the comparator 174 and the comparator 171 for determining whether the accumulated data output from the comparator 171, the empty state detection circuit 129, and the calculation unit 115 is equal to or larger than a set value of the control register 173 or not. An output is provided to the set terminal S and at the same time the output of the comparator 174 is applied to the reset terminal R. The set outputs the DMA transfer request signal DREQ2 at the output terminal Q, and includes a reset type RS flip-flop 172. Stand is constructed. The control register 170 sets a data accumulation number that is an assert condition of the DMA transfer request signal DREQ2, and the other control register 173 sets a data accumulation number that is a negate condition of the signal DREQ2. When the number of accumulated data in the transmission FIFO memory 7 is less than or equal to the value set in the control register 170, the RS flip-flop 172 is set by the output of the comparator 171, whereby the DMA transfer request signal DREQ2. Is asserted. Upon receiving this, the DMA controller 10 writes access to the transmission FIFO memory 7 via the bus interface section 5, and sequentially transfers transmission data from the RAM 11 to the transmission FIFO memory 7 in the single addressing mode.

이것에 의해 송신FIFO메모리(7)의 축적데이타수가 제어레지스터(173)에 설정되어 있는 네게이트조건 이상으로 되면 비교기(174)의 출력에 의해 RS플립플롭(172)가 리세트되어 DMA전송요구신호DREQ2가 네게이트된다. DMA전송요구신호DREQ2가 네게이트되면 DMAC(10)은 해당 데이타전송채널에 있어서의 데이타전송제어를 중단하여 시스템버스(8)에 대한 버스권을 일단 포기한다. 그 사이에 송신기(3)은 축적데이타수가 0으로 되지않는한 송신FIFO메모리(7)의 저장데이타를 순차로 송신할 수가 있다. DMA전송요구신호DREQ2의 어서트타이밍이나 네게이트타이밍은 제어레지스터(170), (173)에 설정된 조건값에 따라서 결정된다. 따라서, 제어레지스터(170), (173)의 설정값을 변경하는 것에 의해 외관상 송신FIFO메모리(7)의 기억단수가 가변으로 되고, 이것에 의해서 상위 시스템의 데이타처리능력 또는 데이타처리상황에 따라서 시스템의 동작효율을 최적화하거나 더나아가서는 DMA전송기동을 위한 오버헤드를 적게할 수 있게 된다.As a result, when the accumulated data count of the transmission FIFO memory 7 is equal to or higher than the negate condition set in the control register 173, the RS flip-flop 172 is reset by the output of the comparator 174, and the DMA transfer request signal is generated. DREQ2 is negated. When the DMA transfer request signal DREQ2 is negated, the DMAC 10 stops the data transfer control in the data transfer channel and gives up the bus right to the system bus 8 once. In the meantime, the transmitter 3 can sequentially transmit the stored data of the transmission FIFO memory 7 as long as the accumulated data number is not zero. The assert timing and the gate timing of the DMA transfer request signal DREQ2 are determined according to the condition values set in the control registers 170 and 173. Therefore, by changing the setting values of the control registers 170 and 173, the number of storage stages of the transmission FIFO memory 7 is changed in appearance, thereby making the system according to the data processing capability or data processing situation of the host system. Optimizing or further improving the operating efficiency of the system reduces the overhead for DMA transfer start-up.

(송신FIFO메모리(7)에 의해서 얻어지는 효과)(Effect obtained by the transmitting FIFO memory 7)

상기 수신FIFO메모리(6), 송신FIFO메모리(7)에 의하면 다음의 효과를 얻는다.According to the reception FIFO memory 6 and the transmission FIFO memory 7, the following effects are obtained.

수신FIFO메모리(6)과 송신FIFO메모리(7)은 1문자의 단위로 되는 8비트단위로 회선제어부(4)와 데이타를 수수하는 한편, 각각 8비트의 내부버스(36), (37)에 의해 16비트단위로 데이타를 버스인터페이스부(5)와 수수할 수 있게 되어 있으므로, 수신데이타나 송신해야할 데이타를 CPU(9)등의 상위장치와의 사이에서 고속으로 데이타를 전송할 수 있다.The reception FIFO memory 6 and the transmission FIFO memory 7 receive the line control unit 4 and data in units of 8 bits in units of one character, and each of the 8-bit internal buses 36 and 37, respectively. The data can be transmitted to and received from the bus interface unit 5 in units of 16 bits. Therefore, data can be transferred at high speed between the host device such as the CPU 9 and the received data and the data to be transmitted.

수신FIFO메모리(6)의 각 비트셀BC에는 1개의 라이트데이타선과 2개의 리드데이타선이 접속되고, 송신FIFO메모리(7)의 각 비트셀BC에는 2개의 라이트데이타선과 1개의 리드데이타선이 접속되어 버스인터페이스부(5)를 거치는 2바이트병렬 리드시에는 수신FIFO메모리(6)의 리드카운터(22)가 지시하는 단위기억영역과 다음의 단위기억영역을 선택제어회로(40)이 선택하고, 또 버스인터페이스부(5)를 거치는 2바이트병렬라이트시에는 송신FIFO메모리(7)의 라이트카운터(120)이 지시하는 단위기억영역과 다음의 단위기억영역을 선택제어회로(140)이 선택하도록 되어 있으므로, 8비트폭의 단위기억영역을 갖는 FIFO메모리(6), (7)을 비교적 간단한 논리에 의해 16비트의 시스템버스(8)과 인터페이스시킬 수 있다.One write data line and two read data lines are connected to each bit cell BC of the reception FIFO memory 6, and two write data lines and one read data line are connected to each bit cell BC of the transmission FIFO memory 7. When the 2-byte parallel read through the bus interface unit 5 is performed, the selection control circuit 40 selects the unit memory area indicated by the lead counter 22 of the receiving FIFO memory 6 and the next unit memory area. When the 2-byte parallel writing through the bus interface unit 5 is performed, the selection control circuit 140 selects the unit memory area indicated by the write counter 120 of the transmission FIFO memory 7 and the next unit memory area. Therefore, the FIFO memories 6 and 7 having an 8-bit wide unit memory area can be interfaced with the 16-bit system bus 8 by relatively simple logic.

선택제어회로(40), (140)은 상위 장치측으로 부터의 버스제어신호로써의 버스로우신호BL과 버스하이신호BH에 따라서 2바이트 단위의 병렬액세스와 1바이트단위의 액세스를 전환제어할 수 있는 논리를 포함하고 있으므로, 상위CPU(9)의 상위에 의한 버스교체를 외부회로를 이용하지 않고 용이하게 싱핼할 수 있음과 동시에 FIFO메모리의 사용상의 편리성을 향상시킬 수 있다.The selection control circuits 40 and 140 can switch control between 2-byte parallel access and 1-byte access in accordance with the bus low signal BL and the bus high signal BH as bus control signals from the host device. Since the logic is included, it is possible to easily replace the bus replacement by the upper level of the upper CPU 9 without using an external circuit and to improve the convenience of using the FIFO memory.

수신FIFO메모리(6)(송신FIFO메모리(7))의 축적데이타수를 취득하는 연산부(15), (115)는 라이트카운터(20), (120)의 값과 리드카운터(22), (122)의 값을 실질적으로 대소비교하는 비교기(50), (150)을 포함하고, 이 비교기(50), (150)에 의한 비교결과에 따라 라이트카운터(20), (120)의 값, 리드카운터(22), (122)의 값 및 단위기억영역 RE0∼REm, TE0∼REm의 기억단수에 따라서 축적데이타수를 산출한다. 이때, 리드카운터(22), (122)와 라이트카운터(20), (120)은 별도로 동작해서 각각의 계수값을 연산부(15), (115)에 부여하고, 이와 같이 해서 쌍방의 카운터에서 각각 부여되는 값을 연산부(15), (115)가 처리하는 것에 의해 동시에 리드와 라이트가 발생해도 축적데이타수를 정확하게 취득할 수가 있다.Computation units 15 and 115 for acquiring the accumulated data number of the reception FIFO memory 6 (transmission FIFO memory 7) include the values of the light counters 20 and 120 and the lead counters 22 and 122. And comparators 50 and 150 that substantially compare the values of), and the values of the light counters 20 and 120 according to the comparison results of the comparators 50 and 150, and the lead counters. The accumulated data number is calculated according to the values of (22) and (122) and the number of storage stages of the unit memory areas RE 0 to RE m and TE 0 to RE m . At this time, the lead counters 22, 122, and the light counters 20, 120 operate separately to give the respective coefficient values to the calculation units 15, 115, and in this way, at both counters, respectively. By the values 15 and 115 being processed by the arithmetic units, the number of accumulated data can be accurately obtained even when reads and writes are generated.

상기 리드카운터(22), (122) 및 라이트카운터(20), (120)에 계수값이 초기값으로 되돌려질때마다 반전하는 스테이터스RSTSr, RSTSw(TSTSr, TSTSw)를 마련하고, 쌍방의 스테이터스의 일치, 불일치를 비교기(50), (150)으로 판정하도록 해서 리드카운터(22), (122)의 값과 라이트카운터(20), (120)의 값의 대소를 비교하도록 하는 것에 의해 축적데이타수를 연산취득할때 라이트카운터(20), (120)의 값이 일순해서 초기값으로 되돌려진 다음의 대소판별을 간단한 구성으로 용이하게 실행할 수 있다.The lead counters 22, 122, and the light counters 20, 120 are provided with the states RSTSr and RSTSw (TSTSr, TSTSw) which are inverted each time the count value is returned to the initial value, and the two states coincide. The number of accumulated data is determined by comparing the values of the lead counters 22 and 122 with the magnitude of the light counters 20 and 120 by determining the inconsistency by the comparators 50 and 150. At the time of operation acquisition, the following large and small discrimination in which the values of the light counters 20 and 120 are returned to their initial values in an order can be easily executed with a simple configuration.

상위 장치에 데이타전송을 지시하기 위한 DMA전송요구신호DREQ1(DREQ2)과 같은 전송준비신호의 어서트조건을 임의로 설정할 수 있는 제어레지스터(70), (170), 더나아가서는 그 네게이트조건을 임의로 설정할 수 있는 제어레지스터(173)을 마련하고, 이 레지스터의 설정값과 내부에서 취득된 축적데이타수의 비결결과에 따라서 전송준비신호의 어서트타이밍이나 네게이트타이밍을 결정하는 것에 의해 FIFO메모리(6), (7)의 기억단수를 외관상 가변으로 제어할 수 있다. 이 효과에 의해 시스템동작상 CPU(9)등의 상위장치의 부하가 적을때에는 FIFO메모리(6), (7)의 축적데이타수를 상대적으로 적제하거나 부하가 클때에는 축적데이타수를 많게할 수 있게 되어 용이하게 시스템동작의 유연성을 향상시킬 수 있다. 또, FIFO메모리(6), (7)의 기억단수를 외관상 가변으로 제어할 수 있다는 상기 효과에 의해 고속동작시등에 있어서는 데이타전송요구의 빈도를 감소해서, 즉 데이타전송제어를 가동시키기 위한 오버헤드를 감소해서 시스템의 스루풋을 용이하게 향상시킬 수 있다.Control registers 70 and 170, which can arbitrarily set the assertion condition of the transmission ready signal such as the DMA transfer request signal DREQ1 (DREQ2) for instructing the data transfer to the host device, furthermore, arbitrarily select the gate condition. The control register 173 that can be set is provided, and the FIFO memory 6 is determined by determining the assertion timing or the gate timing of the transmission ready signal in accordance with the result of the setting of this register and the result of the accumulated data number acquired therein. ), (7) the number of storage stages can be controlled in appearance. Due to this effect, when the load of the host device such as the CPU 9 is low due to the system operation, the accumulated data number of the FIFO memories 6 and 7 is relatively accumulated or the accumulated data number can be increased when the load is large. The flexibility of the system operation can be easily improved. In addition, the above-described effect that the number of storage stages of the FIFO memories 6 and 7 can be controlled in appearance is variable, thereby reducing the frequency of data transfer requests during high-speed operation, i.e., overhead for operating data transfer control. The throughput of the system can be easily improved by reducing the

특히, 송신FIFO메모리(7)에 있어서, 전송준비신호의 네게이트조건을 가변으로 제어할 수 있도록 해두는 것에 의해 시스템상승시등에 다채널의 각 채널에 대응하는 여러개의 송신FIFO메모리에 차례로 송신데이타를 전송할때 네게이트조건으로 되는 데이타수를 비교적 작게 해두면 송신FIFO메모리로의 데이타전송에 의한 버스점유기간이 길어지고 마는 불합리한 면을 용이하게 해소할 수 있다.In particular, in the transmission FIFO memory 7, the negate condition of the transmission ready signal can be controlled variably so that transmission data is sequentially transmitted to several transmission FIFO memories corresponding to each channel of the multi-channel at the time of system rise. If the number of data that is a negate condition during transmission is kept relatively small, the unreasonable aspect of the long bus occupancy period caused by the data transfer to the transmission FIFO memory can be easily solved.

[플래그이용에 의한 축적데이타수의 취득][Acquisition of accumulated data number by using flag]

FIFO메모리의 축적데이타수는 가감산을 실행하는 제1a, b도의 예이외에 제12도의 구성에 의해서도 얻을 수 있다. 제12도에는 4단의 단위기억영역 E0∼E3을 갖는 FIFO메모리가 1예로써 도시되어 있다. 라이트카운터(200)은 라이트를 실행해야 할 단위기억영역을 지시하는 값을 순차로 보유하고, 이 라이트카운터(200)의 값이 라이트어드레스디코더(201)에서 해독되는 것에 따라 그 디코더(201)에서 출력되는 선택신호 SW0∼SW3에 의해서 1개의 단위기억영역이 선택되고, 이것에 데이타가 라이트된다.The accumulated data number of the FIFO memory can be obtained by the configuration of FIG. 12, in addition to the examples of FIGS. 1a and b, which perform addition and subtraction. In Fig. 12, a FIFO memory having four levels of unit memory areas E 0 to E 3 is shown as an example. The light counter 200 sequentially holds a value indicating a unit memory area in which the write is to be executed, and at the decoder 201 as the value of the light counter 200 is decoded by the write address decoder 201. One unit memory area is selected by the selection signals SW 0 to SW 3 to be output, and data is written to it.

또, 리드카운터(202)는 리드해야할 단위기억영역을 지시하는 값을 순차로 보유하고, 이 리드카운터(202)의 값이 리드어드레스디코더(203)에서 해독되는 것에 따라 그 디코더(203)에서 출력되는 선택신호 Sr0∼Sr3에 의해서 하나의 단위기억영역이 선택되고, 이 단위기억영역에서 데이타가 리드된다. 또, 라이트카운터(200)이나 리드카운터(202)의 인크리먼트동작등은 제1a,b도의 설명과 마찬가지로 제어된다.Further, the lead counter 202 sequentially holds values indicating the unit memory area to be read, and outputs from the decoder 203 as the value of the lead counter 202 is decoded by the lead address decoder 203. One unit memory area is selected by the selection signals Sr 0 to Sr 3 , and data is read from this unit memory area. Incidentally, the increment operation or the like of the light counter 200 or the lead counter 202 is controlled in the same manner as the description of FIGS. 1A and 1B.

이와 같은 FIFO메모리의 축적데이타수를 취득하기 위해 단위기억영역E0∼E3에 1대1대응하는 플래그FLG0∼FLG3을 마련하고, 각 플래그FLG0∼FLG3을 상기 라이트어드레스디코더(201)의 출력신호SW0∼SW3으로 세트하고, 리드어드레스디코더(203)의 출력신호Sr0∼Sr3으로 리세트한다. 즉, 데이타의 라이트가 실행되는 단위기억영역에 대응하는 플래그가 세트상태로 제어되고, 그후 데이타가 리드된 단위기억영역에 대응하는 플래그가 리세트된다. 따라서, 축적데이타수는 세트상태인 플래그의 수에 따른다. 제12도에 있어서는 상기 플래그FLG0∼FLG3이 세트, 리세트형의 RS플립플롭에 의해 구성되고, 세트단자S에는 선택신호SW0∼SW3이 공급되며, 리세트단자R에는 선택신호Sr0∼Sr3이 공급되고 있다.Such a unit storage area in order to obtain the number of accumulated data in the FIFO memory E 0 ~E 3 to provide a one-to-one corresponding flag FLG ~FLG 0 to 3, and each flag FLG 0 ~FLG 3 the write address decoder (201 ) Is set to the output signals SW 0 to SW 3 and reset to the output signals Sr 0 to Sr 3 of the read address decoder 203. That is, the flag corresponding to the unit memory area in which data is written is controlled in the set state, and then the flag corresponding to the unit memory area to which data is read is reset. Therefore, the accumulated data number depends on the number of flags in the set state. In Fig. 12, the flags FLG 0 to FLG 3 are constituted by a set and reset RS flip-flop, and the select signals SW 0 to SW 3 are supplied to the set terminal S, and the select signal Sr to the reset terminal R. 0 ~Sr is 3 is applied.

제12도에 있어서 상기 플래그FLG0∼FLG3의 출력에서 축적데이타수를 취득하기 위해서는 예를들면 AND(204)와 OR면(205)를 포함하는 논리게이트어레이가 사용되고 있다. AND면(204)는 플래그FLG0∼FLG3의 출력신호선Y0∼Y3과 직교하는 데이타선X0∼X12를 배치하고, O표로 나타내는 필요한 위치에 스위치소자를 개재시켜서 이루어진다. 각 스위치소자의 선택단자는 열마다 출력신호선 Y0∼Y3에 공통접속되어 있다. 스위치소자는 플래그FLG0∼FLG3이 세트상태로 될 수 있는 경우의 모든 조합상태를 개별로 판정할 수 있는 배열로 되어 있고, 데이타선X0은 축적데이타수가 4개일때 하이레벨과 같은 신호를 OR면(205)에 부여하고, 축적데이타수가 3개일때 데이타선X1∼X4중의 어느 1개가 하이레벨과 같은 신호를 OR면(205)에 부여하고, 축적데이타수가 2개일때 데이타선X5∼X8중의 어느 1개가 하이레벨과 같은 신호를 OR면(205)에 부여하며, 축적데이타수가 1개일때 데이타선X9∼X12중의 어느 1개가 하이레벨과 같은 신호를 OR면(205)에 부여한다. OR면(205)는 상기 데이타선X0∼X12와 직교하는 3개의 출력데이타선D0∼D2를 배치하여 O표로 표시된 필요한 위치에 스위치소자를 개재시켜서 이루어진다. 각 스위치소자는 그 선택단자가 행마다 데이타선X0∼X12에 접속되고, 데이타선X0∼X12의 상태에 따라서 축적데이타수를 출력데이타선D0∼D2로 3비트의 데이타로써 출력하도록 되어 있다. 이와 같이 해서 출력데이타선D0∼D2에 부여되는 축적데이타수는 상기 전송준비제어등에 이용된다. 이와 같이 플래그FLG0∼FLG3을 이용해서 축적데이타수를 취득하는 경우에도 각각 별도로 동작되는 리드카운터(202)와 라이트카운터(200)의 출력계수값이 기준으로 되므로 동시에 리드와 라이트가 발생해도 축적데이트수를 정확하게 취득할 수 있다.In Fig. 12, for example, a logic gate array including an AND 204 and an OR surface 205 is used to obtain the accumulated data number from the outputs of the flags FLG 0 to FLG 3 . The AND surface 204 is formed by arranging data lines X 0 to X 12 orthogonal to the output signal lines Y 0 to Y 3 of the flags FLG 0 to FLG 3 and interposing a switch element at a required position indicated by an O table. The selection terminal of each switch element is commonly connected to the output signal lines Y 0 to Y 3 for each column. The switch elements are arranged in an array that can individually determine all combination states when the flags FLG 0 to FLG 3 can be set, and the data line X 0 provides a signal equal to a high level when the number of accumulated data is four. When the accumulated data number is three, the OR surface 205 is provided, and any one of the data lines X 1 to X 4 gives a signal equal to the high level to the OR surface 205, and the data line X is when the accumulated data number is two. Any one of 5 to X 8 gives a signal equal to the high level to the OR surface 205, and when one accumulated data is one, any one of the data lines X 9 to X 12 equals the high level to the OR surface (205). ) The OR surface 205 is formed by arranging three output data lines D 0 to D 2 orthogonal to the data lines X 0 to X 12 and interposing a switch element at a required position indicated by an O table. Each switching element is described as 3-bit data to be stored data to the output data line D 0 ~D 2 according to the state of the selection terminal is connected to the data lines X 0 ~X 12 for each row, the data line X 0 ~X 12 It is supposed to output. In this way, the number of accumulated data given to the output data lines D 0 to D 2 is used for the transfer preparation control and the like. As described above, even when the accumulated data number is acquired using the flags FLG 0 to FLG 3 , the output coefficient values of the lead counter 202 and the light counter 200 which are operated separately are used as the reference. You can get the date correctly.

[축적데이타수의 외부출력][External output of accumulated data number]

FIFO메모리의 축적데이타수는 전송준비제어에 이용될 뿐만아니라 직접 외부로 출력해도 좋다. 예를들면 제1a도, b도의 구성에 따르면 연산부(15), (115)에서 취득된 축적데이타수를 각각 유지하는 레지스터를 마련하고, 이 레지스터를 버스인터페이스부(5)를 거쳐서 CPU(9)등의 상위장치가 직접 액세스가능하게 된다. 이것에 의해, CPU(9)는 수신FIFO메모리(6)이나 송신FIFO메모리(7)의 축적데이타수를 필요한 타이밍에서 알 수 있다.The accumulated data count of the FIFO memory is not only used for the transmission preparation control but may be output directly to the outside. For example, according to the configuration of FIGS. 1A and 1B, a register is provided to hold the accumulated data numbers acquired by the calculation units 15 and 115, respectively, and the registers are transferred to the CPU 9 via the bus interface unit 5. The host device such as the above becomes directly accessible. As a result, the CPU 9 can know the accumulated data number of the reception FIFO memory 6 and the transmission FIFO memory 7 at a necessary timing.

예를들면 HDLC(High-level Data Link Control) 순서로 데이타의 송수신을 실행하는 경우에 제어필드의 제어정보를 수신FIFO메모리(6)에서 빨리 리드해서 처리하기 위해 축적데이타수를 감시하거나 프레임체크시퀸스정보가 수신되었을때 정보필드의 데이타를 수신FIFO메모리(6)에서 몇 바이트리드해서 남아 있는지를 판정하거나해서 상위 CPU(9)가 효율적으로 프로토콜처리할 수 있도록 수신정보에 따라서 결정하여 상세한 제어를 실행할 수 있게 된다.For example, when performing data transmission / reception in HDLC (High-level Data Link Control) order, the number of accumulated data is monitored or a frame check sequence is used to quickly read and process control field control information from the receiving FIFO memory 6. When information is received, it is determined by how many bytes of data in the information field remain in the reception FIFO memory 6, or determined in accordance with the reception information so that the upper CPU 9 can efficiently process the protocol and execute detailed control. It becomes possible.

제13도에는 본 발명의 또 다른 실시예인 FIFO메모리가 도시되어 있다. 제13도에 도시된 FIFO메모리(301)은 특히 제한되지 않지만 제14도에 도시된 마이크로컴퓨터 또는 프로세서(302)에 포함되는 1개의 기능모듈로 된다. 그 프로세서(302)는 특히 제한되지 않지만 공지의 반도체집적회로의 제조기술에 의해 실리콘기판과 같은 1개의 반도체기판에 형성되어 있다.13 shows a FIFO memory, which is another embodiment of the present invention. The FIFO memory 301 shown in FIG. 13 is not particularly limited but includes one functional module included in the microcomputer or processor 302 shown in FIG. The processor 302 is not particularly limited, but is formed on one semiconductor substrate such as a silicon substrate by a known technique for manufacturing a semiconductor integrated circuit.

먼저, 상기 프로세서(302)를 개략적으로 설명한다.First, the processor 302 will be described schematically.

제14도에는 FIFO메모리(301)이외에 중앙처리장치(303)과 직렬입력회로(304)가 대표적으로 도시되어 있다. 직렬입력회로(304)는 직렬비트에 공급되는 수신데이타RxD를 동기화 또는 복원해서 입력하고, 입력된 데이타를 병렬변환해서 출력한다.In FIG. 14, the CPU 303 and the serial input circuit 304 are representatively shown in addition to the FIFO memory 301. The serial input circuit 304 synchronizes or recovers the received data RxD supplied to the serial bits, and converts the input data in parallel to output them.

FIFO메모리(301)은 직렬입력회로(304)에서 공급되는 데이타를 축적하는 버퍼메모리로써 이용된다. 이 FIFO메모리(301)은 직렬입력회로(304) 측 및 중앙처리장치(303)측과 별도로 인터페이스되고 있다.The FIFO memory 301 is used as a buffer memory for storing data supplied from the serial input circuit 304. This FIFO memory 301 is interfaced separately from the serial input circuit 304 side and the central processing unit 303 side.

직렬입력회로(304)측의 인터페이스부에는 직렬입력회로(304)측에서 병렬변환된 수신데이타Drx가 공급됨과 동시에 이 수신데이타Drx의 라이트를 FIFO메모리(301)에 지시하는 푸시신호PUSH가 공급된다. FIFO메모리(301)의 직렬입력회로(304)측의 인터페이스부에서 직렬입력회로(304)에는 FIFO메모리(301)로 빈메모리가 없는 상태를 알리기 위한 풀신호FS가 공급된다.The interface data on the side of the serial input circuit 304 is supplied with the reception data Drx converted in parallel on the side of the serial input circuit 304 and the push signal PUSH for instructing the write of the reception data Drx to the FIFO memory 301. . The full input signal FS for notifying the FIFO memory 301 that there is no free memory is supplied to the serial input circuit 304 from the interface unit on the serial input circuit 304 side of the FIFO memory 301.

중앙처리장치(303)측의 인터페이스부는 어드레스버스ABUS 및 데이타버스DBUS를 거쳐서 중앙처리장치(303)등과의 사이에서 데이타Di의 수수나 어드레스신호Ai의 공급을 받음과 동시에 어드레스Ai의 소정의 비트를 디코더(305)에서 디코드해서 생성된 제어신호AA, CA를 받고, 또 리드/라이트신호R /W를 받는다. 중앙처리장치(303)측의 인터페이스부에서 중앙처리장치(303)으로는 FIFO메모리(301)에 더이상 리드해야할 데이타가 존재하지 않는 상태를 알리기 위한 반신호ES 및 중앙처리장치(303)에 의한 FIFO메모리(301)의 액세스동작을 금지지시하기 위한 액세스금지상태신호INH가 공급된다.The interface unit on the side of the central processing unit 303 receives the data Di or the address signal Ai from the central processing unit 303 via the address bus ABUS and the data bus DBUS, and at the same time receives a predetermined bit of the address Ai. The decoder 305 receives the control signals AA and CA generated by decoding, and receives the read / write signals R / W. The half signal ES and the FIFO by the central processing unit 303 to inform the central processing unit 303 of the interface unit on the central processing unit 303 side that there is no data to be read to the FIFO memory 301. The access inhibited state signal INH is provided to instruct the memory 301 to prohibit the access operation.

중앙처리장치(303)은 특히 제한되지 않지만 프로세서전체의 제어를 담당함과 동시에 수신데이타RxD에 대한 프로토콜처리도 실행하도록 되어 있다.Although the central processing unit 303 is not particularly limited, the central processing unit 303 is in charge of controlling the entire processor and also performs protocol processing for the received data RxD.

다음에 제13도에 따라 FIFO메모리(301)에 대해서 상세히 설명한다. 이 FIFO메모리(301)은 기본적으로 선입선출형식으로 데이타의 입출력을 실행하지만 더나아가서는 중앙처리장치(303)에 의한 랜덤액세스 및 불필요한 데이타의 클리어처리가 가능하게 구성되어 있다.Next, the FIFO memory 301 will be described in detail with reference to FIG. The FIFO memory 301 basically performs input / output of data in a first-in first-out format, but furthermore, the central processing unit 303 is configured to enable random access and unnecessary data clear processing.

제13도에 있어서, (310)은 리라이트가능한 여러개의 메모리셀, 예를들면 스테이틱형 메모리셀이 매트릭스 배치된 메모리셀어레이이다. 이 메모리셀어레이(310)에 포함되는 메모리셀의 선택단자는 열마다 워드선WL0∼WLn에 결합되고, 메모리셀의 데이타입출력단자는 행마다 상보비트선BL0, BL0∼BLn, BLn에 결합되어 이들 상보 비트선BL0, BL0∼BLn, BLn는 행선택회로(306)을 거쳐서 상보공통데이타선(307)에 접속되어 있다. 메모리셀어레이(310)에 포함되는 필요한 메모리셀의 어드레싱은 워드선선택디코더(311) 및 비트선선택디코더(312)가 실행한다.In Fig. 13, reference numeral 310 denotes a memory cell array in which a plurality of rewritable memory cells, for example, static memory cells, are arranged in a matrix. The select terminals of the memory cells included in the memory cell array 310 are coupled to word lines WL 0 to WL n for each column, and the data input / output terminals of the memory cells are complementary bit lines BL 0 , BL 0 to BL n , for each row. It is coupled to a complementary bit line BL n thereof BL 0, BL 0 ~BL n, BL n is through the row selection circuit 306 is connected to a complementary common data line (307). Addressing of necessary memory cells included in the memory cell array 310 is performed by the word line selection decoder 311 and the bit line selection decoder 312.

즉, 워드선선택디코더(311)은 이것에 공급되는 어드레스신호를 해독하여 소정의 워드선을 선택레벨로 구동한다. 비트선 선택디코더(312)는 이것에 공급되는 어드레스신호를 해독해서 소정의 상보비트선을 상보공통데이타선(307)에 도통시키도록 행선택회로(306)을 제어한다. 이들 워드선선택디코더(311) 및 비트선선택디코더(312)에 의해 어드레싱된 메모리셀에 대한 데이타의 리드는 특히 제한되지 않지만 센스앰프(308A) 및 출력게이트(308B)를 포함하는 리드회로(308)에 의해 실행되고, 어드레싱된 메모리셀에 대한 데이타의 라이트는 특히 제한되지 않지만 2개의 입력게이트(309A), (309B) 및 라이트앰프(309C)를 포함하는 라이트회로(309)에 의해 실행된다.That is, the word line selection decoder 311 reads the address signal supplied thereto to drive the predetermined word line at the selection level. The bit line select decoder 312 controls the row select circuit 306 to decode the address signal supplied thereto and to conduct a predetermined complementary bit line to the complementary common data line 307. The read circuit of the data to the memory cells addressed by these word line select decoders 311 and bit line select decoders 312 is not particularly limited, but a read circuit 308 including a sense amplifier 308A and an output gate 308B. Write of data to the addressed memory cell is not particularly limited but is performed by the write circuit 309 including two input gates 309A, 309B and the write amplifier 309C.

중앙처리장치(303)에 의해 랜덤액세스를 하기 위한 어드레스신호Ai는 어드레스입력버퍼(315)에 공급된다. 또, FIFO메모리(301)은 액세스어드레스를 내부에서 생성하기 위한 이진카운터등으로 구성된 리드어드레스카운터(313) 및 라이트어드레스카운터(314)를 마련한다. 라이트어드레스카운터(314)는 선입형식에 의한 데이타라이트동작마다 순차로 라이트어드레스Aw는 출력한다. 이 라이트어드레스카운터(314)의 인크리먼트동작은 컨트롤러(317)에서 출력되는 제어신호Φwi가 어서트되는 것에 의해 지시된다. 리드어드레스카운터(313)은 선출형식에 의한 데이타리드동작마다 순차로 리드어드레스Ar을 출력한다. 이 리드어드레스카운터(313)의 인크리먼트동작은 컨트롤러(317)에서 출력되는 제어신호Φri가 어서트되는 것에 의해 지시된다.The address signal Ai for random access by the central processing unit 303 is supplied to the address input buffer 315. The FIFO memory 301 also provides a lead address counter 313 and a write address counter 314 composed of a binary counter or the like for generating an access address therein. The write address 314 sequentially outputs the write address Aw for each data write operation by the first-in type. Incremental operation of the write address counter 314 is instructed by the control signal? Wi output from the controller 317 being asserted. The read address counter 313 sequentially outputs the read address Ar for each data read operation by the selection format. Incremental operation of this lead addresser 313 is instructed by the control signal? Ri output from the controller 317 being asserted.

상기 어드레스입력버퍼(315)에 의해 내부로 입력되는 어드레스신호Ai, 상기 리드어드레스카운터(313)에서 출력되는 어드레스신호Ar 및 라이트어드레스카운터(314)에서 출력되는 어드레스신호Aw를 셀렉터(316)에 의해 선택되어 상기 워드선선택디코더(311)과 비트선선택디코더(312)로 공급된다. 셀렉터(316)의 선택제어는 컨트롤러(317)에서 출력되는 다수비트의 제어신호Φs에 따라 실행된다.The selector 316 selects the address signal Ai inputted internally by the address input buffer 315, the address signal Ar output from the lead addresser 313, and the address signal Aw outputted from the write addresser 314. And is supplied to the word line selection decoder 311 and the bit line selection decoder 312. The selection control of the selector 316 is executed in accordance with the control signal .phi. Of the plurality of bits output from the controller 317.

상기 리드어드레스카운터(313)과 라이트어드레스카운터(314)의 값은 초기상태에서 일치되도록 되어 있고, 리드어드레스카운터(313)에서 출력되는 어드레스신호Ar과 라이트어드레스카운터(314)에서 출력되는 어드레스신호Aw는 비교판정회로(318)에 공급되어 그 일치, 불일치가 항상 감시된다. 비교판정회로(318)은 선입형식의 라이트동작시에 양자의 값Ar, Aw가 일치한 것을 검출하면 새로운 라이트를 실행할 수 없는 상태를 직렬입력회로(304)로 알리기 위해 풀신호FS를 하이레벨로 어서트하고, 선출형식의 리드동작시에 양자의 값Ar, Aw가 일치한 것을 검출하면 리드해야할 데이타가 더이상 존재하지 않는 상태를 중앙처리장치(303)에 알리기 위해 빈신호ES를 하이레벨로 어서트한다. 또, 비교판정회로(318)은 특히 제한되지 않지만 제어신호Φwi에 의한 라이트어드레스카운터(314)의 인크리먼트지시에 따라서 선입형식이 라이트동작을 검출하고, 또 제어신호Φri에 의한 리드어드레스카운터(313)의 인크리먼트지시에 따라서 선출형식의 리드동작을 검출한다.The values of the lead addresser 313 and the write addresser 314 are coincident in the initial state, and the address signal Ar output from the lead addresser 313 and the address signal Aw output from the write addresser 314. Is supplied to the comparison determination circuit 318 so that the coincidence and inconsistency are always monitored. The comparison decision circuit 318 sets the full signal FS to a high level to inform the serial input circuit 304 that a new write cannot be executed when it detects that both values Ar and Aw coincide in the write operation of the first-in-one type. If it asserts and detects that the values Ar and Aw coincide in the read operation of the elected form, the empty signal ES is set to a high level to inform the central processing unit 303 that the data to be read is no longer present. I do it. The comparison determination circuit 318 is not particularly limited, but the first input type detects the write operation in accordance with the incremental instruction of the write address counter 314 by the control signal .phi.wi, and the lead address counter (by the control signal .phi.ri). According to the increment instruction of 313, a lead operation of the elected type is detected.

상기 리드회로(308)에 포함되는 출력게이트(308A)의 출력단자와 라이트회로(309)에 포함되는 입력게이트(309A)의 입력단자는 중앙처리장치(303)에 의한 선출형식의 메모리리드액세스와 랜덤액세스에 이용되는 데이타입출력버퍼(320)을 거쳐서 데이타DBUS에 인터페이스되고, 또 라이트회로(309)에 포함되는 입력게이트(309B)의 입력단자는 직렬입력회로(304)에 의한 선입형식의 메모리라이트액세스에 이용되는 데이타입력버퍼(321)을 거쳐서 직렬입력회로(304)에 인터페이스된다. 데이타입출력버퍼(320)에 대한 데이타의 입출력제어는 리드/라이트신호R/W의 레벨에 따라서 컨트롤러(317)에서 출력되는 제어신호Φi, Φo에 의해 실행된다. 또, 데이타입력버퍼(321)에 의한 데이타의 입력제어는 컨트롤러(317)에서 출력되는 제어신호Φp에 의해 실행된다. 특히 제한되지 않지만, 중앙처리장치(303)에 의한 선출형식의 메모리리드액세스와 랜덤액세스시에 리드회로(308) 및 라이트회로(309)에 대한 리드/라이트제어는 리드/라이트신호R/W의 레벨에 따라서 컨트롤러(317)에서 출력되는 제어신호Φr, Φw에 의해 지시되고, 직렬입력회로(304)에 의한 선입형식의 메모리라이트액세스시에 라이트회로(309)의 라이트제어는 상기 제어신호Φp에 의해 지시된다. 또, 라이트앰프(309C)에 대한 동작지시는 특히 제한되지 않지만 제어신호Φp, Φw의 논리합을 취하는 OR게이트(309D)의 출력신호에 의해 부여된다.The output terminal of the output gate 308A included in the lead circuit 308 and the input terminal of the input gate 309A included in the write circuit 309 are connected to the memory lead of the electoral type by the central processing unit 303. The input terminal of the input gate 309B, which is interfaced to the data DBUS via the data input / output buffer 320 used for random access, and is included in the write circuit 309, is a memory write of the first-in type by the serial input circuit 304. It is interfaced to the serial input circuit 304 via a data input buffer 321 used for access. The input / output control of data to the data input / output buffer 320 is executed by the control signals phi i and phi o output from the controller 317 in accordance with the level of the read / write signal R / W. The input control of data by the data input buffer 321 is executed by the control signal .phi.p output from the controller 317. Although not particularly limited, the read / write control of the read circuit 308 and the write circuit 309 in the elected type memory lead access and the random access by the central processing unit 303 is performed by the read / write signal R / W. The control signals? R and? W outputted from the controller 317 are output according to the level, and the write control of the write circuit 309 is controlled to the control signal .phi. Is indicated by The operation instruction to the write amplifier 309C is not particularly limited, but is given by the output signal of the OR gate 309D which takes a logical sum of the control signals phi p and phi w.

상기 리드어드레스카운터(313) 및 라이트어드레스카운터(314)는 프리세트기능을 갖고 내부데이타버스(325)를 거쳐서 데이타 입출력버퍼(320)에 결합되고, 그것이 유지하는 어드레스신호Ar, Aw를 중앙처리장치(303)이 리드하거나 그 값을 중앙처리장치(303)이 리라이트할 수 있게 되어 있다. 데이타입출력버퍼(320)에 결합되는 리드어드레스카운터(313)의 입출력게이트는 컨트롤러(317)에서 출력되는 제어신호Φrac에 의해 개폐제어된다. 마찬가지로 데이타입출력버퍼(320)에 결합되는 라이트어드레스카운터(314)의 입출력게이트는 컨트롤러(317)에서 출력되는 제어신호Φwac에 의해 개폐제어된다.The lead addresser 313 and the write addresser 314 have a preset function, are coupled to the data input / output buffer 320 via an internal data bus 325, and the address signals Ar and Aw held by the central processing unit. 303 reads or rewrites the value. The input / output gate of the read address counter 313 coupled to the data input / output buffer 320 is opened and closed by the control signal Φ rac output from the controller 317. Similarly, the input / output gate of the write address counter 314 coupled to the data input / output buffer 320 is opened and closed by the control signal .phi.wac output from the controller 317.

여기에서, 상기 디코더(305)에서 출력되는 제어신호AA는 그 하이레벨에 의해 FIFO메모리(301)을 어드레스신호Ai에 의해서 랜덤액세스하는 것을 지시하는 신호로 간주된다. 컨트롤러(317)은 제어신호AA가 하이레벨로 어서트되면 제어신호Φs에 의해 셀렉터(316)로 어드레스신호Ai를 선택출력시킨다. 이 랜덤액세스에 있어서의 리드, 라이트동작은 리드/라이트신호R/W에 의해 지시된다. 이것에 의해서 메모리리드동작이 지시되는 경우에는 제어신호Φr, Φo가 어서트됨과 동시에 또 제어신호Φw, Φi가 네게이트된다. 메모리라이트동작이 지시되는 경우에는 제어신호Φr, Φo가 네게이트됨과 동시에 또 제어신호Φw, Φi가 어서트된다.Here, the control signal AA output from the decoder 305 is regarded as a signal instructing to randomly access the FIFO memory 301 by the address signal Ai by its high level. When the control signal AA is asserted to the high level, the controller 317 selectively outputs the address signal Ai to the selector 316 by the control signal .phi.s. The read and write operations in this random access are instructed by the read / write signals R / W. When the memory lead operation is instructed by this, the control signals? R and? O are asserted, and the control signals? W and? I are gated. When the memory write operation is instructed, the control signals .phi.r and .phi.o are gated, and the control signals .phi.w and .phi.i are asserted.

디코더(305)에서 출력되는 상기 2비트의 제어신호CA는 리드어드레스카운터(313)이나 라이트어드레스카운터(314)의 액세스를 지시하기 위한 제어신호로 된다. 제어신호CA에 포함되는 소정의 1비트는 그 하이레벨에 의해 리드어드레스카운터(313)에 대한 액세스를 지시하는 비트로 간주되고, 다른 1비트는 그 하이레벨에 의해 라이트어드레스카운터(314)에 대한 액세스를 지시하는 비트로 간주된다. 제어신호CA에 의해 리드어드레스카운터(313)에 대한 액세스가 지시되면 컨트롤러(317)은 제어신호Φrac를 어서트해서 리드어드레스카운터(313)의 도시하지 않은 입출력게이트를 연다. 제어신호CA에 의해 라이트어드레스카운터(314)에 대한 액세스가 지시되면 컨트롤러(317)은 제어신호Φwac를 어서트해서 라이트어드레스카운터(314)의 도시하지 않은 입출력게이트를 연다. 이때의 리드, 라이트동작은 리드/라이트신호R/W에 의해 지시되고, 이것에 따라서 제어신호Φi, Φo중 어느한쪽이 어서트되는 것에 의해 데이타입출력버퍼(320)에 있어서의 데이타의 입출력방향이 제어된다. 또, 리드어드레스카운터(313)이나 라이트어드레스카운터(314)의 액세스시에 제어신호Φr, Φw는 쌍방 모두 네게이트된다.The two-bit control signal CA output from the decoder 305 becomes a control signal for instructing the access of the read addresser 313 or the write addresser 314. The predetermined one bit included in the control signal CA is regarded as a bit for instructing access to the lead addresser 313 by its high level, and the other one bit is accessed to the write addresser 314 by its high level. Is considered a bit indicating. When access to the lead address counter 313 is instructed by the control signal CA, the controller 317 asserts the control signal? Rac to open an input / output gate (not shown) of the lead address counter 313. When the control signal CA instructs access to the write address counter 314, the controller 317 asserts the control signal? Wac to open an input / output gate (not shown) of the write address counter 314. At this time, the read / write operation is instructed by the read / write signal R / W, and either of the control signals phi i and phi o is asserted accordingly, and thus the input / output direction of the data in the data input / output buffer 320 is changed. Controlled. When the lead address counter 313 and the write address counter 314 are accessed, both the control signals .phi.r and .phi.w are negated.

상기 제어신호AA가 로우레벨로 네게이트되어 있을때 리드, 라이트신호R/W에 의해서 리드동작이 지시되면 FIFO메모리(301)은 리드어드레스카운터(313)의 출력어드레스신호Ar에 따른 선출형식에 의한 리드동작모드로 된다. 이것에 의해 제어신호Φri가 어서트되는 것에 의해 리드어드레스카운터(313)이 인크리먼트되고, 인크리먼트된 리드어드레스카운터(313)에서 출력되는 어드레스신호Ar이 셀렉터(316)을 거쳐서 워드선선택디코더(311) 및 비트선선택디코더(312)에 공급된다.When the read operation is instructed by the read / write signal R / W when the control signal AA is gated to the low level, the FIFO memory 301 reads in the selection form according to the output address signal Ar of the read address counter 313. The operation mode is entered. As a result, the control signal .phi.ri is asserted so that the lead address counter 313 is incremented, and the address signal Ar output from the incremented lead address counter 313 is selected via the selector 316 to select a word line. The decoder 311 and the bit line selection decoder 312 are supplied.

직렬입력회로(304)에서 공급되는 푸시신호PUSH는 그 하이레벨에 의해 라이트어드레스카운터(314)의 출력어드레스신호Aw에 따른 선입형식에 의한 라이트동작모드를 지시하는 신호로 간주된다.The push signal PUSH supplied from the serial input circuit 304 is regarded as a signal indicative of the write operation mode by the first-in-one format according to the output address signal Aw of the write address counter 314 by its high level.

컨트롤러(317)은 그 푸시신호PUSH가 하이레벨로 어서트되면 제어신호Φwi를 어서트하고, 이것에 의해서 라이트어드레스카운터(314)가 인크리먼트되고, 이와 같이 해서 얻어진 어드레스Aw가 셀렉터(316)을 거쳐서 워드선선택디코더(311) 및 비트선선택디코더(312)가 공급된다.The controller 317 asserts the control signal? Wi when the push signal PUSH is asserted to the high level, thereby incrementing the write address counter 314, and thus the address Aw thus obtained is selected by the selector 316. The word line selection decoder 311 and the bit line selection decoder 312 are supplied via the above.

본 실시예의 FIFO메모리(301)은 중앙처리장치(303) 및 직렬입력회로(304)의 양쪽에서 액세스가능하므로 양쪽에서의 액세스의 경합을 회피시키기 위해, 특히 제한되지 않지만 컨트롤러(317)은 중앙처리장치(303)에 의한 FIFO메모리(301)의 액세스를 금지지시하기 위해 액세스금지상태신호INH를 부여한다.The FIFO memory 301 of this embodiment is accessible from both the central processing unit 303 and the serial input circuit 304, so that the controller 317 is centrally processed, although not particularly limited to avoid contention of access from both sides. In order to prohibit access of the FIFO memory 301 by the device 303, an access prohibition status signal INH is given.

이 경합회피의 논리는 특히 제한되지 않지만 직렬입력회로(304)로 부터의 액세스요구를 우선시키도록 되어 있고, 액세스금지상태신호INH는 예를 들면 푸시신호PUSH의 어서트기간에 따라서 어서트된다.Although the logic of avoiding contention is not particularly limited, the access request from the serial input circuit 304 is prioritized, and the access inhibited state signal INH is asserted in accordance with the assert period of the push signal PUSH, for example.

다음에 상기 FIFO메모리(301)의 동작을 설명한다.Next, the operation of the FIFO memory 301 will be described.

직렬입력회로(304)는 풀신호FS가 네게이트되어 있는 것을 조건으로 푸시신호PUSH를 어서트해서 수신데이타Drx를 FIFO메모리(301)로 공급한다. 이것에 의해 FIFO메모리(301)은 라이트어드레스카운터(314)를 인크리먼트하면서 그 수신데이타Drx를 순차로 메모리셀어레이(310)에 저장한다.The serial input circuit 304 asserts the push signal PUSH on the condition that the full signal FS is gated, and supplies the reception data Drx to the FIFO memory 301. As a result, the FIFO memory 301 incrementally stores the received data Drx in the memory cell array 310 while incrementing the write address counter 314.

중앙처리장치(303)은 빈신호ES 및 액세스금지상태신호INH가 네게이트되어 있는 것을 조건으로 FIFO메모리(301)에 대해서 선출형식에 의한 리드동작을 지시한다. 이것에 의해 FIFO메모리(301)은 리드어드레스카운터(313)을 인크리먼트하면서 메모리셀어레이(310)에 저장되어 있는 수신데이타를 순차로 리드한다.The central processing unit 303 instructs the FIFO memory 301 in a read operation according to the elected form, provided that the empty signal ES and the access inhibited state signal INH are gated. As a result, the FIFO memory 301 sequentially reads the reception data stored in the memory cell array 310 while incrementing the read address counter 313.

여기에서, 시스템동작상의 에러등에 의해 메모리셀어레이(310)에 저장된 수신데이타의 도중에 불필요한 데이타가 발생한 경우에 이것을 클리어하는 동작을 설명한다. 예를들면 제15a도에 도시된 바와 같이 리드어드레스카운터(313)과 라이트어드레스카운터(314)가 어떤값Ar, Aw를 지시하고 있을때 메모리셀어레이(310)의 어드레스공간에 있어서의 영역ED1 및 ED2의 데이타가 불필요하게 된 경우에 중앙처리장치(303)은 제15b도에 도시된 바와 같이 리드어드레스카운터(313)의 값을 Ar'로 리라이트하고, 또 라이트어드레스카운터(314)의 값을 Aw'로 리라이트해주면 좋다. 이와 같이 해서 리드어드레스카운터(313) 및 라이트어드레스카운터(314)의 값이 리라이트되면 그후 직렬입력회로(304)에서 부여되는 수신데이타Drx는 라이트어드레스카운터(314)에 의해 나타내는 값Aw'의 어드레스로 부터 순차로 라이트되어 영역ED2에 남아 있는 불필요한 데이타는 무시된다. 또, 그후 메모리셀어레이(310)에 저장되어 있는 수신데이타를 중앙처리장치(303)이 선출형식으로 리드하는 경우에는 리드어드레스카운터(313)에 의해 나타내는 값Ar'의 어드레스로부터 순차로 리드되어 영역ED1에 남아 있는 데이타는 무시된다. 따라서, 불필요한 데이타를 모두 순차로 리드해서 리드어드레스카운터(313)의 값을 갱신해주지 않아도 중앙처리장치(303)이 리드어드레스카운터(313)이나 라이트어드레스카운터(314)의 값을 리라이트하는 처리를 실행하는 것만으로 불필요한 데이타에 대한 실질적인 클리어처리를 간단히 실행할 수 있다.Here, an operation of clearing this when unnecessary data occurs in the middle of the reception data stored in the memory cell array 310 due to an error in system operation or the like will be described. For example, as shown in FIG. 15A, the regions ED1 and ED2 in the address space of the memory cell array 310 when the read address counter 313 and the write address counter 314 indicate certain values Ar and Aw. In the case where the data is no longer needed, the central processing unit 303 rewrites the value of the lead addressing counter 313 to Ar 'as shown in FIG. 15B, and sets the value of the light addressing counter 314 to Aw. Rewrite to '. In this way, when the values of the lead addresser 313 and the write addresser 314 are rewritten, the reception data Drx applied from the serial input circuit 304 thereafter is the address of the value Aw 'indicated by the write addresser 314. Unnecessary data remaining in the area ED2, which is sequentially written from, is ignored. After that, when the central processing unit 303 reads the reception data stored in the memory cell array 310 in the elected format, the area is sequentially read from the address Ar 'indicated by the read address counter 313. Data remaining in ED1 is ignored. Therefore, the central processing unit 303 rewrites the values of the lead addresser 313 and the write addresser 314 without sequentially reading all unnecessary data and updating the value of the lead addresser 313. By simply executing, the actual clear processing for unnecessary data can be performed easily.

이 클리어처리에 있어서, 리드어드레스카운터(313) 및 라이트어드레스카운터(314)의 값을 리라이트할때 그 어드레스카운터(313), (314)의 상태를 중앙처리장치(303)이 알 필요가 있는 경우에는 중앙처리장치(303)은 리드어드레스카운터(313) 및 라이트어드레스카운터(314)의 값을 리드액세스하여 리드한 값 Ar, Aw에 따라서 리라이트해야할 값Ar', Aw'를 산출한다.In this clearing process, the central processing unit 303 needs to know the states of the address counters 313 and 314 when the read address counter 313 and the write address counter 314 are rewritten. In this case, the central processing unit 303 reads the values of the lead addresser 313 and the write addresser 314 to calculate the values Ar 'and Aw' to be rewritten according to the read values Ar and Aw.

이와 같은 어드레스카운터(313), (314)의 리드액세스가 필요한 경우로써는 예를들면 중앙처리장치(303)이 불필요한 데이타의 패키트번호나 바이트수 또는 워드수밖에 인식하고 있지 않을때 메모리셀어레이(310)의 물리적인 어드레스공간이나 산출해야 할 값Ar', Aw'의 기준으로 되어야 할 값Ar, Aw를 얻지 않으면 안되는 경우가 상정된다.Such a read access of the address counters 313 and 314 is required, for example, when the CPU 303 recognizes only the package number, byte number, or word count of unnecessary data. It is assumed that the values Ar and Aw, which should be the basis of the physical address space of the parentheses) or the values Ar 'and Aw' to be calculated, must be obtained.

다음에 시스템동작상 FIFO메모리(301)의 도중에 저장되어 있는 데이타를 검사할 필요가 생긴 경우에 중앙처리장치(303)은 어드레스신호Ai에 의해 FIFO메모리(301)을 랜덤액세스해서 필요한 데이타를 리드한다. 이때의 리드동작으로는 제어신호Φri가 어서트되지 않고, 이것에 의해 리드어드레스카운터(313)의 값은 그대로 유지된다. 이 랜덤액세스시에 중앙처리장치(303)이 FIFO메모리(301)의 물리적인 어드레스공간이나 액세스 대상으로 하는 필요한 어드레스의 기준이 되는 어드레스정보를 필요로 하는 경우, 이 중앙처리장치(303)은 리드어드레스카운터(313)이나 라이트어드레스카운터(314)를 리드액세스해서 그 값을 리드할 수가 있다.Next, when the system operation requires the inspection of data stored in the middle of the FIFO memory 301, the central processing unit 303 randomly accesses the FIFO memory 301 by the address signal Ai and reads out necessary data. In this read operation, the control signal .phi ri is not asserted, whereby the value of the lead address counter 313 is maintained as it is. When the central processing unit 303 needs the address of the physical address space of the FIFO memory 301 or the necessary address to be accessed at this random access, the central processing unit 303 reads. The address counter 313 and the write address counter 314 can be read accessed to read the value.

상기 FIFO메모리(301)에 의하면 다음의 효과를 얻는 것이다.According to the FIFO memory 301, the following effects are obtained.

셀렉터(316)에 외부어드레스신호Ai를 선택시키는 것에 의해 중앙처리장치(303)은 리드어드레스카운터(313) 및 라이트어드레스카운터(314)가 지시하는 어드레스를 그대로 한 상태에서 그들이 지시하는 어드레스이외의 임의의 어드레스에서 필요한 데이타를 얻을 수 있고, 이것에 의해 데이타의 리드, 라이트의 순서가 내장 어드레스카운터(313), (314)의 값에 의해서 규정되어 있어도 랜덤액세스가 가능하게 된다.By selecting the external address signal Ai from the selector 316, the central processing unit 303 keeps the addresses indicated by the lead addresser 313 and the write addresser 314 as they are. The necessary data can be obtained at the address of [0100]. This enables random access even if the order of reading and writing data is specified by the values of the built-in address counters 313 and 314.

메모리셀어레이(310)에 저장된 데이타의 도중에 불필요한 데이타가 발생한 경우에 리드어드레스카운터(313) 또는 라이트어드레스카운터(314)의 값을 중앙처리장치(303)의 제어로 리라이트하는 것에 의해 FIFO메모리(301)에 있어서의 데이타의 실질적인 클리어처리를 간단히 실행할 수 있다.When unnecessary data occurs in the middle of the data stored in the memory cell array 310, the value of the read address counter 313 or the write address counter 314 is rewritten under the control of the central processing unit 303, and thus the FIFO memory ( Substantial clear processing of the data in 301 can be performed easily.

상기 효과에 의해, 중앙처리장치(303)에 의한 랜덤액세스와 불필요한 데이타의 임의의 클리어처리가 가능한 FIFO메모리(301)을 직렬입력회로(304)의 버퍼메모리로써 이용하는 경우에 중앙처리장치(303)이 수신데이타에 대한 프로토콜처리를 실행하고자 할때 중앙처리장치(303)은 FIFO메모리(301)을 랜덤액세스해서 수신데이타에 포함되는 제어필드등의 정보를 임의로 얻어서 프로토콜처리를 실행할 수 있고, 그 결과 불필요하게 되는 수신데이타나 수신데이타에 포함되는 송신원 식별데이타와 같은 불필요한 데이타를 버퍼메모리로써의 FIFO메모리(301)상에서 간단히 클리어처리할 수 있게 된다. 따라서, FIFO메모리(301)에 저장한 데이타를 일단 모두 로컬메모리등으로 전송하고나서 프로토콜처리를 실행할 필요는 없고, 이것에 의해서 프로토콜처리의 효율화, 더 나아가서는 그를 위한 시스템의 간소화를 도모할 수 있다.By the above effect, when the FIFO memory 301 capable of random access by the central processing unit 303 and arbitrary clear processing of unnecessary data is used as the buffer memory of the serial input circuit 304, the central processing unit 303 When the protocol processing for the received data is to be executed, the central processing unit 303 randomly accesses the FIFO memory 301 to arbitrarily obtain information such as control fields included in the received data and execute the protocol processing. Unnecessary data such as unnecessary reception data or transmission source identification data included in the reception data can be easily cleared on the FIFO memory 301 serving as a buffer memory. Therefore, it is not necessary to execute the protocol process after all the data stored in the FIFO memory 301 is transferred to the local memory or the like, whereby the protocol process can be made more efficient and the system can be simplified. .

[FIFO메모리(331)][FIFO Memory (331)]

제16도에는 본 발명에 관한 또 다른 FIFO메모리(331)이 도시되어 있다. 제16도에 도시된 FIFO메모리(331)은 특히 제한되지 않지만 제17도에 도시되는 마이크로컴퓨터시스템에 포함되는 1개의 주변장치로 이루어지고, 공지의 반도체집적회로 제조기술에 의해서 실리콘기판과 같은 1개의 반도체기판에 형성된다.16 shows another FIFO memory 331 according to the present invention. The FIFO memory 331 shown in FIG. 16 is not particularly limited, but is composed of one peripheral device included in the microcomputer system shown in FIG. 17, and is formed by a known semiconductor integrated circuit manufacturing technology. It is formed on two semiconductor substrates.

제17도에는 FIFO메모리(331)이외의 버스마스터모듈로써의 프로세서(333) 및 직렬입력회로(334), 또 버스권조정을 실행하기 위한 버스아비터(332)가 대표적으로 도시되고, 그들은 데이타버스DBUS, 어드레스버스ABUS 및 제어버스CBUS에 결합되어 있다. 프로세서(333), 직렬입력회로(334)는 버스권을 요구하는 신호로써 버스요구신호BREQ1, BREQ2를 출력하고, 이들 버스요구신호BREQ1, BREQ2를 받는 버스아비터(332)는 프로세서(333) 또는 직렬입력회로(334)중 어느 한쪽으로 버스권을 인식하기 위한 버스확인신호BACK1, BACK2를 출력한다.In FIG. 17, a processor 333 as a bus master module other than the FIFO memory 331, a serial input circuit 334, and a bus arbiter 332 for performing bus winding adjustment are representatively shown. It is coupled to DBUS, address bus ABUS and control bus CBUS. The processor 333 and the serial input circuit 334 output bus request signals BREQ1 and BREQ2 as signals for requesting a bus ticket, and the bus arbiter 332 which receives these bus request signals BREQ1 and BREQ2 is the processor 333 or the serial. One of the input circuits 334 outputs bus confirmation signals BACK1 and BACK2 for recognizing the bus ticket.

직렬입력회로(334)는 직렬비트에 공급되는 수신데이타RxD를 동기화 또는 복원해서 페치하고, 페치한 데이타를 병렬변환해서 출력한다. FIFO메모리(331)은 직렬입력회로(334)에서 공급되는 데이타를 축적하는 버퍼메모리로써 이용된다. 상기 프로세서(333)은 특히 제한되지 않지만 FIFO메모리(331)에 저장된 수신데이타에 대한 프로토콜처리등의 데이타처리도 실행하도록 되어 있다. FIFO메모리(331)은 싱글칩 또는 싱글펠릿에 의해 구성되고, 범용적으로 이용되는 단일의 인터페이스부를 마련한다. 이 인터페이스부는 상기 데이타버스DBUS, 어드레스버스ABUS 및 제어버스CBUS에 결합되어 있다. FIFO메모리(331)은 프로세서(333)이나 직렬입력회로(334)에서 출력되는 리드/라이트신호R/W를 제어버스CBUS를 거쳐서 받음과 동시에 FIFO메모리(331)에 빈메모리셀이 없는 상태를 외부, 특히 직렬입력회로(334)에 알리기 위한 풀신호FS를 제어버스CBUS로 출력하고, FIFO메모리(331)에 더이상 리드해야할 데이타가 존재하지 않는 상태를 외부, 특히 프로세서(333)에 알리기 위한 빈신호ES를 제어버스CBUS로 출력한다. 그리고, FIFO메모리(331)은 프로세서(333)이나 직렬입력회로(334)에서 출력되는 어드레스신호Ai의 소정의 비트를 디코더(335)에서 디코드해서 생성된 제어신호AA, CA를 받는다.The serial input circuit 334 synchronizes or recovers the received data RxD supplied to the serial bits, and outputs the fetched data in parallel. The FIFO memory 331 is used as a buffer memory for storing data supplied from the serial input circuit 334. The processor 333 is not particularly limited, but is also configured to execute data processing such as protocol processing for received data stored in the FIFO memory 331. The FIFO memory 331 is constituted by a single chip or a single pellet, and provides a single interface unit for general use. This interface unit is coupled to the data bus DBUS, address bus ABUS and control bus CBUS. The FIFO memory 331 receives a read / write signal R / W output from the processor 333 or the serial input circuit 334 via the control bus CBUS, and at the same time, the FIFO memory 331 has no empty memory cells. In particular, an empty signal for outputting the full signal FS for notifying the serial input circuit 334 to the control bus CBUS and for notifying the external, in particular, the processor 333 of a state in which there is no data to be read in the FIFO memory 331. Output ES to control bus CBUS. The FIFO memory 331 receives the control signals AA and CA generated by decoding the predetermined bit of the address signal Ai output from the processor 333 or the serial input circuit 334 by the decoder 335.

다음에 제16도에 따라 FIFO메모리(331)을 상세히 설명한다. 이 FIFO메모리(331)은 기본적으로 선입선출형식으로 데이타의 입출력을 실행하지만 더나아가서는 프로세서(333)에 의한 랜덤액세스 및 불필요한 데이타의 클리어처리가 가능하게 구성되어 있다. 제16도에 있어서, (340)은 리라이트가능한 여러개의 메모리셀, 예를들면 스테이틱형의 메모리셀이 매트릭스로 배치된 메모리셀어레이이다. 이 메모리셀어레이(340)에 포함된 메모리셀의 선택단자는 열마다 워드선WL0∼WLn에 결합되고, 또 메모리셀의 데이타입출력단자는 행마다 상보비트선 BL0, BL0∼BLn, BLn에 결합되고, 이들 상보비트선BL0, BL0∼BLn, BLn는 행선택회로(350)을 거쳐 상보공통데이타선(351)에 접속되어 있다. 메모리셀어레이(340)에 포함된 필요한 메모리셀의 어드레싱은 워드선택디코더(352) 및 비트선선택디코더(353)이 실행한다. 즉, 워드선선택디코더(352)는 이들에 공급되는 어드레스신호를 해독해서 소정의 워드선을 선택레벨로 구동한다.Next, the FIFO memory 331 will be described in detail with reference to FIG. The FIFO memory 331 basically executes input and output of data in a first-in first-out format, but furthermore, the processor 333 is configured to enable random access and unnecessary data clear processing. In FIG. 16, reference numeral 340 denotes a memory cell array in which a plurality of rewritable memory cells, for example, static memory cells, are arranged in a matrix. The select terminals of the memory cells included in the memory cell array 340 are coupled to word lines WL 0 to WL n for each column, and the data input and output terminals of the memory cells are complementary bit lines BL 0 and BL 0 to BL n for each row. , is coupled to BL n, these complementary bit lines BL 0, BL 0 ~BL n, BL n is through the row selection circuit 350 is connected to a complementary common data line (351). The address selection of the necessary memory cells included in the memory cell array 340 is performed by the word select decoder 352 and the bit line selection decoder 353. That is, the word line selection decoder 352 decodes the address signals supplied thereto and drives the predetermined word line to the selection level.

비트선선택디코더(353)은 이들에 공급되는 어드레스신호를 해독해서 소정의 상보비트선을 상보공통데이타선(351)에 도통시키도록 행선택회로(350)을 제어한다. 이들 워드선선택디코더(352) 및 비트선선택디코더(353)에 의해 어드레싱된 메모리셀에 대한 데이타의 리드는 특히 제한되지 않지만 센스앰프(354A) 및 출력게이트(354B)를 포함하는 리드회로(354)에 의해 실행되고, 또 어드레싱된 메모리셀에 대한 데이타의 라이트는 특히 제한되지 않지만 입력게이트(355A) 및 라이트앰프(355B)를 포함하는 라이트회로(355)에 의해 실행된다.The bit line selection decoder 353 controls the row selection circuit 350 to decode the address signals supplied thereto and to conduct the predetermined complementary bit line to the complementary common data line 351. The read of the data to the memory cells addressed by these word line select decoders 352 and bit line select decoders 353 is not particularly limited, but the read circuit 354 including the sense amplifier 354A and the output gate 354B. The writing of data to the addressed memory cells is performed by the write circuit 355 including the input gate 355A and the write amplifier 355B, although not particularly limited.

프로세서(333)에 의한 랜덤액세스를 위한 어드레스신호Ai는 어드레스입력버퍼(345)에 공급된다. 또, FIFO메모리(331)은 액세스어드레스를 내부에서 생성하기 위해 이진카운터등으로 구성된 리드어드레스카운터(343) 및 라이트어드레스카운터(344)를 마련한다. 라이트어드레스카운터(344)는 선입형식에 의한 데이타라이트동작마다 순차로 라이트어드레스Aw를 인크리먼트해서 출력한다. 이 라이트어드레스카운터(344)의 인크리먼트동작은 컨트롤러(347)에서 출력되는 제어신호Φwi가 어서트되는 것에 의해 지시된다. 리드어드레스카운터(343)은 선입형식에 의한 데이타리드동작마다 순차로 리드어드레스Ar을 인크리먼트해서 출력한다. 이 리드어드레스카운터(343)에 의한 인크리먼트동작은 컨트롤러(347)에서 출력되는 제어신호Φri가 어서트되는 것에 의해 지시된다.The address signal Ai for random access by the processor 333 is supplied to the address input buffer 345. In addition, the FIFO memory 331 provides a lead address counter 343 and a write address counter 344 composed of a binary counter or the like for generating the access address therein. The write address 344 incrementally outputs the write address Aw for each data write operation by the first-in, first-out format. Incremental operation of the write address counter 344 is instructed by the control signal? Wi output from the controller 347 being asserted. The lead address counter 343 increments and outputs the lead address Ar in sequence for each data read operation by the first-in, first-out form. Incremental operation by the lead addresser 343 is instructed by the assertion of the control signal? Ri output from the controller 347.

상기 어드레스입력버퍼(345)에서 내부로 페치되는 어드레스신호Ai, 상기 리드어드레스카운터(343)에서 출력되는 어드레스신호Ar 및 라이트어드레스카운터(344)에서 출력되는 어드레스신호Aw는 셀렉터(346)에 의해 선택되어 상기 워드선선택디코더(354) 및 비트선선택디코더(354)에 공급된다. 셀렉터(346)의 선택제어는 컨트롤러(347)에서 출력되는 다수비트의 제어신호Φs에 따라 실행된다.The selector 346 selects an address signal Ai fetched from the address input buffer 345, an address signal Ar output from the lead addresser 343, and an address signal Aw output from the write addresser 344. The word line selection decoder 354 and the bit line selection decoder 354 are then supplied. The selection control of the selector 346 is executed in accordance with the multi-bit control signal .phi. Output from the controller 347.

상기 리드어드레스카운터(343)과 라이트어드레스카운터(344)의 값은 초기상태에서 일치되도록 되어 있고, 리드어드레스카운터(343)에서 출력되는 어드레스신호Ar과 라이트어드레스카운터(344)에서 출력되는 어드레스신호Aw는 비교판정회로(348)에 공급되어 그 일치, 불일치가 항상 감시된다. 비교판정회로(348)은 선입형식의 라이트동작시에 양자의 값Ar, Aw가 일치한 것을 검출하면 새로운 라이트를 받을 수 없는 상태를 직렬입력회로(334)에 알리기 위한 풀신호FS를 하이레벨로 어서트하고, 선출형식의 리드동작시에 양자의 값Ar, Aw가 일치한 것을 검출하면 리드해야할 데이타가 더이상 존재하지 않는 상태를 프로세서(333)에 알리기 위한 빈신호ES를 하이레벨로 어서트한다. 또, 비교판정회로(348)은 특히 제한되지 않지만 제어신호Φwi에 의한 라이트어드레스카운터(344)의 인크리먼트지시에 따라서 선입형식의 라이트동작을 검출하고, 또 제어신호Φri에 의한 리드어드레스카운터(343)의 인크리먼트지시에 따라서 선출형식의 리드동작을 검출한다.The values of the lead addresser 343 and the write addresser 344 coincide with each other in an initial state, and the address signal Ar output from the lead addresser 343 and the address signal Aw output from the write addresser 344. Is supplied to the comparison determination circuit 348 so that its match or discrepancy is always monitored. The comparison decision circuit 348 sets the full signal FS to a high level to inform the serial input circuit 334 of a state in which a new light cannot be received when it detects that the values Ar and Aw coincide with each other in the write operation of the first type. When asserting and detecting that the values Ar and Aw coincide in the read operation of the elected form, the empty signal ES for informing the processor 333 that the data to be read no longer exists is asserted to a high level. . The comparison determination circuit 348 is not particularly limited but detects the write operation of the first-input type according to the incremental instruction of the write address counter 344 by the control signal .phi. According to the increment instruction of 343, the lead operation of the elected type is detected.

상기 리드회로(354)에 포함되는 출력게이트(354B)의 출력단자와 라이트회로(355)에 포함되는 입력게이트(355A)의 입력단자는 데이타입출력버퍼(350)을 거쳐서 데이타버스DBUS에 인터페이스된다. 이 데이타입출력버퍼(350)에 대한 데이타의 입출력제어는 리드/라이트신호R/W의 레벨에 따라서 컨트롤러(347)에서 출력되는 제어신호Φi, Φo에 의해 실행된다. 또, 리드회로(354) 및 라이트회로(355)의 리드/라이트제어는 리드/라이트신호R/W의 레벨에 따라서 컨트롤러(347)에서 출력되는 제어신호Φr, Φw에 의해 지시된다.The output terminal of the output gate 354B included in the read circuit 354 and the input terminal of the input gate 355A included in the write circuit 355 are interfaced to the data bus DBUS via the data input / output buffer 350. The input / output control of the data to the data input / output buffer 350 is executed by the control signals phi i and phi o output from the controller 347 in accordance with the level of the read / write signal R / W. The read / write control of the read circuit 354 and the write circuit 355 is instructed by the control signals? R and? W output from the controller 347 according to the level of the read / write signal R / W.

상기 리드어드레스카운터(343) 및 라이트어드레스카운터(344)는 프리세트기능을 갖고 내부데이타버스(360)을 거쳐서 데이타 입출력버퍼(350)에 결합되며, 그것이 유지하는 어드레스신호Ar, Aw를 프로세서(333)이 리드하거나 그 값을 프로세서(333)이 리라이트할 수 있도록 되어 있다. 데이타입출력버퍼(350)에 결합되는 리드어드레스카운터(343)이 입출력게이트는 컨트롤(347)에서 출력되는 제어신호Φrac에 의해 개폐제어된다.The lead addresser 343 and the write addresser 344 have a preset function and are coupled to the data input / output buffer 350 via an internal data bus 360, and maintain the address signals Ar and Aw held by the processor 333. Is read or the processor 333 can rewrite the value. The lead address counter 343 coupled to the data input / output buffer 350 is opened and closed by the control signal Φ rac output from the control 347.

마찬가지로 데이타입출력버퍼(350)에 결합되는 라이트어드레스카운터(344)의 입출력게이트는 컨트롤(347)에서 출력되는 제어신호Φwac에 의해 개폐제어된다.Similarly, the input / output gate of the write address counter 344 coupled to the data input / output buffer 350 is opened and closed by the control signal .phi.wac output from the control 347.

여기에서, 상기 디코더(355)에서 출력되는 제어신호AA는 그 하이레벨에 의해 FIFO메모리(331)을 어드레스신호Ai에 의해서 렌덤액세스하는 것을 지시하는 신호로 간주한다. 컨트롤러(347)은 제어신호AA가 하이레벨로 어서트되면 제어신호Φs에 의해 셀렉터(346)으로 어드레스신호Ai를 선택출력시킨다.Here, the control signal AA output from the decoder 355 is regarded as a signal instructing random access to the FIFO memory 331 by the address signal Ai by its high level. The controller 347 selects and outputs the address signal Ai to the selector 346 when the control signal AA is asserted to the high level.

이 랜덤액세스에 있어서의 리드/라이트동작은 프로세서(333)에서 출력되는 리드/라이트신호R/W에 의해 지시된다. 이것에 의해서 메모리리드동작이 지시되는 경우에는 제어신호Φr, Φo가 어서트됨과 동시에 또 제어신호Φw, Φi가 네게이트됨과 동시에 제어신호Φw, Φi가 어서트된다.The read / write operation in this random access is instructed by the read / write signal R / W output from the processor 333. When the memory lead operation is instructed by this, the control signals? R and? O are asserted, the control signals? W and? I are gated, and the control signals? W and? I are asserted.

상기 디코더(335)에서 출력되는 상기 2비트의 제어신호CA는 리드어드레스카운터(343)이나 라이트어드레스카운터(344)의 액세스를 지시하기 위한 제어신호로 된다. 제어신호CA에 포함되는 소정의 1비트는 그 하이레벨에 의해 리드어드레스카운터(343)에 대한 액세스를 지시하는 비트로 간주되고, 다른 1비트는 그 하이레벨에 의해 라이트어드레스카운터(344)에 대한 액세스를 지시하는 비트로 간주된다. 제어신호CA에 의해 리드어드레스카운터(343)에 대한 액세스가 지시되면 컨트롤러(347)은 제어신호Φrac를 어서트해서 리드어드레스카운터(343)의 도시하지 않은 입출력게이트를 연다. 제어신호CA에 의해 라이트어드레스카운터(344)에 대한 액세스가 지시되면 컨트롤러(347)은 제어신호Φwac를 어서트해서 라이트어드레스카운터(344)의 도시하지않은 입출력게이트를 연다. 이때의 리드/라이트동작은 리드/라이트신호R/W에 의해 지시되고, 이것에 따라 제어신호Φi, Φo중 어느 한쪽이 어서트되는 것에 의해 데이타입출력버퍼(350)에 있어서의 데이타의 입출력방향이 제어된다. 또한, 리드어드레스카운터(343)이나 라이트어드레스카운터(344)가 액세스할때에는 제어신호Φr, Φw가 양쪽 모두 네게이트된다.The 2-bit control signal CA output from the decoder 335 becomes a control signal for instructing the access of the read addresser 343 or the write addresser 344. The predetermined one bit included in the control signal CA is regarded as a bit for instructing access to the lead addresser 343 by its high level, and the other one bit is accessed to the write addresser 344 by its high level. Is considered a bit indicating. When the control signal CA is instructed to access the lead address counter 343, the controller 347 asserts the control signal? Rac to open an input / output gate (not shown) of the lead address counter 343. When the control signal CA is instructed to access the write address counter 344, the controller 347 asserts the control signal? Wac to open an input / output gate (not shown) of the write address counter 344. At this time, the read / write operation is instructed by the read / write signal R / W. As a result, one of the control signals phi i and phi o is asserted to change the input / output direction of the data in the data input / output buffer 350. Controlled. When the lead address counter 343 or the write address counter 344 is accessed, both the control signals .phi.r and .phi.w are negated.

상기 제어신호AA가 로우레벨로 네게이트되어 있을때, 리드/라이트신호R/W에 의해 리드동작이 지시되면 FIFO메모리(331)은 리드어드레스카운터(343)의 출력어드레스신호Ar에 따른 선출형식에 의한 리드동작모드로 된다. 이것에 의해 제어신호Φri가 어서트되는 것에 의해 리드어드레스카운터(343)이 인크리먼트되고, 인크리먼트된 리드어드레스카운터(343)에서 출력되는 어드레스신호Ar이 셀렉터(346)을 거쳐서 워드선선택디코더(352) 및 비트선선택디코더(353)에 공급된다.When the control signal AA is gated to the low level, if the read operation is instructed by the read / write signal R / W, the FIFO memory 331 is in accordance with the selection form according to the output address signal Ar of the read address counter 343. The lead operation mode is entered. As a result, the control signal .phi.ri is asserted so that the lead address counter 343 is incremented, and the address signal Ar output from the incremented lead address counter 343 is selected via the selector 346 to select a word line. The decoder 352 and the bit preselection decoder 353 are supplied.

상기 제어신호AA가 로우레벨로 네게이트되어 있을때 리드/라이트신호R/W에 의해 라이트동작이 지시되면 FIFO메모리(331)은 라이트어드레스카운터(344)의 출력어드레스신호Aw에 따른 선입형식에 의한 라이트동작모드로 된다. 이것에 이해 제어신호Φwi가 어서트되는 것에 의해 라이트어드레스카운터(344)가 인크리먼트되고, 인크리먼트된 라이트어드레스카운터(344)에서 출력되는 어드레스신호Aw가 셀렉터(346)을 거쳐서 워드선선택디코더(352) 및 비트선선택디코더(353)에 공급된다.When the write operation is instructed by the read / write signal R / W when the control signal AA is gated to the low level, the FIFO memory 331 writes the data according to the first-in-one format according to the output address signal Aw of the write addresser 344. The operation mode is entered. When the control signal? Wi is asserted, the write address counter 344 is incremented, and the address signal Aw outputted from the incremented write address counter 344 is selected via the selector 346 to select a word line. The decoder 352 and the bit preselection decoder 353 are supplied.

본 실시예의 FIFO메모리(331)은 프로세서(333) 및 직렬입력회로(334) 양쪽에서 공통의 인터페이스부를 거쳐서 액세스할 수 있게 되지만 프로세서(333)과 직렬입력회로(334)의 버스권은 버스아비터(332)에 의해 어느 한쪽에 인정되므로 FIFO메모리(331)에 대한 프로세서(333) 및 직렬입력회로(334)양쪽에서의 액세스경합은 그 버스아비터(332)에 의한 버스권조정에 의해 방지되도록 되어 있다.The FIFO memory 331 of this embodiment can be accessed via a common interface from both the processor 333 and the serial input circuit 334, but the bus winding of the processor 333 and the serial input circuit 334 is a bus arbiter ( Since it is recognized by either side 332, access contention on both the processor 333 and the serial input circuit 334 with respect to the FIFO memory 331 is prevented by the bus winding adjustment by the bus arbiter 332. .

다음에 상기 FIFO메모리(331)의 동작을 설명한다.Next, the operation of the FIFO memory 331 will be described.

직렬입력회로(334)는 풀신호FS가 어서트되어 있지 않을때 버스요구신호BREQ2를 어서트하고, 이 요구에 대해서 버스권이 인정되면 제어신호AA를 로우레벨로 할 수 있는 어드레스신호Ai를 출력함과 동시에 리드/라이트신호R/W를 로우레벨로 해서 FIFO메모리(331)에 선입형식에 의한 라이트동작을 지시하고, 그후 수신데이타Drx를 데이타버스DBUS로 출력한다. 이것에 다라 FIFO메모리(331)은 라이트어드레스카운터(344)를 인크리먼트하면서 그 수신데이타Drx를 순차로 메모리셀어레이(340)에 저장한다.The serial input circuit 334 asserts the bus request signal BREQ2 when the full signal FS is not asserted, and outputs an address signal Ai capable of making the control signal AA low level when the bus ticket is acknowledged for this request. At the same time, the read / write signal R / W is set at the low level to instruct the FIFO memory 331 to write in the form of a first-in, first-out, and then the reception data Drx is output to the data bus DBUS. In response to this, the FIFO memory 331 increments the write address counter 344 and sequentially stores the received data Drx in the memory cell array 340.

프로세서(333)은 빈신호ES가 어서트되어 있지 않을 때 버스요구신호BREQ1을 어서트하고, 이 요구에 대해서 버스권이 인정되면 제어신호AA를 로우레벨로 할 수 있는 어드레스신호Ai를 출력함과 동시에 리드/라이트신호R/W를 하이레벨로 해서 FIFO메모리(331)에 선출형식에 의한 리드동작을 지시한다. 이것에 따라 FIFO메모리(331)은 리드어드레스카운터(343)을 인크리먼트하면서 메모리셀어레이(340)에 저장되어 있는 수신데이타를 순차로 리드한다.The processor 333 asserts the bus request signal BREQ1 when the empty signal ES is not asserted, and outputs an address signal Ai capable of bringing the control signal AA low when the bus ticket is recognized for this request. At the same time, the read / write signal R / W is set to the high level to instruct the FIFO memory 331 in a read operation according to the elective format. As a result, the FIFO memory 331 sequentially reads the reception data stored in the memory cell array 340 while incrementing the read address counter 343.

여기에서, 시스템동작상의 에러등에 의해 메모리셀어레이(340)에 저장된 수신데이타의 도중에 불필요한 데이타가 발생한 경우, 이것을 클리어하는 동작은 상기 FIFO메모리(301)의 경우와 마찬가지로써 예를들면 제15a도에 도시된 바와 같이 리드어드레스카운터(343)과 라이트어드레스카운터(344)가 어떤 값Ar, Aw를 지시하고 있을때 메모리셀어레이(340)의 어드레스공간에 있어서의 영역ED1, ED2의 데이타가 불필요하게 된 경우에 프로세서(333)은 제15b도에 도시된 바와 같이 리드어드레스카운터(343)의 값을 Ar'로 리라이트하고, 라이트어드레스카운터(344)의 값을 Aw'로 리라이트해준다. 이와 같이 해서 리드어드레스카운터(343) 및 라이트어드레스카운터(344)의 값이 리라이트되면 그후 직렬입력회로(334)에서 부여되는 수신데이타Drx는 라이트어드레스카운터(344)에 의해 지시되는 값Aw'의 어드레스에서 순차로 라이트되어 영역ED2에 잔류하고 있는 불필요한 데이타는 무시된다. 그후, 메모리셀어레이(340)에 저장되어 있는 수신데이타를 프로세서(333)이 선출형식으로 리드하는 경우에는 리드어드레스카운터(343)에 의해서 지시되는 값Ar'의 어드레스에서 순차로 리드되어 영역ED1에 잔류하고 있는 데이타는 무시된다.In this case, when unnecessary data occurs in the middle of the reception data stored in the memory cell array 340 due to an error in the system operation, the operation for clearing this is similar to the case of the FIFO memory 301, for example, in FIG. 15A. As shown in the figure, when the read address counter 343 and the write address counter 344 indicate certain values Ar and Aw, data of the areas ED1 and ED2 in the address space of the memory cell array 340 becomes unnecessary. As shown in FIG. 15B, the processor 333 rewrites the value of the lead address counter 343 to Ar 'and rewrites the value of the write address counter 344 to Aw'. In this manner, when the values of the lead addresser 343 and the write addresser 344 are rewritten, the reception data Drx given by the serial input circuit 334 is then set to the value Aw 'indicated by the write addresser 344. Unnecessary data that is sequentially written at the address and remaining in the area ED2 is ignored. Subsequently, when the processor 333 reads the reception data stored in the memory cell array 340 in the elected format, it is sequentially read at the address Ar 'indicated by the read address counter 343, and is stored in the area ED1. Remaining data is ignored.

따라서, 불필요한 데이타를 모두 순차로 리드해서 리드어드레스카운터(343)의 값을 갱신해주지 않아도 리드어드레스카운터(343)이나 라이트어드레스카운터(344)의 값을 프로세서(333)이 리라이트하는 것만으로 불필요한 데이타에 대한 실질적인 클리어처리를 간단히 실행할 수 있다.Therefore, the processor 333 simply rewrites the values of the lead addresser 343 and the write addresser 344 without having to read all unnecessary data sequentially and update the value of the lead addresser 343. Substantial clear processing can be performed simply.

이 클리어처리에 있어서, 리드어드레스카운터(343) 및 라이트어드레스카운터(344)의 값을 리라이트할때 그 어드레스카운터(343), (344)의 상태를 프로세서(333)이 알 필요가 있는 경우, 이 프로세서(333)은 리드어드레스카운터(343) 및 라이트어드레스카운터(344)의 값을 리드액세스하고, 리드한 값Ar, Aw에 따라서 리라이트해야할 값Ar', Aw'를 산출한다.In this clearing process, when the processor 333 needs to know the states of the address counters 343 and 344 when the read address counter 343 and the write address counter 344 are rewritten, The processor 333 reads the values of the read addresser 343 and the write addresser 344, and calculates values Ar 'and Aw' to be rewritten according to the read values Ar and Aw.

다음에 시스템동작상 FIFO메모리(331)의 도중에 저장되어 있는 데이타를 검사할 필요가 생긴 경우 프로세서(333)은 어드레스신호Ai에 의해서 FIFO메모리(331)을 랜덤액세스해서 필요한 데이타를 리드한다. 이때의 리드동작에서는 제어신호Φri가 어서트되지 않고, 이것에 의해서 리드어드레스카운터(343)의 값은 그대로 유지된다. 이 랜덤액세스시에 프로세서(333)이 FIFO메모리(331)의 물리적인 어드레스공간이나 액세스대상으로 하는 필요한 어드레스의 기준으로 되는 어드레스정보를 필요로 하는 경우, 이 프로세서(333)은 리드어드레스카운터(343)이나 라이트어드레스카운터(344)를 리드액세스해서 그 값을 리드할 수가 있다.Next, when it is necessary to inspect data stored in the middle of the FIFO memory 331 due to system operation, the processor 333 randomly accesses the FIFO memory 331 by the address signal Ai and reads out necessary data. In the read operation at this time, the control signal .phi ri is not asserted, whereby the value of the lead address counter 343 is maintained as it is. If the processor 333 needs address information as a reference for the physical address space of the FIFO memory 331 or a necessary address to be accessed during this random access, the processor 333 read-out counter 343. ) And the write address counter 344 can be read to read the value.

이 FIFO메모리(331)도 상기 FIFO메모리(301)과 마찬가지로 데이타의 리드/라이트의 순서가 내장어드레스카운터(343), (344)의 값에 의해서 규정되어 있어도 랜덤액세스가 가능하게 됨과 동시에 데이타의 실질적인 클리어처리를 간단히 실행할 수 있게 된다. 그리고, 이들에 의해 수신데이타에 대한 프로토콜처리를 프로세서(333)이 실행하고자 할때에는 FIFO메모리(331)에 저장된 데이타를 일단 모두 로컬메모리등으로 전송하고나서 프로토콜처리를 실행할 필요가 없으므로 프로토콜처리의 효율화를 도모할 수 있다.Similarly to the FIFO memory 301, the FIFO memory 331 also allows random access while the data read / write order is defined by the values of the built-in addressers 343 and 344. Clear processing can be easily performed. When the processor 333 intends to execute the protocol processing for the received data by these, it is not necessary to execute the protocol processing after transferring all the data stored in the FIFO memory 331 to the local memory. Can be planned.

이상 본 발명자에 의해서 이루어진 발명은 실시예에 따라 구체적으로 설명했지만 본 발명은 상기 실시예에 한정되는 것은 아니고, 그 요지를 이탈하지 않는 범위에서 여러가지로 변경가능한 것은 물론이다.As mentioned above, although the invention made by the present inventor was demonstrated concretely according to the Example, this invention is not limited to the said Example and can be variously changed in the range which does not deviate from the summary.

예를들면 1개의 LSI로써 구성되는 통신제어장치(1)에 CPU(9)등의 상위장치를 내장시켜도 좋다. 또, 수신회로(2)나 송신회로(3)은 멀티채널화할 수도 있고, 이 경우에는 각 통신채널마다 FIFO메모리를 마련할 수 있다. 또, 단위기억영역의 비트폭은 8비트에 한정되지 않는다. 또한, FIFO메모리(6), (7)에 있어서의 병렬리드비트수와 병렬라이트비트수의 관계는 상기 실시예와 같은 2배의 관계에 한정되지 않고, 4배등 그 이외에 2배이상의 정수배의 관계로 변경할 수 있다.For example, a host device such as the CPU 9 may be incorporated in the communication control device 1 composed of one LSI. In addition, the reception circuit 2 and the transmission circuit 3 can be multichannel, and in this case, a FIFO memory can be provided for each communication channel. In addition, the bit width of the unit memory area is not limited to 8 bits. In addition, the relationship between the number of parallel lead bits and the number of parallel write bits in the FIFO memories 6 and 7 is not limited to a double relationship as in the above embodiment, but a relationship of an integer multiple of 2 times or more to 4 times and the like. Can be changed to

그리고, 상기 FIFO메모리(301), (331)을 액세스하는 기능모듈을 중앙처리장치, 프로세서, 직렬입력회로로써 설명했지만, 그것에 한정되지 않고, 다이렉트메모리액세스컨트롤러나 병렬입력회로등을 포함시키도록 해도 좋다. FIFO메모리(301), (331)의 동작모드를 결정하기 위한 제어신호는 상기 실시예에서 설명한 제어신호AA, CA에 한정되지 않고 적절히 변경할 수도 있고, 그 생성의 방법도 여러가지로 변경할 수 잇다. 또, FIFO메모리(301), (331)에 있어서의 클리어처리도 제15a, b도에 따라 설명한 내용에 한정되지 않고, 예를들면 제15a도의 영역ED1에만 불필요한 데이타가 있는 경우에는 리드어드레스카운터의 값만을 리라이트해주면 좋다. 마찬가지로 제15a도의 영역ED2에만 불필요한 데이타가 있는 경우에는 라이트어드레스카운터의 값만을 리라이트해주면 된다.Although the functional modules for accessing the FIFO memories 301 and 331 have been described as a central processing unit, a processor, and a serial input circuit, the present invention is not limited thereto, and a direct memory access controller, a parallel input circuit, or the like may be included. good. The control signals for determining the operation modes of the FIFO memories 301 and 331 are not limited to the control signals AA and CA described in the above embodiments, and may be appropriately changed, and the generation method thereof may be variously changed. Also, the clear processing in the FIFO memories 301 and 331 is not limited to the contents described with reference to Figs. 15a and b. For example, when there is unnecessary data only in the area ED1 of Fig. 15a, Just rewrite the value. Similarly, when there is unnecessary data only in the area ED2 of FIG. 15A, only the value of the write address counter needs to be rewritten.

이상의 설명에서는 주로 본 발명자에 의해서 이루어진 발명을 그 배경으로 된 이용분야인 통신제어장치나 수신데이타의 버퍼메모리에 적용한 경우에 대해서 설명했지만 본 발명은 그것에 한정되는 것은 아니고, 플로피디스크 컨트롤러나 하드디스크 컨트롤러, 더나아가서는 1개의 LSI로 구성되는 FIFO메모리 그 자체등에도 널리 적용할 수 있다.In the above description, the invention made mainly by the present inventors has been described in the case where the invention is applied to the communication control device or the reception memory buffer memory, which is the background of the application, but the present invention is not limited thereto, but the floppy disk controller or the hard disk controller is not limited thereto. Furthermore, it can be widely applied to FIFO memory itself composed of one LSI.

Claims (20)

데이타를 페치하는 입력회로, 상기 입력회로에서 공급되는 상기 데이타를 축적하는 버퍼메모리, 상기 버퍼메모리에 축적된 상기 데이타에 대해서 소정의 프로토콜처리를 실행하기 위해서 상기 입력회로와 상기 버퍼메모리를 제어하는 프로세서 및 상기 입력회로, 상기 버퍼메모리 및 상기 프로세서에 결합되고 상기 데이터를 전송하기 위한 버스로 구성되는 마이크로컴퓨터시스템으로서, 상기 버퍼메모리는 상기 데이타를 축적하기 위한 여러개의 메모리셀을 갖는 메모리셀어레이, 상기 메모리셀에서 상기 데이타를 리드하기 위한 리드어드레스를 리드동작시마다 생성하는 리드어드레스카운터, 상기 입력회로에서 공급되는 상기 데이타를 상기 메모리셀에 라이트하기 위한 라이트어드레스를 라이트동작시마다 생성하는 라이트어드레스카운터, 상기 리드어드레스 또는 라이트어드레스가 공급되는 것에 의해 상기 메모리셀어레이내의 상기 여러개의 메모리셀을 선택하는 선택디코더회로, 상기 리드어드레스에 따라서 선택된 상기 메모리셀내에 축적되어 있는 상기 데이타를 리드하기 위한 리드회로, 상기 라이트어드레스에 따라서 선택된 상기 메모리셀에 상기 입력회로에서 상기 버스를 거쳐 입력되는 상기 데이타를 라이트하기 위한 라이트회로, 상기 버스에 결합되고 상기 버스에서 입력되는 상기 데이타를 상기 라이트회로로 공급하고 상기 리드회로에서 공급되는 상기 데이타를 상기 버스로 출력하는 데이타입출력버퍼, 상기 리드어드레스카운터, 상기 라이트어드레스카운터, 상기 라이트회로, 상기 리드회로 및 상기 데이타입출력버퍼에 결합되는 내부버스 및 상기 프로세서에서 출력되는 어드레스신호에 따라 생성되는 제1제어신호가 공급되는 것에 의해 상기 리드어드레스카운터 또는 상기 라이트어드레스카운터에 대해 상기 프로세서에서 상기 버스, 상기 데이타입출력버퍼 및 상기 내부버스를 거쳐서 공급되는 카운터값을 라이트가능하게 하는 제2제어신호를 생성하여 출력하는 컨트롤러를 포함하는 마이크로컴퓨터시스템.An input circuit for fetching data, a buffer memory for accumulating the data supplied from the input circuit, and a processor for controlling the input circuit and the buffer memory to execute predetermined protocol processing for the data accumulated in the buffer memory And a bus coupled to the input circuit, the buffer memory, and the processor, the bus configured to transfer the data, the buffer memory comprising: a memory cell array having a plurality of memory cells for accumulating the data; A read address counter for generating a read address for reading the data in a memory cell for each read operation; a write address counter for generating a write address for writing the data supplied from the input circuit to the memory cell for each write operation; A selection decoder circuit for selecting the plurality of memory cells in the memory cell array by supplying a read address or a write address, a read circuit for reading the data accumulated in the memory cell selected in accordance with the read address, the read circuit A write circuit for writing the data input from the input circuit via the bus to the memory cell selected in accordance with the write address, the data coupled to the bus and supplied from the bus to the write circuit A data input / output buffer for outputting the data supplied from the bus, the read address counter, the write address counter, the write circuit, the internal bus coupled to the read circuit and the data input / output buffer, and the output from the processor. The first control signal generated according to the dress signal is supplied so that the counter value supplied to the lead addresser or the write addresser from the processor through the bus, the data input / output buffer and the internal bus can be written. And a controller configured to generate and output a second control signal. 제1항에 있어서, 상기 컨트롤러는 상기 프로세서에서 출력되는 어드레스신호에 따라 생성되는 제3제어신호가 공급되는 것에 의해서 상기 리드어드레스카운터 또는 상기 라이트어드레스카운터내의 카운터값을 상기 내부버스, 상기 데이타입출력버퍼 및 상기 버스를 거쳐서 상기 프로세서에 리드가능하게 하는 제4제어신호를 생성하여 출력하는 마이크로컴퓨터시스템.2. The controller of claim 1, wherein the controller supplies a counter value in the read address counter or the write address counter by supplying a third control signal generated according to an address signal output from the processor. And generating and outputting a fourth control signal to be readable to said processor via said bus. 제2항에 있어서, 상기 리드어드레스카운터는 리드동작시마다 상기 리드어드레스를 인크리먼트시키는 마이크로컴퓨터시스템.3. The microcomputer system according to claim 2, wherein said lead addresser increments said lead address every time a read operation. 제3항에 있어서, 상기 라이트어드레스카운터는 라이트동작시마다 상기 라이트어드레스를 인크리먼트시키는 마이크로컴퓨터시스템.4. The microcomputer system according to claim 3, wherein said write addresser increments said write address every time a write operation is performed. 제4항에 있어서, 상기 버퍼메모리는 상기 데이타를 선입선출형식으로 축적하는 퍼스트인퍼스트아웃 메모리인 마이크로컴퓨터시스템.5. The microcomputer system according to claim 4, wherein said buffer memory is a first in first out memory for accumulating said data in a first-in first-out format. 제5항에 있어서, 상기 버퍼메모리는 상기 리드어드레스와 상기 라이트어드레스가 일치하고 있는지 일치하고 있지 않은지를 판정하는 판정회로를 갖고, 상기 판정회로는 상기 버퍼메모리의 라이트동작시에 있어서 상기 리드어드레스와 상기 라이트어드레스의 일치를 검출했을 때 상기 버퍼메모리에 라이트될 데이타를 더이상 페치할 수 없다는 것을 나타내는 제5제어신호를 상기 입력회로로 출력하고, 상기 판정회로는 상기 버퍼메모리의 리드동작시에 있어서 상기 리드어드레스와 상기 라이트어드레스의 일치를 검출했을 때 상기 버퍼메모리에서 리드할 데이타가 존재하지 않는 것을 나타내는 제6제어신호를 상기 프로세서로 출력하는 마이크로컴퓨터시스템.6. The buffer memory according to claim 5, wherein the buffer memory has a decision circuit for determining whether the read address and the write address match or do not coincide, and the decision circuit includes the read address and the read address during the write operation of the buffer memory. When a match of the write addresses is detected, a fifth control signal is outputted to the input circuit indicating that the data to be written to the buffer memory can no longer be fetched, and the determination circuit is configured to perform the read operation of the buffer memory. And a sixth control signal to the processor, when a match between the read address and the write address is detected, indicating that there is no data to be read in the buffer memory. 제6항에 있어서, 상기 입력회로는 통신회선에서 직렬비트로 공급되는 상기 데이타를 병렬변환해서 상기 버스로 출력하는 마이크로컴퓨터시스템.7. The microcomputer system according to claim 6, wherein said input circuit converts said data supplied as serial bits in a communication line in parallel and outputs them to said bus. 제7항에 있어서, 상기 버스는 상기 데이타를 전송하는 데이타버스, 상기 프로세서에서 출력되는 어드레스신호를 전송하는 어드레스버스 및 상기 여러개의 제어신호를 전송하는 제어버스를 포함하는 마이크로컴퓨터시스템.8. The microcomputer system of claim 7, wherein the bus includes a data bus for transmitting the data, an address bus for transmitting an address signal output from the processor, and a control bus for transmitting the plurality of control signals. 제8항에 있어서, 상기 프로세서에서 출력되는 어드레스신호에 따라서 상기 제1제어신호를 생성하는 디코더를 더 포함하는 마이크로컴퓨터시스템.The microcomputer system of claim 8, further comprising a decoder configured to generate the first control signal according to an address signal output from the processor. 제5항에 있어서, 상기 여러개의 메모리셀은 스테이틱형 메모리셀인 마이크로컴퓨터시스템.6. The microcomputer system according to claim 5, wherein said plurality of memory cells are static memory cells. 제5항에 있어서, 상기 버퍼메모리는 상기 버스를 거쳐서 상기 프로세서에서 공급되는 상기 어드레스신호를 페치하는 어드레스입력버퍼 및 상기 어드레스입력버퍼에서 출력되는 상기 어드레스신호와 상기 리드어드레스카운터 및 라이트어드레스카운터에서 출력되는 상기 리드어드레스 및 라이트어드레스를 택일적으로 선택하고 상기 선택디코더회로로 공급하는 셀렉터를 더 포함하고, 상기 컨트롤러는 상기 프로세서에서 출력되는 상기 어드레스신호에 따라 생성된 제7제어신호에 응답하여 제8제어신호를 발생하고, 상기 셀렉터는 상기 제8제어신호에 응답하여 상기 프로세서에서 출력되는 상기 어드레스신호를 선택하는 마이크로컴퓨터시스템.6. The buffer memory of claim 5, wherein the buffer memory outputs an address input buffer for fetching the address signal supplied from the processor via the bus, the address signal output from the address input buffer, the read address counter and the write address counter. And a selector for selectively selecting the read addresses and the write addresses to be supplied to the selection decoder circuit, and wherein the controller is configured to receive an eighth control signal in response to a seventh control signal generated according to the address signal output from the processor. A control signal, wherein said selector selects said address signal output from said processor in response to said eighth control signal; 제11항에 있어서, 상기 입력회로는 통신회선에서 직렬비트로 공급되는 상기 데이타를 병렬변환해서 상기 버스로 출력하는 마이크로컴퓨터시스템.12. The microcomputer system according to claim 11, wherein said input circuit converts said data supplied as serial bits in a communication line in parallel and outputs them to said bus. 제12항에 있어서, 상기 버스는 데이타를 전송하는 데이타버스, 상기 어드레스신호를 전송하는 어드레스버스 및 상기 여러개의 제어신호를 전송하는 제어버스를 포함하는 마이크로컴퓨터시스템.13. The microcomputer system of claim 12, wherein the bus comprises a data bus for transmitting data, an address bus for transmitting the address signal, and a control bus for transmitting the plurality of control signals. 제13항에 있어서, 상기 어드레스신호에 따라 상기 제7제어신호를 생성하는 디코더를 포함하는 마이크로컴퓨터시스템.14. The microcomputer system according to claim 13, comprising a decoder for generating said seventh control signal in accordance with said address signal. 제14항에 있어서, 상기 리드어드레스카운터 및 상기 라이트어드레스카운터의 카운터값은 상기 메모리셀에 상기 데이타가 존재하지 않는 상태에 있어서 일치하고 있는 마이크로컴퓨터시스템.15. The microcomputer system according to claim 14, wherein counter values of the read address counter and the write address counter coincide in the state where the data does not exist in the memory cell. 제14항에 있어서, 상기 데이타입출력버퍼는 상기 프로세서에서 상기 버스를 거쳐서 공급되는 리드라이트신호에 따라 생성되는 제9 및 제10제어신호에 의해서 상기 데이타의 전송방향을 제어하는 마이크로컴퓨터시스템.15. The microcomputer system according to claim 14, wherein the data input / output buffer controls the transmission direction of the data by ninth and tenth control signals generated according to a read / write signal supplied from the processor via the bus. 제16항에 있어서, 상기 비교판정회로는 상기 제2 및 제4제어신호에 의해서 상기 버퍼메모리의 리드동작 및 라이트동작을 검출하는 마이크로컴퓨터시스템.17. The microcomputer system according to claim 16, wherein the comparison determination circuit detects a read operation and a write operation of the buffer memory based on the second and fourth control signals. 제15항에 있어서, 상기 입력회로, 상기 버퍼메모리, 상기 버스 및 상기 프로세서를 갖는 마이크로컴퓨터시스템은 1개의 반도체기판상에 형성되는 마이크로컴퓨터시스템.16. The microcomputer system according to claim 15, wherein the microcomputer system having the input circuit, the buffer memory, the bus and the processor is formed on one semiconductor substrate. 제11항에 있어서, 상기 입력회로, 상기 버퍼메모리, 상기 버스 및 상기 프로세서를 갖는 마이크로컴퓨터시스템은 1개의 반도체기판상에 형성되는 마이크로컴퓨터시스템.12. The microcomputer system according to claim 11, wherein the microcomputer system having the input circuit, the buffer memory, the bus and the processor is formed on one semiconductor substrate. 데이타를 축적하는 버퍼메모리, 상기 버퍼메모리에 축적된 상기 데이타에 대해서 소정의 프로토콜처리를 실행하기 위해 상기 버퍼메모리를 제어하는 프로세서, 상기 버퍼메모리 및 상기 프로세서에 결합되고 상기 데이타를 전송하기 위한 버스로 구성되는 마이크로컴퓨터시스템으로서, 상기 버퍼메모리는 상기 데이타를 축적하기 위한 여러개의 메모리셀을 갖는 메모리셀어레이, 상기 메모리셀에서 상기 데이타를 리드하기 위한 리드어드레스를 리드동작시마다 생성하는 리드어드레스카운터, 상기 데이타를 상기 메모리셀에 라이트하기 위한 라이트어드레스를 라이트동작시마다 생성하는 라이트어드레스카운터, 상기 프로세서에서 출력되는 어드레스신호, 상기 리드어드레스 또는 라이트어드레스가 공급되는 것에 의해서 상기 메모리셀어레이내의 상기 여러개의 메모리셀을 선택하는 선택디코더회로, 상기 프로세서에서 출력되는 상기 어드레스신호에 따라 선택된 상기 메모리셀내에 축적되어 있는 상기 데이타를 리드하기 위한 리드회로,상기 프로세서에서 출력되는 상기 어드레스신호에 따라 선택된 상기 메모리셀에 상기 프로세서에서 상기 버스를 거쳐서 입력되는 상기 데이타를 라이트하기 위한 라이트회로. 상기 버스에 결합되고 상기 버스에서 입력되는 상기 데이타를 상기 라이트회로로 공급하고 상기 리드회로에서 공급되는 상기 데이타를 상기 버스로 출력하는 데이타입출력버퍼, 상기 라이트회로, 상기 리드회로 및 상기 데이타입출력버퍼에 결합되는 내부버스, 상기 버스를 거쳐서 상기 프로세서에서 공급되는 상기 어드레스신호를 페치하는 어드레스입력버퍼, 상기 어드레스입력버퍼에서 출력되는 상기 어드레스신호와 상기 리드어드레스카운터 및 라이트어드레스카운터에서 출력되는 상기 리드어드레스 및 라이트어드레스를 택일적으로 선택하고 상기 선택디코더회로로 공급하는 셀렉터 및 상기 프로세서에서 출력되는 상기 어드레스신호에 따라 생성된 제1제어신호에 응답하여 제2제어신호를 발생하는 컨트롤러를 포함하고, 상기 셀렉터는 상기 제2제어신호에 응답하여 상기 프로세서에서 출력되는 상기 어드레스신호를 선택하는 마이크로컴퓨터시스템.A buffer memory for accumulating data, a processor for controlling the buffer memory to execute predetermined protocol processing on the data accumulated in the buffer memory, a bus coupled to the buffer memory and the processor, and transferring the data; A microcomputer system configured, wherein the buffer memory includes: a memory cell array having a plurality of memory cells for accumulating the data; a read address counter for generating a read address for reading the data from the memory cell at every read operation; The write address counter which generates a write address for writing data to the memory cell for each write operation, the address signal output from the processor, the read address or the write address is supplied to the memory cell array. A selection decoder circuit for selecting the plurality of memory cells, a read circuit for reading the data stored in the memory cell selected according to the address signal output from the processor, selected according to the address signal output from the processor And a write circuit for writing the data input from the processor to the memory cell via the bus. A data input / output buffer coupled to the bus and supplying the data input from the bus to the write circuit and outputting the data supplied from the read circuit to the bus, the write circuit, the read circuit and the data input / output buffer. An internal bus coupled, an address input buffer for fetching the address signal supplied from the processor via the bus, the address signal output from the address input buffer and the read address output from the read address counter and the write address counter; And a controller for selectively selecting a write address and supplying the selected address to the selection decoder circuit and generating a second control signal in response to the first control signal generated according to the address signal output from the processor. Above And selecting the address signal output from the processor in response to a second control signal.
KR1019940020631A 1988-09-08 1994-08-22 First-in first-out semiconductor memory device KR0182778B1 (en)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
JP63224931A JP2818418B2 (en) 1988-09-08 1988-09-08 Semiconductor storage device
JP24400288 1988-09-30
JP89-149241 1989-06-12
JP1149241A JP2849115B2 (en) 1988-09-30 1989-06-12 Semiconductor memory device, communication control LSI and communication control system
KR1019890012110A KR0168832B1 (en) 1988-09-08 1989-08-25 Semiconductor memory device
JP88-224931 1998-09-08
JP88-244002 1998-09-30

Publications (1)

Publication Number Publication Date
KR0182778B1 true KR0182778B1 (en) 1999-04-15

Family

ID=27472919

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019940020631A KR0182778B1 (en) 1988-09-08 1994-08-22 First-in first-out semiconductor memory device

Country Status (1)

Country Link
KR (1) KR0182778B1 (en)

Similar Documents

Publication Publication Date Title
US5426612A (en) First-in first-out semiconductor memory device
EP0412666B1 (en) A read/write memory
US4412286A (en) Tightly coupled multiple instruction multiple data computer system
US4115854A (en) Channel bus controller
CN1570907B (en) Multiprocessor system
US5371893A (en) Look-ahead priority arbitration system and method
US6735639B2 (en) Direct memory access transfer control circuit
US5828891A (en) Multilevel interrupt device
US20040199706A1 (en) Apparatus for use in a computer systems
US20040068590A1 (en) Data processor
KR0182778B1 (en) First-in first-out semiconductor memory device
KR0168832B1 (en) Semiconductor memory device
EP0675446B1 (en) Multi-processor system including priority arbitrator for arbitrating request issued from processors
US6330629B1 (en) Information processing system
EP0546354B1 (en) Interprocessor communication system and method for multiprocessor circuitry
JP2849115B2 (en) Semiconductor memory device, communication control LSI and communication control system
EP0269370B1 (en) Memory access controller
KR100249536B1 (en) Data processor having bus controller for controlling a plurality of buses independently of each other
KR100389030B1 (en) High speed direct memory access controller with multiple channels
JPH0227696B2 (en) JOHOSHORISOCHI
JP2818418B2 (en) Semiconductor storage device
EP1650912B1 (en) Data queue control circuit for variable length packets
Del Corso et al. An integrated controller for modified inter-integrated circuit protocol
KR970007156Y1 (en) Access time control circuit of data i/o apparatus
KR920009437B1 (en) Communication system between processor

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
G170 Publication of correction
FPAY Annual fee payment

Payment date: 20061211

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee