CN1169064C - 可编程存储器存取接口类型的集成电路微处理器及方法 - Google Patents

可编程存储器存取接口类型的集成电路微处理器及方法 Download PDF

Info

Publication number
CN1169064C
CN1169064C CNB951166719A CN95116671A CN1169064C CN 1169064 C CN1169064 C CN 1169064C CN B951166719 A CNB951166719 A CN B951166719A CN 95116671 A CN95116671 A CN 95116671A CN 1169064 C CN1169064 C CN 1169064C
Authority
CN
China
Prior art keywords
access
signal
address
data
memory
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 - Lifetime
Application number
CNB951166719A
Other languages
English (en)
Other versions
CN1139238A (zh
Inventor
秦煌烈
E
迈克尔·E·格莱登
���¡�E���ֿ�
小杰拉尔德·E·沃克
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.)
Zenith Investment LLC
Apple Inc
Original Assignee
Freescale Semiconductor 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
Priority claimed from US08/298,892 external-priority patent/US5727005A/en
Application filed by Freescale Semiconductor Inc filed Critical Freescale Semiconductor Inc
Publication of CN1139238A publication Critical patent/CN1139238A/zh
Application granted granted Critical
Publication of CN1169064C publication Critical patent/CN1169064C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1441Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range
    • 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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1694Configuration of memory controller to different memory types
    • 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/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4243Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol

Abstract

一种集成电路微处理器(30)使用内部产生的具有可编程存储器存取接口类型的控制信号对外部存储器进行存取。一个与内存区域相关连的寄存器(61)存放一个编码值。在对该内存区域进行存取时,一个译码器(63)将编码值加以译码以提供译码信号。如译码信号处于合法状态,则一个存取控制器(64)将具有对应于合法状态的时序的外部控制信号加以激活。如译码信号处于备用状态,则存取控制器(64)将外部控制信号保持为不活动,不让存取发生。

Description

