CN1077700C - 可编程调控交插存取存储器管理系统 - Google Patents

可编程调控交插存取存储器管理系统 Download PDF

Info

Publication number
CN1077700C
CN1077700C CN95100337A CN95100337A CN1077700C CN 1077700 C CN1077700 C CN 1077700C CN 95100337 A CN95100337 A CN 95100337A CN 95100337 A CN95100337 A CN 95100337A CN 1077700 C CN1077700 C CN 1077700C
Authority
CN
China
Prior art keywords
data
access
buffer
controller
access terminals
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 - Fee Related
Application number
CN95100337A
Other languages
English (en)
Other versions
CN1129329A (zh
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.)
Manteak Inc.
Original Assignee
MANTEAK Inc
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 MANTEAK Inc filed Critical MANTEAK Inc
Priority to CN95100337A priority Critical patent/CN1077700C/zh
Publication of CN1129329A publication Critical patent/CN1129329A/zh
Application granted granted Critical
Publication of CN1077700C publication Critical patent/CN1077700C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Programmable Controllers (AREA)

Abstract

一种可编程调控交插存取存储器管理系统,其主要包括浮动缓冲器、存取端、程控网络以及中央控制器,其以中央控制器控制各存取端拥有的浮动缓冲器的数目,各浮动缓冲器在存取端之间的移动,以及程控网络中各路径之开关,而程控网络为多个存取端所组成的完全网络,而存取端为数个浮动缓冲器所构成,其对于一个处理器或总线主控器能于较短的时间内,完成存储器数据存取的工作,并增进数据之正确性。

Description

