KR100187493B1 - Internal address generating method of 3 directional communicating systoric structured pipelined memory - Google Patents
Internal address generating method of 3 directional communicating systoric structured pipelined memory Download PDFInfo
- Publication number
- KR100187493B1 KR100187493B1 KR1019950048554A KR19950048554A KR100187493B1 KR 100187493 B1 KR100187493 B1 KR 100187493B1 KR 1019950048554 A KR1019950048554 A KR 1019950048554A KR 19950048554 A KR19950048554 A KR 19950048554A KR 100187493 B1 KR100187493 B1 KR 100187493B1
- Authority
- KR
- South Korea
- Prior art keywords
- delay buffer
- bcol
- brow
- memory block
- memory
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/18—Address timing or clocking circuits; Address control signal generation or management, e.g. for row address strobe [RAS] or column address strobe [CAS] signals
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/06—Address interface arrangements, e.g. address buffers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/10—Decoders
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/12—Group selection circuits, e.g. for memory block selection, chip selection, array selection
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Static Random-Access Memory (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
본 발명은 메모리 어드레스 디코딩에 파이프라인의 개념을 도입하고 전체 메모리 블럭을 작은 여러 개의 메모리 블럭으로 나누어서 전체 메모리의 데이타 출력 량을 향상시키는 3방향통신을 하는 시스토릭 구조를 이용한 파이프라인드 메모리 아키텍쳐의 내부 어드레스 발생방법에 관한 것이다.The present invention introduces the concept of pipeline to memory address decoding, and divides the entire memory block into several smaller memory blocks to improve the data output of the entire memory. It relates to an internal address generating method.
상위 디코더는 전체 입력 어드레스를 부분 디코딩하여 각각의 서브 메모리 블럭을 선택하기 위한 brow, bcol, sel_blk 신호를 만든다. 각각의 행 및 열 지연버퍼는 brow, bcol 신호를 이용하여 인접한 서브 메모리 블럭에서 시작하는 대각선 방향으로 유효한 데이타가 이동하는 가의 여부를 판단한다. sel_blk 신호는 brow, bcol 신호를 이용하여 선택한 대각선상에서 어떤 블럭을 선택할 것인가를 결정한다.The upper decoder partially decodes the entire input address to generate brow, bcol, and sel_blk signals for selecting each sub memory block. Each row and column delay buffer uses the brow and bcol signals to determine whether valid data moves in the diagonal direction starting from the adjacent sub memory block. The sel_blk signal determines which block is selected on the diagonal selected using the brow and bcol signals.
Description
제1도는 4X4의 서브 메모리 블럭을 가지는 전체 메모리의 블럭도,1 is a block diagram of an entire memory having a 4 × 4 sub memory block,
제2도는 상위 디코더의 블럭도이다.2 is a block diagram of a higher decoder.
본 발명은 시스토릭 구조를 이용한 파이프라인드 메모리 아키텍쳐의 VLSI에 관한 것으로, 특히 통신을 하게 하여 초기 데이타에 대한 지연을 줄이고 높은 출력 데이타 량을 얻는 3방향통신을 하는 시스토릭 파이프라인드 메모리 아키텍쳐 VLSI의 내부 어드레스 발생방법에 관한 것이다.The present invention relates to a VLSI of a pipelined memory architecture using a systolic structure. In particular, the present invention relates to a Systolic Pipelined Memory Architecture (VLSI) that performs three-way communication to reduce the delay for initial data and to obtain a high output data amount. The present invention relates to a method of generating an internal address.
종래에 전체 메모리 블럭을 여러개의 작은 서브 메모리 블럭과 내부 어드레스 발생을 위한 디코더 블럭으로 나누고 각각의 블럭들이 수직 또는 수평 방향으로 인접하는 블럭들과만 통신을 하게 하여 초기 데이타에 대한 약간의 시간 지연을 희생하고 메모리 용량에 관계없이 항상 일정한 출력 데이타량을 얻는 2방향 통신을 하는 시스토릭 구조의파이프라인드 메모리 아키텍쳐와 내부 어드레스 발생방법이 제안되어 있다. 그러나 이와 같은 종래의 2방향 통신구조는 각각의 메모리 블럭들이 수직 또는 수평 방향으로 인접한 블럭들과만 통신할 수 있기 때문에 어드레스 디코딩에 많은 시간이 소요되고 결국 데이타 액세스 속도가 느리다는 문제가 있었다.Conventionally, the entire memory block is divided into several small sub-memory blocks and a decoder block for generating internal addresses, and each block communicates only with adjacent blocks in the vertical or horizontal direction, thereby reducing a slight time delay for initial data. A pipelined memory architecture and a method of generating internal addresses have been proposed in which a two-way communication is performed, which always yields a constant amount of output data regardless of memory capacity. However, such a conventional two-way communication structure has a problem that it takes a lot of time for address decoding and slow data access because each memory block can communicate only with adjacent blocks in the vertical or horizontal direction.
본 발명은 시스토릭 파이프라인드 메모리 각각의 파이프라인 단계에서 연결시상수 지연을 최소화하고 어드레스 디코딩에 걸리는 시간을 줄여서 전체 시스템 동작 주파수가 작은 블럭의 개수에는 상관없이 단지 하나의 서브 메모리 블럭의 액세스 속도에 의해 결정도기 함으로써 데이타 액세스 속도를 향상시킬 수 있게 하는 3방향 통신의 시스토릭 파이프라인드 메모리의 내부 어드레스 발생방법을 제공하는데 목적이 있다.The present invention minimizes the connection time delay and reduces the time required to decode the address in each pipeline stage of the pipelined memory, so that the entire system operating frequency is reduced to the access speed of only one sub-memory block regardless of the number of blocks. It is an object of the present invention to provide a method for generating an internal address of a systolic pipelined memory of three-way communication that can improve data access speed by using a determinant.
본 발명에 따른 VLSI의 내부 어드레스 발생방법은 상위 디코더에 입력되는 전체 입력 어드레스를 부분 디코딩하여 각각의 서브 메모리 블럭을 선택하기 위한 행 지연버퍼 선택신호(brow),열 지연비퍼 선택신호(bcol) 및 선택하고자 하는 서브 메모리 블럭과 상위 디코더 사이의 파이프라인 깊이를 나타내는 신호(sel_blk)를 발생하는 단계와; 각각의 행 및 열 지연버퍼에서 행 지연버퍼 선택신호(brow)및 열 지연버퍼 선택신호(bcol)를 이용하여 인접 서브 메모리 블럭에서 시작하는 대각선 방향으로 유효 데이타가 이동하는지 여부를 판단하는 단계와; 상기 행 지연버퍼 선택신호(brow), 열 지연버퍼 선택신호(bcol)및 파이프라인 깊이신호(sel_blk)를 이용하여 선택한 대각선 상의 선택블럭에 대한 어드레스를 발생하는 단계를 포함한다.In the method of generating an internal address of the VLSI according to the present invention, a row delay buffer selection signal brow, a column delay beeper selection signal bcol for selecting each sub memory block by partially decoding the entire input address input to the upper decoder, and Generating a signal sel_blk indicating a pipeline depth between the sub-memory block to be selected and the higher decoder; Determining whether valid data moves in a diagonal direction starting from an adjacent sub memory block by using a row delay buffer selection signal brow and a column delay buffer selection signal bcol in each row and column delay buffer; And generating an address for the selection block on the selected diagonal line using the row delay buffer selection signal brow, the column delay buffer selection signal bcol, and the pipeline depth signal sel_blk.
3방향 통신을 하는 시스토릭 파이프라인드 메모리는 다음과 같은 특징을 가진다.Systolic pipelined memory with three-way communication has the following characteristics:
첫째, 계층적 구조를 이용해서 어드레스 디코딩을 3단계로 나눈다.First, the address decoding is divided into three stages using a hierarchical structure.
둘째, 전체 메모리 블럭으로 수직, 수평 방향으로 같은 개수의 작은 서브 메모리 블럭으로 나누다.Second, it divides into the same number of small sub-memory blocks in the vertical and horizontal directions.
세째, 각각의 단계를 파이프라인으로 연결한다.Third, connect each stage with a pipeline.
네째, 디코더 블럭과 메모리 블럭들이 수직, 수평, 그리고 대각선 방향으로 인접하는 작은 메모리 블러들과만 통신하게 한다.Fourth, the decoder block and the memory blocks only communicate with adjacent small memory blurs in the vertical, horizontal, and diagonal directions.
전체 메모리는 크게 상위 디코더, 행 지연버퍼, 열 지연버퍼, 서브 메모리 블럭, 출력 버퍼의 5개의 장치로 나누어지고 각각의 부분은 항상 독립적으로 자신의 역할만을 수행하며 인접장치들과만 통신을 한다.The total memory is divided into five devices: upper decoder, row delay buffer, column delay buffer, sub memory block, and output buffer. Each part always plays its own role independently and communicates only with neighboring devices.
제 1도는 전체 메모리의 블럭과 각각의 블럭들 사이의 통신방법을 4X4의 서브 메모리 블럭을 예로 하여 나타낸 것이다. 각각의 블럭은 레지스터에 의하여 파이프라인으로 연결된다. 제 1도에서 각각의 서브 메모리 블럭 안에서의 어드레스 디코딩 방법은 기존의 메모리 구조와 동일하다.FIG. 1 shows a block of the entire memory and a communication method between the respective blocks using 4X4 sub memory blocks as an example. Each block is connected to the pipeline by a register. In FIG. 1, the address decoding method in each sub memory block is the same as the conventional memory structure.
제 2도는 제 1도의 전체 메모리 구조에서 상위 디코더를 상세히 도시한 것이다. 상위 디코더는 입력 데이타 유효 신호를 근거로 데이타가 유효한 것인지를 판단하여 전체 메모리 블럭에 대한 어드레스를 부분 디코딩하여 서브 메모리 블럭 선택과 데이타 흐름에 관련된 여러 가지 제어 신호를 만든다. 입력으로 들어오는 어드레스의 상위 4비트는 비교기를 거쳐 제어기와 덧셈기에서 디코딩되어 각각의 서브 메모리 블럭을 선택하기 위한 행 지연버퍼 선택신호(이하 brow이라 칭함), 열 지연버퍼 선택신호(이하 bcol이라 칭함), 선택하려는 서브 메모리 블럭과 상위 디코더 사이의 파이프라인 깊이를 나타내는 신호(이하 sel_blk이라 칭함)를 만들고, 각각의 서브 메모리 블럭 안에서의 어드레스 값을 나타내는 입력 어드레스의 하위 비트들은 하위행 지연버퍼와 열 지연버퍼로 바로 전달된다. brow와 bcol신호는 제 1도에서 처럼 서브 메모리 블럭 배열 안에서 어떤 대각선 상에 위치한 블럭을 선택할 것인가를 결정하는데 16개의 서브 메모리 블럭을 독립적으로 선택해야 하므로 입력 어드레스의 상위 4비트가 필요하고 이중 최상위 2비트는 열 방향의 서브 메모리 블럭을 선택하고 나머지 2비트는 행 방향의 서브 메모리 블럭을 선택한다. sel_blk는 brow와 bcol로 선택한 각각의 대각선 상에 위치한 서브 메모리 블럭중에서 하나를 선택한다.FIG. 2 shows the details of the higher decoder in the overall memory structure of FIG. The upper decoder determines whether the data is valid based on the input data valid signal, and partially decodes the address of the entire memory block to generate various control signals related to the sub memory block selection and the data flow. The upper 4 bits of the address coming into the input are decoded by the controller and the adder through a comparator, so that a row delay buffer selection signal (hereinafter referred to as brow) and a column delay buffer selection signal (hereinafter referred to as bcol) for selecting each sub-memory block. Then, a signal representing the pipeline depth between the sub-memory block to be selected and the upper decoder (hereinafter referred to as sel_blk) is generated, and the lower bits of the input address representing the address value in each sub-memory block are the lower row delay buffer and the column delay. Passed directly to the buffer. The brow and bcol signals need to select 16 sub-memory blocks independently in order to determine which diagonal blocks are selected in the sub-memory block arrangement as in Fig. 1, so the upper 4 bits of the input address are needed and the highest 2 The bit selects the sub memory block in the column direction and the remaining two bits select the sub memory block in the row direction. sel_blk selects one of the sub-memory blocks on each diagonal line selected by brow and bcol.
행 지연버퍼와 열 지연버퍼는 입력되는 brow, bcol, sel_blk신호값에 따라서 인접하는 서브 메모리 블럭에는 현재 행(열)의 행(열)지연버퍼와 인접한 서브 메모리 블럭에서 시작되는 대각선 방향으로 이동하는 데이타가 유효한 것인가를 나타내는 신호(이하 vadd_row(vadd_col)라 칭함)를 전달하고 인접하는 다음 행 지연버퍼 또는 열 지연버퍼로는 상위 디코더의 제어 신호를 전달한다. 행 지연버퍼는 감산기가 있다는 점을 제외하고는 열지연버퍼와 동일한 구조를 갖는다. 감산기는 상위 디코더로부터 선택하려는 서브 메모리 블럭까지의 최소 경로를 나타내는 sel_blk신호가 선택하려는 블럭에서 0이 되게 하여 대각선 상에 위치한 서브 메모리 블럭들중에서 하나만 선택한다.The row delay buffer and the column delay buffer move in a diagonal direction starting from the adjacent row of the row (column) delay buffer and the adjacent sub memory block in the adjacent sub memory block according to the input brow, bcol, and sel_blk signal values. A signal indicating whether data is valid (hereinafter referred to as vadd_row (vadd_col)) is transmitted, and a control signal of an upper decoder is transmitted to an adjacent next row delay buffer or column delay buffer. The row delay buffer has the same structure as the column delay buffer except that there is a subtractor. The subtractor selects only one of the sub-memory blocks on the diagonal line so that the sel_blk signal representing the minimum path from the upper decoder to the sub-memory block to be selected is zero in the block to be selected.
각각의 서브 메모리 블럭 선택 원리와 제어 신호값은 아래와같다.Each sub memory block selection principle and control signal value are as follows.
상위 디코더의 비교기에서 입력 어드레스의 두 상위 비트들(각각이 상위 비트는 상위 디코더 내부의 작은 디코더의 입력과 같다)간에 차를 구하면 선택하려는 블럭이 위치하는 대각선의 위치를 알 수 있고, 이 값을 이용하여 제어기에서는 brow와 bcol 신호를 만든다. 덧셈기에서는 두 상위 비트들 중에 큰 값을 통하여 선택하려는 블럭이 상위 디코더로부터 몇 파이프라인 단계후에 선택되는가를 알수 있다.In the comparator of the higher decoder, if you find the difference between two upper bits of the input address (each higher bit is equal to the input of a smaller decoder inside the upper decoder), you can see the position of the diagonal where the block you want to select is located. The controller generates brow and bcol signals. In the adder, the larger value of the two upper bits shows how many pipeline stages are selected from the higher decoder.
어드레스[n-1:n-2] - 어드레스[n-3:n-4]=0 이면 비교기의 역할Address [n-1: n-2]-If address [n-3: n-4] = 0, then the comparator's role
bcol = 어드레스[n-1:n-2] - 어드레스[n-3:n-4] + 1; 제어기의 역할bcol = address [n-1: n-2]-address [n-3: n-4] + 1; Controller role
brow = 1; 제어기의 역할brow = 1; Controller role
sel_blk = 어드레스[n-1:n-2] + 1; 덧셈기의 역할sel_blk = address [n-1: n-2] + 1; The role of the adder
그렇지 않으면,Otherwise,
brow = 어드레스 [n-3:n-4] - 어드레스[n-1:n-2] + 1; 제어기의 역할brow = address [n-3: n-4]-address [n-1: n-2] + 1; Controller role
bcol = 1; 제어기의 역할bcol = 1; Controller role
sel_blk = 어드레스[n-3:n-4] + 1; 덧셈기의 역할sel_blk = address [n-3: n-4] + 1; The role of the adder
서브 메모리 블럭을 선택하는 제어신호는 위의 알고리듬을 이용한다.The control signal for selecting the sub memory block uses the above algorithm.
상위 디코더에서는 위의 알고리듬을 이용하여 brow, sel_blk와 서브 메모리 블럭의 행 어드레스를 행 지연버퍼로 전달하고 bcol신호와 서브 메모리 블럭의 열 어드레스 그리고 메모리 쓰기 동작을 위한 데이타를 열 지연버퍼로 전달한다.The upper decoder transfers the row address of brow, sel_blk and the sub memory block to the row delay buffer using the above algorithm, and transfers the bcol signal, the column address of the sub memory block, and the data for the memory write operation to the column delay buffer.
위의 알고리듬에서 서브 메모리 블럭 배열의 주 대각선 상이나 위쪽에 위치한 블럭들은 모두 brow가 1 행의 행 지연버퍼를 bcol이 두 상위 어드레스 간의 차에 해당하는 위치에 있는 열 지연버퍼를 선택하도록 하고 이 열 지연버퍼와 수직으로 인접한 블럭에서 시작하는 대각선 방향에 위치한 서브 메모리 블럭들 중에서 sel_blk의 값을 매 단계마다 1씩 감소시키기 위하여 필요하다. 예를 들어 서브 메모리 34는 상위 디코더의 제어신호 brow=1, bcol=2, sel_blk=4로 선택된다. 제 1도에서 빛금친 장치들은 이 블럭을 선택하기 위하여 유효한 신호들이 지나간 장치들과 이 블럭을 선택하기 위한 제어신호의 값을 갖는다. 이와는 반대로 대각선 아래에 있는 블럭들은 bcol이 1 열의 열 지연버퍼를 brow가 어드레스의 차에 해당하는 위치에 있는 행지연버퍼를 선택하도록 하고, 이 행 지연버퍼와 수평 방향으로 인접한 블럭에서 시작하는 대각선 방향의 위치는 서브 메모리 블럭들 중에서 sel_blk값을 이용해서 하나의 블럭을 선택한다. sel_blk에 의해 선택하고자 하는 최소 경로값으로 설정한다. 서브 메모리 블럭이 4X4로 구성된 경우 각각의 메모리 블럭을 선택하기 위한 brow, bcol, sel_blk신호의 조합은 표 1과 같다.In the above algorithm, all blocks located on or above the main diagonal of the sub-memory block array are all browsed to select the row delay buffer of one row and the column delay buffer at which bcol is the difference between the two upper addresses. It is necessary to decrease the value of sel_blk by 1 for each step among sub-memory blocks located diagonally starting from a block perpendicular to the buffer. For example, the sub memory 34 is selected with control signals brow = 1, bcol = 2 and sel_blk = 4 of the higher decoder. The devices flashed in FIG. 1 have values of devices through which valid signals have passed to select this block and control signals for selecting this block. In contrast, the blocks below the diagonal cause bcol to select the row delay buffer of one column and the row delay buffer at which the brow corresponds to the address difference, and the diagonal direction starts from the block adjacent to this row delay buffer. The position of selects one block from the sub memory blocks by using the sel_blk value. Set to the minimum path value to be selected by sel_blk. Table 1 shows the combinations of the brow, bcol, and sel_blk signals for selecting each memory block when the sub memory block is composed of 4 × 4.
[표 1] 서브 메모리 블럭 선택을 위한 제어신호 값[Table 1] Control signal values for sub memory block selection
위의 과정을 거쳐서 하나의 서브 메모리 블럭이 선택되면 행 지연버퍼와 열 지연버퍼를 통하여 전달된 메모리 블럭안에서의 주소를 나타내는 하위 어드레스를 이용하여 읽기 또는 쓰기 동작을 수행한다.When one sub memory block is selected through the above process, a read or write operation is performed using a lower address indicating an address in the memory block transferred through the row delay buffer and the column delay buffer.
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019950048554A KR100187493B1 (en) | 1995-12-09 | 1995-12-09 | Internal address generating method of 3 directional communicating systoric structured pipelined memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019950048554A KR100187493B1 (en) | 1995-12-09 | 1995-12-09 | Internal address generating method of 3 directional communicating systoric structured pipelined memory |
Publications (2)
Publication Number | Publication Date |
---|---|
KR970051137A KR970051137A (en) | 1997-07-29 |
KR100187493B1 true KR100187493B1 (en) | 1999-04-15 |
Family
ID=19439170
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019950048554A KR100187493B1 (en) | 1995-12-09 | 1995-12-09 | Internal address generating method of 3 directional communicating systoric structured pipelined memory |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100187493B1 (en) |
-
1995
- 1995-12-09 KR KR1019950048554A patent/KR100187493B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR970051137A (en) | 1997-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0138451B1 (en) | Vector data processing system for indirect address instructions | |
US5367494A (en) | Randomly accessible memory having time overlapping memory accesses | |
US4733346A (en) | Data processor with multiple register blocks | |
JPH04343151A (en) | Memory access device | |
KR0161868B1 (en) | Memory address control circuit | |
KR100187493B1 (en) | Internal address generating method of 3 directional communicating systoric structured pipelined memory | |
KR0168487B1 (en) | Pipelined memory | |
US5805521A (en) | DRAM memory system | |
US5475828A (en) | Digital processor having plurality of memories and plurality of arithmetic logic units corresponding in number thereto and method for controlling the same | |
US6745302B1 (en) | Method and circuit for enabling a clock-synchronized read-modify-write operation on a memory array | |
US20010003200A1 (en) | Semiconductor storage device | |
JP2590704B2 (en) | Parallel processor LSI | |
JP2576262B2 (en) | Information processing device | |
JP2596639B2 (en) | Prior control method | |
JP2940060B2 (en) | Semiconductor memory device | |
JPH0810443B2 (en) | Memory control circuit | |
KR950008663B1 (en) | Dram access control apparatus | |
JPH0517574B2 (en) | ||
JP2616714B2 (en) | Semiconductor storage device | |
JPH04245556A (en) | Instruction memory | |
JPH0668055A (en) | Digital signal processor | |
JPH05189304A (en) | Semiconductor storage device | |
JPH0528769A (en) | Dual port memory | |
JPH05289938A (en) | Memory access device | |
JPH0467661B2 (en) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20060102 Year of fee payment: 8 |
|
LAPS | Lapse due to unpaid annual fee |