可编程存储器存取接口类型的 集成电路微处理器及方法
技术领域
本发明一般涉及数据处理器,更具体地涉及带有集成接口逻辑的数据处理器。
背景技术
在很多情况下,集成电路微处理器必须与其它集成电路装置相连以完成一定功能。这类外部装置的例子有存储器、串联接口适配器、模数转换器和其它很多装置。在大部分例子中,每个这类外部设备需要外部控制信号以便在微处理器访问该设备时适当地将它激活。例如,一个静态随机存取存储器(SRAM)集成电路需要允许芯片操作、允许输出、和允许写控制信号以控制读写存取。这些信号的时序要求与市场上现成装置有所不同。例如,某些SRAM相对于允许输出信号异步地提供输出数据,而其它SRAM都与时钟信号同步地采样允许输出信号并提供输出数据。
一般情况下,一个设计带有微处理器和其它集成电路系统的设计者使用“胶合逻辑”,以便从由微处理器本身所产生的地址和总线控制信号中产生所需芯片选择信号。这个外加逻辑显著地增加了正在设计的系统的费用并可能使性能变坏,因而是极不受欢迎的。
可从Colifornia的Santa Clara的Intel Corporation得到的80186(亦称为iAPXl86)是一个具有用于产生芯片选择信号的内部逻辑的集成电路微处理器。该芯片选择逻辑在完成下列功能时能力有限:为其7个可能活动的芯片选择的地址范围编程及为其每个活动的芯片选择的总线周期可编程地插入等待状态。此外,某些芯片选择可编程为只在存储器内或微处理器的I/O地址空间内是活动的。
具有板上芯片选择逻辑的集成电路微处理器的另一个例子是1992年9月29日授权的在美国专利5,151,986中由John A.Langan和James M.Sibigtroth所公开的。所公开的芯片选择逻辑包括一个控制寄存器,依靠它可为数个芯片选择输出量中的每一个将时序、极性和等待状态数量单独地进行编程。
将芯片选择逻辑合并入微处理器集成电路所带来的主要问题牵涉到向用户提供足够的灵活性。胶合逻辑的使用十分灵活,因为系统设计者有很大自由在微处理器内存映射区中安排每个外部设备及安排时序和芯片选择信号本身的其它特性。这种灵活性很有用,因为可能设计的系统和特定外部设备的芯片选择要求互相间的差别是很大的。要在集成电路选择单元内提供足够灵活性而又将该单元尺寸约束在合理限度内是很困难的。
一种灵活性是能够支持具有脉冲串模式能力的CPU。脉冲串模式是一种模式,其中CPU在连续的时钟周期内访问一连串内存地址。例如,作为传送指令的一部分,CPU可在连续时钟周期内读字,从而自内存读取几个数据字。市场上现成的高过SRAM通过称为页模式、半字节模式、静列或类似模式的特征支持脉冲串模式。然而这些SRAM需要短存取时间的芯片,以便在一个时钟周期内提供数据,因此通常是昂贵的。
发明内容
根据本发明的一方面,提供一种具有可编程内存存取接口类型的集成电路微处理器,包括:一个CPU,用于执行指令和存取内存;一个连至所述CPU并与一个内存区域相联系的可选寄存器,所述可选寄存器存放一个被编码的接口类型值;一个连至所述可选寄存器的译码器,用于将所述被编码的接口类型值加以译码,以对存取所述内存区域的所述CPU作出响应,提供一个译码信号,所述译码信号采取多个状态中的一个,其中包括合法状态和备用状态;以及一个连至所述CPU和连至所述译码器的存取控制器,或者当所述译码信号处于合法状态时所述存取控制器用于激活多个外部控制信号,所述外部控制信号具有由对应于所述译码信号的可编程接口类型所决定的时序特性,或者当所述译码信号处于备用状态时所述存取控制器用于保持所述多个外部控制信号不活动。
根据本发明的另一方面,提供一种用于同步地并取内存的方法,包括以下步骤:在第一时钟周期内由CPU执行指令并响应该CPU为第一内存存取提供第一地址;对于多个可选寄存器中的每一个编制一个被编码的接口类型值,所述多个可选寄存器中的每一个与预定的内存区域相联系;响应对所述被编码的接口类型值解码成具有合法状态,由连接到CPU的芯片选择电路激活一个第一控制信号,所述第一控制信号指示在所述第一时钟周期后至少一个等待状态后的第二时钟周期内的所述第一内存存取的一个数据段;以及在紧接所述第二时钟周期后的第三时钟周期内所述内存向CPU提供由所述第一地址所存取的第一数据单元。
下面结合附图所作的详细描述将使这些和其它特征和优点更为明显。
附图说明
图1以框图形式阐述根据本发明的数据处理系统。
图2-10阐述图1芯片选择电路的不同方面,以便于了解本发明。
图2以框图形式阐述图1数据处理系统的内存映象一部分。
图3以框图形式阐述图1芯片选择电路的多级保护电路。
图4以框图形式阐述图1芯片选择电路的可编程存取类型电路。
图5描述图1芯片选择电路所完成的第一内存存取类型的时序图。
图6描述图1芯片选择电路所完成的第二内存存取类型的时序图。
图7描述图1芯片选择电路所完成的第三内存存取类型的时序图。
图8以框图形式阐述图1芯片选择电路的一个模块化芯片选择控制电路。
图9以部分框图和部分逻辑图形式阐述图1芯片选择电路的一个管脚配备逻辑电路。
图10以框图形式阐述图8模块化芯片选择控制电路的时序控制级。
图11以框图形式阐述图1芯片选择电路特定实施例的功能框图。
图12a和12b以块形式阐述图1芯片选择电路的寄存器地址映象。
图13以框图形式阐述图11芯片选择发生单元。
图14-19阐述图13控制单元所提供的不同接口类型的时序图。
具体实施方式
图1以框图形式阐述根据本发明的一个数据处理系统20。数据处理系统20一般包括一个外部总线21、一个电可编程只读存储器(EPROM)22、一个静态随机存取存储器(SRAM)23、一个输入输出(I/O)芯片24、一个I/O芯片25、和一个数据处理器30。数据处理器30是一个用作数据处理系统20的中央处理单元(CPU)的单块集成电路,并一般包括一块CPU芯片31、一个芯片选择电路32、一个外部总线接口33和内部总线34。
CPU芯片31可用任何已知CPU结构实施:如复杂指令集计算机(CISC)、精简指令集计算机(RISC)、数字信号处理器(DSP)或任何其它已知结构。此外,数据处理器30可看作为一个高度集成的微处理器或微控制器(嵌入控制器、微计算机、等等)。在微控制器的例中,数据处理器30包括数据处理系统的其它常规元件,如存储器和外设,它们位于芯片上并连至内部总线34。然而在数据处理系统20中,这类装置也可装在芯片之外,而数据处理器30则使用外部总线接口33通过外部总线21连至这些装置。
外部总线接口33通过内部总线34连至CPU芯片31。并向外部总线21提供信号外部总线接口33用于将内部总线34适配至单个外部总线21。例如,如CPU芯片31实施Harvard结构,使用单独的指令和数据通路,则外部总线接口33将按来自这些单独的指令和数据通路的存取按顺序安排至外部总线21上。
为减少集成电路数量,数据处理器30包括芯片选择电路32,用于产生直接送至EPROM22、SRAM23和I/O芯片24和25的时序和控制信号。例如,在所描述的实施例中,芯片选择电路32向EPROM22提供两个低活动芯片选择信号,即被称为允许芯片 CE和允许输出 OE,用于从外部总线21提取指令。为存取读写装置,芯片选择电路32也向SRAM 23和I/O芯片24和25提供允许写( WE)信号,例如允许写信号。芯片选择电路32具有一个通向外部总线接口33的双向连接,用于接收与对外部总线21的存取相关连的地址、属性和控制信号。在芯片上除集成板级逻辑外,芯片选择电路32还提供一个改善的外部接口,其特点一般在图2-9中描述。
图2以框图形式阐述图1数据处理系统20的内存映象的一部分40。部分40通常以降序形式表示一连串地址,将大地址表示于小地址之上。部分40包括一个主块41,由“主块高地址”和“主块低地址”定界。图1芯片选择电路32具备能力,可编程一个子块42,使之或与主块41重叠,或位于主块41边界之内。此重叠控制是有用的,因当内存密度增加后,具有多个与单个内存集成电路相关连的区域是有用的,其中每个区域具有不同可编程属性。为此目的,子块42可如图2所示完全位于主块41之内而由“子块高地址”和“子块低地址”定界。
芯片选择电路32如图3所描述,实施此重叠内存映象,图3以框图形式阐述图1芯片选择电路32的多级保护电路50。多级保护电路50一般包括用于任意数量块的译码器,它们中某些块可能是重叠的。例如,如图3所阐述,多级保护电路50包括一个主块译码器51和一个子块译码器54,用于分别实施图2的主块41和子块42。注意此处所用词“块”和“区”是同义的,而“子块”代表位于一块更大的块或区的边界内的块或区。
主块译码器51包括一个对应于主块低地址的基址寄存器52和一个可选寄存器53。可选寄存器53包括一个块长度域,当将它加到存放于基址寄存器52内的基址上时,即可确定主块高地址。此外,可选寄存器53存放着用于保护与主块41相关连的区域的属性。类似地,子块译码器54包括一个决定子块低地址的基址寄存器55和一个可选寄存器56,后者包括一个决定子块高地址的块长度域。此外,可选寄存器56包括用于与子块42相关连的可编程属性的域。
主块译码器51和子块译码器54两者都在图1的CPU芯片31的总线周期内接收一个标号为“地址”的输入地址,以及此外还接收标号为“保护属性”的代表当前周期保护属性的控制信号。这类保护属性的例子是写信号标志。例如,如主块41或子块42被写保护,则写信号将标明该未决周期为写周期,因而本周期与所编程的保护不匹配。主块译码器51和子块译码器54的每一个都将地址信号与由相应可选寄存器中基址寄存器和区长度域所定义的区域进行比较。如该地址位于该区域内,则相应的块译码器激活一个标号为“地址匹配”的地址匹配信号。此外,如输入的保护属性与相应的可选寄存器内的编程值相匹配,则该块译码器激活一个标号为“属性匹配”的相应的属性匹配信号。
接着优先级强制电路58从每个块接收地址匹配和属性匹配信号,并根据优先级机理决定是否激活一个外部控制信号,如标号为“ CE”的信号。如只有主块译码器51和子块译码器54中的一个激活其地址匹配信号,则优先级强制电路58只当相应的属性匹配信号也已激活时才将信号 CE激活。现同时参照图2和3,假定地址处于主块低地址和子块低地址之间。这种情况下,主块译码器51将检测到地址匹配情况并激活地址匹配信号。此外,假定保护属性与可选寄存器53中所编程的保护属性相匹配。这种情况下,主块译码器51也将激活属性匹配信号。然而,由于地址不处于子块42之内,所以子块译码器54将不激活其地址匹配信号。因此优先级强制电路58根据主块41内的地址和属性匹配情况激活信号 CE。
现看地址落在子块42内的情况。这种情况下,主块译码器51和子块译码器54两者都激活它们相应的地址匹配信号。现也假定保护属性与可选寄存器53中所定义诸项相匹配,因而主块解码器51激活其属性匹配信号。然而与此同时,由于保护属性与可选寄存器56中所编程的属性不匹配,所以子块译码器54不激活其属性匹配信号。这种情况下,优先级强制电路58将信号 CE保持为不活动,承认子块译码器54的优先级高于主块译码器51。因此子块42能以更高的保护优先级嵌套于主块41内。这种块之间的嵌套和优先级分配可扩大应用至任意数的嵌套。
图4以框图形式阐述图1芯片选择电路32的可编程存取类型电路60。可编程存取类型电路60一般包括一个可选寄存器61,后者具有一个接口类型域62、一个接口类型译码器63和一个存取控制器64。可选寄存器61是一个如上面图3所阐述的可编程区相关连的寄存器,它包括一个接口类型(ITYPE)域62。ITYPE域包括一个编码接口类型值,提供给接口类型译码器63输入端。接口类型译码器63接着将ITYPE域62解码并将解码信号提供给存取控制器64。接着存取控制器64根据输入的标号为“时钟”的时钟信号为 CE、 OE和 WE产生时序信息。
在已知的芯片选择电路中,可选寄存器为预译码域中个别信号定义时序和接口特性。因此,当软件误差的存在使这些位中一位或更多位受到破坏时,将会产生非法时序组合,结果产生硬件错误或软件崩溃。然而可编程存取类型电路60能阻止这类出错组合,因此数据处理器30对软件错误有更大抗扰性及允许更快更不易出错的软件开发。可编程存取类型电路60利用编码的ITYPE域能防止这些软件错误造成未经定义的内存存取。在开发软件时,软件错误会导致ITYPE域62不正确地编码,致使ITYPE域62的一位或更多位的数值不对。接口类型译码器63将来自ITYPE域62的编码信号加以译码,从而提供一个可采取合法状态或备用状态的译码信号。如ITYPE域62编码得合法状态,则接口类型译码器63向存取控制器64提供输出量,以便根据所选合法接口类型提供时序信息。然而,如ITYPE域62编码得备用状态,则接口类型译码器63将不会激活其送给存取控制器64的输出量。因此存取控制器64将不完成外部总线周期。
图5描述由图1芯片选择电路32完成的第一内存存取类型的时序图。图5显示有助于理解这个第一内存存取类型的几个信号,包括时钟、地址、 WE、 CE、 OE和数据。这种内存存取类型称为“带有早期同步允许输出信号的同步接口”类型。图5所示第一条线是时钟信号,图5所示其它所有信号都与它同步。三个标号为“t1”、“t2”和“t3”并对应于时钟信号的连续由低到高转变的时间点有助于理解本内存存取类型。
注意图5假定在时间t1之前所有以前的存取操作都已结束。还注意图5所描述的信号波形假定芯片选择电路32向外部总线接口33提供信号,以确认存取周期的地址段和数据段。然而如使用外部确认信号,则存取的地址段和数据段的持续时间决定于何时接收到这些确认信号。例如,一个标为“ AACK”的称为地址确认的信号对存取周期的地址段加以确认。芯片选择电路32保持信号 CE活动,直至它检测到在时钟由低到高转变之前对信号AACK的激活。一个标为“ TA”的称为传送确认的信号对存取周期的数据段的结束加以确认。芯片选择电路32保持信号 OE(在读周期内)或 WE(在写周期内)活动,直至它检测列在时钟由低到高转变时对信号 TA的激活时为止。
一个标号为“A1”对应于第一内存存取的地址在时钟信号由低到高转变的时间点t1处建立起来。为标明该存取是读存取,芯片选择电路32使信号 WE不活动。此外,芯片选择电路32将信号 CE激活,以使被存取存储装置将地址A1锁存并使存取周期的起始时间的t1早一个建立时间。接着,在比时钟信号由低到高转变的t2时间点更早一个建立时间的时刻,芯片选择电路32将信号 OE激活。信号 OE的激活使存储装置开始输出其数据。由于是随着时钟信号的由低到高转变而建立起来的,因此信号 OE是同步的而对此类型存取周期作出响应的存储装置能于时钟信号由低到高转变时检测到信号 OE。在存储装置检测到信号 OE的激活后,它即开始提供其输出数据以完成读存取周期。如图5所示,由芯片选择电路32中所编程的对此存取类型作出响应的存储装置具有一个等待状态。因此芯片选择电路32在比t2早一个建立时间的时刻将信号 OE激活,使存储装置在比时钟信号由低到高转变的t3时间点更早一个建立时间的时刻提供标号为“D1”的被存取数据单元。
这个存取周期类型的优点在于具有相对地慢的存储器芯片的存储装置可以顺序地和有效地进行存取操作。由于信号 OE在t2之前建立起来而在t2时刻由所存取存储装置所检测到,芯片选择电路32可以在第一个存取的数据段完成之前就较早地完成第二个存取的地址段。芯片选择电路32在至少比t3早一个建立时间的时刻提供一个标号为“A2”的第二个重叠地址,再次保持信号 WE不活动和再次在比t3早一个建立时间的时刻激活信号 CE。
图6阐述另一种接口类型及图1芯片选择电路32所完成第二内存存取类型的时序图。如图5中一样,图6显示了与总线周期相关的信号,包括时钟、地址、 CE、 OE和数据。此外,图6描述了一个标号为“ BDIP”的信号,后者标明目前进行的是一个脉冲串数据周期。图6阐述一种称为“带有同步 OE的同步脉冲串读取”类型的内存存取类型。图6显示附加的标号为“t4”、“t5”、“t6”、“t7”、“t8”、“t9”和“t10”的时钟信号的由低到高转变。
这种存取类型相似于图5所阐述的存取,但和图5所阐述的存取不同的是,被存取的存储装置在时间点t6、t7、t8和t9处提供4个顺序的数据单元,从而完成一个脉冲串存取。这4个数据单元分别标以“D10”、“D11”、“D12”和“D13”。如芯片选择电路32中所编程那样,对这种存取类型作出响应的存储装置具有一个等待状态。因此在时间t5检测到信号 OE的激活之后,该存储装置在比时钟信号由低到高转变的t6时间点更早一个建立时间的时刻提供所存取的数据单元D10。作为脉冲串一部分的随后的数据单元是在时钟信号随后的由低到高转变时对信号 BDIP的激活作出响应时提供的。这种存取周期类型的优点在于具有相对地慢的存储器芯片的存储装置可以顺序地和有效地进行存取。
还有一个接口类型阐述于图7中,图7阐述图1芯片选择电路32所完成的第三内存存取类型的时序图。如图5中一样,图7显示了与总线周期相关的信号,包括时钟、地址、 WE、 CE、 OE和数据。图7阐述的内存存取类型称为“带有同步 OE和早期重叠的同步接口”类型。图7显示附加的标号为“t11”、“t12”、“t13”和“t14”的时钟信号的由低到高转变。
在t11附近,标号为A1的第一总线周期的地址在时钟信号于t11时刻由低到高转变时建立起来。此外,信号 WE不活动而 CE活动(标以“CE1”),标明在时间地址A1处的读周期是合法的。随后,由于芯片选择电路32在比t12早一个建立时间的时刻激活信号 OE(标以“OE1”),因此出现对应于此第一存取的数据段。随后,如图5以前所标明的,被存取的存储装置在比t13早一个建立时间的时刻提供数据单元D1。
然而,根据本接口类型,芯片选择电路32在第一存取数据段的至少一部分时间内完成地址段,因而开始第二存取。芯片选择电路32在比时钟信号于时间点t12由低到高转变时更早一个建立时间的时刻提供一个标号为A2的第二地址,从而完成此接口。与前面一样,芯片选择电路32保持信号WE不活动,以标明一个读周期,并激活信号 CE(标以“CE2”)以向被存取存储装置标明地址A2是合法的。在被存取存储装置在比t13早一个建立时间的时刻提供数据单元D1从而完成第一存取的数据段之后,芯片选择电路32可在比t13早一个建立时间的时刻激活信号 OE(标以“OE2”),从而开始第二存取的数据段。随后,被存取存储装置在比t14早一个建立时间的时刻提供标号为“D2”的数据单元。由于在第一存取的数据段结束之前就开始第二存取的地址段,芯片选择电路32允许重叠存取,这改善了总线的利用和允许在给定时间内进行更多的内存存取。
芯片选择电路32也可以模块化,以便如图8所阐述那样,为不同应用目的重新配备,图8以框图形式阐述图1芯片选择电路32的模块化芯片选择控制电路80。模块化芯片选择控制电路80一般包括两条用于互连信号的总线:标号为“译码总线”81的第一总线和标号为“时序总线”82的第二总线。模块化芯片选择控制电路80还包括一个地址译码级90、一个时序控制级100和一个管脚配备级110。模块化芯片选择控制电路80包括一个第一任意数的地址译码器和地址译码级90,一个时序控制级100中的第二任意数的控制单元,和第三任意数的管脚配备逻辑电路和管脚配备级110,因而是模块化和可重新配备的。
如图8所阐述,地址译码级包括代表性的地址译码器91、94和97。地址译码器91包括一个基址寄存器92和一个可选寄存器93。基址寄存器92为与地址译码器91相关连的可编程区域定义一个基址。可选寄存器93包括一个与地址译码器91及其它和区域特性有关的可编程或相关连的区域的长度。地址译码器91通过内部总线34接收来自图1CPU芯片31的地址,并进行比较以检查该地址是否位于基址寄存器在可选寄存器93的长度域中所定义的区域内。对地址匹配作出响应时,地址译码器91向译码总线81提供控制信号。类似地,地址译码器94和97也检测地址是否位于它们对应的可编程区域内并相应地向译码总线81提供控制信号。地址译码级90中的地址译码器的数量是任意的,以便满足不同系统需求,并可在灵活性和芯片尺寸间取得折衷。例如,在某些应用场合中需要增加可用可编程区域的数量,以容纳更灵活的软件或系统结构。而在其它应用场合中则可能减少地址译码器的数量以使集成电路费用减至最小。
时序控制级100包括第二任意数的控制单元。在时序控制级100中阐述两个控制单元101和102。时序控制级100用作一个存取状态机以便将芯片选择信号提供给外部总线21,同时每个控制单元101和102都有一个输入端连至译码总线81,用于接收译码信号,以便标明一个正在进行中的总线周期是否与一个或更多个可编程区域相匹配。作为响应,时序控制级100的控制单元中的所选的一个单元向时序总线82提供顺序时序信息,以反映用于所给定可编程接口类型的恰当时序。时序控制级100中所选控制单元的数量决定了正在进行中的未决重叠内存存取的数量。这个未决内存存取的数量亦称为流水线深度。
例如,地址译码级90中的地址译码器91检测到一个和它对应的可编程区域的存取并作为响应向译码总线81提供控制信号。在时序控制级100中,一个例如控制单元101那样的控制单元与此总线周期互相关连,并在此存取的未决期间为此存取向时序总线82提供时序信号。在第一次存取期间可能发生第二次存取,地址译码级90中的一个地址译码器可能检测到一个对其相应可编程区域的存取、具有与在其可选寄存器所编程的属性相匹配的属性、并向译码总线81提供控制信号。如该接口类型所决定的,一个例如控制单元102那样的第二控制单元接着可能开始向时序总线82提供时序信号以便为此存取将一个或更多个芯片选择控制信号加以重叠。
管脚配备级110包括第三任意数的管脚配备逻辑电路。每个管脚配备逻辑电路对应于并专门用于一个集成电路管脚。然而集成电路管脚可由此芯片选择信号与其它信号所共享,其功能可通过编程加以设置。
此第三任意数在不同应用例中是不同的,以便在灵活性和系统费用间取得折衷。例如,在费用并不是最重要因素的应用场合中,可能采用更多数量的管脚配备逻辑电路,以提供更大灵活性和向更多数量的存储装置提供芯片选择信号的能力。在其它更看重费用的应用场合中,可能采用较少数量的管脚配备逻辑电路。
在管脚配备级110中,显示了代表性的管脚配备逻辑电路111、112和113,它们分别提供标号为“PIN0”、“PIN1”和“PINN”的输出信号。每个管脚配备逻辑电路具有一个连至译码总线81用于接收控制信号的输入端和一个连至时序总线82用于接收时序信息的第二输入端。因为每个管脚配备逻辑电路接收所有可能的时序信息,所以每个管脚配备逻辑电路可以配备为一组芯片选择功能中的任何一个。例如,管脚配备逻辑电路111可以配备为 CE、 WE或OE信号中的任何一个,这由管脚配备逻辑电路111的编程所决定。因此,由于在地址译码级90中包括第一任意数的地址译码器,在时序控制级100中包括第二任意数的控制单元,和在管脚配备级110中包括第三任意数的管脚配备逻辑电路,模块化的芯片选择控制电路80就能定义任意数的内存区域、任意数的存取流水线深度和任意数的芯片选择信号,从而最大程度地提供灵活性。不同实施例中的这些任意数可以是不同的,以取得最好的可用的折衷。
图9以部分框图和部分逻辑图的形式阐述图1芯片选择电路32的管脚配备逻辑电路120。管脚配备逻辑电路120一般包括一个管脚功能寄存器130,一个服从逻辑部分140,和一个管脚功能输出部分150。管脚功能寄存器130存放用于定义如 CE、 OE和 WE那样的供选择的管脚功能的位,并提供代表所选功能的译码输出信号。服从逻辑部分140包括任意数的服从电路,例如阐述性的服从电路141和145。服从电路141一般包括一个服从逻辑电路142、一个或门143和一个D型触发器144。服从电路141与标以“C1”的第一周期相关连。服从电路141具有一个用于接收标号为“G1开始”的信号的第一输入端,一个用于接收标号为“C1区域选择”的信号的第二输入端,一个连至管脚功能寄存器130的第三输入端和一个输出端。或门143具有一个用于接收标号为“C1结束”的信号的第一输入端,一个用于接收标号为“复位”的信号的第二输入端和一个输出端。D型触发器144有一个标号为“D”连至服从逻辑电路142输出端的数据输入端,一个标号为“清零”连至或门143输出端的清零输入端,和一个标号为“Q”用于提供标号为“服从1”的输出信号的输出端。
类似地,服从电路145与标号为“CN”的第N个周期相关连,及一般包括一个服从逻辑电路146和或门147和D型触发器148。服从逻辑电路146具有一个用于接收标号为“CN开始”的信号的第一输入端,一个用于接收标号为“CN区域选择”的信号的第二输入端,一个连至管脚功能寄存器130的输出端的第三输入端和一个输出端。或门147具有一个用于接收标号为“CN结束”的信号的第一输入端,一个用于接收复位信号的第二输入端和一个输出端。D型触发器148具有一个连至服从逻辑电路146输出端的D输入端,一个连至或门147输出端的清零输入端和一个用于提供标号为“服从N”的信号的Q输出端。
服从电路141和145确定与管脚配备逻辑电路120相关连的管脚应服从哪个周期。在第一周期内,图8的时序控制级100中的控制单元激活一个相应的周期开始信号。例如,假定控制单元101激活C1开始信号。此外假定地址译码级90中的一个地址译码器激活C1区域选择。如管脚功能寄存器130的输出量与C1区域选择相匹配,则服从逻辑电路142对C1开始信号的激活作出响应,将其输出量激活。此信号即作为D输入量送至D型触发器144,后者接着在下一个时钟信号(图9未示出)时刻于Q输出端处激活服从1信号。于是服从1信号保持活动直至所选控制单元激活用于将D型触发器144清零的C1结束信号,或直至由于复位信号激活而将管脚配备逻辑电路120复位。服从逻辑部分140中的每个服从电路都类似地对相应的周期开始和结束信号的激活和相应的区域选择信号的激活作出响应。
管脚功能输出部分150一般包括任意数的对应于每个可能的管脚功能的功能逻辑块。图9阐述一个标号为“功能1逻辑”的第一功能逻辑块151和一个标号为“功能M逻辑”的第二功能逻辑块152。每个功能逻辑块具有用于接收诸如服从1和服从N信号那样的每个服从信号的一些输入端,用于接收标号为“CiFj时序”的时序信号(它们代表每个周期和每个功能的时序信号)和相应的标号为CiFj选择的选择信号的一些输入端,以及连至管脚功能寄存器130的相应输出端的另一个输入端。在此例中,下标i等于1至N,而j为1至M,其中N和M为任意数。例如,功能1逻辑块151接收管脚功能寄存器130的输出量,这标明PIN0具有功能F1。类似地,功能M逻辑块152从管脚功能寄存器130接收一个输入量,这标明PIN0的功能为FM功能。如管脚功能寄存器130的输出量标明该管脚对于相应的功能作出响应,则每个功能逻辑电路对与一个活动周期相关连的时序信号作出响应。例如,如管脚功能寄存器130选择PIN0使之具有功能F1,则功能1逻辑块151是活动的。在第一周期内服从1信号是活动的,功能1逻辑块151接着提供一个它的与恰当的时序信号相对应的输出量。这个恰当的时序信号是CiFj时序。此例中,所有其它功能逻辑块都保持它们的输出量为不活动,处于逻辑低状态,以使提供PIN0信号的或门153的输出量只对使用该恰当的时序信号的活动的功能逻辑块作出响应。因此,提供给PIN0的芯片选择信号只服从活动的时序周期,并允许任意数的流水线深度。PIN0不服从其它的与虽不活动但在流水线中却是未决的周期相关连的时序信号,直至活动周期结束。
图10以框图形式阐述图8的模块化芯片选择控制电路80的时序控制级100的一部分160。部分160一般包括一个第一控制单元170、一个第二控制单元180和一个早期流水线控制电路186。控制单元170一般包括一个允许地址锁存器171、一个可选锁存器172和一个时序状态机173。允许地址锁存器171具有一个标号为“允许地址总线”的输入端连至内部总线34的允许地址部分。CPU芯片31提供一个连至允许地址总线的允许地址信号,以标明一个存取的地址段正在进行中。作为响应,部分160必须将此允许地址信号译为恰当的芯片选择信号以便直接驱动存储装置。允许地址锁存器171具有一个连至时序状态机173输入端的和连至早期流水线控制电路186输入端的输出端。可选锁存器172具有一个标号为“可选总线”的连至内部总线34的可选总线部分的输入端及一个连至时序状态机173输入端和连至早期流水线控制电路186输入端的输出端。时序状态机173具有连至允许地址锁存器171输出端的、连至可选锁存器172输出端的和连至早期流水线控制电路186第一输出端的三个输入端,及提供三个标号为“ CE1时序”、“ WE1时序”和“ OE1时序”的时序信号的输出端。
类似地,控制单元180包括一个允许地址锁存器181、一个可选锁存器182和一个时序状态机183。允许地址锁存器181具有一个连至允许地址总线的输入端,用于接收允许地址信号。允许地址锁存器181具有一个连至时序状态和183输入端和早期流水线控制电路186输入端的输出端。可选锁存器182具有一个连至内部总线34的可选总线部分的输入端和一个连至时序状态机183输入端和连至早期流水线控制电路186输入端的输出端。时序状态机183具有连至允许地址锁存器181输出端、连至可选锁存器182输出端和连至早期流水线控制电路186的第二输出端的三个输入端,及提供三个标号为“ CE2时序”、“ WE2时序”和“ OE2时序”的时序信号的输出端。
早期流水线电路186具有一个连至允许地址总线用于接收允许地址信号的第一输入端,一个连至可选总线的第二输入端,及连至允许地址锁存器171和181输出端的输入端及连至可选锁存器172和182的输入端。早期流水线控制电路186向时序状态机173和183提供输出量,以确定当两个周期重叠时哪一个周期是活动的,因而避免不恰当的芯片选择信号时序。
时序控制级100通过协调控制单元170和180的时序来实现存取的有效流水线操作。有两个流水线检测和控制机构。第一,早期流水线控制电路186向两个时序状态机173和183提供附加控制信号以防止非法定时顺序,从而将具有例如图5或图7中所阐述的类型的存取那样的重叠存取加以协调。具体说,早期流水线控制电路186检测确定重叠存取是对同一区域还是不同区域,重叠存取周期是读周期还是写周期,并作为响应,提供恰当控制信号。第二,控制单元170和180检查两个所存取区域的特性以提供恰当的芯片选择信号时序,一个特性是由来自可选总线的ITYPE域所决定的接口类型。另一特性是由来自可选总线的相关域所标明的:该周期是由外部确认信号所结束,还是在预定数的等待状态后从内部来结束。
图2-10所阐述的电路参照图11-19所阐述具体实施例将能更好地理解。如这里所用的“激活(动词)”或“激活(动作名词)”是指一个采取其逻辑真状态的信号。一个“高活动”信号是在逻辑高电平上活动或真实的。一个“低活动”信号是在逻辑低电平上活动或真实的,而低活动信号用上划线来表示。信号“$”表明它后面的数字以16进制(以16为基数)表示。
注意有几个名词可能以不同方式引用。例如,名词“区”和“块”可交换使用。还有,除非特别注明,名词“内存”(存储器)包括易失性和非易失性内存两者,还包括内存映象的外设。还有,类似名词采用类似标号或不同图之间采用类似参考数值。
表1参照图1的单元定义了附加名词,有助于理解下面描述的
具体实施例:
                      表1