可编程调控交插存取存储器管理系统
本发明涉及一种可编程调控交插存取存储器管理系统,特别涉及一种适用于计算机、工作站以及任何需使用存储器等的电子逻辑线路,并采用多个特殊的缓存器,根据每一个处理器或总线主控器(Bus Master)对于存取要求的特性,来适应缓存器及存储器间的资源分配,使得每一个处理器或总线主控器能于较短的时间内,完成存储器数据存取的工作。
传统的动态随机存取存储器控制器,采用被动的工作模式。同一时间之内只能接受和处理一个处理器或总线主控器对存储器存取数据的要求。当有第二个处理器或总线主控器同时要求对存储器存取数据时,必须等待前一个存取数据的工作结束后,才能继续进行。在传统的计算机或工作站系统中,绝大多数的时间,仅会有一个处理器或总线主控器要求使用存储器,因此存储器控制器的工作效率并不重要,使得大部分的传统计算机系统设计只强调高速缓冲存储器的功能,而忽略了存储器控制器的效率。现在由于计算机技术快速进步以及多媒体科技的发展。多处理机的计算机系统或拥有多个总线主控器外围设备的计算机,十分普遍,这些计算机系统均有极高的机会产生两个以上的处理器或总线主控器同时要求使用存储器的现象。因此这些计算机系统均要求高效率的存储器控制器,以免除因存储器使用通路成为交通瓶颈,而导致系统功能降低的问题。目前市面上的解决方法,大多着重于存储器的改进,企图减少存储器数据存取所需的时间,也就是开发更快速的存储器,或是设计多端口(Multi-Port)的存储器,来解决存储器使用通路的瓶颈问题。例如同步动态随机存取存储器等,但是这些新型的存储器往往价格较高。有些甚至要求特殊的控制线路,因此新型存储器虽能解决问题,但是并不符合经济效益。
因此,本发明的目的在于提供一种可编程调控交插存取存储器管理系统,其利用特殊的缓存器,以及可编程控制的系统结构(Architecture),有效分配存储器资源,使每一个对存储存取的动作,尤其是同时来自两个不同的源头(Source)之存取要求,在较短的时间内完成。
本发明的另一目的在于提供一种可编程调控交插存取存储器管理系统,其可避免当多个处理器或总线主控器同时要求使用存储器,使存储器成为交通瓶颈时,导致系统性能降低的问题。本发明的另一目的在于提供一种可编程调控交插存取存储器管理系统,其使用可伸缩(Scalable)的硬件结构,使单端口(SinglePort)存储器能对付多个主控器同时存取数据的要求,而不需使用额外的存储装置或特殊的存储器。
本发明的再一目的在于提供一种可编程调控交插存取存储器管理系统,其可简化成非常经济的逻辑线路,适用于仅有二至三个主控器的小型计算机系统,或可扩充成复杂的数字网络,运用于大型矩阵计算机系统(Vector machine)。
为了达到上述目的,本发明的可编程调控交插存取存储器管理系统包括浮动缓存器、存取端、程控网络以及中央控制器,其中,所述浮动缓存器包括:
用以连接中央控制器的中央控制器接口;
用以接受中央控制器的指令连接不同存取端的数据总线的主控器浮动接口;
连接到中央控制器接口,用以连接外部存储器的存储器接口;以及
经由一控制闸分别连接到主控器浮动接口和存储器接口,用以保存主控器对存储器读取的数据的数据寄存器,
所述管理系统以中央控制器控制各存取端拥有的浮动缓存器的数目、各浮动缓存器在存取端之间的移动以及程控网络中各路径的开关,而存取端为多个浮动缓存器所构成且存取端相互连接而成构成一程控网络。
本发明的系统能应付多个主控器同时存取数据的要求,而不需使用额外的存储装置或特殊的存储器,同时,并可扩充成复杂的数字网络,运用于大型矩阵计算机系统,而处理时间也相对减少。至于本发明的详细构造,作用与功效,则参照下列结合附图所作的说明即可得到进一步的了解:
图1为本发明的浮动缓存器结构图。
图2为本发明的存取端的结构图。
图3为本发明存取端之程控网络实施例图。
图4为本发明存取端之程控网络另一实施例图。
图5为本发明浮动缓存器之正常操作程序流程图。
图6为本发明浮动缓存器之维护程序流程图。
图7为本发明浮动缓存器主要控制程序流程图。
图8为本发明存取端浮动缓存器分配程序流程图。
图中各部件标号与名称对照如下:
100.…中央控制器接口1001.…中央控制信号
101.…主控器流动接口
102.…存储器接口
1011.1021.…数据存取1012.1022.…存取控制信号
103.…控制闸1031.…写入数据
104.…数据寄存器1041.…读取数据
200.…存取端201.…浮动缓存器
202.…主控器203.…存储器
400.…浮动缓存器接受指令
4001.…主控器要求读取数据
4002.…主控器要求写入数据
401.…数据是否在寄存器内
402.…通知存取端控制器
403.…允许主控器读取数据
404.…是否符合预先提取条件
405.…将虚拟地址转成实际地址
406.…要求使用存储器407.…是否允许使用存储器
408.…更新寄存器数据
409.…是否持有相同地址数据
410.…允许数据写入411.…发出数据更改通知
500.…浮动缓存器接受指令
5001.…存取端控制器要求清除或读取数据
5002.…存取端控制器要求改变浮动缓存器状态
501.…将虚拟地址转成实际地址
502.…要求使用存储器503.…是否允许使用存储器
504.…从存储器读取数据或将数据写入存储器
505.…修改浮动缓存器状态
506.…通知存取端控制器状态改变
507.…修改浮动缓存器状态
508.…是否符合主控器存取要求
509.…接受主控器指令
600.…浮动缓存器接受指令
6000.…中央控制器指示浮动缓存器移动
6001.…中央控制器指示改变浮动缓存器设定
601.…通知所在存取端控制器脱离数据总线
602.…通知程控网络要求移动
603.…程控网络准许移动
604.…前进至指定存取端
605.…通知中央控制器接受新的虚拟地址转换及预先提取规则
606.…通知新到达的存取端控制器连接数据总线
607.…通知存取端控制器改变浮动缓存器至初始状态
608.…接受中央控制器接受设定包含虚拟地址转换表及预先提取规则
700.…存取端控制器准备接受指令
701.…数据是否在任一浮动缓存器内
702.…要求中央控制器连贯维护
703.…连贯维护结束
704.…是否接受新的浮动缓存器
705.…接收从其它存取端移来的浮动缓存器
706.…连接存取端数据总线
707.…启动浮动缓存器接受主控器指令
708.…选定最不常用或空置之浮动缓存器
709.…消除旧有数据
710.…设定浮动缓存器接受主控器指令
本发明的可编程调控交插存储器管理单元,以下简称程控交插记管器(PIMMU),其可分为四个主要的部分,分别为浮动缓存器、存取端、程控网络以及中央控制器,各部分说明如下:
(1)浮动缓存器:
浮动缓存器为一浮动的数字数据寄存器,它可来回游走于程控网络中,并接受中央控制器的指令,在程控网络中浮动到指定的存取端(Access Port)。每一个存取端均为特定的主控器所拥有。浮动缓存器一旦到达指定的存取端,即成为该主控器对存储器存取数据的寄存器,在程控交插记管器中,主控器的定义如下:程控交插记管器会将每一个会要求使用存储器的装置,视为一个主动装置(Active Device),并将使用相同地址空间及具有相同存取特性的所有主动装置,视为一个主控器,一个主控器可能是一个中央逻辑运算处理器,或是所有位于区域总线的总线主控器,而程控交插记管器可经由程序的控制,或事先的设定,决定哪一些主动装置归类于同一个主控器。
(2)存取端:
每一个主控器均有属于自己的存取端,当主控器对存储器存取数据时,均通过存取端完成存取的动作。每一个存取端均可拥有一至数个浮动缓存器,实际的数目由中央控制器决定。当主控器要求将数据写入存储器时,这批数据将先写入浮动缓存器内,等待中央控制器的许可,再真正写入存储器。当主控器要求从存储器读取数据时,这批数据将先由存储器存入浮动缓存器,再允许主控器从浮动缓存器中取得这批数据。
(3)程控网络:
程控网络为多个存取端所组成的完全网络,它允许浮动缓存器在由完全网络形成的轨道上来回移动,从一个存取端前进到另一个不同的存取端。程控网络的结构,可经由中央控制器的指令,控制每一条路径(Path)的开启或关闭。在某些特殊的情况下,中央控制器会关闭一些程控网络中的路径,以限制浮动缓存器的运动。
(4)中央控制器:
中央控制器控制整个程控交插记管器的动作。其控制的项目包括每一个存取端拥有浮动缓存器的数目。每一个浮动缓存器的运动及存取特性,以及程控网络的网络结构。同时中央控制器必须维护所有数据的连贯性(Coherence)。尤其主控器拥有专属的高速缓冲器时,中央控制器将会检控每一批从存储器存取的数据,保证同一批数据只有一份修改过的拷贝。
图1所示为本发明浮动缓存器的结构图,其中包含了中央控制接口100、主控器流动接口101、存储器接口102、控制闸103以及数据寄存器104,其以中央控制器接口100连接中央控制器,并以主控器浮动接口101接受中央控制器的指令,连接不同存取端的数据总线,使浮动缓存器能游走于程控网络中;数据寄存器104为一存储装置,保存主控器对存储器读取的数据,另有一存储器接口102则连接外部之存储器,为浮动缓存器之输出信号。
如图2所示,其为存取端的结构图,于存取端200中,由数个浮动缓存器201所组成,且存取端200为主控器202与存储器203间的数据传递媒介,而存取端200互相之间并可做数据的传输流动(如图3、图4所示),其各存取端200间组成的完全网络,视为程控网络,每一条直线为网络的路径,浮动缓存器可在每条路径上游走,且其路径皆由中央控制器开关设定,图中所示虚线之部分则为被关闭之路径。
而程控交插记管器包含三个主要工作程序,依次为浮动缓存器操作程序,存取端控制器执行的浮动缓存器分配程序,以及中央控制器执行的数据连贯维护程序。各个工作程序叙述如下:
(1)浮动缓存器操作程序:
浮动缓存器是程控交插记管器中最主要的工作装置,其基本操作分成三个层次,最底层是主控器直接对浮动缓存器存取数据时的正常操作程序(Normal Operating Procedure)。上一层是存取端控制器设定浮动缓存器工作状态(Operating Status)及数据管理工作的维护程序(Maintainance Procedure)。最上层为中央控制器指示浮动缓存器移动或设定虚拟地址转换表与预先提取数据规则的主要控制程序(Main Controlling Procedure)。较高层次的工作程序有较高的执行顺序。当高层的工作程序执行完毕后,才会将控制权转给底层的工作程序。每一个工作程序的工作内容,分别如下列叙述。
(a)正常操作程序:
如图5所示,当主控器要求存取数据时,每一个位于存取端的浮动缓存器多层启动正常操作程序。正常操作程序会先检查浮动缓存器的虚拟地址标识(Virtual Address Tag),若与主控器要求存取数据的虚拟地址相符,则表示这批数据位于数据寄存器内允许主控器直接读写这批数据。若主控器是要求读取数据,正常操作程序会在主控器读取数据完成后,预测主控器下一批可能读取的数据地址,依需要执行预先提取的工作。若主控器是要求写入数据,正常工作程序则会通知中央控制器数据已被修改,以启动中央控制器的数据连贯维护程序。
(b)维护程序:
浮动缓存器可接受其停留的存取端中,存取端控制器的指令,清除数据寄存器的数据,或提取存储器的数据,或改变浮动缓存器的状态。浮动寄存器的状态包括虚拟地址标识是否有效,数据寄存器内的数据是否被修改过等有关浮动缓存器现行的工作状况。图6为维护程序的流程图。所有上述的动作均由维护完成。维护程序在存取端控制器改变浮动缓存器的状态后,会检验新的状态是否与可能正在等待执行的主控器存取要求相符,也就是虚拟地址标识中的地址与主控器要求存取的地址相同,若是,则启动正常操作程序。
(c)主要控制程序:
中央控制器可以控制每一个浮动缓存器的运动,并可设定每一个浮动缓存器的虚拟地址与实际地址间的转换表格(AddressMapping Table)。所有主控器发出存取要求的虚拟地址,都需经过虚拟地址转换表才可查出在存储器中的实际地址。预先提取规则为一依照主控器存取特性而制定出的预测法则,用来预测主控器下一批可能会提取的数据并估计预测的准确性。预先提取规则制定的方式,是事先要求主控器执行所有较常用的程序或任务,同时将其所有对存储器存取的要求记录下来,然后对这批记录予以统计分析,找寻主控器的存取要求,进而制定出预测主控器下一批可能提取数据的规则,及这项规则的准确性。当浮动缓存器处理主控器存取要求时,会检查主控器过去的存取记录及现行的存取要求,来预测主控器下一批可能会提取的数据及这项预测的准确性,若预测的准确性达到一定的上限(例如百分之七十的准确度),浮动缓存器将会预先提取这批数据。图7为主要控制程序的流程图。当中央控制器要求浮动缓存器移动时,浮动缓存器会先通知目前所在的存取端,脱离该存取端的数据总线,然后移动至指定的存取端,并向中央控制器要求输入新的虚拟地址转换表与预先存取规则。最后通知新的存取端连接数据总线并接受其存取端控制器的管理。中央控制器亦可于任何时间改变浮动缓存器的设定,以适应主控制器存取特性的转变。
(2)浮动缓存器分配程序:
当主控器提出存取要求,而所需的数据不在存取端的任何一个浮动缓存器内时,存取端控制器必须执行浮动缓存器分配程序,以决定那一个浮动缓存器来接受主控器的存取要求。浮动缓存器分配程序会先通知中央控制器,启动中央控制器的连贯维护程序,以保证这批数据的连贯性与正确性。然后中央控制器会检查所有位于其它存取端的浮动缓存器,若有任何一个浮动缓存器拥有这批数据,只要程控网络有可通行的路径,中央控制器会无条件将这个浮动缓存器移至目前的存取端内,接受主控器的存取要求。如果没有任何浮动缓存器拥有这批数据,中央控制器会依照各个主控器的存取记录或特性,来决定是否要从其它存取端移动一个浮动缓存器至目前的存取端,增加其浮动缓存器的数目,以应付主控器存取的要求。如果浮动缓存器分配程序接到中央控制器的指令。要接收从其它存取端来的浮动缓存器,该程序会控制存取端数据总线,连接新来的浮动缓存器,然后启动该浮动缓存器,接受主控器的存取要求。不然,浮动缓存器分配程序必须找出一个主控器较不常用的浮动缓存器,清除其旧有数据,以接受主控器的存取要求。图8为浮动缓存器分配程序的流程图。
(3)数据连贯维护程序:
中央控制器最主要的功能是在维护所有数据的连贯性。维护的方式,则依各个主控器的特性,例如主控器是否拥有专属的高速缓冲存储器,或主控器是否允许与其他主控器共有相同的数据等,来决定连贯维护的准则。基本上,中央控制器将数据分为三类:一是只可读取(Read Only)的数据,一是可共用可读写的数据,最后是不可共用但可读写的数据。对这三种不同类型的数据,数据连贯维护程序控制的原则是:
(a)只可读取数据:
允许任何主控器复制自己的拷贝,放置于专属的高速缓冲存储器或存取端的浮动缓存器内,但不得更改这批数据。
(b)可共用可读写数据:
允许所有主控器复制自己的拷贝,但任何主控器企图改变这批数据时,必须通知所有其他的主控器更新或丢弃该批数据。
(c)不可共用但可读写数据:
主控器若要求索取这类数据时,必须先查询所有其他的主控器是否拥有相同的数据。若有,则必须等待拥有这批数据的主控器归还该批数据后,才可提取。
数据连贯维护程序首先会查询要求被维护的数据是属于那一类型,再依该类型数据的处理程序,做适当维护。除了上述三个工作程序外,中央控制器是程控交插记管器的操作控制中枢。中央控制器不但负责执行数据连贯维护程序,同时中央控制器会依照第一个主控器对存储器的存取特性,决定其存取端应拥有浮动缓存器的数目,并适时依照各主控器存取特性的改变,或连贯维护的要求,指挥浮动缓存器在程控网络内移动,做适当的调整。中央控制器亦可接受程序指令,改变工作的特性,例如关闭程控网络中的某条路径,或是某一主控器的预先提取规则,使得程控交插记管器能应工作环境的转变,不断调整,以取得较佳的工作效能。
由上所述可知,本发明之可编程调控交插存取存储器管理系统,其对于一个处理器或总线主控器能于较短的时间内,完成存储器数据存取的工作,并增进数据之正确性。

