CN1018098B - 微处理器总线接口单元 - Google Patents

微处理器总线接口单元

Info

Publication number
CN1018098B
CN1018098B CN89100636A CN89100636A CN1018098B CN 1018098 B CN1018098 B CN 1018098B CN 89100636 A CN89100636 A CN 89100636A CN 89100636 A CN89100636 A CN 89100636A CN 1018098 B CN1018098 B CN 1018098B
Authority
CN
China
Prior art keywords
signal
microprocessor
data
ready
logical unit
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
CN89100636A
Other languages
English (en)
Other versions
CN1040105A (zh
Inventor
肯尼思·D·舒梅克
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN1040105A publication Critical patent/CN1040105A/zh
Publication of CN1018098B publication Critical patent/CN1018098B/zh
Expired legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • G06F12/0879Burst mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4009Coupling between buses with data restructuring
    • G06F13/4018Coupling between buses with data restructuring with data-width conversion

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Microcomputers (AREA)
  • Memory System (AREA)
  • Bus Control (AREA)

Abstract

本发明描述了对具有n(n>2)字节内部数据总线的微处理器的改进,该微处理器为n字节的数据传送提供地址信号,并且当外部存贮器准备好传送数据时接收就绪信号,该微处理器的改进包括一个接收至少一个字节位数的输入装置、提供最后信号的输出装置和产生该最后信号的逻辑装置。它能对影响传送的信号,例如字节位数和高速缓冲器启动信号进行“动态”处理。

Description

本发明涉及半导体微处理器领域。
本发明涉及微处理器中的接口单元,该处理器为Intel80386微处理器的改进型,通常称作386处理器。386处理器包括一个32比特内部数据总线;386处理器总线的细节在许多出版物中都有描述(Intel,80386和386均为英特尔公司的商标)。
386处理器包括一单片(On-Chip)存贮器管理单元。该单元对诸如高速缓冲存贮器、DRAMS、海量存贮器等寻址。此外,本申请描述的处理器还有一单片高速缓冲存贮器和一单片浮点单元。向单片高速缓冲存贮器和浮点单元传送数据会引起某些问题,用本申请描述的接口单元可较好地解决这些问题。这些问题包括数据块的传送,例如:向高速缓冲存贮器传送的数据块或与浮点单元有关的大量字节。
16比特或32比特的微处理器与具有较少数据线的存贮器或外部设备相连接,这并非少见。例如,一个32比特的处理能与在每个存贮器周期内提供8比特(单个字节)数据的RAM相连接。在某些情况下,处理器包括一能将外部数据线接到内部数据总线的不同的“字节通道”的多路转换器。这就使外部存贮器能以8比特传送来满足处理器对32比特数据字节的请求。现有技术中的微处理器采用了各种信号表明总线容量。下面将会看到,本发明使总线容量能“在飞行中”实现。这种功能和能够动态确定“猝发”(字符组最后)信号, 使本发明的微处理器与已有处理器相比,有所提高。
申请人所知的其它已有技术,有与Malti    bus-包括Multi    bus-Ⅱ(Multibus是Intel公司的商标)有关的总线信号。
以下已有技术专利已为申请人所知:美国专利第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之间。为了理解本发明,假设该地址产生单元与市售Intel    80386中使用的地址产生单元一样。
高速缓冲存贮器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”、“ncntadd 1”和“ncntadd0”组成的一个3比特字段。例如,如果“ncntout”是<10000>(16),而“ncntadd”是<001>(1),则“ncnt”成为<01111>(15)。这一运算如图6所示。该方程式实现的逻辑,以框图形式由逻辑99来表示。该减法运算由减法器100来执行。BRDY信号或RDY信号使锁存器101收集“ncntout”减去“ncntadd”之值,以便获得新的“ncnt”。这一“ncnt”的新值用来确定morecyc的状态。
“a1out”和“a0out”代表总线周期和实际地址“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#));    [1    or    3    bytes]
ncntadd1=T2.((bs16.bs8#.(a0123<-0>+firstfill))    [2    or    3    bytes]
+(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”为高电平,所以ncntout4的状态被满足。由于“firstfill”为高电平,ncntout3,ncntout2,ncntout1,ncntout0都为低电平。由于 bs8有效,ncntout0的状态也被满足,处理器在寻找数据。此刻,及时地检测图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信号成为无效,表明上一个传送将满足存贮器的请求。
到此,论述完了微处理器的接口单元。该单元能对影响传送的信号,例如,字节位数和高速缓冲存贮器启动信号进行“动态”处理。

Claims (3)

1、在具有n字节内部数据总线的微处理器中,n大于2,所述微处理器用于提供地址信号,或者当外部存储器准备传送数据时用来接收就绪信号,所述微处理器包括一个超高速缓冲存储器,其特征在于,所述微处理器还包括:
接收至少一个字节位数信号的第一输入装置,该信号表示在下一个就绪信号时在外部存储器和所述微处理器之间将传送的字节数;
提供最后信号的输出装置,该信号表示由上述微处理器发出的数据传送请求将由在下一个就绪信号出现时的数据传送来满足;
产生所述最后信号的逻辑装置,它与所述输入和输出装置相连,该逻辑装置在上述微处理器提供了所述地址信号后记录传送的数据字节数,并且周期性地检测所述字节位数信号,所述逻辑装置能够根据有关所述就绪信号的所述字节位数信号每次检测的变化改变所述最后信号;
接收外部产生的送给所述微处理器的高速缓冲存储器启动信号的第二输入装置,该信号指出要由所述地址信号传送到所述微处理器的数据是否要存在所述高速缓冲器存贮器中;
其中,所述高速缓冲器启动信号耦合到所述逻辑装置,并周期性地被检测和使用来产生所述最后信号,所述逻辑装置能够根据有关所述就绪信号的所述高速缓冲器启动信号每次检测的变化来改变所述最后信号;
其中,所述微处理器还包括接收成组就绪信号的第三输入装置,所述成组就绪信号指出,所述外部存储器已准备就绪响应于所述地址信号传送成组数据,所述成组信号耦合到所述逻辑装置并用来产生所述最后信号。
2、在有32比特内部数据总线的微处理器中,所述微处理器为传送32比特数据而提供地址信号,并接收关于外部存储器准备就绪传送数据的就绪信号,所述微处理器还包括一高速缓冲存储器和执行浮点计算的装置,其特征在于,所述微处理器中包括:
接收指明所述外部存储器将传送8比特数据的输入信号的第一导线,接收指明所述外部存贮器将传送16的比特数据的输入信号的第二导线,用于传送最后信号的第三导线,该最后信号表示,所述微处理器的数据传送请求将用下一个就绪信号时的数据传送来满足;
产生所述最后信号的逻辑装置,该逻辑装置连接到所述第一、第二和第三导线上,所述逻辑装置在所述微处理器提供了所述地址信号后记录被传送的数据字节数,并且周期性地检测在第一导线和第二导线上的这种信号,所述逻辑装置能够在所述就绪信号之前,随在所述第一导线和第二导线上每次探测的变化来改变所述最后信号;
接收表明要被传送到微处理器的数据是否要存储在所述高速缓冲存储器中的输入信号(高速缓冲器启动信号)的第四导线,该第四导线连接到所述逻辑装置,所述高速缓冲器启动信号被周期性地检测,并被所述逻辑装置用来产生所述最后信号,所述逻辑装置能够在所述就绪信号之前根据所述高速缓冲器启动信号每次检测的改变而改变所述最后信号;
接收表明所述外部存贮器已准备好、成组模式传输数据的输入信号的第五导线,所述第五导线连接到所述逻辑装置并用来产生所述最后信号。
3、根据权利要求2的微处理器,其特征在于,所述微处理器还包括一响应于所述第一和第二导线上的信号来产生字节启动信号,该信号指出用于数据传送的数据总线通路。
CN89100636A 1988-08-01 1989-02-04 微处理器总线接口单元 Expired CN1018098B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/227,078 US5073969A (en) 1988-08-01 1988-08-01 Microprocessor bus interface unit which changes scheduled data transfer indications upon sensing change in enable signals before receiving ready signal
US227,078 1988-08-01

Publications (2)

Publication Number Publication Date
CN1040105A CN1040105A (zh) 1990-02-28
CN1018098B true CN1018098B (zh) 1992-09-02

Family

ID=22851663

Family Applications (1)

Application Number Title Priority Date Filing Date
CN89100636A Expired CN1018098B (zh) 1988-08-01 1989-02-04 微处理器总线接口单元

Country Status (9)

Country Link
US (1) US5073969A (zh)
JP (1) JPH0248747A (zh)
KR (1) KR960016412B1 (zh)
CN (1) CN1018098B (zh)
DE (1) DE3923253C2 (zh)
FR (1) FR2634919B1 (zh)
GB (1) GB2221553B (zh)
HK (1) HK109194A (zh)
SG (1) SG58393G (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0711793B2 (ja) * 1989-07-13 1995-02-08 株式会社東芝 マイクロプロセッサ
JP2504206B2 (ja) * 1989-07-27 1996-06-05 三菱電機株式会社 バスコントロ―ラ
US5319769A (en) * 1989-09-11 1994-06-07 Sharp Kabushiki Kaisha Memory access circuit for handling data pockets including data having misaligned addresses and different widths
US5416907A (en) * 1990-06-15 1995-05-16 Digital Equipment Corporation Method and apparatus for transferring data processing data transfer sizes
JP2502403B2 (ja) * 1990-07-20 1996-05-29 三菱電機株式会社 Dma制御装置
KR0181471B1 (ko) * 1990-07-27 1999-05-15 윌리암 피.브레이든 컴퓨터 데이타 경로배정 시스템
DE69130967T2 (de) * 1990-08-06 1999-10-21 Ncr Int Inc Rechnerspeicheranordnung
GB9018992D0 (en) * 1990-08-31 1990-10-17 Ncr Co Internal bus for work station interfacing means
GB9018993D0 (en) * 1990-08-31 1990-10-17 Ncr Co Work station interfacing means having burst mode capability
US5537624A (en) * 1991-02-12 1996-07-16 The United States Of America As Represented By The Secretary Of The Navy Data repacking circuit having toggle buffer for transferring digital data from P1Q1 bus width to P2Q2 bus width
JP2519860B2 (ja) * 1991-09-16 1996-07-31 インターナショナル・ビジネス・マシーンズ・コーポレイション バ―ストデ―タ転送装置および方法
US5386579A (en) * 1991-09-16 1995-01-31 Integrated Device Technology, Inc. Minimum pin-count multiplexed address/data bus with byte enable and burst address counter support microprocessor transmitting byte enable signals on multiplexed address/data bus having burst address counter for supporting signal datum and burst transfer
US5724549A (en) * 1992-04-06 1998-03-03 Cyrix Corporation Cache coherency without bus master arbitration signals
TW276312B (zh) * 1992-10-20 1996-05-21 Cirrlis Logic Inc
US5422029A (en) * 1993-06-18 1995-06-06 Potini; Chimpiramma Composition for cleaning contact lenses
US5555392A (en) * 1993-10-01 1996-09-10 Intel Corporation Method and apparatus for a line based non-blocking data cache
US5649127A (en) * 1994-05-04 1997-07-15 Samsung Semiconductor, Inc. Method and apparatus for packing digital data
US5651138A (en) * 1994-08-31 1997-07-22 Motorola, Inc. Data processor with controlled burst memory accesses and method therefor
CN103092564B (zh) * 1995-08-31 2016-04-06 英特尔公司 执行乘加指令的处理器和对分组数据执行乘加操作的系统
US5752267A (en) * 1995-09-27 1998-05-12 Motorola Inc. Data processing system for accessing an external device during a burst mode of operation and method therefor
US5689659A (en) * 1995-10-30 1997-11-18 Motorola, Inc. Method and apparatus for bursting operand transfers during dynamic bus sizing

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4079451A (en) * 1976-04-07 1978-03-14 Honeywell Information Systems Inc. Word, byte and bit indexed addressing in a data processing system
US4099253A (en) * 1976-09-13 1978-07-04 Dynage, Incorporated Random access memory with bit or byte addressing capability
US4092728A (en) * 1976-11-29 1978-05-30 Rca Corporation Parallel access memory system
US4131940A (en) * 1977-07-25 1978-12-26 International Business Machines Corporation Channel data buffer apparatus for a digital data processing system
US4447878A (en) * 1978-05-30 1984-05-08 Intel Corporation Apparatus and method for providing byte and word compatible information transfers
FR2474201B1 (fr) * 1980-01-22 1986-05-16 Bull Sa Procede et dispositif pour gerer les conflits poses par des acces multiples a un meme cache d'un systeme de traitement numerique de l'information comprenant au moins deux processus possedant chacun un cache
US4371928A (en) * 1980-04-15 1983-02-01 Honeywell Information Systems Inc. Interface for controlling information transfers between main data processing systems units and a central subsystem
US4443846A (en) * 1980-12-29 1984-04-17 Sperry Corporation Dual port exchange memory between multiple microprocessors
JPS5955525A (ja) * 1982-09-25 1984-03-30 Toshiba Corp マイクロプロセツサ
US4507731A (en) * 1982-11-01 1985-03-26 Raytheon Company Bidirectional data byte aligner
KR900007564B1 (ko) * 1984-06-26 1990-10-15 모토로라 인코포레이티드 동적 버스를 갖는 데이터 처리기
US4716527A (en) * 1984-12-10 1987-12-29 Ing. C. Olivetti Bus converter
US4683534A (en) * 1985-06-17 1987-07-28 Motorola, Inc. Method and apparatus for interfacing buses of different sizes
JPS62102344A (ja) * 1985-10-29 1987-05-12 Fujitsu Ltd バツフア・メモリ制御方式
US4920483A (en) * 1985-11-15 1990-04-24 Data General Corporation A computer memory for accessing any word-sized group of contiguous bits
JPH0772886B2 (ja) * 1986-08-01 1995-08-02 インターナショナル・ビジネス・マシーンズ・コーポレーション データ処理システム
US4802085A (en) * 1987-01-22 1989-01-31 National Semiconductor Corporation Apparatus and method for detecting and handling memory-mapped I/O by a pipelined microprocessor
US4816997A (en) * 1987-09-21 1989-03-28 Motorola, Inc. Bus master having selective burst deferral
US4912631A (en) * 1987-12-16 1990-03-27 Intel Corporation Burst mode cache with wrap-around fill
US4905188A (en) * 1988-02-22 1990-02-27 International Business Machines Corporation Functional cache memory chip architecture for improved cache access
US4912630A (en) * 1988-07-29 1990-03-27 Ncr Corporation Cache address comparator with sram having burst addressing control

Also Published As

Publication number Publication date
DE3923253A1 (de) 1990-02-08
HK109194A (en) 1994-10-21
GB2221553B (en) 1992-08-19
JPH0248747A (ja) 1990-02-19
CN1040105A (zh) 1990-02-28
GB8827743D0 (en) 1988-12-29
FR2634919A1 (fr) 1990-02-02
FR2634919B1 (fr) 1993-08-13
SG58393G (en) 1993-08-06
KR960016412B1 (ko) 1996-12-11
GB2221553A (en) 1990-02-07
DE3923253C2 (de) 1997-01-23
KR900003747A (ko) 1990-03-27
US5073969A (en) 1991-12-17

Similar Documents

Publication Publication Date Title
CN1018098B (zh) 微处理器总线接口单元
CN1022723C (zh) 双向数据传输装置
US5289584A (en) Memory system with FIFO data input
US5448703A (en) Method and apparatus for providing back-to-back data transfers in an information handling system having a multiplexed bus
US7188217B2 (en) Embedded DRAM cache memory and method having reduced latency
CN101048762A (zh) 用于在总线上发送存储器预取命令的方法和设备
US6718441B2 (en) Method to prefetch data from system memory using a bus interface unit
CN1010809B (zh) 页式存储器中数据的存取装置和方法
CN1142493C (zh) 具有低能耗方式的高带宽动态随机存取存储器
CN1088215C (zh) 不按顺序执行读写指令的存储器控制器
CN1922598A (zh) 用于支持pci桥中的多功能pci设备的延迟事务的方法与装置
CN1965285A (zh) 用于基于集线器的存储系统中直接存储器访问的设备和方法
CN1008839B (zh) 微处理机系统的存储管理
CN1116764A (zh) 先进先出缓冲存储器
CN1394310A (zh) 处理器间通信系统
CN1197238A (zh) 外围设备互联总线系统
US6321300B1 (en) Apparatus and method for dynamically reconfigurable timed flushing of a queue of coalescing write buffers
CN1618104A (zh) 数据的顺序半字节突发串排序
CN1529256A (zh) 基于双环形队列、非中断式pci通信方法
CN1390354A (zh) 控制同步存储器内的脉冲串序列
KR100772287B1 (ko) 대규모 병렬 프로세서 어레이를 메모리 어레이에 비트직렬 방식으로 접속하는 방법 및 장치
CN1503948A (zh) 流水线化的ata设备初始化
US6301627B1 (en) Method/system for identifying delayed predetermined information transfer request as bypassable by subsequently-generated information transfer request using bypass enable bit in bridge translation control entry
US20040003196A1 (en) System for compressing/decompressing data
EP0691616A1 (en) RAM and ROM control unit

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C13 Decision
GR02 Examined patent application
C14 Grant of patent or utility model
GR01 Patent grant
C15 Extension of patent right duration from 15 to 20 years for appl. with date before 31.12.1992 and still valid on 11.12.2001 (patent law change 1993)
OR01 Other related matters
C17 Cessation of patent right
CX01 Expiry of patent term