名词                    定义
E总线 外部总线21
CE 内存或输入/输出(I/O)装置的允许芯片信号。芯片选择电路32将 CE激活并将它与地址一起送至被存取装置。对于非流水线操作装置,芯片选择电路32激活 CE,直至存取完成时止。对于同步的流水线操作装置,芯片选择电路32激活 CE,使相关连的装置在下一个时钟由低到
高转变时将地址锁存。对于能提供自己的AACK信号(ACK-EN=0)的装置,芯片选择电路32保持信号 CE活动,直至外部 AACK信号被收到时止。
  WE 内存或I/O装置的允许写信号。芯片选择电路32激活 WE并将它和由外部总线接口33提供的数据一起提供,以使被存取装置将数据锁存。对于同步装置,芯片选择电路32在下一个时钟由低到高转变时激活 WE以获取数据。
  OE 内存或I/O装置的允许输出信号。芯片选择电路32将 OE激活,以使被存取装置在读周期内在外部总线21上提供数据。
 脉冲串式装置 能接收一个地址而驱动输出多个数据单元的同步装置(即利用外部总线时钟为内存存取定时的装置)。注意带有快速静态列存取(即要求地址增量者)的装置不被认为是脉冲串式。
 拍 在脉冲串式数据传送中,脉冲串有一串数据块,每个数据块是一个数据拍。
 重叠 两个存取如此排列,使第二个存取的地址段与第一个存取的数据段同时进行的一部情况。
 流水线操作装置 一个装置能将送给它的地址锁存而不要求在存取该装置期间在其地址管脚上的地址一直有效的一种情况。一个同步流水线操作装置在其 CE激活时在时钟的上升沿处将地址锁存。