Claims (1)

1.一种可编程调控交插存取存储器管理系统,包括浮动缓存器、存取端、程控网络以及中央控制器,其特征在于,所述浮动缓存器包括:
用以连接中央控制器的中央控制器接口;
用以接受中央控制器的指令连接不同存取端的数据总线的主控器浮动接口;
连接到中央控制器接口,用以连接外部存储器的存储器接口;以及
经由一控制闸分别连接到主控器浮动接口和存储器接口,用以保存主控器对存储器读取的数据的数据寄存器,
所述管理系统以中央控制器控制各存取端拥有的浮动缓存器的数目、各浮动缓存器在存取端之间的移动以及程控网络中各路径的开关,而存取端为多个浮动缓存器所构成且存取端相互连接而成构成一程控网络。
CN95100337A 1995-02-17 1995-02-17 可编程调控交插存取存储器管理系统 Expired - Fee Related CN1077700C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN95100337A CN1077700C (zh) 1995-02-17 1995-02-17 可编程调控交插存取存储器管理系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN95100337A CN1077700C (zh) 1995-02-17 1995-02-17 可编程调控交插存取存储器管理系统

Publications (2)

Publication Number Publication Date
CN1129329A CN1129329A (zh) 1996-08-21
CN1077700C true CN1077700C (zh) 2002-01-09

