专利名称:微处理器总线接口单元的制作方法
技术领域:
本发明涉及半导体微处理器领域。
本发明涉及微处理器中的接口单元,该处理器为Intel80386微处理器的改进型,通常称作386处理器。386处理器包括一个32比特内部数据总线;386处理器总线的细节在许多出版物中都有描述(Intel,80386和386均为英特尔公司的商标)。
386处理器包括一单片(On-Chip)存贮器管理单元。该单元对诸如高速缓冲存贮器、DRAMS、海量存贮器等寻址。此外,本申请描述的处理器还有一单片高速缓冲存贮器和一单片浮点单元。向单片高速缓冲存贮器和浮点单元传送数据会引起某些问题,用本申请描述的接口单元可较好地解决这些问题。这些问题包括数据块的传送,例如向高速缓冲存贮器传送的数据块或与浮点单元有关的大量字节。
16比特或32比特的微处理器与具有较少数据线的存贮器或外部设备相连接,这并非少见。例如,一个32比特的处理能与在每个存贮器周期内提供8比特(单个字节)数据的RAM相连接。在某些情况下,处理器包括一能将外部数据线接到内部数据总线的不同的“字节通道”的多路转换器。这就使外部存贮器能以8比特传送来满足处理器对32比特数据字节的请求。现有技术中的微处理器采用了各种信号表明总线容量。下面将会看到,本发明使总线容量能“在飞行中”实现。这种功能和能够动态确定“猝发”(字符组最后)信号,使本发明的微处理器与已有处理器相比,有所提高。
申请人所知的其它已有技术,有与Maltibus-包括Multibus-Ⅱ(Multibus是Intel公司的商标)有关的总线信号。此外,申请人所知的其它已有技术,在1987年1月14日提交的(序号为006353)题为“高速局部总线和数据传送方法”(1024)的共同未决申请中已经说明。以下已有技术专利已为申请人所知美国专利第4570220,4447878,4442484,4315308和4315310号。
本发明描述了对具有n字节(n大于2)内部数据总线的微处理器的改进(在本发明的优选实施例中,为32比特总线)。该微处理器为-n字节数据传送(读或写)提供地址选择信号。第一输入装置(例如,输入线或插头)接收至少一个信号(字节位数信号),该信号指出存贮器在下一个就绪信号后将传送的字节数。该微处理器有-提供-最后(有时称作“猝发”)信号的输出装置(例如,线或插头),该信号指示出,来自微处理器的数据传送请求将用下一个就绪信号上出现的数据传送来满足。微处理器中有产生猝发信号的逻辑装置。该逻辑装置对已传送的字节数进行记录,并且周期性地对字节位数信号进行检测。该逻辑装置能够“在飞行中”改变猝发信号的状态。因此,外部存储器能提供一个特定的字节位数信号作为缺席条件,然后,在存贮器确定其实际能够传送的字节数时改变该信号。猝发信号也跟着改变。
当需要确定存贮器正在寻找来自外部存贮器“可存贮”数据时,与数据向高速缓冲存贮器传送的同时,也使用猝发信号。根据存贮器的“字符组就绪”信号,这种传送能以成组方式实现。该字符组就绪信号还被逻辑装置用来产生猝发信号。
本发明的其它方面在本发明的详述部分再叙述。
图1为描述组成该微处理器的各单元的总框图。
图2为本发明总线接口单元的方框图。
图3为描述该32比特接口单元与8比特外部总线连接方式的框图。
图4画出了用于说明总线接口单元操作的波形。
图5画出了用于说明总线接口单元操作的波形。
图6为以门阵列来实现的逻辑框图。该图用来解释产生猝发信号的电路的工作原理。
叙述微处理器总线接口单元。在下面的描述中,为了彻底理解本发明规定了许多特定的细节,如特定的字节数,等等。然而,对于本领域技术人员来说,显然本发明没有这些特定的细节也可实现。在其它情形下,为了不影响对本发明的理解,一些熟知的电路没有详述。
参看图1,采用了本发明总线接口单元10的微处理器以总方框图的形式示出。该接口单元10与32比特外部数据总线30相连。此外,还与地址总线31和几条其它控制线相连,这些连接将结合图2来叙述。(注意术语“数据”一般指通过数据总线传送的信息,这种信息可包括指令、常量、指示字等)。该接口单元10通过地址总线和数据总线连到高速缓冲存贮控制器12。该控制器12控制高速缓冲存贮器11的存取。该控制器12与地址产生单元14相连;页面单元13通过总线37接于该地址产生单元14和高速缓冲存贮器控制器12之间。为了理解本发明,假设该地址产生单元与市售Intel80386中使用的地址产生单元一样。已转让给本发明受让人的一项(1985年6月13日提交,序号为744389)题为“微处理器的存贮器管理”的共同未决申请,描述了Intel80386的分段法和页面单元。
高速缓冲存贮器11和高速缓冲存贮器控制器12的具体结构对理解本发明并不重要。控制器12和接口单元10之间的信号传送将结合图2来叙述。它是了解本发明是必须的。
在微处理器内,指令被输送到指令译码器单元15。该译码器单元与存贮微代码指令的控制器19一起运行;该控制器19为微处理器提供控制信号序列。指令译码器单元15如图所示被连到控制器19;该控制器的输出被连到微处理器的所有其它单元。数据单元18为一算术逻辑单元(ALU),该单元以与Intel80386类似的工作方式完成ALU功能。
该微处理器还包括一执行浮点计算的浮点单元17。虽然单元17和高速缓冲存贮器11所要求的整块传送对本发明有所促进。但单元17的精确结构对本发明并不重要。
图1的微处理器的最佳实施例可用已知的金属-氧化物-半导体(MOS)技术来实现。再具体来说,可用互补MOS(CMOS)技术来实现。目前的CMOS技术可使时钟频率达到25MHz或更高。
图1中总线接口单元10的主要部分示于图2中虚线53和54之间。高速缓冲存贮器控制器12通过总线周期缓冲器45与接口单元10连通。所有存贮器地址、各种控制信号和所有将输入到外部存贮器的数据通过缓冲器45与单元10连通。输入数据(读数据通道)通过接口单元10直接与高速缓冲存贮器控制器12通讯。
缓冲器45的输出数据被输入到写缓冲器41。该缓冲器“深度”为4,因此允许来自缓冲器45的四个CPU周期信号暂时存贮在四级缓冲器41的任一级中。缓冲器41的输出直接与数据总线30相通。表示存贮器地址,存贮器周期类型和长度的信号,也存贮在缓冲器41中,并且与存贮在该四级缓冲器每一级中的数据有关。表示总线周期类型等的信号,通过导线46从译码器44连到缓冲器41、总线周期多路转换器和译码器42。
总线周期多路转换器和译码器42或者(ⅰ)从缓冲器41(导线38),或者(ⅱ)直接从缓冲器45(导线39)和导线46选择地址信号、总线类型信号等。多路转换器和译码器42的输出连到锁存器43。该锁存器的输出通过总线31提供地址信号(30比特地址和4比特(字节启动信号),其导线33为存贮器提供地控制线。
缓冲器45的4比特信号被传送到总线周期译码器44,显示总线周期类型。这些比特信号显示直到16种不同的总线周期。如存贮器读,存贮器写,I/O读/写,预取,转移指令,锁定读出,锁定写入,不完全写入,在线仿真(读或写)和对页面单元13的读、写。总线周期类型比特信号在译码器44中被译码,并且用来控制例如多路转换器42,还有提供如将要讨论到的“猝发”信号这样的输出。
总线控制器49,除了接收将要讨论的其它几个输入外,还通过导线55接收总线周期请求信号。该总线控制器,通过导线57将控制信号,提供给包括总线周期译码器44、总线周期多路转换器和译码器42、锁存器43和缓冲器41等的总结接口单元10。该总线控制器作为普通的状态装置工作。
该总线周期译码器44提供猝发信号(字符组最后,有时称作最后信号)。该信号(低电平有效)表明,通过导线27和28在下一个就绪信号满足微处理器的数据请求(输入或输出)。在本申请的后面将讨论该信号的产生和使用,以及它通过导线36与高速缓冲存贮器启动信号(KEN)之间的相互影响。
总线接口单元的主要外部输入和来自10的主要输出(到外部电路)在图2中沿着线54所示。数据总线30是32比特双向总线。结合图3将阐明,该总线的所有32根线都需要与外部电路相连。微处理器通过地址总线31提供存贮器地址。该地址由30比特地址信号和4比特字节启动信号组成,后者将结合图3详述。三根存贮器控制线33标明对存贮器的读/写,相对于控制的输入/输出和数据(例如,相对于数据读的存贮器预取)。地址状态(ADS)是导线22上的低电平有效信号,表明总线31的地址有效。
微处理器的存贮器周期请求,一般需要从存贮器读出或向存贮器写入32比特的数据(更大的传送,如与高速缓冲存贮器有关的传送在后面讨论)。在某些情况下,该存贮器也许局限于8比特或16比特总线。如果这样的话,该存贮器通过导线34或35提供一合适的信号。导线35(总线容量为8比特)的信号指出,该传送将以8比特的传送来实现;而导线34(总线容量为16比特)指出,该请求将以16比特的传送来满足。导线34和35连到总线周期译码器44,而它们专门用来在导线29上产生猝发信号将在本申请的后面讨论。
如上所述,该微处理器有一单片高速缓冲存贮器。某些数据被规定存贮在该高速缓冲存贮器中。外部电路检测微处理器的地址,确认某一地址是否在为高速缓冲存贮器设定的地址空间内。一般对指令、常量等作这种检测,而对共享数据不作这种检测。如果外部电路确认了被请求数据是“存储器有效”,即是说,该数据应存在高速缓冲存贮器内,然后,KEN信号在导线36上复原(低电平有效)。该信号被送到译码器44,并且如将要叙述的那样,用来产生猝发信号。
导线23的输入是普通的“保持”信号,而导线24的输出是保持应答信号。导线25(地址保持)上的输入信号表明外部总线将立即被浮动,浮动外部总线是为了在其它设备占有该总线时防止系统锁死。导线26提供外部地址状态。导线27和28分别接收就绪信号和字符组就绪信号。这些信号还被传送到总线周期译码器44,而它们在产生猝发信号方面的应用将在后面讨论。
在某些微处理器中,例如一32比特的内部数据总线可能被直接连到一具有较少线数的外部数据总线。例如,在Intel80386中,一个8比特数据总线可能被直接连到其微处理器内部数据总线的具有较少线数的8线/比特。信号将传送到该微处理器,以便表明只有较少线数的8条数据总线在使用。通常,该微处理器有一内部多路转换器,该转换器允许外部8条数据总线的每根线有选择地连到内部数据总线的四个字节通道。
采用本发明微处理器优选实施例,所有32比特内部数据总线都必须与外部总线相连。在外部数据总线仅为8或16线/比特宽的情况下,如图3所示的多路转换器60,使8线或16线的外部数据总线有选择地与内部数据总线的任一字节通道相连。图3中(8比特外部总线)用总线接口单元10(直接连到多路转换器60)的数据总线的32线表明这种连接。多路转换器60将8比特总线61连到总线30的四个字节通道中的任一个。微处理器输出一字节启动比特信号去控制该多路转换器60。由此,该微处理器决定其内部总线的哪一个字节通道将连到外部数据总线。如上所述,在某些已有技术的微处理器中,相应于多路转换器60的电路被包括在芯片里。当该多路转换器在芯片上时,数据总线上的所有信号都得通过这一多路转换器。通过该多路转换器有一延迟,因此,当该多路转换器在芯片上时,所有的输入和输出信号都被该多路转换器延迟。所以,即使使用32比特外部数据总线,通过多路转换器也产生延迟。这种延迟对主要想获得最高性能的使用情况不利。采用本发明的接口单元,该总线接口10被连接到32比特数据总线,因此,不需要多路转换器60。当使用32比特外部总线时能获得较高的性能。
导线29上的猝发信号(低电平有效)表出,CPU的存贮器请求将在下一个就绪信号(导线27或28)被满足。在下面的情形下,上述信号特别有用当数据以少于32比特字向存储器传送;在字符组周期内,例如数据块正送进高速缓冲存贮器;或者为浮点单元传送长度大于32比特的字节。可以以不同的方式使用该猝发信号。它能用来产生一“锁定”信号,以使阻止对正被微处理器进行存取的存贮器或存储器空间进行读或写。这样的锁定信号将使,例如相关数据的一部分数据块在被读入该微处理器时不被扰乱。
下面将会看到,重要的是该猝发信号能“在飞行中”改变状态。确立猝发信号状态的那些信号,如BS8、BS16和KEN被周期性地取样,并且对每一个这样的取样,猝发信号的状态被再确立。因此,处于缺席状态的外部存贮器一旦从微处理器接收到一地址选择信号,就使BS8和BS16有效,并且稍后,就确认该微处理器能作8比特、16比特或32比特的传送。下面将会看到,在就绪信号复原之前,该猝发信号能改变几次状态。
参考图4,猝发信号在微处理器发出对存储器进行存取的普通请求命令时的工作波形,如该图所示。垂直线62-68表示内部时钟信号(如,25MHZ)出现的时刻。ADS的波形表明在时刻62之后,微处理器在导线22上输出一信号(低电平有效),表示一新地址已进入地址总线31。该地址信号用由跃变69表示的变为有效的新地址信号表示。
假设外部存贮器一旦接收到ADS信号和地址,就确认其将以8比特传送来满足微处理器的32比特请求。外部存贮器使BS8信号变低来满足这种请求。上述情况出现在时刻63之后。然而,在时刻63,该BS8信号被微处理器检测,并发现其为高电平(假设BS16信号为高电平)。在时刻63对BS8和BS16高电平的检测表明,全部32比特将在下一个就绪信号时被传送,因此在一个周期里满足微处理器的请求。在此条件下,如箭头70所示,该猝发信号被拉向低电平。在时刻64,再次检测BS8信号,此时为低电平。微处理器将该低电平解析为将出现8比特的传送,因此,在下一个准备信号时仅传送被请求的32比特中的8比特。所以,需要附加存贮器周期来完成微处理器的未决请求。如箭头71所示,猝发信号被拉为高电平,表明在下一个存贮器周期后需要更多的存贮器周期来完成微处理器的未决请求。其后不久,就绪信号如脉冲72所示。由于该脉冲,8比特的数据在微处理器和存贮器之间传送,剩余24比特尚需传送来完成微处理器的未决请求。
在首次传送出现后,BS8信号(在时刻65和66之间)变为无效(再次假定BS16信号仍为无效)。这表明存贮器能存贮多于32比特的传送。在时刻66检测BS8信号的状态,微处理器将此状态解析为在下一个存贮器周期后,24比特将被传送,未决请求将被满足。猝发信号如箭头73所示,现为有效。在下一个就绪信号后24比特数据被传送,完成第二个存贮器周期和事务处理。
从图4应注意到,在微处理器请求未决期间内,猝发信号改变状态不只一次。事实上,在就绪信号复原之前,猝发信号能改变状态任意次。这就为在微处理器和存储器之间可能出现的各种传送允许了最大的灵活性。
图4的讨论尚未描述字节启动信号的状态。这些信号将用图5给出的例子来详述。但是,一般来说,一旦BS8或BS16信号为有效,当该8比特复原时,字节启动信号决定使用哪一个字节通道。在某些情况下,字节启动信号如图3所示那样被连到MUX60或被连到其它外部电路,该外部电路控制输入到由字节启动信号标明的一个字节通道或多个字节通道的信号。
导线29上的猝发信号由总线周期译码器44产生。在其现行优选实施例中,该译码器为一逻辑阵列。用实现该逻辑阵列的方程式能很好地描述该逻辑阵列中产生猝发信号的那一部分。这些方程式很容易变成逻辑电路(例如门,等等)。
在下面的方程式里,“.”代表逻辑“与”,“+”代表逻辑“或”。符号“#”代表逆函数,具体来说,“brest#”指出b-reset条件不真。总线的不同状态用t1(表明微处理器正在发出-新地址)、t2(表明微处理器正在寻找数据)和ti(空闲状态)来表示。“Firstfill”代表在高速缓冲存贮器填充时的最先总线周期(如,16字节中的最先4字节正被传送进高速缓冲存贮器),进行“Firstfill”时KEN信号被检测。BS8和BS16分别代表导线35和36上的信号。“ncnt”代表余下用来满足微处理器请求的字节数。在电路里,该值为5-比特字段。在下面的方程式中,该字段中的比特用括号括起来。例如,如果括号括起“<1---->”,而且字段中的第一个比特为二进制值的话,则字段的状态满足方程式(就是说,该项为真)。字段中的虚线表明,就满足括号中的条件来说,比特的状态无关紧要。
为理解本发明,特别为理解猝发信号,可以假设猝发信号与morecyc一样。事实上,除普通存贮器周期外的其它周期是有些不同。例如,对边界扫描周期并不要求猝发信号。然而,这些不同对理解本发明的优选实施例并不重要。
“ncntadd”代表当就绪信号复原后,为了某一特殊传送需减掉的比特数。“ncntadd”是由一串“ncntadd2”、“ncntadd1”和“ncntadd0”组成的一个3比特字段。例如,如果“ncntout”是<10000>(16),而“ncntadd”是<001>(1),则“ncnt”成为<01111>(15)。这一运算如图6所示。该方程式实现的逻辑,以框图形式由逻辑99来表示。该减法运算由减法器100来执行。BRDY信号或RDY信号使锁存器101收集“ncntout”减去“ncntadd”之值,以便获得新的“ncnt”。这一“ncnt”的新值用来确定morecyc的状态。
“alout”和“aOout”代表总线周期和实际地址“1”和实际地址“0”。
morecyc=breset#.(ncnt<1->
+ncnt<01->
+ncnt<0011->
+ncnt<001-1>
+ncnt<001->.bs16+ncnt<001->.bs8+ncnt<00011>.bs16+ncnt<0001->.bs8+ncnt<001->.T2#+ncnt<00-1>.T2#+ncnt<00-1>.T2#+firstfill.T2);
ncntadd0=T2.(bs8+(a0123<-1>.firstfill#));[1or3bytes]ncntadd1=T2.(bs16.bs8#.(a0123<-0>+firstfill))[2or3bytes]+(a0123<10>.bs8#+a0123<01>.bs8#.bs16#)).firstfill#);
ncntadd2=T2.bs8#.bs16#.(a0123<00>+firstfill); [4bytes]ncntout4=firstfill+ncnt<1->;
ncntout3=firstfill#.ncnt< -1->;
ncntout2=firstfill#.ncnt< -1->;
ncntout1=firstfill#.ncnt< -1->;
ncntout0=firstfill#.ncnt< -1>;
a1out=firstfill#.a0123<1->
a0out=firstfill#.a0123< -1>;
现参看图5,画出了以上论述过的数据传送时的信号波形。垂直线80-91代表时间。为便于论述,假定在由这些垂直线表示的时刻检测KEN信号。
在时刻80没有提供任何地址,因此,处理器不请求数据。在此状态Morecyc为低电平。在时刻80和81之间,ADS电位下降,表示地址出现,地址40出现在地址线上。假定字节启动信号提供信号1011。这一切表明,在该存贮器请求下,处理器正在寻找一个单字节。(如果一个典型的32比特传送被请求,该字节启动信号为0000)。同样地,在时刻80和81之间,bs8为有效,表明存贮器将以8比特传送来满足请求,并且KEN也为有效,表明被寻找的数据是可存入高速缓冲存贮器的。
在时刻81,检测KEN信号为有效,并且如线95标明的那样,“firstfill”变为有效-因为下一个传送是第一个高速缓冲存储器的周期。参看上述方程式,由于“firstfill”为高电平,所以ncntout 4的状态被满足。由于“firstfill”为高电平,ncntout 3,ncntout 2,ncntout 1,ncntout 0都为低电平。由于bs8有效,ncntout 0的状态也被满足,处理器在寻找数据。此刻,及时地检测图6中的减法器ncntout为<10000>(16);ncntadd为<001>(1),因此,nent等于<01111>(15)。再参看上述方程式,ncnt<01--->为有效,因此,morecyc为有效。图5示出在时刻81和82之间morecyc为有效。
在时刻82,KEN成为无效。(可能引起这一无关紧要情况的某一特定存贮器状态,此时,让KEN为无效表明本发明系统的灵活性)。当KEN在时刻82为无效时,如线96表明的那样,“firstfill”电位下降。一旦“firstfiu”电位下降,图6减法器的输入都一样,ncnt为<00000>。morecyc的任一项都没有被满足,morecyc的电位下降。这表明下一个传送将满足微处理器的未完的8比特请求。(注意,因为字节启动信号为1011,微处理器仅请求8比特数据,因此,即使bs8为有效,该请求也被满足)。
在时刻82和83之间,KEN信号又成为有效。在时刻83,该信号被检测。如线97表明的那样,“firstfill”电位上升。在这状态下,ncnt变为15,morecyc电位上升,表明下一个传送将不满足处理器的未完请求。在时刻83和84之间,BRDY电位下降,传送出现。(事实上,因为KEN复原,1011字节启动信号可不考虑。如上所述,因为数据是一字节一字节地传送的,字节启动信号以有序的方式依次周期出现)。
在首次传送出现后(在时刻84之后),由于完成了猝发周期的首次传送,KEN信号保持低电平,“firstfill”电位下降。
在时刻85到91,每当BRDY为有效,传送另一个8比特,并且每传送一次,ncnt的值减1。在时刻90,减法器的输入都一样,morecyc的任一项都不满足。morecyc信号成为无效,表明上一个传送将满足存贮器的请求。
到此,论述完了微处理器的接口单元。该单元能对影响传送的信号,例如,字节位数和高速缓冲存贮器启动信号进行“动态”处理。
权利要求
1.一微处理器,有一个n字节(n大于2)的内部数据总线,该微处理器为n字节的数据传送提供地址选择信号,并且在外部存储器作好传送数据准备时接收就绪信号,该微处理器有如下改进输入装置,用来接收至少一个字节位数信号,该信号表示在下一个就绪信号时在上述存储器与该微处理器之间将传送的字节数;输出装置,用来提供最后信号,该信号表示由上述微处理器发出的数据传送请求将由在下一个就绪信号时出现的数据传送来满足;逻辑装置,用来产生上述最后信号,并与上述输入和输出装置相连,该逻辑装置在上述微处理器提供了上述地址选择信号后记录传送的数据字节数,并且周期性地检测上述字节位数信号中,该逻辑装置能够根据对上述字节位数信号每次检测的变化,在上述就绪信号之前改变上述最后信号。
2.权利要求1所限定的改进包括字节启动信号产生装置,用来产生字节启动信号,该信号表示了上述用于数据传送的数据总线的通道。
3.权利要求1所限定的改进其特征在于上述微处理器包含一高速缓冲存贮器。
4.权利要求3所限定的改进其特征在于上述微处理器包含一辅加输入装置,用来接收在该微处理器外部产生的高速缓冲存贮器启动信号,该信号指出由于上述地址选择信号的作用,而应向上述微处理器传送的查询数据是否将存贮在上述高速缓冲存贮器中。
5.权利要求4所限定的改进其特征在于上述高速缓冲存贮器启动信号被输入到上述逻辑装置,被周期性地检测和用来产生上述最后信号,上述逻辑装置能够根据对上述高速缓冲存贮器启动每次检测的信号变化来改变上述最后信号。
6.权利要求1或5所限定的改进其特征在于上述微处理器包含另一输入装置,用来接收字符组就绪信号,该信号指出上述外部存贮器响应上述地址选择信号已作好传送数据串的准备,上述字符组信号被输入到逻辑装置,用来产生上述最后信号。
7.权利要求6所限定的微处理器其特征在于该微处理器包含一用于进行浮点计算的浮点单元。
8.一微处理器,有一32比特内部数据总线,该微处理器为32比特数据传送提供地址选择信号,并且在外部存贮器作好传送数据准备时接收就绪信号,该微处理器有如下改进第一导线,用于接收表明上述外部存贮器将传送8比特数据的输入信号;第二导线,用于接收表明上述外部存贮器将传送16比特数据的输入信号;第三导线,用于传输最后信号,该信号指出由上述微处理器发出的数据传送请求将由在下一个就绪信号时出现的数据传送来满足;逻辑装置,用来产生上述最后信号,该逻辑装置与上述第一、第二及第三导线相连接,该逻辑装置记录在上述微处理器提供了上述地址选择信号后被传送的数据字节数并且周期性地检测上述第一导线和第二导线接收的信号,该逻辑装置能够对上述第一导线和第二导线接收信号变化的每次检测在上述就绪信号变化之前改变上述最后信号。
9.权利要求8所限定的改进其特征在于上述微处理器根据上述第一导线和第二导线接收的信号来产生字节启动信号,该信号指出将用于数据传送的上述数据总线的字节通道。
10.权利要求8所限定的改进其特征在于上述微处理器包含一高速缓冲存贮器。
11.权利要求10所限定的改进包括第四导线,用来接收转入信号,该信号指出应向上述微处理器传送的数据是否将存储在上述高速缓冲存储器中(高速缓冲存储器启动信号),上述第四导线被连到上述逻辑装置,上述高速缓冲存贮器启动信号被上述逻辑装置周期性地检测以便用来产生上述最后信号,上述逻辑装置能够根据每次检测的高速缓冲存储器启动的信号的变化在上述就绪信号变化之前改变上述最后信号。
12.权利要求8或11所限定的改进包括第五导线,用来接收表明上述外部存储器已做好以成组方式传送数据的转入信号,上述第五导线连接到上述逻辑装置并用来产生上述最后信号。
13.一微处理器,有一个n字节(n大于2)的内部数据总线,上述微处理器提供地址选择信号,并且当外部存贮器做好数据传送准备时接收最先就绪信号,该微处理器有如下改进与上述内部数据总线相连的一高速缓冲存贮器;输入装置,用来接收高速缓冲存贮器启动信号,该信号指出应向上述微处理器传送的数据是否将存贮在上述高速缓冲存贮器内;输出装置,用来产生最后信号,该信号指出由上述微处理器发出的数据传送请求将由在下一个就绪信号时出现的数据传送来满足;逻辑装置,用来产生上述最后信号,它与上述输入和输出装置相连,该逻辑装置在上述微处理器提供了上述地址选择信号后记录传送数据的字节数,并且周期性地检测上述高速缓冲存贮器启动信号,该逻辑装置能够根据对上述高速缓冲存贮器启动信号每次检测的变化来改变上述最后信号。
14.权利要求13所限定的改进包括一辅加输入装置,用来接收表明上述外部存贮器准备以成组方式传送数据的字符组就绪信号,上述字符组就绪信号被输入到上述逻辑装置并且用来产生上述最后信号。
15.权利要求14所限定的改进包括另一输入装置,用来接收至少一个字节位数信号,该信号指出在下一个就绪信号时,在上述存贮器与该微处理器之间将传送的字节数,上述字节位数信号被输入到上述逻辑装置并且用来产生上述最后信号,上述逻辑装置周期性地检测上述字节位数信号并且能够根据对上述字节位数信号每次检测的变化来改变上述最后信号。
16.权利要求15所限定的改进其特征在于上述微处理器产生字节启动信号,该信号指出用于数据传送的数据总线通道。
17.一微处理器,有如下改进地址选择信号发生装置,用来产生向外部存贮器请求数据的地址选择信号;高速缓冲存贮器;第一输入装置,用来接收一外部信号,该信号表明由上述地址选择信号请求的数据落在预定数据块之内,就是说,存贮在上述高速缓冲存贮器中;信号发生装置,用来产生一信号,该信号表明紧接在从上述外部存贮器向上述高速缓冲存贮器传送数据时,将完成上述预定数据块的传送。
全文摘要
本发明描述了对具有n(n>2)字节内部数据总线的微处理器的改进,该微处理器为n字节的数据传送提供地址信号,并且当外部存贮器准备好传送数据时接收就绪信号,该微处理器的改进包括一个接收至少一个字节位数的输入装置、提供最后信号的输出装置和产生该最后信号的逻辑装置。它能对影响传送的信号,例如字节位数和高速缓冲器启动信号进行“动态”处理。
文档编号G06F13/40GK1040105SQ8910063
公开日1990年2月28日 申请日期1989年2月4日 优先权日1988年8月1日
发明者肯尼思·D·舒梅克 申请人:英特尔公司