地址空间 CPU芯片30的寻址范围。地址空间可分割为区(亦称为块)。每个区可由一块或多块内存芯片占用,这决定于芯片数据宽度。然而该区内所有芯片都具有一个或多个公共 CE信号。
BDIP,LAST 用于脉冲串式装置的早期结束控制信号。
挂起 具有挂起能力的装置能将其数据输出挂起,直至数据总线可供该装置使用时止。为能挂起数据,该装置需一 OE控制输入量,以及如该装置为脉冲串式,则它还需具备能力将其内部状态机挂起,不让它进入下一个数据拍,直至数据总线又可供使用时止。
图11以框图形式阐述图1芯片选择电路32的具体实施例的一个功能框图。芯片选择电路32一般具有3个信号接口。首先,芯片选择电路32接收一个标号为“复位”的对数据处理器30是全局量的复位信号,一套标号为“时钟”的既包括内部操作时钟信号又包括外部总线时钟信号时钟在内的时钟信号,及一套标号为“初值”的信号。在复位时(复位信号为活动),数据处理器30将外部数据总线管脚加以采样以便获得初值,于是芯片选择电路32使用该初值将它的某些寄存器设值。在复位时,其它寄存器采取省缺值,这在下面将进一步描述。
其次,芯片选择电路32有一接口连至外部总线接口33。CPU芯片31对相应的内存映象地址完成读和写周期,从而对芯片选择电路32内部的寄存器进行存取。在检测到这类存取后,外部总线接口33通过一个特殊用途总线控制对芯片选择电路32的存取,该特殊用途总线包括一个标号为“子总线地址”的地址总线输入端和一个标号为“子总线数据”的双向数据通路。其它用于存取芯片选择电路32的寄存器的控制信号通过一套标号为“握手”的信号传送至外部总线接口33或从后者传送过来。用于存取内存映象外设寄存器的控制信号的产生是众所周知的,所以不再描述。然而与外部总线传送有关的不同握手信号是在外部总线接口33和芯片选择电路32间传送的。这些传送握手信号在下面表2中加以描述。
                       表2
传送握手信号                   意义
TS 传送开始信号。外部总线接口33在总线存取开始时为一个时钟周期将此信号激活。
AACK 地址确认信号。此信号结束一个总线周期的地址段,允许外部总线接口33启动另一存取。
BI 禁止脉冲串信号。此输入信号标明所寻址的装置不具备脉冲串能力。
BDIP 脉冲串数据正进行中信号。此信号标明此时一个或更多个数据拍停留在固定脉冲串存取中。
TA 传送确认信号。此信号标明总线周期数据段的结束或在脉冲串存取中每一拍的结束。
TEA 传送错误确认信号。此输入信号在总线错误情况下结束总线周期。
ARETRY 地址重试信号。此信号与总线周期的地址阶段
相关连,并取代AACK的激活操作,及促使外部总线接口33重新仲裁和重新驱动该地址。
这些信号中的有关部分将在下面更详细地加以描述。
芯片选择电路32还有一个用于接收由外部总线接口33向外部总线21提供的32位地址,标号为“地址”的输入端,和另一个用于接收代表正在进行中的存取的属性的信号、标号为“属性”的输入端。表3列举了芯片选择电路32所用具体属性:
                       表3
属性信号名称                   意义
  RD/ WR 标明当前总线周期是读周期还是写周期
  SUPER 如此信号活动,这标明当前周期为管态存取周期;如它不活动,这标明当前是周期是用户态存取周期。
  INSTR/DATA 如该信号活动,这标明当前周期为指令存取周期;如它不活动,这标明当前周期数据存取周期。
  BURST 标明传送是一个脉冲串式传送
  BE0- BE3 标明周期中允许哪个字节或哪几个字节被调用。 BE0标明数据分道D0-D7包含合法数据。 BE1标明数据分道D8-D15包含合法数据。 BE2标明数据分道D16-D23包含合法数据。 BE3标明数据分道D24-D31包含合法数
  据。
第三,芯片选择电路32包括一个连向外部设备的包括13个标号为“ CSBOOT”和“CS(0)-CS(11)”的信号的接口。这些信号将结合下面图13作更详尽描述。
如图11中所阐述的,芯片选择电路32一般包括两部分:一个寄存器存取电路190和一个芯片选择生成单元200。寄存器存取电路190包括一个寄存器存取控制器192和一个寄存器地址译码器194。寄存器存取控制器192是一个状态机,用于为对芯片选择电路32的寄存器的存取提供控制信号。寄存器地址译码器194检测芯片选择电路32的哪个寄存器正被存取。寄存器存取电路190连至芯片选择生成单元200,用于对进入芯片选择寄存器195进行存取。
芯片选择寄存器195是如图12a和12b所阐述的内存映像寄存器,这些图以框图形式阐述芯片选择寄存器195的地址映象。虽然这些寄存器在内存中的位置可任意定,但它们最好如此安排以便将来扩展。例如,芯片选择电路32支持6个区域加一个专用子区域,并一共具有13个芯片选择信号。对应于独特区域的每一个芯片选择信号既有基址寄存器又有可选寄存器;其它7个芯片选择信号中每一个只具有可选寄存器。内存映象中与这些6个可选寄存器相邻的位置空着备用,允许导出集成电路通过增加基址寄存器来支持附加功能。下面将结合图13详细描述芯片选择电路32中寄存器的功能。
图13以框图形式阐述图11的芯片选择生成单元200。芯片选择生成单元200一般包括两个用于互连信号的总线,即译码总线201和时序总线202。芯片选择生成单元200还包括一个地址译码级210、一个时序控制级230和一个管脚配备级240。芯片选择生成单元200只是图8模块化芯片选择控制电路80的一个可能的实施例,它利用它的模块化特性和可重新配备特性实施一个适用于高性能微控制器的芯片选择电路。芯片选择生成单元200定义6个使用6个地址译码器的区域加上一个专用子区,并具有7个附加可选寄存器,用以定义用于对6个区域进行存取的芯片选择信号。芯片选择生成单元200还包括两个用以实施一个双深度流水线的控制单元,及具有13个可编程芯片选择管脚。6个区域中的一个是一个特定的引导区域,它在复位时活动,以允许对存放引导子程序的非易失性内存进行存取。接着一部分引导子程序可对其余区域编程。
芯片选择生成单元200将区域配对以提供二级和三级区域嵌套,从而实施多级保护机构。为实施该特征,芯片选择生成单元200将引导区域(也称为CSBOOT区域或区域0)定义为主区域,与区域1配对。与区域0配对后,区域1可用作位于区域0内具有较高优先级的子块。区域2和4也是主块,分别与区域3和5配对,后者能够用作位于区域2和4内具有较高优先级的子块。
此外,芯片选择生成单元200具有一个附加的译码器,用于定义一块与区域0配对的专用子块(“引导子块”)。该专用子块译码器允许多至三级的嵌套。用于实施三级嵌套的优先级方案如下:区域1的优先级比引导子块高,而后备的优先级又比区域0高。
芯片选择生成单元200中每个区域具有一个相关连的内存存取接口类型(“ITYPE”),后者是在相应的可选寄存器中的编码域内所定义的。芯片选择生成单元200支持8个不同接口类型。如被存取区域的可选寄存器中的ITYPE域将这8个合法存取类型中的一个加以编码,则时序控制级230提供一套由存取类型所定义的相关连的时序信号。然而,ITYPE域也可编码为处于备用状态中。如ITYPE域为处于备用状态中,例如由软件错误所造成者,则相关连区域的译码逻辑块不允许存取发生。因此,芯片选择生成单元200阻止这些错误不让它们造成错误的内存存取。
一种接口类型允许对一个区域进行同步读取并提供一个早期同步 OE信号。这种存取类型称为“具有允许早期同步输出的同步接口”。这种接口类型适用于需要至少一个等待状态的同步内存或内存映象外设。在使用这种存取类型的存取时,时序控制级230的一个控制单元在一个时钟周期内激活信号 OE,及外部总线接口33在随后的时钟周期内将数据锁存。在对具有至少一个等待状态的存储装置进行存取时,该存取类型允许芯片选择生成单元200在第一周期的数据段完成之前完成第二周期的地址段。当对脉冲串式装置进行存取时,时序控制级230支持一种相似的称为“具有允许同步输出的同步脉冲串式读取”的存取类型。
另一种接口类型提供区域存取的早期重叠特征。这种存取类型称为“具有允许同步输出及早其重叠的同步接口”的类型。对这种接口类型,时序控制级230在它为第二个存取提供 OE信号的时钟周期内完成随后的存取的地址段,从而提前一个时钟周期开始进行随后的存取。
时序控制级230还通过强制一套流水线规则来支持双深度的流水线深度。这些规则保证数据完整性和恰当的周期结尾。这些规则检查以下因素:例如,该存取是读存取还是写存取,该存取是否为对由芯片选择生成单元200确定的区域的存取,该存取为对具有同步接口类型还是具有异步接口类型的区域的存取,及被存取装置是否为脉冲串式装置、能否挂起其数据和能否提供它自己的传送确认信号。
管脚配备级240支持时序控制级230中两个控制单元,允许实现双深度流水线。管脚配备级240中13个管脚配备逻辑电路中的每一个电路标出是第一还是第二周期“据有”相关连的管脚。如周期属性,例如像对在管脚功能寄存器中所编程的区域的存取的属性那样,得到满足,则每个管脚配备逻辑电路使用与其所选管脚功能相关连的时序,以便在第一周期内提供芯片选择信号。在第二周期内,如该周期属性也得到满足,则每个管脚配备逻辑电路进一步服从与所选管脚功能相关连的时序。
下面将顺序考虑每一级,从而将芯片选择生成单元200的这些和附加特征更全面地进行描述。
地址译码级210定义多至7个不同可编程区域。这些7个区域的第一个标为引导区域,或另一称呼,为区域0。有两个与引导区域相关连的寄存器211和212,及一个译码逻辑块224。标号为“CSBOOT基址寄存器”的寄存器211用作引导区域的基址寄存器。寄存器211使用32个可能使用的位中的20位。位0-19标志引导区域的基址,其中寄存器211的位0对应于地址的位0,寄存器211的位1对应于地址的位1,并以此类推。在此将位排序方案中,地址的位0代表最高有效位,而位31代表最低有效位。
在复位时,如一个称为中断前缀位(IP)的初值位等于零,则此域取省缺值为$00000,如(IP=1)则此域取值为$FC000,并且在复位后是软件上可编程的。注意,由省缺基址和省缺块长度决定的省缺CSBOOT区域必须包括CPU芯片31的复位向量地址(初始程序计数器的内存地址)。虽然该区域的基址可编程成为地址映象中的任何地址,但它不应与数据处理器30中其它块或模块重叠。通电时,引导装置的地址可能与一个内部模块的地址匹配,例如数据处理器30中用于存放指令的一个内部EPROM。如出现此种情况,则数据处理器30所包括的附加电路(未示出)使内部存取取代外部存取。该内部存取用于提供引导指令,而芯片选择发生单元200不完成外部存取。CSBOOT基址寄存器的位20-31留作备用。
标号为“CSBOOT可选寄存器”的寄存器212是用于引导区域的可选寄存器。它是一个32位寄存器,其各位的定义标于下表4中:
                          表4
  位序   记忆符                功能描述
  0-3   BSIZE 块长度。该域与基址(表4-1)连用,用于确定块长度。
  4   SBLOCK 子块。如设此位,则基址寄存器所定义的地址空间是一块更大主块中的子块。主块由配对的基址寄存器(表4-2)所定义。
  5   SUPER 只是管态。如设此位,则此位标明此块只用于管态存取。如清此位,则此块可供管理程序或用户存取。
    6     DSPACE 只供数据空间用。如设此位,则此地址块只包含数据,而没有任何指令可对此区域存取。如清此位,则此块现可包含指令又可包含数据。
    7     WP 写保护。如设此位,则此地址块是只读。如清此位,则此块既可用于读又可用于写存取。
    8     CI 禁止高速缓存。如设此位,则该位标明该区域内的数据不应存放于高速缓存内。
    9-12     未用 未用
    13     ACK-EN 允许确认。如设此位,则如TA-DLY域和ITYPE域所决定的,芯片选择电路32分别为该区域返回传送确认 TA域和地址确认 AACK域。
    14-16     TA-DLY TA延迟。该位标明该区域的等待时间在零与7个等待状态之间(表4-3)。
    17-18     PS 端口尺寸。这些位标明该区域的端口尺寸,端口尺寸的省缺值是32位(表4-4)。
    19-20     PCON 管脚配备。这些位将管脚配备为 CE、WE、 OE或一个非芯片选择功能。如该管脚为 CE管脚,则区域不会影响它,因每个 CE管脚都具有它自己的基址寄存器和译码逻辑。(表4-5)。
    21-22     字节 字节。该域只当管脚配备为 WE管脚时才