Family

ID=5073395

Family Applications (1)

Application Number Title Priority Date Filing Date
CN95100337A Expired - Fee Related CN1077700C (zh) 1995-02-17 1995-02-17 可编程调控交插存取存储器管理系统

Country Status (1)

Country Link
CN (1) CN1077700C (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6167486A (en) * 1996-11-18 2000-12-26 Nec Electronics, Inc. Parallel access virtual channel memory system with cacheable channels

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0296862A2 (en) * 1987-06-24 1988-12-28 Westinghouse Electric Corporation Multiprocessor information exchange
CN2037080U (zh) * 1988-07-26 1989-05-03 成都科技大学 多微处理器系统并行解优通讯接口
WO1992022035A1 (en) * 1991-06-04 1992-12-10 Intel Corporation Cache subsystem for microprocessor based computer with asynchronous and synchronous data path

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0296862A2 (en) * 1987-06-24 1988-12-28 Westinghouse Electric Corporation Multiprocessor information exchange
CN2037080U (zh) * 1988-07-26 1989-05-03 成都科技大学 多微处理器系统并行解优通讯接口
WO1992022035A1 (en) * 1991-06-04 1992-12-10 Intel Corporation Cache subsystem for microprocessor based computer with asynchronous and synchronous data path

Also Published As

Publication number Publication date
CN1129329A (zh) 1996-08-21

Similar Documents

Publication Publication Date Title
Milic et al. Beyond the socket: NUMA-aware GPUs
CN100570563C (zh) 在具有动态逻辑分区的计算环境中管理计算机存储器
Martin et al. Token coherence: Decoupling performance and correctness
CN1717645A (zh) 用于多线程处理器性能控制的装置和方法
CN1277226C (zh) 分布式共享内存系统数据维护方法
CN1316074A (zh) 中断/软件控制的线程处理
CN1808400A (zh) 管理多处理器系统中的共享存储器的方法和设备
WO2010111151A2 (en) Virtual non-uniform memory architecture for virtual machines
CN101057223A (zh) 支持多处理器系统中的多个配置的方法和设备
CN101048763A (zh) 高速缓冲存储器的动态重新配置
CN100346307C (zh) Java操作系统中实时任务调度的实现方法
CN1867891A (zh) 用于实时多线程处理的方法和装置
KR102043276B1 (ko) 워크 로드에 따라 동적 자원 할당 가능한 상호 연결 패브릭 스위칭 장치 및 방법
CN1652092A (zh) 不同高速缓存级上具有关联集重叠同余组的多级高速缓存
CN102141931A (zh) 一种创建虚拟机的方法、虚拟机监控器及虚拟机系统
CN1645352A (zh) 管理阵列处理器中的数据的方法及执行此方法的阵列处理器
CN1828557A (zh) 嵌入式操作系统中进程映射实现方法
CN1507587A (zh) 可避免写后读的危险的存储器指令的发出和执行
CN1896972A (zh) 用于虚实地址变换及读写高速缓冲存储器的方法及装置
WO2014003707A2 (en) Hardware-based accelerator for managing copy-on-write
CN101290592B (zh) 一种mpsoc上多道程序共享spm的实现方法
CN1077700C (zh) 可编程调控交插存取存储器管理系统
Takesue A unified resource management and execution control mechanism for data flow machines
CN1464415A (zh) 一种多处理器系统
CN1152330C (zh) 远程节点读取本地内存维护方法及其应用装置

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
ASS Succession or assignment of patent right

Owner name: MAINTEYAKE CO.,LTD.

Free format text: FORMER OWNER: XU XIUYING

Effective date: 20010804

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20010804

Applicant after: Manteak Inc.

Applicant before: Xu Xiuying

C14 Grant of patent or utility model
GR01 Patent grant
C19 Lapse of patent right due to non-payment of the annual fee
CF01 Termination of patent right due to non-payment of annual fee