[go: up one dir, main page]

CN85105547B - Memory access control system for an information processing device - Google Patents

Memory access control system for an information processing device Download PDF

Info

Publication number
CN85105547B
CN85105547B CN85105547A CN85105547A CN85105547B CN 85105547 B CN85105547 B CN 85105547B CN 85105547 A CN85105547 A CN 85105547A CN 85105547 A CN85105547 A CN 85105547A CN 85105547 B CN85105547 B CN 85105547B
Authority
CN
China
Prior art keywords
memory
data
mentioned
address
register
Prior art date
Legal status (The legal status 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 status listed.)
Expired
Application number
CN85105547A
Other languages
Chinese (zh)
Other versions
CN85105547A (en
Inventor
谷口俊夫
住本勉
熊谷多加史
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to CN85105547A priority Critical patent/CN85105547B/en
Publication of CN85105547A publication Critical patent/CN85105547A/en
Publication of CN85105547B publication Critical patent/CN85105547B/en
Expired legal-status Critical Current

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

A memory access control system is used for an information processing apparatus having a buffer memory and a main memory. In this system, when an access request is made, if a data block to be accessed is not in an address in the buffer memory, data of a storage request from the data register is written into the buffer memory before first data among data read out from the main memory is written into the buffer memory, and then the data register is released to receive the next request.

Description

用于一信息处理装置的存储器存取控制系统Memory access control system for an information processing device

本发明涉及一种存储器存取控制系统,更准确地说,涉及一种适用于具有一主存储器和一缓冲存储器的信息处理装置的存储存取控制系统。The present invention relates to a memory access control system, more specifically, to a memory access control system suitable for an information processing device having a main memory and a buffer memory.

在需要高速数据处理操作的信息处理装置中,提供了一个比主存贮器能够更高速读/写数据的缓冲存储器,在缓冲存储器中给那些存放在主存储器的数据块中常用的数据块提供了部分数据的复制,因此,使得能够对一个CPU的存取请求进行快速响应。作为一种具有缓冲存储器的信息处理装置,该装置在下面说明书中给以过公开,如,美国专利No.3,735,360,“在多处理系统中的高速缓冲器操作”或美国专利No.3,829,840,“虚拟存储系统。”In an information processing device that requires high-speed data processing operations, a buffer memory capable of reading/writing data at a higher speed than the main memory is provided, and data blocks commonly used among data blocks stored in the main memory are provided in the buffer memory. Copying of part of the data, thus enabling a quick response to a CPU's access request. As an information processing apparatus having a buffer memory, the apparatus is disclosed in the following specification, for example, U.S. Patent No. 3,735,360, "Cache Buffer Operation in a Multiprocessing System" or U.S. Patent No. .3, 829, 840, "Virtual Storage Systems."

在这样的具有缓冲存储系统的信息处理装置中应允许将在缓冲存储器执行的数据更新反映到主存储器中。到目前为止,在所谓的“存储-通过”(Store-through)存取系统中,每当在缓冲存储器的数据块中产生存取时,该数据也被存放到主存储的相应数据块中。根据该系统,由于向主存储器的存取次数增加,缓冲存储的优点未能发挥出来。In such an information processing device having a buffer memory system, it should be allowed to reflect the update of data performed in the buffer memory to the main memory. So far, in so-called "store-through" access systems, whenever an access occurs in a data block in the buffer memory, this data is also stored in the corresponding data block in the main storage. According to this system, since the number of times of access to the main memory increases, the advantages of buffer storage cannot be exerted.

相反,有一种为人皆知的系统,如“存入”(Store-in)系统,用这种系统,当数据存/取请求产生时,需要存取的数据块存在缓冲存储器中,该数据只被存入缓冲存储器,且此时主存储器的存数不变更。在该“存入”系统中,提供了一个与缓冲存储器中的每一数据块相对应的一个变更位表用来存储指示是否数据更新的比特位。当需要将来自主存贮器中的新数据数块(Ⅱ)换进代替在缓冲存贮器中的一数据块(Ⅰ)时,如果在前述表中相应于数据块(Ⅰ)的变更指示位被置位,则数据块(Ⅰ)被换出到主存储器后执行数据块(Ⅱ)的换进操作。如果变更指示位没有被置位,则省略了数据块(Ⅰ)的换出操作,数据块(Ⅱ)被传送到缓冲存储器中。根据这种“存入”系统,仅仅通过向缓冲存储器存取而不对主存储器进行存取就能满足来自CPU的存储器读写请求,直到缓冲存储器中的数据块被换出到主存器中,以致能够高速地进行数据处理。In contrast, there are well-known systems such as the "Store-in" system, in which when a data deposit/retrieval request is made, the data block that needs to be accessed is stored in the buffer memory, and the data is only stored in the buffer memory. is stored in the buffer memory, and the stored number of the main memory does not change at this time. In the "store in" system, a change bit table corresponding to each data block in the buffer memory is provided to store bits indicating whether the data is updated. When it is necessary to replace a data block (I) in the buffer memory with a new data block (II) from the main memory, if the change indication bit corresponding to the data block (I) in the aforementioned table If set, the data block (I) is swapped out to the main memory and then the data block (II) is swapped in. If the change indication bit is not set, the swap out operation of the data block (I) is omitted, and the data block (II) is transferred to the buffer memory. According to this "store in" system, the memory read and write requests from the CPU can be satisfied only by accessing the buffer memory without accessing the main memory, until the data block in the buffer memory is swapped out to the main memory, As a result, data processing can be performed at high speed.

可是,在前面所述的具有缓冲存储系统的信息处理一般装置中,如果要存取的数据不在缓冲存储器中时,则包括该数据的整个数据块要从主存储器中被传送到缓冲存储中,然后把该数据块存入缓冲存储器中的预定的地址中。因此,在处理装置中,例如,一个数据块由64个字节组成,且该数据块以每个机器周期一个8字节单元从主存储器向缓冲存储器传送数据D0~D7,在这种情况下会出现下列问题,即,如果产生一个关于16位字节的数据D0和D1的一个整存请求时,通常如图1所示,直到在从主存储器读出进入缓冲存储器的最后一个数据D7的写操作完成后,来自存储请求的数据寄存器的数据D0和D1的写操作完成了,数据寄存器才能打开,才能接收下一个请求。 However, in the aforementioned information processing general apparatus having a buffer memory system, if the data to be accessed is not in the buffer memory, the entire data block including the data will be transferred from the main memory to the buffer memory, The data block is then stored at a predetermined address in the buffer memory. Therefore, in the processing device, for example, a data block consists of 64 bytes, and the data block transfers data D 0 to D 7 from the main memory to the buffer memory in units of 8 bytes per machine cycle. The following problems will occur under the situation, that is, if a full storage request about the data D 0 and D 1 of 16-bit bytes is generated, usually as shown in Figure 1, until the last time when reading from the main memory into the buffer memory After the write operation of a data D 7 is completed, the write operation of data D 0 and D 1 from the data register storing the request is completed, and the data register can be opened to receive the next request.

本发明的一个目的是提供一个在具有缓冲存储器的信息处理装置中的存储存取控制系统,在该系统中能够减少当要存取的数据不在缓冲存储器中时所要求数据存储处理的时间。An object of the present invention is to provide a storage access control system in an information processing apparatus having a buffer memory in which the time required for data storage processing when data to be accessed is not in the buffer memory can be reduced.

本发明的另一个目的是提供一个在具有缓冲存储器的信息处理装置中的存储器存取控制系统,在该系统中能够减少所需要的根据存取操作从主存储器向缓冲存储器传送数据块的时间。Another object of the present invention is to provide a memory access control system in an information processing apparatus having a buffer memory, in which the time required to transfer a data block from a main memory to a buffer memory according to an access operation can be reduced.

本发明的另一个目的是为具有缓冲存储器的信息处理装置提供一个高速存储器存取控制方法。Another object of the present invention is to provide a high-speed memory access control method for an information processing device having a buffer memory.

为了达到上述目的,根据本发明的用于一信息处理装置的一存储器存取控制系统包括:In order to achieve the above object, a memory access control system for an information processing device according to the present invention includes:

一个第一存储器,被分成许多块; a first memory, divided into blocks;

一个第二存储器,用来以一块为单位基础存储存放在第一存储器中的部分数据的复制,该第二存储器能够以比第一存储器更高的速度存取,且拥有比第一存储器较小的存储容量;A second memory for storing on a block basis a copy of a portion of the data stored in the first memory, the second memory being accessible at a higher speed than the first memory and having a smaller size than the first memory storage capacity;

一个数据寄存器,用来临时存贮存储要求的数据;A data register for temporary storage of data required for storage;

一个地址寄存器,用来临时存贮存储要求的数据的地址;An address register, which is used to temporarily store the address of the required data;

判定装置,用来发出一判定信号指示包括地址寄存器中地址指定的数据的数据块的复制是否在第二存储器中。judging means for issuing a judging signal indicating whether a copy of the data block including the data specified by the address in the address register is in the second memory.

第一存储器存取控制装置,用来控制从第一存储中读出数据的操作和向第一存储器中写入数据的操作; The first memory access control device is used to control the operation of reading data from the first storage and the operation of writing data to the first storage;

第二存储器存取控制装置,用来控制从第二存储器读出数据的操作和向第二存储器中写入数据的操作;The second memory access control device is used to control the operation of reading data from the second memory and the operation of writing data into the second memory;

第三控制装置,用来在一个数据存储请求产生时向第一和第二存储器控制装置提供控制信号来响应判定装置的识别信号,它是以这样的方式提供的,当与相应于该请求的数据块的复制在第二存储器中时,数据寄存器中的数据被写入到第二存储器中;以及当如果上面提到的数据块不在第二存储器中,前述的数据寄存器中的数据被写入到第二存储器中后,从第一存储器读出的相应数据块中的剩余数据的复制被写入到第二存储器中。A third control means for providing a control signal to the first and second memory control means in response to the identification signal of the judging means when a data storage request is generated, in such a manner that it is provided when corresponding to the request When the copy of the data block is in the second memory, the data in the data register is written into the second memory; and when the data block mentioned above is not in the second memory, the data in the aforementioned data register is written After entering the second memory, a copy of the remaining data in the corresponding data block read from the first memory is written into the second memory.

例如,在利用由两级存储体系(主存储器和缓冲存储器)构成的存储器的信息处理装置中,第一存储器相当于主存储器,第二存储器相当于缓冲存储器。可是,在另一种利用多级存储系统的信息处理装置中,该多级存储系统进一步包括在主存储器和缓冲存储器之间的中间缓冲存储器,该中间缓冲存储器可以是第一存储器也可以是第二存储器。For example, in an information processing device using a memory configured with a two-level storage system (main memory and cache memory), the first memory corresponds to the main memory, and the second memory corresponds to the cache memory. However, in another information processing device using a multi-level storage system, the multi-level storage system further includes an intermediate buffer memory between the main memory and the buffer memory, and the intermediate buffer memory may be the first memory or the second memory. Two memory.

在本发明的实施例中。In the embodiment of the present invention.

第二存储器有一个由许多数据块构成的数据存储区域; The second memory has a data storage area consisting of a number of data blocks;

判定装置具有一第四装置,用来产生位置信息来指定第二存储器中的区域,以便当由地址寄存器中的地址指定的数据所在的数据块的复制不在第二存储器中时,存入从第一存储器中读出的该数据块的复制。The judging means has a fourth means for generating location information to designate an area in the second memory, so that when the copy of the data block where the data specified by the address in the address register is located is not in the second memory, it is stored in the second memory from the second memory. A copy of the block of data read from memory.

第二存储器根据地址寄存器的部分内容决定的地址作为起始点,在由来自该地址的位置信息指定的存储区域的范围内写入来自数据寄存器的数据和第一存储器的该数据块的剩余数据。The second memory takes the address determined according to the partial content of the address register as a starting point, and writes the data from the data register and the remaining data of the data block of the first memory within the range of the storage area specified by the location information from the address.

同时根据本发明,一个用于一信息处理装置的存储器存取方法,该装置包括一被分割成许多数据块的第一存储器和用来以一块为单位基础存储存放在第一存储器中的部分数据的复制的第二存储器,该第二存储器能够以比第一存储器更快的速度来存取数据,Also according to the present invention, a memory access method for an information processing device comprising a first memory divided into a plurality of data blocks and for storing part of the data stored in the first memory on a block basis a duplicate second memory capable of accessing data at a faster rate than the first memory,

该方法由下列步骤组成The method consists of the following steps

第一步,当数据存储请求产生时,判定关于相应于存储地址的数据块的复制是否在第二存储器中; In the first step, when the data storage request is generated, it is determined whether the copy of the data block corresponding to the storage address is in the second memory;

第二步,当在第一步中判定相应于存储地址的数据块不在第二存储器中时,指定用于存储上述数据块的复制的存储区域;The second step, when judging in the first step that the data block corresponding to the storage address is not in the second memory, designate a storage area for storing the copy of the above data block;

第三步,在将数据块从第一存储器传送到第二存储器中之前把存储要求的数据写入第二存储器中指定的区域中;In the third step, before transferring the data block from the first memory to the second memory, the data required for storage is written into the specified area in the second memory;

第四步,将从第一存储器中读出的数据块中的剩余数据且不包括存储要求的数据存入第二存储器中指定的区域内。The fourth step is to store the remaining data in the data block read from the first memory and not including the data required for storage into the specified area in the second memory.

最好只读出来自第一存储器的一数据块中的剩余数据,从而可以从存储请求的数据的下一地址中的数据开始写入第二存储器。Preferably only the remaining data in a data block from the first memory is read out so that writing to the second memory can begin with data at the next address where the requested data is stored.

本发明的其它特征及优点通过下列结合附图的描述会变得很清楚。 Other features and advantages of the present invention will become apparent from the following description in conjunction with the accompanying drawings.

图1,是在传统存储存取控制系统中数据存储操作的时序图;Fig. 1 is a timing diagram of data storage operations in a traditional storage access control system;

图2,是一用来解释主存储器和缓冲存储器之间的关系的简图;Fig. 2 is a diagram for explaining the relationship between the main memory and the buffer memory;

图3,是一时序图,示出了根据本发明在一个存储器存取控制系统中的数据存储操作的例子;Fig. 3 is a sequence diagram showing an example of a data storage operation in a memory access control system according to the present invention;

图4,是一方块图,示出了根据本发明的存储器存取控制系统一个实施例;Fig. 4 is a block diagram showing an embodiment of the memory access control system according to the present invention;

图5,是一方块图,详细地示出了实施例中的缓冲存储器单元30,主存储器单元50和地址校正器23。 FIG. 5 is a block diagram showing in detail the buffer memory unit 30, the main memory unit 50 and the address corrector 23 in the embodiment.

图6,是一解释向缓冲存储器进行的数据存入操作的简图。Fig. 6 is a diagram for explaining the operation of storing data into the buffer memory.

首先参考图2来说明缓冲存储器300与主存储器500之间的关系。主存储器500以每一个数据块具有一定大小这样的方式分成许多块,例如64字节,并且每个数据块都由列地址0至n及行地址0至m来指定。另一方面,缓冲存储器300具有与主存储器相应的列地址0至n以及行地址0至3。因此,在本例中,在主存储器里的数据块(m+1个)中,对每个列地址来说最多有4个数据块的复制能被存入到缓冲存储器。当然需要进一步将一个数据块(Ⅱ)从主存储器500中的同一列传送到缓冲存储器中时,且是在这种状态下:例如,缓冲存储器300的一列已经存有四个数据块了,由一种最近最少使用的(LRu-least Recently Used)系统的方法选择出的一个数据块(Ⅰ′)从缓冲存储器中退出,并且数据块(Ⅱ)被存放到缓冲存储器中代替该数据块,在此时,如果将退出的数据块(Ⅰ′)的内容和主存储器中的相应数据块(Ⅰ)的内容是不一样的,则数据块(Ⅰ′)被换出到主存储器500中。First, the relationship between the buffer memory 300 and the main memory 500 will be described with reference to FIG. 2 . The main memory 500 is divided into many blocks in such a manner that each block has a certain size, for example, 64 bytes, and each block is designated by column addresses 0 to n and row addresses 0 to m. On the other hand, the buffer memory 300 has column addresses 0 to n and row addresses 0 to 3 corresponding to the main memory. Therefore, in this example, out of the data blocks (m+1) in main memory, a maximum of 4 copies of the data blocks can be stored in the buffer memory for each column address. Of course, when it is necessary to further transfer a data block (II) from the same column in the main memory 500 to the buffer memory, it is in this state: for example, a column of the buffer memory 300 has stored four data blocks, by A least recently used (LRu-least Recently Used) system method selects a data block (I') from the buffer memory, and the data block (II) is stored in the buffer memory to replace the data block. At this time, if the content of the data block (I′) to be retired is different from that of the corresponding data block (I) in the main memory, the data block (I′) is swapped out to the main memory 500 .

与图1所描述的传统系统相比较,本发明的存储器存取控制系统的特征将由图3中的时序图表示出来。即,当来自CPU的关于如两个数据D0和D1的存/取请求产生时,且该两个数据每个都具有8个字节单元被包括在不在缓冲器300中的数据块中,根据本发明,将数据寄存器中的数据D0和D1的写入到缓冲存储器的操作在从主存储器500中将相关的数据块写入到缓冲存储器300中之前开始。只有剩余数据D2至D7(不包括数据D0和D1)被从主存储器500传送到缓冲存储器300中。一条用于上述数据传送的命令可在从数据寄存器向缓冲存储器中的数据写入的同时送到主存储器的存取控制器中。由于向缓冲存储器存取的时间比向主存储器存取的时间要快得多,则在从主存储器中读出的第一数据D2到达缓冲存储器之前数据寄存器器中的数据D0和D1已被完全写入,并且在该写入完成之后数据寄存器能够被立即释放。另外,根据本发明,不包括该数据部分的小部分数据(CPU为它产生了存储请求),在一数据块的数据中能被从主存储器中传送到缓冲存储器中,以至于向缓冲存储器中的数据块传送能够比传统系统完成的块得多。Compared with the conventional system described in FIG. 1, the characteristics of the memory access control system of the present invention will be shown by the timing diagram in FIG. 3. Referring to FIG. That is, when a storage/retrieval request from the CPU occurs regarding, for example, two data D 0 and D 1 each having 8 byte units is included in a data block not in the buffer 300 , according to the present invention, the operation of writing the data D 0 and D 1 in the data register to the buffer memory starts before writing the relevant data block from the main memory 500 into the buffer memory 300 . Only the remaining data D 2 to D 7 (excluding the data D 0 and D 1 ) are transferred from the main memory 500 to the buffer memory 300 . A command for the above-mentioned data transmission can be sent to the access controller of the main memory at the same time as the data in the buffer memory is written from the data register. Since the access time to the buffer memory is much faster than the access time to the main memory, the data D 0 and D 1 in the data register before the first data D 2 read from the main memory arrives in the buffer memory has been completely written, and the data register can be released immediately after the write is complete. In addition, according to the present invention, a small portion of data not including the data portion for which the CPU generates a storage request, can be transferred from the main memory to the buffer memory in the data of a data block, so that to the buffer memory Block transfers of data can be done in many more blocks than traditional systems.

图4是一个表示用来执行上述存储器存取的本发明存储器存取控制系统的实施例的方块图。在图中,参考号30为一个包括一缓冲存储器300和一地址电路的缓冲存储器单元,参考号50为一包括主存储器500和一地址电路的主存储器单元。在本例中,如两个寄存器,CPUs平常能够使用存储器系统。第一CPU提供的一存储地址,一请求码和一存储数据被分别装入到寄存器1a,2a和3a中。另一方面,第二CPU提供的一存储地址,一请求码和存储数据分别被送入寄存器1b,2b和3b。由选择器1c,2c和3c选择的寄存器1a至3a或者1b至3b的内容被分别送入地址寄存器1,请求码寄存器2和存储数据寄存器3中,地址寄存器1由3个字段第一字段A,第二字段B和第三字段C组成。地址寄存器1的第一字节段A和第二字段地址B代表块地址部分,其第三字段C代表该块中的地址部分。例如,块的大小是64字节,指定块中地址部分的字段C有5个比特位。在代表块地址部分的字段A和B中,字段B被用来作为缓冲器地址阵列5的列地址,如上面描述的那样字段B指定列地址。字段B的位数是用于指定缓冲地址阵列5的每一列而所需的数目。例如,当列数n是32时,则字段B的位数是5。序号4为请求接收控制器,用来控制选择器1c,2c和3c。FIG. 4 is a block diagram showing an embodiment of the memory access control system of the present invention for performing the above-mentioned memory access. In the figure, reference numeral 30 is a buffer memory unit including a buffer memory 300 and an address circuit, and reference numeral 50 is a main memory unit including a main memory 500 and an address circuit. In this example, CPUs normally have access to the memory system as two registers. A storage address, a request code and a storage data supplied from the first CPU are loaded into the registers 1a, 2a and 3a, respectively. On the other hand, a storage address, a request code and storage data supplied from the second CPU are sent to the registers 1b, 2b and 3b, respectively. The contents of the registers 1a to 3a or 1b to 3b selected by the selectors 1c, 2c and 3c are respectively sent to the address register 1, the request code register 2 and the storage data register 3. The address register 1 consists of 3 fields. The first field A , composed of the second field B and the third field C. The first byte field A and the second field address B of the address register 1 represent the block address part, and the third field C represents the address part in the block. For example, the size of a block is 64 bytes, and field C, which specifies the address portion of the block, has 5 bits. Of the fields A and B representing the block address portion, field B is used as the column address of the buffer address array 5, and field B designates the column address as described above. The number of bits of the field B is the number required for specifying each column of the buffer address array 5 . For example, when the column number n is 32, the number of bits of field B is 5. Number 4 is a request receiving controller for controlling the selectors 1c, 2c and 3c.

序号5是一个缓冲器地址阵列,来存储与第一字段A相应的每个存在缓冲存储器300中的数据块在主存储器500中的地址高数位部分。该缓冲器地址阵列由0至n列组成且每列具有与缓冲存储器300类似的0至3行地址。序号7是一个块替换表,指明在数据块中的每一列的行地址,该数据块将从缓冲存储器中退出从而能向缓冲存储器中加入新的数据块,序号8是存储变更指示位的表,用来指示在缓冲存储器中的每个数据块的存数是否改变。 Sequence number 5 is a buffer address array, used to store the high digit part of the address in the main memory 500 of each data block stored in the buffer memory 300 corresponding to the first field A. The buffer address array consists of 0 to n columns and each column has 0 to 3 row addresses similar to the buffer memory 300 . Sequence number 7 is a block replacement table, indicating the row address of each column in the data block, the data block will be withdrawn from the buffer memory so that a new data block can be added to the buffer memory, and sequence number 8 is a table for storing change indication bits , which is used to indicate whether the storage number of each data block in the buffer memory has changed.

当存贮地址,请求代码和存贮数据被分别放置在寄存器1,2和3时,通过缓冲地址阵列5的数据检索来查看是否在地址寄存器1中地址上的数据存在于缓冲存贮器300中或者不在。该数据检索工作的完成用这样的方式即:用在地址寄存器中第二字段B中的值作为一列地址来读出缓冲地址阵列5的4行的内容,并且将从每行读出的存贮地址的值和在地址寄存器1中的第一字段A中的值,通过比较器6a、6b、6c和6d来进行比较。该比较器6a到6d分别地对应于行列地址0到3。通过根据每个比较器的输出,行数判定电路13决定行地址,序号14是一符合检测电路,当那些比较器中的其中一个产生一符合输出时,该电路置一个输出14S为“1”。一选择器16由符合检测电路14的输出14S来控制。当输出14S是“1”时,判定电路13行数的输出通过选择器16被置进寄存器17。当符合检测电路的输出14S是“0”时,选择器16允许译码器9的输出9S对将提供给寄存器17的块替换表7的输出译码。因此,当由CPU所要求的数据块存在于缓冲存贮器中时,相关数据块中的行地址被置进寄存器17,而在相反的情况,应从缓冲存贮器中转换的数据块中的行地址被置入寄存器17。寄存器17的输出17S与地址寄存器1中的第二和第三字段B和C的输出1BC一起提供到缓冲存贮器。When the storage address, the request code and the storage data are respectively placed in the registers 1, 2 and 3, the data retrieval by the buffer address array 5 is performed to see if the data at the address in the address register 1 exists in the buffer memory 300 in or not. This data retrieval work is accomplished in such a way that the contents of the 4 rows of the buffer address array 5 are read out using the value in the second field B in the address register as a column address, and the stored data read from each row The value of the address and the value in the first field A in the address register 1 are compared by comparators 6a, 6b, 6c and 6d. The comparators 6a to 6d correspond to row and column addresses 0 to 3, respectively. The row number judging circuit 13 decides the row address by the output of each comparator, and number 14 is a coincidence detection circuit which sets an output 14S to "1" when one of those comparators produces a coincidence output. . A selector 16 is controlled by the output 14S of the coincidence detection circuit 14 . When the output 14S is "1", the output of the line number of the judging circuit 13 is set into the register 17 through the selector 16. The selector 16 allows the output 9S of the decoder 9 to decode the output of the block substitution table 7 to be supplied to the register 17 when the output 14S of the coincidence detection circuit is "0". Therefore, when the data block required by the CPU exists in the buffer memory, the row address in the relevant data block is put into the register 17, and in the opposite case, the row address in the data block that should be converted from the buffer memory The row address is placed into register 17. The output 17S of the register 17 is supplied to the buffer memory together with the output 1BC of the second and third fields B and C in the address register 1 .

符合判定电路14的输出14S也被输入到3输入“与”门19和20,一缓冲存贮器存取控制器21,以及一主存贮器存取控制器22,用于对所要求的编码进行译码的来自译码器11的输出信号11S,以及由一选择器10选择的表8中变更指示位也被输入到“与”门19和20。“与”门19的输出19S被供给缓冲存贮器存取控制器21,主存贮器存取控制器22和一主存贮器地址校正器23,该校正器将在后面给予说明。“与”门20的输出20S被提供供给控制器21和校正器23。The output 14S of the coincidence determination circuit 14 is also input to 3-input AND gates 19 and 20, a buffer memory access controller 21, and a main memory access controller 22 for the required The output signal 11S from the decoder 11 encoded for decoding, and the change indication bit in Table 8 selected by a selector 10 are also input to AND gates 19 and 20 . The output 19S of the AND gate 19 is supplied to a buffer memory access controller 21, a main memory access controller 22 and a main memory address corrector 23 which will be described later. The output 20S of the AND gate 20 is provided to the controller 21 and the corrector 23 .

当符合检测电路14的输出14S和变更指示位10S都为“0”时并且译码器的输出信号11S为“1”时,“与”门19的输出19S变为“1”。当一从CPU产生一存贮请求时,例如在前面所述的16字节的全部存贮请求,信号11S变成“1”。因此,在该实施例中,当新数据块从主存贮器传送到缓冲存贮器中时,且没有进行换出操作,“与”门19的输出19S作为一驱动信号来指示缓冲存贮器存取控制器21存贮操作的开始,以及指示主存贮器存取控制器22的数据传送的开始。When the output 14S of the coincidence detection circuit 14 and the change indication bit 10S are both "0" and the output signal 11S of the decoder is "1", the output 19S of the "AND" gate 19 becomes "1". The signal 11S becomes "1" when a slave CPU generates a store request, for example, the aforementioned 16-byte full store request. Therefore, in this embodiment, when a new data block is transferred from the main memory to the buffer memory, and no swap operation is performed, the output 19S of the "AND" gate 19 is used as a drive signal to indicate the buffer memory memory access controller 21 to start the storage operation, and instruct the main memory access controller 22 to start the data transfer.

“与”门20的输出信号20S作为一控制信号允许在缓冲存贮器中的数据被换出到主存贮器中。当一符合检测信号14S是“0”时以及变更指示位10S是“1”时,输出信号20S变为“1”。当控制器21接收到信号20S的“1”电平时,它允许一由信号线17S和1BC指定的数据块从缓冲存贮器300换出进到主存贮器,并在该换出完成之后,置信号21C为“1”。在变更指示位10S的输出电路里的一“与”门18,由信号21C控制。当信号21C被置为“1”时,“与”门18的输出被置“0”。因此,“与”门19的输出19S变成“1”代替“与”门20的输出20S;从而由于缓冲存贮器存取控制器21开始向缓冲存储器进行存储操作并且通过主存储器控制器开始数据块传送操作。The output signal 20S of the AND gate 20 acts as a control signal allowing data in the buffer memory to be swapped out to the main memory. When a coincidence detection signal 14S is "0" and the change indication bit 10S is "1", the output signal 20S becomes "1". When the controller 21 received the "1" level of the signal 20S, it allowed a block of data specified by the signal line 17S and 1BC to be swapped out from the buffer memory 300 into the main memory, and after the swapping out was completed , set signal 21C to "1". An AND gate 18 in the output circuit of the change indication bit 10S is controlled by the signal 21C. When the signal 21C is set to "1", the output of the AND gate 18 is set to "0". Therefore, the output 19S of the "AND" gate 19 becomes "1" instead of the output 20S of the "AND" gate 20; thus since the buffer memory access controller 21 starts to store to the buffer memory and the memory operation is started by the main memory controller Block transfer operation.

图5示出缓冲存贮单元30,主存贮器单元50以及地址校正器23的详细情况。 FIG. 5 shows details of the buffer memory unit 30, the main memory unit 50 and the address corrector 23. Referring to FIG.

在缓冲存贮单元30中,在地址寄存器1中的第二和第三字段B和C的存贮信息1BC,在第一存贮周期通过选择器31被带入一地址寄存器32中。地址寄存器32的输出32S对缓冲存贮器300进行寻址。此外,地址32S由一具有环绕式功能的增量电路33更新后,这个地址输出32S被一个延迟寄存器34所保持。选择器31由控制信号21S′控制,该控制信号从控制器21输出。在第二存贮周期内和其后存贮周期里,延迟寄存器34的输出被带入地址寄存器32。另一方面,从数据寄存器3输出的8字节单元的存贮数据3S,通过一选择器35被带入一数据缓冲器36,并存贮在存储区域内地址32S的位置上,该位置在通过由行地址17S选择的选择器37a,在缓冲存贮器300中选定的行上。In the buffer memory unit 30, the stored information 1BC of the second and third fields B and C in the address register 1 is brought into an address register 32 through the selector 31 in the first memory cycle. The output 32S of the address register 32 addresses the buffer memory 300 . In addition, after the address 32S is updated by an increment circuit 33 having a wraparound function, this address output 32S is held by a delay register 34 . The selector 31 is controlled by a control signal 21S′ output from the controller 21 . The output of delay register 34 is brought into address register 32 during the second store cycle and subsequent store cycles. On the other hand, the stored data 3S of the 8-byte unit output from the data register 3 is brought into a data buffer 36 through a selector 35, and is stored at the position of the address 32S in the storage area, which is at On the selected row in the buffer memory 300 by the selector 37a selected by the row address 17S.

地址寄存器1中,第一到第三字段的输出地址1ABC,第二和第三字段的输出地址1BC,以及由选择器12选择的从缓冲地址阵列5读出的数据块地址12S被输入到主存贮器地址校正器23中。该校正器23包括:一地址校正电路24,该电路通过一相对的数据长度值,导致跳过地址1ABC,对该数据长度已完成存储请求;还包括一锁定电路26,在背面产生一地址26S,用于通过组合地址1BC和12S来进行换出;还包括一选择器25,选择地址1ABC和一校正地址24S中的任何一个来响应控制信号19S;以及还包括一选择器27,选择地址26S和选择器25输出地址25S中的任何一个,来响应控制信号20S。In the address register 1, the output address 1ABC of the first to the third field, the output address 1BC of the second and the third field, and the data block address 12S read from the buffer address array 5 selected by the selector 12 are input to the main In the memory address corrector 23. The corrector 23 includes: an address correction circuit 24, which, through a relative data length value, causes skip address 1ABC for which the storage request has been completed for the data length; also includes a lock circuit 26, which generates an address 26S on the back , for swapping out by combining addresses 1BC and 12S; also includes a selector 25 that selects any one of address 1ABC and a correction address 24S to respond to the control signal 19S; and also includes a selector 27 that selects address 26S And selector 25 outputs any one of addresses 25S in response to control signal 20S.

主存贮器单元50包括:一选择器51,从主存贮器地址校正器23输出的地址23S和从延迟寄存器54输出的地址中选择其中的任何一个;包括一地址寄存器52,暂存选择器51的输出;以及还包括一具有环绕功能的增量电路53,来更新地址寄存器52的输出。选择器51通过一控制信号22S来控制,该控制信号是从控制器22输出的。这个选择器在第一存贮周期里选择地址23S,以及选择已递增的地址,即从下一个和接着的存贮周期中延迟寄存器54输出的地址,并且置入地址寄存器52。The main memory unit 50 includes: a selector 51, which selects any one of the address 23S output from the main memory address corrector 23 and the address output from the delay register 54; including an address register 52, temporarily storing the selected The output of the device 51; and also includes an increment circuit 53 with a wrap-around function to update the output of the address register 52. The selector 51 is controlled by a control signal 22S output from the controller 22 . This selector selects the address 23S in the first store cycle, and selects the incremented address, that is, the address output from the delay register 54 in the next and subsequent store cycles, and puts into the address register 52.

在图3中,所叙述的有关16字节全存贮请求将作为一例子给予说明。从地址寄存器1输出的地址1ABC指示图6所示的在64字节数据块中-8字节单元的任一数据的范围。在这种情况下,当通过缓冲存贮器存取控制器21写进的第一数据D开始于地址101时,数据可以从主存贮器500中,在地址指示102处顺序地从数据D开始读出。主存贮器地址校正电路24用来根据响应数101的地址1ABC。从地址为相应数102开始产生主存贮器读出。一方面,图6中,数据D被存入缓冲存贮器300之后,在相应的64字节数据块中,必需从存贮地址32A回到边界地址100。同样,即使在主存贮单元50中,数据D的读出完成之后,也必需从下一地址52S回到边界地址100。增量电路33和53以及校正电路24执行前面地址更新,这是由于前述的环绕功能的原故。In Fig. 3, the description about the 16-byte full storage request will be given as an example. The address 1ABC output from the address register 1 indicates the range of any data in -8 byte units in the 64 byte data block shown in FIG. 6 . In this case, when the first data D written in by the buffer memory access controller 21 starts at the address 101, the data can be read from the main memory 500 sequentially at the address indication 102 from the data D Start reading. The main memory address correction circuit 24 is used to address 1ABC based on the response number 101. The main memory read is generated starting from the corresponding number 102. On the one hand, in FIG. 6, after the data D is stored in the buffer memory 300, it is necessary to return from the storage address 32A to the boundary address 100 in the corresponding 64-byte data block. Likewise, even in the main memory unit 50, it is necessary to return to the boundary address 100 from the next address 52S after the reading of the data D is completed. Increment circuits 33 and 53 and correction circuit 24 perform previous address updates due to the aforementioned wraparound function.

回到图5,从主存贮器500读出的数据(D2到D7)通过线50S顺序地提供到缓冲存贮单元30,并且通过选择器35输入到数据缓冲器36。此外,当读数请求产生时,从缓冲器300或主存贮器500读出的数据,通过选择器38,取出数据缓冲器39和线30S(被提供给缓冲存贮单元),送到CPU。 Returning to FIG. 5, the data ( D2 to D7 ) read from the main memory 500 are sequentially supplied to the buffer memory unit 30 through the line 50S, and input to the data buffer 36 through the selector 35. In addition, when a read request is generated, the data read from the buffer 300 or the main memory 500 is taken out of the data buffer 39 and the line 30S (supplied to the buffer memory unit) through the selector 38, and sent to the CPU.

假使将从缓冲存贮器300读出的数据块换出进入主存贮器500,“与”门20的输出20S变成“1”。在这种情况下,在单元23中的选择器27选择锁定电路26的输出26S并且输出作为主存贮器地址23S。锁定输出26S是地址值,该地址值是由将被换出的数据块在主存贮器中的地址指示值12S和在存贮地址中的字段B和C的值1BC组成,该地址指示值从缓冲地址阵列5读出,该存贮地址是从地址寄存器1输出的。锁定电路输出26S指示数据在主存贮器中的地址,即该数据是首先从缓冲存贮器300中读出来换出的。因此,在主存贮单元50中,从缓冲存贮器300读出并且通过线30S顺序提供的数据,被写进上述地址位置和后来地址位置,因而使数据在主存贮器500中被更新。另一方面,为了缓冲存贮器到主存贮器数据块的换出工作,在缓冲存贮器300和主存贮器500之间,提供一个高速缓冲寄存器,该高速缓冲寄存器具有象一个数据块那样多的存贮容量,并且从缓冲存贮器300中取出并进到这个缓冲寄存器的数据块,可以在此之后用空闲时间被传送到主存贮器500中。If a block of data read from the buffer memory 300 is swapped out into the main memory 500, the output 20S of the AND gate 20 becomes "1". In this case, the selector 27 in the unit 23 selects the output 26S of the lock circuit 26 and outputs it as the main memory address 23S. The lock output 26S is an address value, which is composed of the address indication value 12S of the data block to be swapped out in the main memory and the value 1BC of fields B and C in the storage address, the address indication value The memory address is read from the buffer address array 5 output from the address register 1. The latch circuit output 26S indicates the address in main memory of the data that was first read from buffer memory 300 and swapped out. Therefore, in the main storage unit 50, the data read from the buffer memory 300 and sequentially supplied through the line 30S are written into the above-mentioned address location and the subsequent address location, thereby causing the data to be updated in the main memory 500. . On the other hand, between the buffer memory 300 and the main memory 500, a cache register having data like a As much storage capacity as a block, and data blocks fetched from buffer memory 300 and brought into this buffer register may thereafter be transferred to main memory 500 at idle time.

在上述的实施例中,本发明申请的实施例是已说明的由主存贮器500和缓冲器300组成的两级分级存贮器存贮系统。然而,在多级分级存贮系统中,该系统在主存贮器和缓冲存贮器之间,具有一级或多级中间缓冲存贮器,本发明的存贮器存取控制可以适当地被用在主存贮器和中间缓冲器之间,中间缓冲器和中间缓冲器之间以及中间缓冲器和最有效位缓冲存贮器之间的数据传输。在这种情况下,在本实施例中在较低有效位上的存贮器可以是相应的主存贮器,而在较高有效位上的存贮器,可以是相应的缓冲存贮器。In the above-mentioned embodiments, the embodiment of the present application is a two-stage hierarchical memory storage system composed of the main memory 500 and the buffer 300 has been described. However, in a multi-level hierarchical storage system, which has one or more levels of intermediate buffer storage between the main memory and the buffer storage, the memory access control of the present invention can be appropriately Used for data transfers between the main memory and the intermediate buffer, between the intermediate buffer and the intermediate buffer, and between the intermediate buffer and the most significant bit buffer memory. In this case, the storage at the lower significant bits in this embodiment may be the corresponding main storage, and the storage at the more significant bits may be the corresponding buffer memory .

此外,在上述的实施例中已给出了构成,从而只有需要的数据而不是从寄存器3写进缓冲存贮器300的存贮数据,从主存贮器500读出,并利用主存贮地校正器23将该数据传送到缓冲存贮器300中。然而,作为一改进的形式,也可能采用这样一种结构,当所有数据子块从主存贮器读出,并写进缓冲存贮器时,已被存储的数据的写入操作不执行。在这种情况下,因为从数据寄存器到缓冲存贮器的数据存贮操作,是和给主存贮器数据读出指令并行进行的,迅速释放数据寄存器的优点已被利用,所以所要求的下一存贮信息可以早一些被接收。In addition, in the above-mentioned embodiment, the constitution has been given so that only necessary data other than the stored data written into the buffer memory 300 from the register 3 is read from the main memory 500, and the main memory 500 is used. The corrector 23 transfers the data to the buffer memory 300 . However, as an improved form, it is also possible to employ a structure in which when all data sub-blocks are read from the main memory and written into the buffer memory, the write operation of the stored data is not performed. In this case, since the data storage operation from the data register to the buffer memory is performed in parallel with the data read instruction to the main memory, the advantage of quickly releasing the data register has been utilized, so the required The next stored message can be received earlier.

另一方面,当产生16字节的全部存贮请求时的数据传输操作在上述实施例中已给出说明,但本发明显然同时可以应用任何其他存贮数据请求,而不仅限于上述所说全存贮请求。On the other hand, the data transfer operation when generating the entire storage request of 16 bytes has been described in the above-mentioned embodiment, but the present invention can obviously be applied to any other storage data requests at the same time, and is not limited to the above-mentioned full storage request. storage request.

Claims (26)

1, a memory access control system that is used for signal conditioning package comprises:
A first memory that is divided into many;
One second memory, be used for storing with duplicating of partial data that is the unit basis will be left in the above-mentioned first memory, this second memory can be coming access than first memory faster speed, and second memory is littler than the memory space of first memory;
One data register is used for the data of storing a memory requirement temporarily;
One address register is used for storing the address of the data of above-mentioned memory requirement temporarily;
Decision maker is used for sending a decision signal and indicates duplicating whether in second memory by the specified data place data block in the address in the above-mentioned address register;
The first memory access control device is used for control from the operation of above-mentioned first memory sense data with write data manipulation to this first memory;
The second memory access control device is used for control sense data operation and write data manipulation in above-mentioned second memory from above-mentioned second memory;
The 3rd control device, be used for when a data storage request produces, providing control signal to come the decision signal of response determine device to above-mentioned first and second memory access control apparatus, with box lunch corresponding to the data block of above-mentioned data storage request be replicated in the above-mentioned second memory time, the data in the above-mentioned data register are written in the second memory; It is characterized in that: described the 3rd control device provides control signal to respond from the next decision signal of above-mentioned decision maker to first and second control device when data storage request produces, when above-mentioned data block duplicate not in second memory the time, after data in above-mentioned data register were written in the second memory, duplicating of remaining data was written in the second memory in the above-mentioned data block that will read from first memory again.
According to the system of claim 1, it is characterized in that 2, described second memory has a data storage portions, this memory block has the capacity of a plurality of data blocks;
Above-mentioned decision maker has one the 4th device, be used for producing a positional information and specify in zone in the second memory, so as by the data block at the data designated place, address in the address register duplicate not in second memory the time the duplicating of above-mentioned data block that will from first memory, read store;
Above-mentioned second memory is in its scope of memory block that is begun to be written to the data the above-mentioned data register with from the remaining data in the data block of first memory that above-mentioned positional information determines as starting point by the address of the partial content of above-mentioned address register decision.
3, according to the system of claim 2, it is characterized in that: this system comprises that further the data length that is used for depositing according to storage proofreaies and correct from the device of the address value of above-mentioned address register output,
By this, above-mentioned first memory is the starting point remaining data (not comprising the data of storing from above-mentioned data device storage) the sense data piece sequentially from the above-mentioned address of proofreading and correct,
Above-mentioned second memory is followed the storage from the data of above-mentioned data register, will deposit in proper order from the data in the first memory.
4, according to the system of claim 2, it is characterized in that: above-mentioned decision maker has one the 5th device, in this device, whether stored a representative for the piece of each data in second memory needs above-mentioned data block is write indication information in the first memory, and when by the data block at the specific data place, address of address register duplicate not in second memory the time, this device output and the corresponding above-mentioned indication information of above-mentioned positional information data designated piece
Described the 3rd control device provides control signal according to above-mentioned indication information to above-mentioned first and second memory access control apparatus when data storage request produces, this control signal produces by this way, after the data block in second memory by above-mentioned positional information appointment is written to first memory, data in the data register are written to second memory, and data are written in the second memory from first memory then.
5, according to the system of claim 4, it is characterized in that also having a device, be used for the address value from address register output being proofreaied and correct according to the length of the data of require storage,
Above-mentioned first memory is the remaining data (not comprising the data of storing from data register) that starting point is sequentially read a data block with the address of above-mentioned correction,
The storage that above-mentioned second memory is followed from the data of above-mentioned data register will sequentially deposit in from the data of first memory.
6, an access method of storage that is used for signal conditioning package, this device have one and are divided into some first memory; With a second memory, be used for the duplicating of partial data of first memory being stored being the unit basis with the data block, this second memory can is characterized in that this access method of storage comprises with than the access of first memory faster speed:
The first step when a data storage request produces, is judged duplicating whether in second memory corresponding to the data block of memory address;
Second step, when in the first step, judge corresponding to the data block of memory address duplicate not in second memory the time, designated storage area stores duplicating of this data block in second memory;
In the 3rd step, before from first memory, being sent to this data block in the second memory, the data of above-mentioned memory requirement are written in the zone of appointment; With
In the 4th step, the remaining data of a data block of reading from first memory (data that do not comprise above-mentioned memory requirement) is written in the zone of appointment in the second memory.
7, according to the method for claim 6, wherein from first memory, only read out in the remaining data in the data block, thereby can begin to be sequentially written in the second memory from the data on the next address of the data of above-mentioned memory requirement.
CN85105547A 1985-07-19 1985-07-19 Memory access control system for an information processing device Expired CN85105547B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN85105547A CN85105547B (en) 1985-07-19 1985-07-19 Memory access control system for an information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN85105547A CN85105547B (en) 1985-07-19 1985-07-19 Memory access control system for an information processing device

Publications (2)

Publication Number Publication Date
CN85105547A CN85105547A (en) 1987-04-15
CN85105547B true CN85105547B (en) 1988-06-08

Family

ID=4794547

Family Applications (1)

Application Number Title Priority Date Filing Date
CN85105547A Expired CN85105547B (en) 1985-07-19 1985-07-19 Memory access control system for an information processing device

Country Status (1)

Country Link
CN (1) CN85105547B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1815621B (en) * 2005-01-31 2010-05-26 株式会社东芝 Systems and methods for accessing memory cells

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006512657A (en) * 2002-12-30 2006-04-13 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Memory controller and method of writing to memory
CN104782885B (en) * 2015-05-12 2018-10-30 吉林农业大学 The method that lactic acid hydrolyzes livestock and poultry blood

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1815621B (en) * 2005-01-31 2010-05-26 株式会社东芝 Systems and methods for accessing memory cells

Also Published As

Publication number Publication date
CN85105547A (en) 1987-04-15

Similar Documents

Publication Publication Date Title
US4680730A (en) Storage control apparatus
EP0167089B1 (en) Memory access control system and method for an information processing apparatus
KR930011686B1 (en) Data processing device for variable word length command system with short instruction execution time and small footprint
JPH0532775B2 (en)
US4924425A (en) Method for immediately writing an operand to a selected word location within a block of a buffer memory
CN85105547B (en) Memory access control system for an information processing device
JPH0410102B2 (en)
CN1003680B (en) Cache memory addressable by both physical and virtual addresses
US4737908A (en) Buffer memory control system
US5276853A (en) Cache system
US4561071A (en) Storage system having buffer storage
JPS58150196A (en) System for updating and controlling main storage key
JPS59218692A (en) Control system of logical buffer memory
CN1004946B (en) disk controller
JPS6027967A (en) Block transfer control method for buffer storage device
JP2636564B2 (en) Move-in control method for cache memory
JPS6161143B2 (en)
JPS6410858B2 (en)
JPS617960A (en) Buffer nullification control system
JPH0573398A (en) Information processing equipment
JPH0215150Y2 (en)
JPH07117917B2 (en) Buffer storage data erasure control device
JPS63311548A (en) Cache memory controlling system
JPH02259945A (en) Storing processing system
JPS60254257A (en) Replacement control circuit for memory key information

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C13 Decision
GR02 Examined patent application
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CX01 Expiry of patent term