可应用。芯片选择电路32使用此域以确定它应为E总线的4个允许字节中的哪一个字节将 WE激活。一般情况下,一个可写区域可具有多个 WE、一个 OE和一个 CE。(表4-6)。
  23-25   区域 内存区域。该域只当管脚配备为 WE或 OE管脚时才可应用。这些位标明该管脚用于哪个内存区域。如这些位的值为零,则不允许相应的芯片选择译码器工作。(表4-7)。
  26-27   未用 未用
  28-31   ITYPE 接口类型。这些位标明被控制的内存式外设的类型(表4-8)
如表4所标出的,表4-1至4-8将进一步阐述一些位域。在复位时BSIZE域对CSBOOT可选寄存器取省缺值为$F。然而在另一实施例中,只要CPU芯片31的复位向量仍位于省缺的CSBOOT区域内,BSIZE域可为其它值,例如1兆字节(1M)。表4-1阐述BSIZE域的编码值:
                       表4-1
BSIZE域(二进制)   块长度(字节)     比较的地址线
  0000     不合法 本编码值标明基址寄存器和可选寄存器中的位值非法或设有配备过。在将这些寄存
器配备以前不准将它们用于对外设的存取。
    0001     4K A0-A19
    0010     8K A0-A18
    0011     16K A0-A17
    0100     32K A0-A16
    0101     64K A0-A15
    0110     128K A0-A14
    0111     256K A0-A13
    1000     512K A0-A12
    1001     1M A0-A11
    1010     2M A0-A10
    1011     4M A0-A9
    1100     8M A0-A8
    1101     16M A0-A7
    1110     32M A0-A6
    1111     64M A0-A5
位4即SBLOCK位标明该区域是否为位于一块较大主块内的子块。如下面表4-2所示,不同块在一起配对:
      表4-2
    主块    子块
    CSBOOT    CS1
    CS2    CS3
    CS4     CS5
除以上配对外,如前面所指出的,引导区域具有一块附加的未用子块。如寄存器212中设置了SBLOCK位,则CS0块为主块而CS1块为子块。复位时,该位采取省缺值0。
CSBOOT可选寄存器的SUPER位在复位时采取省缺值为1,因为在管态中复位后,CPU芯片31将开始执行存取指令。复位时DSPACE位省缺值为0。CSBOOT可选寄存器的WP位在复位时的省缺值为1,因为一般情况下引导指令是非易失性只读存储器中读取的。复位时C1位清零,因为从引导子程序来的指令一般可存入高速缓存。
复位时ACK-EN位设为1,而相应的初值位则提供初始TA-DLY域值。表4-3阐述TA-DLY域的编码值:
              表4-3
  TA-DLY(二进制)     等待状态数量
    000001010011100101110111     01234567
初始PS域也是一个初值,其编码值阐述于下面表4-4中:
         表4-4
  PS(二进制)     端口尺寸
    00011011     备用16位端口32位端口备用
在为CSBOOT区域复位时PCON域清零,其编码值示于下面表4-5中:
                表4-5
 PCON(二进制)     管脚配备为
    00011011     允许芯片( CE)允许写( WE)允许输出( OE)非芯片选择功能
注意此处PCON域用作管脚功能寄存器130。在其它实施例中,可能使用单独的管脚功能寄存器。
复位时字节域清零,其编码值示于下面图4-6:
              表4-6
 字节(二进制)    管脚产生的 WE用于:
    000110     允许字节0允许字节1允许字节2
11 允许字节3
复位时区域域无所谓,初始时清零。区域域的编码值示于下面表4-7中:
                表4-7
  区域(二进制)        WE/ OE属于下一内存区域
    000              CSBOOT001              CS1010              CS2011              CS3100              CS4101              CS5110              未用111              未用
最后,初始的ITYPE域也是一个初值。ITYPE域的编码值示于下面表4-8:
                      表4-8
ITYPE域(二进制)         装置接口存取类型
    00000001 其输出缓存关断时间小于或等于一个时钟周期的通用异步区域。具有这种接口类型的装置不能进行流水线操作。其输出缓存关断时间为两个时钟周期的通用异步区域。具有这种接口类型的装置不能进行流水
00100011010001010110 线操作。具有异步 OE的同步区域。具有这种接口类型的装置可进行流水线操作,能用作一个异步装置,并具备能力在读存取时将其内部数据挂起,直至 OE激活。具有早期同步 OE的同步区域。具有这种接口类型的装置可进行流水线操作,能用作一个异步装置,并具备能力在读存取时将其内部数据挂起,直至 OE激活。被这种接口类型所存取的装置必须具有至少一个等待状态,以及如果TA-DLY标明零等待状态,则芯片选择电路32产生 OE时犹如该区域具有一个等待状态。备用。如错误地对它编程,则相应的管脚仍不活动。只具备固定脉冲串式存取能力的脉冲串式区域。这类接口具有一个 OE,可进行流水线操作,并能挂起其内部数据直至 OE激活。该接口可用作异步接口,但只能在接口所要求数量的等待状态之后及 OE激活之后才提供数据。在此模式中,该接口保持第一数据拍为合法,直至 BDIP信号标明它应送出下一个数据时止。用于该区域的 OE是一个异步 OE。备用。如错误地对它编程,则相应的管脚仍不活动。
    0111100010011010-1111 只具备固定脉冲串式存取能力的脉冲串式区域,但该接口具有一个 OE,可进行流水线操作,及能挂起其内部数据,直至 OE激活。该接口可用作异步接口,但只在接口所要求数量的等待状态之后和 OE激活之后才提供数据。在此模式中,该接口将保持第一数据拍为合法,直至 BDIP信号标明它应送出下一个数据时止。此区域所用 OE是一个同步 OE。只具有固定脉冲串式存取的脉冲串式区域。该接口包括一个等待状态计数器并不能具有 OE,因此该装置在它所要求数量的等待状态之后将数据输出。在数据总线可用之前该类型不能挂起其内部数据,因此它不是完全可进行流水线操作的。该接口可用作异步接口,但只在等待状态的数量得到满足后才提供数据,而且只将第一数据拍保持合法一个时钟周期。与ITYPE=0011同,但多了对该区域存取的早期重叠的特征。该接口类型必须有能力在对前一存取的读存取送出合法数据或在写存取接收数据之前的一个时钟周期内将另一个存取进行流水线操作。备用。如错误地对它们编程,则相应的管脚仍将不活动。
