端口区的控制的制作方法

文档序号:92943阅读:310来源:国知局
专利名称:端口区的控制的制作方法
本发明涉及数字电脑系统,尤其是关于电脑系统的中央处理器(CPU)的控制元件。
改进电脑系统的目的,在于提高系统的总处理能力,为此,对所提供的高速缓存(cache)来说,为使操作能在更高速率进行起见,将作为基础操作的信息储入其中,即由主存单元中选取的,以及由中央处理器所处理或修改的数据,均内存入高速缓存中,数据除非特殊情况不再回到主存。此见美国专利申请470,127号(83年2月28日申请)。另由美国专利申请511,616号(83年7月7日申请)可知,电脑系统可有二个或更多个的中央处理器与一个共用主存一起操作。在这种系统中,最终数据的复制可能只保存在中央处理器的一高速缓存中。正如上述申请所述,可根据系统中另一中央处理器的要求,提供一装置来在与一中央处理器相关的高速缓存中直接执行存取数据。
再有,为加强电脑系统中数据的吞吐量,此系统以流水线方式操作,也就是说,在电脑的若干连续时间段内,将一连串的指令连续输入系统,而不必等待以前的程序完成。因此,例如当该流水线结构有五个时间段时,则同时可有五条不同的指令处于各个完成阶段,这些完成阶段是连续的。
正如前面共同未决申请所述,只要数据输入或输出高速缓存,便转输了整个数据组。在其实施例中,每一数据组含有8个数据字,而中央处理器在处理单一字或编址字的一个字节时,包括编址字的整个字组也传送至相关的高速缓存中存储起来。由中央处理器传送数据到高速缓存通常比从主存传送数据所需的时间要少,并需要作数据流动的控制,以确保修改的数据可适当地与从主存中取出的数据组的余项(Remainder of the data)合并。
本发明的目的之一在于提供一种改进的电脑系统以加强其总处理能力。
本发明的另一目的在于提供一种在如上所述的电脑系统中控制由多个来源进入高速缓存单元的数据合并装置。
为完成本发明的这些及其它目的,根据本发明,在寄存器单元中,已存有与多个缓存事务处理有关的数据,用于识别一已编址字块的区域,该编址字块是用于单独的事务,此类数据是从寄存器中选取,用以控制识别区域或相关字的区域与在编址字组中数据余项的合并。
为更进一步了解本发明,现对照下列附图作较详细的说明,其中图1 为本发明实施例的电脑系统方桓图;
图2 为适用图1所示电脑系统的中央处理器的方桓图;
图3 为图2所示结构的端口部分的方块图;
图5 和图6为更进一步说明如图4所示的区域控制元件某些特点的方桓图。
如图1所示,电脑系统包括一第一中央处理器2和一第二中央处理器4,一中央接口单元6和一第二中央接口单元8。第一中央处理器2有与第一中央接口单元6和第二中央接口单元8通信的装置。同样,第二中央处理器4也有与第一、第二中央接口单元6、8通信的装置。一个或多个输入/输出单元分别以数字10及12表示。这些单元10、12基本上在中央接口单元6和8及系统输入/输出外围单元间提供一复式互连。第一主存单元14与相关联的第一中央接口单元6相联接。同样,第二主存单元16与相关第二中央接口单元8相联接。在这样的系统中,中央处理器2、4进行通常的数据计算处理。
数据由输入/输出单元10接收或传输出。中央接口单元6和8另外还在中央处理器和输入/输出单元及有关存储单元间提供通信管理功能。
主存单元14和16为原始数据以及由中央处理器所处理的数据提供了存储的处所。在本申请中的系统中,应注意到每一个中央接口单元6和8可能直接与二中央处理器2和4中任一个通信。中央接口单元6和8二者又与输入/输出单元10和12通信。另外,二个中央接口单元中每一均具有与系统中的另一半相关联的存储单元直接通信的能力。因此,可以看出在所述系统二个半边间有互相通信的能力。
由于此种互通信能力,必须使系统中若干组成部分均相互同步。为此提供一控制中心18。实际上控制中心18为系统的另一中央处理器,它的功能是定义系统的基本控制操作,包括操作单元的同步。
图1中所示的结构用于说明本系统的操作环境。
图2所示为系统的主要组成部分,或为如图1所示象CPU2那样的中央处理器与系统,另一中央处理器4在结构上也与此相同。通常中央处理器2包括一高速缓存。在图2实施例中,高速缓存分为二部分或二单元,一部分称为指令高速缓存2。(以下简称指令缓存),一部分称为操作数高速缓存22(以下简称操作缓存)。一中央单元流水线结构24控制处理器2的全部操作。另一取指令单元26供应或传送指令字地址至指令缓存20和/或操作缓存22。在响应指令缓存由取指令单元26接受一指令地址时,由缓存20或22传送一指令双字至取指令单元26。取指令单元26再存储或累计一连半指令于一指令堆栈中,该堆栈为取指令单元26的一部分。
中央单元流水线结构24以程序顺序从取指令单元26的指令堆栈获得指令。而已由上述共同未决申请及威尔海特和雪莉共同未决申请第434,196号详细叙述的具有五阶段中央单元流水线结构处理由取指令单元26来的指令,将操作代码译码,形成操作地址。
如果所需的数据在缓存单元中,那么取出这些数据并经一分配器28加至相应的执行单元。
在本实施例电脑系统中,若干执行单元首先包括一中央执行单元30,它特别采用可执行基本计算机操作的结构体系,例如简单的传送、加、减等等。中央执行单元30其它特点在于其对操作的执行依接受的操作为基础。第二个执行单元称为“虚拟及安全管理单元32”。这个单元执行与虚拟存储有关的指令,以及与安全和特别指令有关的指令,安全和特别指令是安全操作系统所特有的。第三个执行单元称为“二进制算术单元34”。该单元结构特别面向执行“二进制算术指令”,如乘、除和浮点指令。第四个执行单元称为“十进制/字符执行单元36”,该单元特别用于执行十进制算术字母数字和位串指令。
每一执行单元32、34、36均配备一输入堆栈,以对各个执行单元的输入指令和数据进行累计和顺序栈出。同样,每一执行单元30、32、34和36均配备对各自执行单元的执行结果累计和顺序栈出的结果堆栈。另一指令执行队列单元38由中央单元流水线结构24控制按程序顺序存储执行队列字。收集器控制单元40用指令执行队列字控制执行单元30、32、34、36各自结果堆栈中合成数据读出的顺序。在这样的控制下,这些执行结果经由一选择开关装置46存储于主安全存储器42或存储堆栈单元44中。指令执行队列单元38、收集器控制单元40、主安全存储器42、储存堆栈44和选择开关46为收集器48的组成部分。
所有前述的情况均是以从缓存装置20和22中可以找出所需数据为前提的,如果所需数据不在缓存中,则通过中中央接口单元6访问主存储器来获得所需数据。随后,缓存单元20或22通过端口单元50来访问该中央接口单元。当所获的数据存入缓存装置中时,中央处理器便进行如前所说的操作。当选择的数据已被相应的一个或数个执行单元所执行以后,数据则由存储堆栈单元44重新存放到高速缓存装置中。
图3是图2中端口单元50的功能方块图。端口单元50的基本功能是提供中央处理器和中央接口单元之间的接口控制。端口单元为完成前述控制提供二种主要顺序,第一是关于中央处理器和与它相关缓存的流水线活动。第二是端口单元维持一目录,它是缓存目录的复制,这里称为复制目录。
在完成此类控制功能时,端口单元包括不少分单元组成。它的分单元组成的第一个,称为流水线活动控制单元52,第二个称为复制目录活动控制单元54。另外还有一复制目录56,一指令堆栈保护单元58,一端口存储目录60和区域控制单元62。每一个这种单元指由不少的连接线进入或由该单元出来。这些线并非指实际的导体,而是代表各种加至和接受自组成单元的信号。同样有不少虚线分别说明中央接口单元和中央处理器,这些线指示电脑系统未包括在端口单元50里。但与端口单元有通信的主要元件。
流水线活动控制单元52为一逻辑线路,在端口单元50和中央处理器之间提供主要的控制接口。流水线活动控制单元52接受从操作缓存来的“命令”信号。由于有时操作缓存和指令缓存二者均已在中央处理器操作中被检索过,流水线活动控制单元52也必须应答涉及指令缓存的“命令”信号。由于指令缓存和操作缓存同时被检索,所以对指令缓存的命令与对操作缓存的相同。总之,由操作缓存来的命令信号中包括一信号,指示或是仅涉及操作缓存的检索,或是两个缓存均检索。同样还将从缓存接受一信号,指示在缓存中的检索结果,也就是“命中”或“失误”信号,流水线活动控制单元52将来自中央处理器的命令检索结果信号与由其它单元接受的信息相关联,其后将对此作详尽说明。并且单元52还提供命令和控制信号至端口单元50的其它元件,同时也输出命令控制信号至有关的中央接口单元。
流水线活动控制单元52将控制信号送至有关的中央处理器。例如将“存储”控制信号送到中央处理器的收集器48,作为“存储”或“写”命令的缓存检索结果。单元52还提供一“中断”控制信号到缓存和/或一“保持”控制信号到中央单元流水线结构单元24。这二个信号指出在流水线操作期间需要过程连续,否则将导致后续过程产生错误结果。因此,“中断”和/或“保持”信号提供一种对中央处理器的控制,它可在干扰操作已被清除时暂时停止中央流水线结构单元和/或缓存单元的操作,以实现所指定过程的随后重算。
流水线活动控制单元52也接受来自中央单元流水线结构单元的“消除”信号。该信号指示在中央单元流水线结构单元中发生一种无效情况,此时所有在流水线结构中一特定循环后的信号应该取消,当然该结构单元重新启动流水线结构。
复制目录活动控制单元54提供控制信号,以检索复制目录56。在中央处理器中,各个缓存单元20和22为一数据阵列形式和一目录阵列形式,传统上,目录阵列为一种存储在相关数据阵列中数据的地址信息记录。当检索缓存单元时,是先检索目录,从中寻得所检索数据的地址。在图3所示的端口单元中,复制目录事实上是中央处理器内的二个缓存单元中目录阵列的复制。端口单元中的复制目录允许更为快速的存取检索资料,在端口单元中,复制目录的检索独立于缓存单元中的各目录,但是同时进行的。复制目录接受一从流水线活动控制单元52来的命令信号,它表示与中央处理器操作有关的命令控制。复制目录56也可能接受从中央接口单元来的“命令”及“地址”信号,这些信号发生于相关中央处理器以外的事务处理,例如从如图1所述二个中央处理器的另一个相关。
如在一九八三年七月七日申请的其申请号为511,616的共同申请中所述,二个中央处理器可依共用主存的基础上操作,且可依一唯一数据组进行操作。中央接口单元提供为维持中央处理器和主存之间数据的依序传送的层次控制。复制目录56也接受从存储目录60来的地址信息。当复制目录已从不是流水线活动控制单元就是中央接口单元接受一代表一层次控制和地址信号的命令,于是便在复制目录中作一入口检索,以决定信息的地址组已否驻留于相关的缓存中,复制目录56然后产生一“命中”或“失误”信号作为“检索结果”并传送该信号至复制目录活动控制单元54,随同一命令信号,指其性质和来源,开始检索。复制目录活动控制单元54然后使来自复制目录56的“命令”及“检索结果”信号与来自端口存储目录60的“检索结果”信号,并且与其它信号诸如来自流水线活动控制单元52的“干扰”和“请求分配交换”信号相互关联以决定是否所指的事务处理可理所当然地实现,或是否有冲突在其中。因为复制目录56主要用于对中央接口单元来的分级请求询问缓存中内容,复制目录活动控制单元54发出一分级响应信号回到中央接口单元,该单元会自然呈现“请求执行完毕”信号,另一方面,如果数据在相关的缓存中换出,则单元54会发出“交换”信号至中央处理器,以开始“交换”的过程。同时,单元54会送出一信号指示“交换缓冲地址”至中央接口单元。如在前述共同申请511,616号中所指出的,中央接口单元包括一交换缓冲器,作为交换操作期间的中间存储存单元。当已指示一交换操作时,复制目录活动控制单元54输出一“交换执行”信号至流水线活动控制单元52。
有时也会发生合理的事务处理会需求在缓存中根据所分配的地址存放一组新数据于其中,而已存于该地址中的数据仍为有效信息。由于在这种存放于缓存的安排中,这种有效数据组的唯一副本为在缓存中的那组,该数据必须在新数据存入缓储存中前交换目主存中,这种要求为流水线活动控制单元52从操作缓冲所接受到的命令之一。从而产生从流水线活动控制单元52至复制目录活动控制单元54的“请求分配交换”信号。复制目录56然后通过中央处理器和中央接口单元开始交换程序,同时,流水线活动控制单元52中断对缓存的处理,而先完成交换操作。流水线活动控制单元52和复制目录活动控制单元54互相通知对方,当有干扰发生时,应防止指示控制的有效执行。同理,中央接口单元会通知复制目录活动控制单元54在数据或过程中中央处理器已检出的任何错误,并在必要时中断其进行的过程。如这种“错误”或“干扰”指示已为复制目录活动控制单元54所接收,单元54会指示复制复制目录56检索命令必须重复。在重复检索中,干扰的情况应该有所减轻。
图2中取指令单元26中,有一指令堆栈,其中存有已经由缓存单元20和22中预先取回的指令,在指令从缓存单元中预先取回及存入指令堆栈的时间间,会由中央处理器要求使用,可能会在请求的信息中有些改变,此为中央处理器插入处理的结果。另一方面,由缓存取回的指令可能与已在流水线过程中的资料有关。两种情况中不论发生那一种情况用此种存放于指令堆栈中的指令进行的连续处理使为电脑系统提供错误的事务处理成为可能。
为防止这种情形发生,提供了一种指令堆栈保护单元58,在指令堆栈保护单元58中,指令堆栈每一个存储单元均有一寄存器。由下面端口存储目录60的讨论可见,取指令单元的缓存地址被比较以决定是否有干扰的活动检出以后,指令堆栈保护单元58会根据干扰活动的性质传送一消除信号至取指令单元,以取消在取指令单元中所选的入口。相反地,如果缓存已经接受一将数据(已知地址)存入缓存中的“写入”命令,此地址也与指令堆栈保护单元的通信,以与指令堆栈的内容比较。如果遇到“命中”,则指令堆栈保护单元58会传送一“洗刷指令堆栈”信号至取指令单元,以清除“命中”信号以后的所有指令,“洗刷指令堆栈”信号也传送至流水线活动控制单元52,该单元又传送一“保持”信号至中央单元流水线结构单元以保持住其操作直到指令堆栈被洗刷过。
端口存储目录60已详尽地在同一日申请的共同未决申请中图3所示及说明,它包括一各项已进入流水线中作处理而进程尚未完成的地址信息寄存器。端口存储目录60接收直接由缓存来的地址信息,同时也接收从流水线活动控制单元52来的命令信号。由流水线活动控制单元52来的命令信号控制端口存储目录在适当单元(端口存储存目录内)存放地址信息。在本实施方案中,端口存储目录寄存器包含一4×4的入口阵列。即共有四个层,每层包括4个组。每个入口在本方案中包含一个40位字,其中有16位为真实地址,11位为缓存地址,1位为缓存标识符(识别地址是在操作缓存还在指令缓存),有二位为缓存层信号(指出地址表示那一层缓存),2位为交换识别信号(指出如交换时在交换缓冲器中的地址)以及八个操作标记位,它们指出与该地址相同的何者操作已被调用。在端口存储目录寄存器中的十六个入口应足以容纳所有排在流水线上的已完成的操作。
一旦一进入中央单元结构的流水线(图2)的操作入口完成后,与它相关的地址将送入端口存储目录60,且自流水线活动控制单元52来的命令指示端口存储目录60的寄存器应加检索,以决定是否在流水线中有关同一地址的其它未完成的操作。在这种比较后,如果在端口存储目录中并未发现相同的地址,然后新入口的地址则进入端口存储目录的阵列中。另一方面如果存储目录中发现另一入口,指向同一有问题的地址,则“命中”应加鉴定,决定是否新入口与前入口兼容或有冲突。如无冲突则新入口作为另一“失误”入口处理。另一方面,如果为一种冲突,则控制信号会送入中央处理器,进行必要的修正处理,以避免此项冲突,不然会导致错误的数据进入电脑系统。
试回想由取指令单元26(图2)中来的地址信息,加至指令堆栈保护单元58的输入端。同一地址信息也送往端口存储目录60的输入端。该地址也与缓存地址信息(已存放在端口存储目录60中)比较,如在端口存储目录中找不到相同的地址,端口存储目录将送出一个作为检索结果的“失误”信号至指令堆栈保护单元58,另一方面,如果发现相同的地址,则“命中”,并鉴定误信号以决定是否会导致冲突,转而在电脑系统中产生错误结果。如果最后真有这种冲突,则送入指令堆栈保护单元58的“检索结果”信号将会指示,并且指令堆栈保护单元58然后会送出它的“洗刷指令堆栈”信号。
同样,当通过复制目录56的分层结构接收到由中央接口单元来的信号时,该信号表示一中央接口单元来的一命令和一地址,该地址与已存入复制目录中的地址比较,以决定是否数据组已存在缓存中,然后复制目录56传送地址至端口存储目录以决定是否此地址与流水线中当前而未完成的地址相同。此地址的检索结果经端口存储目录60传送至复制目录活动控制54。如地址在端口存储目录中找不到,则“失误”会传送出去作为检索结果,如遇到“命中”,便“命中”鉴定,以决定是否继续的过程会产生一冲突无效效果。如是则有一适当的指令,经过复制目录活动控制54发出,它不是重复由复制目录56来的请求(在冲突已经非决以后),就是传送一“干扰”信号至流水线活动控制单元52,以进行所需的中央处理器及中央接口单元的修改行动。
端口存储目录60的另一功效是在中央处理器正处于处理选择的数据时,为中央处理器的活动存放地址及控制信息,当中央处理器完成其数据处理后,处理结果会存入中央处理器的收集器48中。当将收集器中的数据存放回缓存时,发出一命令至端口存储目录,它释放缓存地址及缓存层次,收集器中的数据将存放其中。同时,当从收集器来的数据存入缓存时,端口存储目录60也传送该数据地址至复制目录56。因此复制目录56可维持其中存有的数据与缓存目录相同。
当送到端口存储目录60的命令包括“写入”缓存时,缓存的地址也传送至指令堆栈保护单元58。指令堆栈保护单元58使与存在其中的数据发生比较的功效,以决定是否在指令堆栈中有一指令会与当前“写入”指令冲突。如果存在此冲突,然后指令堆栈保护单元发出控制信号至流水线活动控制单元和取指令单元。进行必要的补救功作。
在本实施方案中,数据以八字为一组由主存传送至缓存时,每一缓存地址位置为一“双字”或两字位置,它有别于八字成一组的字。因此,每一存在端口存储目录60的地址,代表一“双字”。中央处理器的操作可能涉及少于完整的双字。事实上,可能涉及少到双字的一字的一个或多个字节,编成地址的八字组可从主存中调用或从其它缓存中送来。在这样的电脑系统中,并不必使现有数据处理有效以前等待整个八字组传入缓存。这是该种中央处理器的特点。
由于主存数据的传送为一极慢的过程,相对而言,中央处理器处理过的数据可在主存数据来以前便已进入缓存。
如果是这样,由中央处理器处理过的数据(存于缓存)会由主存来的老数据重写,而失去处理过的或新的数据。为防此种损失,区域控制单元62对每一个在端口存储目录60的入口存有一组区域控制信号。在端口存储目录中的每一地址代表缓存的双字入口。每一个字由四个字节或区域所组成。因此每一双字应包括八个区域或字节。每一双字的区域由一存在与区域控制单元成位置关系的“位”信号所代表。
如图3所示,区域控制单元接受一由中央处理器来的存储命令,表示中央处理器被指示去根据已知地址在缓存中进行存储操作。区域控制单元62接收从中央处理器的收集器48来的特定区域信号,或者直接来自中央处理器的十进制/字符执行单元36的特定区域信号。区域控制信号指示那个双字区域或字节会被保留,用于中央处理器的处理。这些信号包含一为任何其它来源而来的数据入口区域所用的禁止信号。当事务处理已经完成,会从中央接口单元接到“命令完成”信号,使区域控制单元从其堆栈中消除该入口。该信号将导致一“入口消除(ENTRY RESET)”信号传送到端口存储目录60。此“入口消除”信号有消除(重新再来)相应标记信号的效果,此标记信号为存于端口存储目录并与特殊入口有关的数据的一部分。
图3所示的端口组件的区域控制单元62更详细地显示在图4、5和6中,特别是图4。区域控制单元包括一第一区域堆栈64,代表一“双字”0;第二区域堆栈66,代表“双字”1;第三区域堆栈68,代表“双字”2;第四区域堆栈70,代表“双字”3。有一区域堆栈单元均有一十六入口的寄存器,而每一入口具有为记录区域控制双字标记的能力。在本实施方案中,每一“字”包括4个字节或区域。所以区域堆栈中的每一入口包括一八位字,每一“位”表示双字字节的一个位置或区域,因此如本实施方案中所述的数据8字组已编址于相关的缓存中,并由在四个区域堆栈64、66、68、70中的每一个“双字”控制信号来表示。区域堆栈64的输入是经选择器72完成。选择器72为一有二输入端的选择器,其中一输入端包含区域控制信号,用以主动地将适当区域信号装入区域堆栈寄存器64,另一输入端为全部逻辑“零”,它可选择性地起动以消除在区域堆栈寄存器64中的相关入口。一类似选择器74与区域堆栈寄存器的输入连接。与此相似,选择器76和选择器78分别与区域堆栈68和70的输入耦合。
选择器72、74、76、78的信号输入及由此至相关区域堆栈64、66、68、70的信号输入是经一回层选择器80而完成。选择器的第一层指定为输入寄存器,用于从相关中央处理器收集器48接收的区域控制信号。选择器80的第二层指定为接受由相关中央处理器的十进制1字符执行单元36而来的区域控制信号。选择器80的第三层为“组合”(如图4所示),接收由输出选择器82来的输出。这将在后面讨论。选择器80的第四层标示为“组合IT”,此层安排为接收直接与选择器80的输出相联的区域缓冲器84输出信号。选择器80的输出端也与选择器72、74、76、78的“负载”输入连接。
每一区域堆栈单元64、66、68、70的输出加至相关的选择器82的选择层次。因此,“双字”0、“双字”1、“双字”2或“双字”3可以分别选出。由选择器82选用的“双字”加至区域来源缓冲器86。区域来源缓冲器86的输出加至选择器80的“组合”输入端。区域来源86的输出也加至缓存区域缓冲器,用于实际控制在指定的缓存中所示地址复原。
区域控制单元的操作受二个控制元件的操作控制,首先为一“区域组合”及“负载控制”元件90和一“区域清除”及“来源控制”元件92。此等元件分别详述于图5和图6中。由图5可见,“区域组合”及“负载控制”元件90接受从相关中央处理器来的处理存储信息,信息包含指示即将来到的区域信号确为有效信号的一“有效”信号及指示是否信号已自收集单元或十进制/字符执行单元接收的一“标志(TYPE)”信号。“区域堆栈地址”信号也被接收,它识别在各区域堆栈64-70中的十六个入口中的哪一个已被编址。同时“双字地址”信号也被接收以识别四个堆栈中哪一个已被编址。此等信号加至并存储于相关寄存器中,因此,“有效”信号存于“有效”寄存器94中,“标志”信号存于“标志”寄存器96中,“区域堆栈地址”存于相应寄存器98中,而“双字地址”信号存于寄存器100中。
处理器存储信息由控制元件90在区域信号前约一电脑时钟周期接收,信息也送至选择器80的输入端,在寄存器96中的“标志”信号在后序时钟信号时从加至收集器区域输入端和十进制/字符执行单元区域输入端两者中选一,这两端为选择器80最初的二个选择段,当前“堆栈地址信号”在比较器102中与以前周期时存放于寄存器98的堆栈地址信号比较,以决定是否有堆栈地址已识别的相同数据组的“背对背”(Back-to-Back)存储指令。同样,当前的“双字地址”与寄存器100以前周期的“双字地址”比较。如果当前“堆栈地址信号”与以前“堆栈地址信号”相同,而“双字地址”的字地址又与以前的“双字地址”的字地址相同,则比较器102和104的输出作为输入信号加至一与门106。如果当前和以前的信号由当前“有效”信号和以前“有效”信号(从寄存器94来)指示有效,上述两“有效”信号也加至与门106的相应输入端,则与门输出信号在并入控制寄存器108中建立一控制状态。如果两者信号不同,则并入控制寄存器108中建立的控制状态不同。尤其是如果比较器102和104指示为一种误配,也即此并非为相同双字的背对背指令,则并入信号的适当来源将是定位于区域来源缓冲器80中的区域信号,该信号送回选择器80的输入端,并存放于称为“组合”的层中。另一方面,如果已有对同一数据作背对背存储指令,将会在区域缓冲器84中找到真正的字。该信号已送回到选择器80的输入端,并存放在称为“组合IT”的层中。
从缓冲器94来的有效信号加至选择器72、74、76、78的输入端,并在信号有效时复原那些选择器。当前区域堆栈地址信号除加至区域堆栈地址缓冲器98外,也加至双字堆栈64、66、68、70的“读出”输入端。区域堆栈地址98的输出端也加至双字堆栈64、66、68、70的“写入”控制输入端,同样,双字地址除加至双字地址缓冲器100的输入端外,也加至选择器82的输出控制。
图6中,对区域清除及来源控制元件92作了更详细图示。一“有效”信号指示存储系统信息组存储指示的有效性,“有效”信号存放在“有效”信号缓冲器110中,其使用目的不仅仅形成本发明的一部分,它还作为输入信号加至计算器112。计算器的输出作为选择器82区域堆栈输出端的控制信号、双字计算器112的输出也作为至“计数等于3”加法线路114输入信号用。线路114的输出作为选择器72、74、76、78加至双字堆栈64、66、68、70输入端的控制信号。一“区域堆栈地址”缓冲器116接收从中央接口单元来的“区域堆栈地址”信息,并在适当时候将控制信号加至双字堆栈64、66、68、70的“读出”或“写入”输入控制。
在此可看出,处理器存储信息在区域信息前一时钟时间由区域组合及负载控制单元90接收,区域信息由输入选择器80所接收。在这最初时钟时间周期内,当前“区域堆栈地址”信号用于读出区域信息,该区域信息存于四个双字堆栈64、66、68、70的编址位置中,这些信息读入输出选择器82的相应段中。当前“双字地址”信号使选择器82选择适当的双字存入缓冲器86中。来自区域来源缓冲器86的选出数据绕回并插入选择器80中标有“组合”的段中。
以前时钟周期来的区域数据保持在区域缓冲器84中,在当前周期内也绕回并插入选择器80中标有“组合IT”的段中。
当前时钟周期的“区域堆栈地址”信号与以前周期的“区域堆栈地址”信号比较,正如前述那样,以决定是否有二个连续或背对背的指令对相同双字寻址。这些比较的结果用于通过寄存器108在下一时钟周期控制选择器80的标示为“组合”和“组合IT”段之间的选择。如果对相同的双字地址无背对背的存储指令,寄存器108通过选择器80的“组合”段将影响双字区域数据的选择。另一方面如果同一双字有背对背或连续存储指令,寄存器108将实现经由选择器80“组合IT”段的双字区域数据选择。
下一时钟周期时,区域数据不是由中央处理器的收集器48就是由中央处理器的十进制/字符执行单元传送至选择器80。这些数据分别经选择器80相应标记的段传送。缓冲器96的“标志”信号,实现选择器80二段间的选择。然后选择器80的输出为通过选择器80的已选段逐位“或”(bit-wise OR)信号。该输出然后写入选用的双字堆栈的指示地址中。
这样,区域控制单元可对一已知数据组的多个指令在起始传送数据组进入缓存的起始程序和完成传送的时间间隔内累计区域控制“位”。
当从存储系统向中央处理器所属的缓存传送一数据组时,整个8字组是以双字增量且以数字上的顺序从主存(或从与中央处理器通信的缓存)中取出。当引入存储系统存储信息时,将一“有效”信号加至双字计算器112的输入端,重置计数器至“零”。存储系统存储的信息包括已装入寄存器116的区域堆栈地址信号。在下一时钟周期,“区域堆栈地址”信号加至双字堆栈64、66、68、70的“读出”控制输入端,并输出选择器82的相应段中所存的区域数据。同时“双字计算器”112由“双字”0开始计完数据组的四个双字堆栈,计算器112的输出导致四个双字的通过区域来源缓冲器86加至缓存区域缓冲器88。
当CPU在一需对一数据字修改的指令下操作时,该指令包括自存储系统传插一数据组,产生区域控制信号并存于区域控制单元的双字堆栈中,信号指示在那个区域及有字上作用,在本发明实施方案中,区域控制信号在保护区域中以逻辑“1”出现,或在区域控制堆栈中指定双字的字节位置,“逻辑“0”出现于所有其它区域或数据组的双字字节位置。当存储系统每一数据组的双字传送出以装入缓存,相应双字的区域控制信号由缓冲器88发出,反向并应用以选择性地允许或禁止已寻址缓存单元相应字节或区域位置上。因此仅有中央处理器能写入已寻址的缓存单元保护区域或字节中。如果中央处理器存储至缓存操作已在从存储系统来的数据组已经存入缓存中前完成,则从中央处理器来的新数据不能重写入,也不能由后续存储数据组所毁。
当第四堆栈-“双字”3堆栈已被寻址,“计数二3”寄存器将使选择器72、74、76、78将所有“零”装入双字堆栈64、66、68、70、的相应堆栈的寻址单元中,“区域堆栈地址”信号现联上以启动堆栈中的“写入”控制。如此便有效地清除双字堆栈的寻址单元,并使其作好接收下一数据组的准备,区域信息已存储其中。
因此对电脑系统提供加强的总处理能力,包括了按制从若干来源的数据的并入于缓存单元的装置,同时保留了存储数据的完整性。
权利要求
1.在包括一中央处理器及一主存系统的电脑系统中,所说的中央处理器包括一超高缓冲存储器,对它的操作为主存-至-缓存,且在缓存发生“失误”时,依“主存-至-缓存”命令将整个一组数据由所说主存传入所说缓存,和一并入控制装置,它用于控制在所说数据缓存中将所说主存系统中的数据与所说中央处理器的数据合并,但保留存储存于所说缓存中的数据完整性,所说中央处理器提供将被传输至所说缓存的一数据组的寻址区域或字节位置上所对应的区域信号数据位,其特征在于所说并入控制装置包括一寄存装置,用于存储所说区域信号数据位于所说寄存器的地址单元中的装置,用于有选择地自所说寄存装置根据与一相应数据组有关的-主存-至-缓存命令取出所说信号数据位,所说区域信号数据位用于控制选择允许对所说缓存的相应单元作用。
2.权利要求
1中所述的并入控制装置,其中所说寄存装置包括多个区域堆栈寄存单元,每个寄存单元包括多个寄存入口层。
3.权利要求
2中所述的并入控制装置,其中每个所说的区域堆栈寄存单元入口层是用于接纳区域信号数据位,它表示数据的一双字。
4.权利要求
3中所述的并入控制装置,其中共有四个区域堆栈寄存器,每个均有十六个寄存器入口层,所说寄存装置的每个入口层接纳区域信号数据位构成一八字数据组。
5.权利要求
3中所述的并入控制装置,其中所说存储装置包括一多段输入选择器,一与所说选择器输出相联的第一缓冲寄存器,一与所说寄存器输出相联的第二缓冲寄存器,所说输入选择器与一第一和一第二段相联分别自所说中央处理器中的各个来源接收区域信号数据位,与一第三段相联接收自所说第一缓冲寄存器来的区域信号数据位,与一第四段相联接收自所说第二缓冲寄存器来的区域信号数据位。
6.权利要求
5中所述的并入控制装置,其中每个所说区域堆栈单元包括一分别与在所说区域堆栈单元和所说第一次提到的输入选择器间的接口相联的二段区域堆栈输入选择器。
7.权利要求
6中所述的并入控制装置,其中每个所说区域堆栈输入选择器包括一相联的“装入”段,以有选择地引导所说区域信号数据位进入所说区域城栈单元的指定地址,和一相联的“清除”段,以有选择地将所有零在对应数据组已装入所说缓存时装入所说区域堆栈的指定地址中。
8.权利要求
7中所述的并入控制装置,其中所说提取装置包括一多段输出选择器,所说段的数号与所说区域堆栈单元的数号相对应,所说输出选择器将所说区域堆栈单元和所说第二缓冲器相联,从而有选择地将所说寄存器指定地址中的区域信号数据位装入所说第二缓冲器,一第三缓冲器与所说第二缓冲器的输出端相联,以将所说第二缓冲器和所说缓存相联。
9.权利要求
8中所述的并入控制装置,还包括相联的控制电路,它由所加至的控制信号激励,以控制所说输入选择器、所说区域堆栈选择器、所说输出选择器的操作。
10.权利要求
9中所述的并入控制装置,其中所说控制电路包括一相联的第一控制单元,以响应处理器存储信息,所说第一控制单元包括提供“标志”控制信号以实现在所说输入选择器的第一和第二段间的控制选择的装置,提供一“区域堆栈地址”控制信号以控制对所说区域堆栈寄存器单元寻址的装置,提供“双字地址”控制信号以实现所说输出选择器的若干段间选择的控制的装置,以及提供由所说“区域堆栈地址”信号和“双字地址”控制信号产生的一“合并”控制信号以实现对所说输入选择器的所说第三及第四段间选择的控制的装置,从而实现对输入区域信号数据位与先前区域信号数据位在一个输入周期内的选择合并。
11.权利要求
10中所述的并入控制装置,其中所说控制电路包括一相联的第二控制单元以响应主存储信息,所说第二控制单元包括提供另一“区域堆栈地址”控制信号以控制对所说区域堆栈单元寻址的装置,提供一“双字计算器”信号以提供指示一组传输完成的计数信号的装置,所说计数信号实现所说区域堆栈输入选择器间对“清除”段的选择,这需在所说组传输完成后才能进行,所说“双字计算器”信号在一输出周期中实现所说输出选择器的所说若干段的后续选择。
专利摘要
一寄存器单元,其中已存有与多个缓存事务处理有关的数据,用于识别一已编址字块的区域。该编址字块是用于单独的事务,此类数据是从寄存器中选取,用以控制识别区域或相关字的区域与在编址字组中数据余项的合并。
文档编号G06F12/08GK85105395SQ85105395
公开日1987年1月21日 申请日期1985年7月15日
发明者麦卡蒂 申请人:霍尼韦尔资料系统有限公司导出引文BiBTeX, EndNote, RefMan
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1