引导区域具有一个与它相关连的专用子块。标号为″CSBOOT子块基址寄存器″的寄存器213是用于此专用子块的基址寄存器,及标以″CSBOOT子块可选寄存器″的寄存器214是可选寄存器。寄存器213和寄存器211一样具有相同的域编码值;然而寄存器214只包括那些实现多级保护功能所需要的域。寄存器214包括BSIZE、SBLOCK、SUPER、DSPACE、WP和CI域,这些域是在表4中所定义的位0-8中,复位时它们全部清零。位9-31是备用的。为保证芯片选择生成单元200能恰当地工作,在将要成为子块的块的这个和任何其它可选寄存器中的BSIZE域必须小于主块的BSIZE。注意,然而其它具有附加逻辑电路的实施例能支持部分重叠的区域。译码逻辑块224对区域0寄存器211和212,及专用引导子块寄存器213和214中的位都作出响应。
第二个区域标以CS1区域或称为区域1。有两个寄存器216和217与区域1相关连,并有一个译码逻辑块225。标号为“CS1基址寄存器”的寄存器216用作区域1的基址寄存器。寄存器216是一个32位寄存器。和寄存器211一样,位0-19标明区域1的基址,其中位0相应于地址的位0,位1相应于地址的位1,以此类推,而位20-31则备用。复位时,此域省缺值为$00000。虽然该区域的基址可以编程为地址映象中任何地址,但它不应与数据处理器30中其它块或模块重叠。标号为“CS1可选寄存器”的寄存器217是区域1所用可选寄存器。它是一个32位寄存器,其编码值与上面表4所定义的寄存器212的值相同。复位时,除PCON域外其它位省缺值都为0;如数据处理器30处于芯片选择模式中,则PCON域取省缺值为$0,否则它取值为$3。
地址译码级210包括相对应于其它5个区域的5个其它可选寄存器。图13阐述分别标号为“CS1可选寄存器”和“CS5可选寄存器”、分别与区域1和区域5相关连的代表性的可选寄存器217和219。这些可选寄存器中的每一个都具有与寄存器212相同的位域定义。然而在复位时全部位和位域都清零。
标号为“CS0可选寄存器”的寄存器215是一个相对应于管脚配备级240中的一个管脚的可选寄存器,并只包括上面所定义的PCON、字节和区域域。如此管脚处于芯片选择模式中,则复位时PCON域取省缺值2,否则它取值为3;字节域和区域取省缺值为0。包括标号为“CS6可选寄存器”和“CS11可选寄存器”的代表性寄存器220和221在内的未与任何具体区域关连的可选寄存器具有与寄存器215相同的位域定义。然而复位时,如相应的管脚处于芯片选择模式中时,则PCON域清零,否则该域设为3。与寄存器215相似,这些附加可选寄存器中的字节和区域域在复位时都清零。
与引导区域相关连的是一个译码逻辑块224。寄存器211、212、213和214中的每一个将它们的位作为输出量送至译码逻辑块224。此外,为使专用块1成为块0的配对子块(在专用引导子块之外),与块1相关连的译码逻辑块225向译码逻辑块224的输入端提供输出信号。这些输出信号是图3中所阐述的多级保护机构所需地址匹配和属性匹配信号。注意到主块含有优先级强制电路58的功能。译码逻辑块224通过总线接口33自CPU芯片31接收输入量地址和属性。译码逻辑块224首先检查地址是否位于引导区域内或专用引导子块内。译码逻辑块224的做法是确定地址是否位于相应寄存器的基址域的BSIZE之内。其次,译码逻辑块224将输入量属性与相应可选寄存器中所编程的属性相比较。
在所阐述的实施例中,地址是一个32位地址。译码逻辑块224将地址的一些最高有效位(其位数由BSIZE域决定)与基址寄存器中所属值及可选寄存器中的BSIZE域进行比较。如所有最高有效地址位都匹配,则译码逻辑块224检测到一个地址匹配。
译码逻辑块224将不同属性译码并如下所述将它们与寄存器212的相应位进行检验。译码逻辑块224将RD/ WR属性位于WP位进行比较;或者如RD/ WR处于逻辑高位,或者如RD/ WR处于逻辑低位而同时WP清零,则译码逻辑块224为此位检测到一个属性匹配。译码逻辑块224将SUPER属性位与SUPER位进行比较,或者如果SUPER属性处于逻辑高位,或者如果SUPER属性处于逻辑低位而同时SUPER位清零,则译码逻辑块224为此位检测到一个属性匹配。译码逻辑块224将INSTR/ DATA属性位与DSPACE位比较,并且或者如果INSTR/ DATA处于逻辑低位,或者如果INSTR/ DATA处于逻辑高位而同时DSPACE位清零,则译码逻辑块224为此位检测到一个属性匹配。如所有编程的属性与相应的属性信号以此种方法相匹配,则译码逻辑块224检测到一个属性匹配。
如译码逻辑块224在一个区域内将地址匹配和属性匹配两者都检测到,则它检查是否有一块更高优先级的子块将取代此匹配。例如,如译码逻辑块224检测到一个对区域0和未用引导子块两者内地址的存取,则在寄存器214中定义的那些属性将决定是否进行存取。即使在区域0既有地址匹配又有属性匹配,但如在未用引导子块内没有属性匹配,则译码逻辑块224仍将阻止周期出现。
时序控制级230包括两个控制单元231和232,及一个连在控制单元231和232之间的早期流水线控制单元233。时序控制级230用作一个向外部总线21提供芯片选择信号的存取状态机,而每个控制单元231和232都有一个输入端连至译码总线201,用于从地址译码级210中的译码逻辑块中接收译码信号,以标明正在进行中的总线周期是否与6个可用区域中的一个或未用引导子块的地址及属性相匹配。如其中一个区域检测到匹配,时序控制级230的控制单元中的一个单元向时序总线202提供顺序时序信息,以反映用于给定编程的接口类型的恰当时序。
控制单元231向时序总线202提供三个时序控制信号,即CE1时序、 OE1时序和 WE1时序。相类似,控制单元232向时序总线202提供三个时序控制信号,即 CE2时序、 OE2时序和 WE2时序。
例如,地址译码级210中的译码逻辑块224检测到一个对区域0的存取,并作为响应向译码总线201提供控制信号。在时序控制级230中,例如控制单元231那样的控制单元与该总线周期关连起来,并为在此存取未决期间的存取向时序总线202提供时序信号。在第一存取期间可能进行第二存取,地址译码级210中的一个地址译码器可能检测到一个对相应的可编程区域的存取而该存取具有与其可选寄存器中所编程的属性相匹配的属性,以及该地址译码器向译码总线201提供控制信号。由接口类型所决定,控制单元232接着可能开始向时序总线202提供时序信号,以便为此存取将一个或多个芯片选择控制信号加以重叠。
决定于拥有该周期的区域的可选寄存器的ITYPE域,每个时序控制单元为每个芯片选择功能提供时序信号。用于芯片选择电路32所实施的接口类型的信号定时可结合图14-19更好地理解。在这些时序图的每一个图中,连续的由低到高时钟转变标以t1、t2、t3等等。地址、数据和控制信号的活动时间或合法时间标以数字以识别存取。注意这些时序图代表典型信号定时。由于集成电路生产过程条件不同,实际信号定时波形将不同。有些信号由外部总线接口33所提供,但也加以阐述以利于更好理解接口。在图14-19中,箭头代表信号依赖关系或因果关系。
图14阐述接口类型$0的时序图,这种普通异步接口用于对零等待状态、不用时钟定时的装置(即其输出缓存关断时间小于或等于一个时钟周期的装置)的存取。在整个存取期间,该异步接口要求地址和芯片选择信号( CE及 OE、 WE两者之一)一直保持合法。因此在前一存取完成之前,不可能对同一装置进行连续的存取,因此不允许重叠存取。图14阐述了一个读周期后跟随一个写周期。在读周期和写周期两者的期间,被存取装置在信号 CE激活之后例如CE1的下降沿之后的一个延迟时间内使用一个例如A1的地址。在读周期内,被存取装置在信号 OE激活之后例如OE1下降沿之后的一个延迟时间内将数据作为输出量送出(也作为送至外部总线接口33的输入量)。在写周期内,被存取装置在信号 WE不激活之后例如WE2的上升沿之后的一个延迟时间内将诸如D2(它是外部总线接口33的一个输出量)那样的数据单元加以锁存。异步存储装置的一个例子是由Motorola,Inc.所提供的MCM62995A内存芯片,它除具有一个允许锁存地址( ALE)信号外还能工作于异步模式。
接口类型$1与类型$0类似,但所应用的普通异步接口用于对其输出缓存关断时间等于两个时钟周期的装置进行存取。因此适用于此类存取的信号定时类似于图14所阐述内容但不全同。在读周期内,在允许随后的装置将数据送至外部总线21上之前,芯片选择电路32在它使信号 OE不激活之后将等待一个时钟周期。在随后的写周期内,在使先前的 OE不激活之后一个时钟周期以前,芯片选择电路32将禁止外部总线接口33送出数据。
图15阐述接口类型$2的时序图,这是具有异步 OE的同步接口。具有此种同步接口的存储装置具有一个用于接收时钟信号的输入端,并在由低到高的时钟转变时将地址和数据锁存。在读存取期间,存储装置对信号 OE作出响应,异步地提供数据。图15阐述一个读周期后跟随一个写周期。除芯片选择信号外,具有这种接口存取类型的装置检测到一个标号为“ WR”的由外部总线接口33提供的写信号。用于在地址段确定该存取是读存取还是写存取。因此在t2时被存取装置检测到该存取是读存取并将A1锁存。芯片选择电路32将信号 OE激活,而OE1的下降沿使被存取装置提供数据,后者输入至外部总线接口33。
使用这类接口的存储装置具有将输入量地址锁存的能力,以便使对同一个装置的下一个存取可与前一个存取相重叠,这样的装置可在读存取时将其内部数据挂起,直至信号 OE激活时止。因此连续写周期的地址段可与读周期的数据段的末尾相重叠。芯片选择电路32在t3之前激活信号 CE,以使被存取装置将地址A2锁存。由于信号 WR在t3时活动,被存取装置检测到一个写存取。在读存取的数据较完成后,芯片选择电路32激活信号 WE,以使被存取装置将数据锁存,从而在t5时完成写周期的数据段。
图15所阐述的时序只是孤立地表现了芯片选择电路32的将两个连续的接口类型$2存取重叠起来的能力。然而数据处理器30并不允许这种重叠,以便提高额外保护防止可能的总线竞争,在数据处理器30中,外部总线接口33并不足够早地向芯片选择电路32提供恰当的能使芯片选择电路32将第二个存取的地址段重叠的握手信号。因此实际上外部总线接口33并不提供A2,及芯片选择电路32在t4前的一个建立时间之前并不激活 CE和 WR信号。
称为“具有早期同步OE的同步接口”的接口类型$3先前在图5中曾阐述过。注意对于接口类型$3讲,芯片选择电路32以与接口类型$2相同的方式完成写周期,这已在图15中阐述过。
称为“具有固定脉冲串的脉冲串式区域”的接口类型$5具有一个“类型I”的脉冲串式接口并使用一个异步 OE信号。芯片选择电路32实施一个4周期的固定脉冲串长度。类型I脉冲串式接口分别使用 OE和 WE信号使被存取装置送出数据或将数据锁存进来。该接口还需要一个 BDIP信号以控制被存取装置输出下一个脉冲串拍的时间。类型I脉冲串式接口装置具有一个地址锁存器,因此对该装置的下一个存取的地址可与前一存取地址重叠;也即,在时钟由低到高转变时刻将地址锁存之后,存取的地址不必再保持为合法。
图16阐述一个使用接口类型$5的读周期的时序图例子。在图16所示例子中,该区域的相应的可选寄存器中的ACK-EN位配备为允许外部确认信号清零。在时间点t2,被存取装置同步地将地址锁存并在由信号 AACK的激活而定的t2时刻完成地址段。然而在t2时被存取装置保持信号 TA不活动,因此芯片选择电路32必须插入一个等待状态。随后,在t3时被存取装置激活信号 TA以标明它准备完成数据段,并提供第一数据单元D10。外部总线接口33激活信号 BDIP以标明它在等待随后时钟由低到高转变时的脉冲串下一拍。外部总线接口33分别在转变时刻t4、t5和t6将连续的数据单元D11、D12和D13锁存。外部总线接口33在t6之前使信号 BDIP不激活,标明数据单元D13是脉冲串的最后一拍。被存取装置保持数据单元D13合法,直至使信号 OE不激活之后一个延迟时间止。
当同一装置在连续两个周期内被存取时,该接口允许随后的存取的地址段与先前的存取的数据段重叠。被存取装置在先前脉冲串的最后一拍中检测到第二个存取。因此,如图16所阐述的,外部总线接口33提供一个随后地址A2及芯片选择电路32在t3前一个建立时间内激活信号 CE,然后被存取装置在t6前一个建立时间内提供信号 AACK,从而完成第二个存取的地址段。
图17阐述使用类型I脉冲串式接口(例如接口类型$5)的写周期的时序图。与图16一样,相应的可选寄存器中区域的ACK-EN位配备为允许外部确认信号清零。在t2时,被存取装置将地址同步地加以锁存并在由信号 AACK的激活而定的t2时刻完成地址段。在t2时被存取装置激活信号 TA以标明它准备完成数据段,并将第一个数据单元D10锁存。接着激活信号 BDIP以标明外部总线接口33将在随后的时钟由低到高转变时刻提供脉冲串的下一拍。数据处理器30分别在转变时刻t3、t4和t5送出连续的数据单元D11、D12和D13。t5时信号 BDIP不活动,标明数据单元D13是脉冲串最后一拍。如图16一样,图17阐述重叠存取的地址段,该第二存取的地址段在t5时脉冲串的最后一拍期间结束。
称为“具有可进行流水线操作的 OE的固定脉冲串”的接口类型$7支持先前图6中所阐述过的读存取。该接口类型能挂起其内部数据,直至信号 OE激活时止。该接口可用作一个异步接口,但只在由TA-DLY域所定义的数量的等待状态后和在信号 OE激活后才提供数据。接口类型$7是一个类型I接口,其写周期时序阐述于图17中。
接口类型$8具有一个“类型II”脉冲串式接口,后者并不需要一个 OE信号,作为替代,它使用 LAST信号。当在时钟由低到高转变之前一个建立时间内将信号 LAST激活时,一个类型II装置随着时钟的转变将其数据输出缓存置于高阻抗状态。在装置的存取等待时间或等待状态期间, CE信号必须保持活动。这类装置也需要一个 TS信号。
图18阐述一个使用存取类型$8的读接口的时序图。在所阐述的例子中,被存取装置具有两个等待状态,并返回它自己的确认信号。直至当被存取装置激活信号 AACK的t3时,地址段才结束。在类型II脉冲串式接口下,在装置的等待时间的期间内信号 CE一直保持活动,直至数据段开始时的t3以后时止。这种接口存取类型没有 OE信号。从t4开始,当时钟连续由低到高转变时,被存取装置将信号 TA激活。在t7时外部总线接口33激活信号 LAST,从而结束4拍脉冲串式传送。
该接口允许随后的存取的地址段与先前的存取的数据段重叠。因此如图18所阐述的,芯片选择电路32提供随后地址A2并在t4前一个建立时间内激活信号 CE。被存取装置检测到随后的存取的地址段,并在由信号 AACK的激活所定的t7时刻将A2锁存。然而信号 CE必须在CE2期间保持活动,直至发生第二存取的数据段(t7的随后时间)时止。这种类型的被存取装置具有一个地址锁存器,所以它可以早在t7就锁存A2,从而完成下一个地址段。
图19阐述使用存取类型$8的写接口的时序图。再者,被存取装置具有两个等待状态,并在t3时刻返回包括 AACK在内的它自己的确认信号,以完成传送的地址段。如在类型II脉冲串式读周期内一样,在装置等待时间的期间信号 CE保持活动,因此 CE一直保持活动,直至数据段开始的t3之后。从t4开始,外部总线接口33在连续的时钟周期内提供数据单元D10、D11、D12和D13,同时被存取装置将这些数据单元锁存。自t4开始,被存取装置在连续的时钟周期内激活信号 TA,从而标明脉冲串每一拍数据段的结束。犹如类型II脉冲串式读周期中一样,在t7时外部总线接口33激活信号 LAST,从而完成此4拍脉冲串式传送。随后周期的地址可用图18所阐述的同样方式加以重叠。
称为“具有同步 OE和早期重叠的同步接口”接口类型的接口类型$9如前面图7所阐述那样完成读存取。此类型相似于接口类型$3,不同之外是它将第2个存取的地址段与先前存取的早期同步 OE重叠起来。一个接口存取类型$9写存取与前面图15所阐述的普通同步写存取相同。
接口类型$4、$6和$A-$F保留不用。如时序控制级230中的活动控制单元检测到一个对具有这些保留类型中的一个的接口进行存取,它禁止产生任何芯片选择时序控制信号,因此芯片选择生成单元200不完成任何相应的内存存取。因此由于软件错误造成的此域中不正确编码将不会引起非法存取。
由于芯片选择电路32支持一系列接口,因此它非常灵活。然而芯片选择电路32所支持的一套接口在不同实施例中可能不同,以满足不同应用要求。此外,芯片选择电路32支持高度流水线操作的接口,从而提高数据处理器30的性能。具体说,接口存取类型$3、$7和$9比已知接口很大地改善了性能。使用常规顺序的(用时钟定时的)电路设计技术,将现有存储装置改造使之遵照此处所阐述的时序,即可做出与接口存取类型$3、$7和$9一起使用的存储装置。
为处理重叠存取,早期流水线控制单元233检测两种主要情况。第一种情况是对同一区域或芯片进行存取的情况,这些存取最多被允许将下一个地址段与第一个存取的数据段重叠(如果第一个存取的等待时间可以确定,即ACK-EN=1)。例如,如第一个存取是对一个流水线操作装置进行的,则对同一装置的第二个存取将等待,直至第一个存取准备完成其数据段时止。然而第二个存取的地址(或 CE)能与第一个存取的数据重叠。
第二种情况是对两个不同区域或芯片的两个存取。第二种情况中,为将对两种不同区域或芯片的存取重叠起来,时序控制级230强制一套流水线操作规则,以保证数据完整性和恰当的周期结束。下面表5更详细地描述这些规则。
                                      表5
  规则号        第一周期       第二周期        流水线操作?
    123456789   对一个区域的读存取写存取单拍写存取读存取任何CS存取,至少第一个和/或第二个周期中的一个是对具有ACK-EN=0的区域的存取非CS存取固定脉冲串式读取同步区域异步区域   对不同区域的读存取读存取写存取写存取对于能挂起数据的装置的存取CS存取任何CS存取异步区域任何存取   是是是是(重叠)是,只要在具有ACK-EN=0的区域内的装置在 TA之前返回AACK.否是,如第二个区域可进行流水线操作及挂起其数据否否
规则1涉及对一个区域的读存取,后跟随一个对另一区域的另一个读存取的情况。此情况中,芯片选择电路32将第二读取与第一读取进行流水线操作。
规则2涉及一个写存取后跟随一个读存取的情况。此情况中,芯片选择电路32将第二读取与第一读取进行流水线操作。
规则3涉及单拍写存取后跟随另一个写存取的情况。此情况中,有些装置要求在地址或 CE成为合法后的一个时钟周期内可以使用写周期的数据。如不行,则装置使写周期作废。如两个存取都由芯片选择电路32加以结束(即两个区域的可选寄存器中都设置ACK-EN位),则芯片选择电路32在第一写周期的最后一个数据段时即激活第二写周期的 CE,从而将存取重叠。如情况为一个脉冲串式写后跟随另一个写,则芯片选择电路32在第一写周期标明已激活最后数据拍( BDIP或 LAST)之后为第二写周期内激活CE。
规则4涉及读周期后跟随一个写周期的情况。芯片选择电路32在读周期结束之前将写周期的 CE激活,从而将存取重叠。然而在所阐述的实施例中,外部总线接口33并不向芯片选择电路32提供允许重叠所用的恰当握手信号。在为写周期激活 CE之前外部总线接口33并不提供写周期的地址信号。
规则5涉及两个连续的存取,其中有一个存取的等待时间(即等待状态的数量)是未知数(即其ACK-EN被清零)。此情况中,只当第二存取的区域具有的接口类型能在总线可用之前挂起数据时,芯片选择电路32才将两个存取进行流水线操作。例如,第一存取是对其ACK-EN清零的区域的存取,及第二存取是对其ACK-EN设置并具有接口存取类型$8的区域的存取。此情况中,因第二区域不可以在没有 OE时挂起其数据,因此在第一存取完成前芯片选择电路32必须将第二存取挂起。注意如果第一存取是对其等待时间为未知数的区域的存取及第二存取是对同一区域,则芯片选择电路32等待一个外部 AACK,后者允许芯片选择电路32将对于同一区域的随后的 CE激活。
规则6涉及的情况是第一存取的区域未被芯片选择电路32定义,例如一个专用动态RAM(DRAM)控制器,及第二存取是对由芯片选择电路32所定义的另一区域。此情况中,第一区域提供它自己的芯片选择信号,所以芯片选择电路32不知道接口存取类型和等待时间。因此芯片选择电路32不将第二存取和第一存取进行流水线操作。
规则7涉及一个对脉冲串式区域的固定4拍脉冲串式读存取,后面跟随一个对其它区域的读取。此情况中,如第二存取的区域可进行流水线操作并能挂起其数据,则芯片选择电路32将第二存取进行流水线操作。注意如果第二存取具有接口存取类型$8,则它不能挂起其数据及芯片选择电路32将不使第二存取进行流水线操作。
规则8涉及对同步区域的第一存取,跟随一个对异步区域的第二存取。此情况中,由于第二存取不能进行流水线操作,因此芯片选择电路32不使第二区域进行流水线操作。
规则9涉及对异步区域的第一存取,此情况中,由于在第一存取完成前外部地址和数据总线两者必须可供第一存取使用,因此芯片选择电路32不使第二存取与第一个流水线操作。
注意芯片选择电路32与外部总线接口33一起用于实施这些流水线操作规则。在某些情况下,外部总线接口33进行控制。对规则4讲,结合上面图15所描述的,芯片选择电路32支持流水线操作但外部总线接口33不支持。对于规则9讲,外部总线接口33也并不足够早地提供用于流水线操作的 AACK或 TA握手。在其它情况下,芯片选择电路和32检测到不兼容的存取。
管脚配备级240包括13个管脚配备逻辑电路,包括代表性的管脚配备逻辑电路和241、242、243和248。每个管脚配备逻辑电路具有一个连至译码总线201的第一输入端,一个连至时序总线202的第二输入端和一个用于提供未用芯片选择信号的输出端。管脚配备逻辑电路241提供一个标为“CSBOOT”的输出信号。管脚配备逻辑电路242提供一个标为“CS0”或另一标号“CSBOOT  OE”的输出信号。管脚配备逻辑电路243提供一个标为“CS1”的输出信号。管脚配备逻辑电路248提供一个标号为“CS11”的输出信号。
芯片选择电路32可编程地通过13个集成电路管脚提供芯片选择信号。然而,正如高集成度数据处理器或微控制器中常规做法一样,这些管脚与其它管脚功能或数据处理器30的端口共享以及能可编程地选择以便将输出信号加以配备,用于不同终端用户的应用。
虽然本发明是在最佳实施例的范围内描述的,熟悉技术的人清楚地知道本发明可用不同方式修改并在上面具体描述的范围之外组成许多实施例。相应地,所附权利要求书用于包括不背离本发明实质和范围的对本发明的所有修改。

Claims (10)

1.一种具有可编程内存存取接口类型的集成电路微处理器(30),包括:
一个CPU(31),用于执行指令和存取内存;
一个连至所述CPU(31)并与一个内存区域相联系的可选寄存器(61),所述可选寄存器(61)存放一个被编码的接口类型值(62);
一个连至所述可选寄存器(61)的译码器(63),用于将所述被编码的接口类型值(62)加以译码,以对存取所述内存区域的所述CPU(31)作出响应,提供一个译码信号,所述译码信号采取多个状态中的一个,其中包括合法状态和备用状态;以及
一个连至所述CPU(31)和连至所述译码器(63)的存取控制器(64),或者当所述译码信号处于合法状态时所述存取控制器(64)用于激活多个外部控制信号,所述外部控制信号具有由对应于所述译码信号的可编程接口类型所决定的时序特性,或者当所述译码信号处于备用状态时所述存取控制器(64)用于保持所述多个外部控制信号不活动。
2.权利要求1的集成电路微处理器(30),其中所述多个外部控制信号包括一个允许芯片操作信号,一个允许输出信号和一个允许写信号。
3.权利要求1的集成电路微处理器(30),还包括:
一个连至所述CPU(31)和与第二内存区域相关连的第二可选寄存器,所述第二可选寄存器存放一个第二编码值;
所述译码器(63)进一步连至所述第二可选寄存器,用于将所述第二编码值加以译码以便对存取所述第二内存区域的所述CPU(31)作出响应,提供一个第二译码信号,所述第二译码信号采取多个状态中的一个,包括合法状态和备用状态;以及
所述存取控制器(64)对存取所述第二内存区域的所述CPU(31)做出响应,或者当所述第二译码信号处于合法状态时用于激活多个外部控制信号,所述外部控制信号具有由对应于所述第二译码信号的可编程接口类型所决定的时序特性,或者当所述第二译码信号处于备用状态时所述存取控制器(64)用于保持所述多个外部控制信号不活动。
4.一种用于同步地并取内存的方法,包括以下步骤:
在第一时钟周期内由CPU(31)执行指令并响应该CPU为第一内存存取提供第一地址;
对于多个可选寄存器(53,56)中的每一个编制一个被编码的接口类型值(62),所述多个可选寄存器中的每一个与预定的内存区域(41,42)相联系;
响应对所述被编码的接口类型值解码成具有合法状态,由连接到CPU的芯片选择电路(32)激活一个第一控制信号,所述第一控制信号指示在所述第一时钟周期后至少一个等待状态后的第二时钟周期内的所述第一内存存取的一个数据段;以及
在紧接所述第二时钟周期后的第三时钟周期内所述内存向CPU提供由所述第一地址所存取的第一数据单元。
5.权利要求4的方法,其中所述激活所述第一控制信号的步骤包括激活一个允许输出控制信号的步骤。
6.权利要求4的方法,还包括激活一个用于标明所述第一内存存取的地址段的第二控制信号的步骤。
7.权利要求6的方法,其中所述激活所述第二控制信号的步骤包括激活一个允许芯片操作信号的步骤。
8.权利要求6的方法,还包括以下步骤:
所述CPU在所述第三时钟周期内为第二内存存取提供第二地址;以及
所述芯片选择电路激活所述第二控制信号,以指示在所述第三时钟周期内所述第二内存存取的一个地址段。
9.权利要求4的方法还包括以下步骤:
所述芯片选择电路激活一个第二控制信号,该第二控制信号指示在所述第三时钟周期内正在进行中的一个脉冲串数据周期;以及
在所述第三时钟周期随后的第四时钟周期内所述内存向CPU提供一个第二数据单元。
10.权利要求4的方法还包括以下步骤:
所述芯片选择电路激活一个第二控制信号,该第二控制信号指示在包括所述第三时钟周期在内的第一多个时钟周期内正在进行中的一个脉冲串数据周期;以及
在随所述第三时钟周期之后并与所述第一多个时钟周期对应的第二多个时钟周期内所述内存向CPU提供多个脉冲串数据单元。
CNB951166719A 1994-08-31 1995-08-30 可编程存储器存取接口类型的集成电路微处理器及方法 Expired - Lifetime CN1169064C (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US298892 1994-08-31
US298,892 1994-08-31
US08/298,892 US5727005A (en) 1994-08-31 1994-08-31 Integrated circuit microprocessor with programmable memory access interface types
US35376494A 1994-12-12 1994-12-12
US353764 1994-12-12

Publications (2)

Publication Number Publication Date
CN1139238A CN1139238A (zh) 1997-01-01
CN1169064C true CN1169064C (zh) 2004-09-29

Family

ID=26970929

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB951166719A Expired - Lifetime CN1169064C (zh) 1994-08-31 1995-08-30 可编程存储器存取接口类型的集成电路微处理器及方法

Country Status (6)

Country Link
US (1) US6079001A (zh)
EP (1) EP0700001B1 (zh)
JP (1) JPH08166902A (zh)
KR (1) KR100391726B1 (zh)
CN (1) CN1169064C (zh)
DE (1) DE69513113T2 (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5017258A (en) * 1986-06-20 1991-05-21 Shell Oil Company Pipe rehabilitation using epoxy resin composition
US5963609A (en) * 1996-04-03 1999-10-05 United Microelectronics Corp. Apparatus and method for serial data communication between plurality of chips in a chip set
US6324592B1 (en) 1997-02-25 2001-11-27 Keystone Aerospace Apparatus and method for a mobile computer architecture and input/output management system
US6289409B1 (en) * 1998-08-25 2001-09-11 Infineon Technologies North America Corp. Microcontroller with flexible interface to external devices
KR100303780B1 (ko) * 1998-12-30 2001-09-24 박종섭 디디알 에스디램에서의 데이터 우선 순위 결정 장치
US6973101B1 (en) * 2000-03-22 2005-12-06 Cypress Semiconductor Corp. N-way simultaneous framer for bit-interleaved time division multiplexed (TDM) serial bit streams
US6314049B1 (en) * 2000-03-30 2001-11-06 Micron Technology, Inc. Elimination of precharge operation in synchronous flash memory
US6728150B2 (en) * 2002-02-11 2004-04-27 Micron Technology, Inc. Method and apparatus for supplementary command bus
ITMI20021185A1 (it) * 2002-05-31 2003-12-01 St Microelectronics Srl Dispositivo e metodo di lettura per memorie non volatili dotate di almeno un'interfaccia di comunicazione pseudo parallela
US7372928B1 (en) * 2002-11-15 2008-05-13 Cypress Semiconductor Corporation Method and system of cycle slip framing in a deserializer
KR100506062B1 (ko) * 2002-12-18 2005-08-05 주식회사 하이닉스반도체 복합형 메모리 장치
DE10361059A1 (de) * 2003-12-22 2005-07-28 Micronas Gmbh Verfahren und Vorrichtung zum Steuern eines Speicherzugriffs
EP2196916A1 (en) * 2008-12-12 2010-06-16 IHP GmbH-Innovations for High Performance Microelectronics / Leibniz-Institut für innovative Mikroelektronik GALS circuit block and GALS circuit device suitable for bursty data transfer
JP2011081553A (ja) * 2009-10-06 2011-04-21 Renesas Electronics Corp 情報処理装置及びその制御方法
CN102207919A (zh) * 2010-03-30 2011-10-05 国际商业机器公司 加速数据传输的处理单元、芯片、计算设备和方法
DE102010032198A1 (de) 2010-07-25 2012-01-26 Elena Lingen Behandlungsanlage für Regenwasser
KR101796116B1 (ko) 2010-10-20 2017-11-10 삼성전자 주식회사 반도체 장치, 이를 포함하는 메모리 모듈, 메모리 시스템 및 그 동작방법
US20120198181A1 (en) 2011-01-31 2012-08-02 Srinjoy Das System and Method for Managing a Memory as a Circular Buffer
CN113468081A (zh) * 2021-07-01 2021-10-01 福建信息职业技术学院 基于ebi总线的串口转udp的装置及方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4851990A (en) * 1987-02-09 1989-07-25 Advanced Micro Devices, Inc. High performance processor interface between a single chip processor and off chip memory means having a dedicated and shared bus structure
US5151986A (en) 1987-08-27 1992-09-29 Motorola, Inc. Microcomputer with on-board chip selects and programmable bus stretching
JP2752076B2 (ja) * 1988-02-23 1998-05-18 株式会社東芝 プログラマブル・コントローラ
JPH0210451A (ja) * 1988-06-28 1990-01-16 Nec Corp 半導体記憶装置
JPH03144990A (ja) * 1989-10-31 1991-06-20 Toshiba Corp メモリ装置
US5448744A (en) * 1989-11-06 1995-09-05 Motorola, Inc. Integrated circuit microprocessor with programmable chip select logic
JP2762138B2 (ja) * 1989-11-06 1998-06-04 三菱電機株式会社 メモリコントロールユニット
EP0440456B1 (en) * 1990-01-31 1997-01-08 Hewlett-Packard Company Microprocessor burst mode with external system memory
JPH03248243A (ja) * 1990-02-26 1991-11-06 Nec Corp 情報処理装置
US5335334A (en) * 1990-08-31 1994-08-02 Hitachi, Ltd. Data processing apparatus having a real memory region with a corresponding fixed memory protection key value and method for allocating memories therefor
US5291580A (en) * 1991-10-04 1994-03-01 Bull Hn Information Systems Inc. High performance burst read data transfer operation
US5367645A (en) * 1992-06-12 1994-11-22 National Semiconductor Corporation Modified interface for parallel access EPROM
US5418924A (en) * 1992-08-31 1995-05-23 Hewlett-Packard Company Memory controller with programmable timing
US5469544A (en) * 1992-11-09 1995-11-21 Intel Corporation Central processing unit address pipelining
US5559992A (en) * 1993-01-11 1996-09-24 Ascom Autelca Ag Apparatus and method for protecting data in a memory address range
US5502835A (en) * 1994-08-31 1996-03-26 Motorola, Inc. Method for synchronously accessing memory
US5511182A (en) * 1994-08-31 1996-04-23 Motorola, Inc. Programmable pin configuration logic circuit for providing a chip select signal and related method

Also Published As

Publication number Publication date
KR100391726B1 (ko) 2003-11-03
KR960008543A (ko) 1996-03-22
CN1139238A (zh) 1997-01-01
DE69513113T2 (de) 2000-06-21
US6079001A (en) 2000-06-20
JPH08166902A (ja) 1996-06-25
DE69513113D1 (de) 1999-12-09
EP0700001B1 (en) 1999-11-03
EP0700001A1 (en) 1996-03-06

Similar Documents

Publication Publication Date Title
CN1169064C (zh) 可编程存储器存取接口类型的集成电路微处理器及方法
US5617559A (en) Modular chip select control circuit and method for performing pipelined memory accesses
CN1088216C (zh) 加载在mca适配卡上的pci扩展卡的配置和ram/rom控制
US5511182A (en) Programmable pin configuration logic circuit for providing a chip select signal and related method
CN1113300C (zh) 半导体装置及计算机系统
US5502835A (en) Method for synchronously accessing memory
CN100339780C (zh) 包括可通过安全通信路径连接中央处理器与安全服务处理器的安全执行模式的计算机系统
US7664925B2 (en) Arrangements having security protection
CN100538674C (zh) 用于在存储器间传输数据的装置
CN1037982A (zh) 在有仲裁的80386/82385微机系统运行中80386对系统总线的抢用
CN1781069A (zh) 包含用于连接安全服务处理器的总线桥的计算机系统
CN1488105A (zh) 控制数据处理系统间经由存储器的数据流的方法和装置
US9122802B2 (en) Interconnect, bus system with interconnect and bus system operating method
CN1488104A (zh) 控制数据处理系统间经由存储器的数据流的方法和装置
CN114253884B (zh) 基于fpga的多主对多从访问仲裁方法、系统及存储介质
TWI489292B (zh) 資料空間仲裁器
JP4225513B2 (ja) モジュール方式チップ選択制御回路および関連する回路および方法
CN1265275C (zh) 微型计算机
US5727005A (en) Integrated circuit microprocessor with programmable memory access interface types
WO1998012634A2 (en) Solid state data processor with versatile multisource interrupt organization
CN103106157B (zh) 存储器控制元件
EP0898232A2 (en) Method for synchronously accessing memory
JP4615233B2 (ja) Dmaを内蔵するマイクロコンピュータ
CN116318658A (zh) 信任域扩展媒介的密钥验证方法、装置、电子设备及介质
JPH0683780A (ja) マルチプロセッサシステム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee

Owner name: FISICAL SEMICONDUCTOR INC.

Free format text: FORMER NAME: FREEDOM SEMICONDUCTOR CORP.

CP01 Change in the name or title of a patent holder

Address after: Texas in the United States

Patentee after: FREESCALE SEMICONDUCTOR, Inc.

Address before: Texas in the United States

Patentee before: FreeScale Semiconductor

ASS Succession or assignment of patent right

Owner name: TIANDING INVESTMENT CO., LTD.

Free format text: FORMER OWNER: FISICAL SEMICONDUCTOR INC.

Effective date: 20150625

Owner name: APPLE COMPUTER, INC.

Free format text: FORMER OWNER: TIANDING INVESTMENT CO., LTD.

Effective date: 20150625

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

Effective date of registration: 20150625

Address after: American California

Patentee after: APPLE Inc.

Address before: American California

Patentee before: Zenith investment LLC

Effective date of registration: 20150625

Address after: American California

Patentee after: Zenith investment LLC

Address before: Texas in the United States

Patentee before: FREESCALE SEMICONDUCTOR, Inc.

CX01 Expiry of patent term

Expiration termination date: 20150830

Granted publication date: 20040929

EXPY Termination of patent right or utility model