可编程读/写访问信号及其方法

文档序号:6411984阅读:373来源:国知局
专利名称:可编程读/写访问信号及其方法
技术领域
本发明一般而言涉及数据处理系统,具体而言涉及从一个处理器发送一个可编程读/写访问信号。
一个处理器(以下又称为CPU(中央处理器))通常是在一个集成电路("IC")上实现的,并且用一个系统总线和各种外部资源(器件,器件或外设)耦合。这些外部器件或外设可以包括闪烁(flash)存储器件,只读存储器件("ROM"),随机存取存储器件("RAM"),动态随机存取存储器件("DRAM"),通用异步收发信机("UART")器件,专用集成电路("ASIC"),定时器件,另外的微处理器,直接存储器存取("DMA")通道,硬盘,磁带驱动器,CD-ROM,网络通信适配器,用户接口,和显示器件。这些众多的器件是处理器头脑的眼睛,耳朵,嘴巴,手,和脚。换而言之,没有外部通信手段,单独的一个处理器实际上只是一块无用的硅而己。
把这些众多的外部器件或外设耦合到处理器的系统总线通常是许多并行操作的传输线。可以说总线是等效于人体的中央神经系统。
因为系统总线的全部或大部份传输线耦合到处理器和全部外部器件或外设,所以需要一个寻址方法使从处理器或从某个外部器件或外设发送的一组数据或指令只被该数据或指令中指定的目的地所接收。对于一个特定系统的一组地址可以解析为许多地址空间。一个特定的地址空间可以属于一个特定的外部器件或外设。通常,地址空间用给一个指定的器件确定一个片选信号来表示。
当处理器企图读取放在一个特定地址空间的信息,或企图向一个特定地址空间写入信息时,在处理器和相应于该地址的外部器件或外设之间就初始化一个总线协议。这个总线协议通常包含,给要对它进行读访问或写访问的外部器件或外设一个报警信号,和给外部器件或外设一个通知,指出这是读访问或是写访问。这个总线协议由装在处理器内的系统总线控制器产生,并耦合到处理器的核心电路(以后也称之为"核")和系统总线之间。系统总线控制器担当在核和系统总线之间接收读请求和写请求的接口。
当数据处理系统是采用不同生产者生产的处理器和外部器件或外设构成时就会遇到麻烦,因为没有一个为所有生产者一致执行的通用标准总线协议。这样,不同的外部器件或外设可能要求不同的总线协议信号。
例如,为了正确地和处理器接口,不同型号的外部存储器件(一类外部器件或外设)可能要求不同的读/写访问信号。已有技术的处理器呆板地只能为读/写访问信号产生一个数值。如果处理器维持对一个外部器件或外设的读访问时这个信号是高电平,而外部器件或外设要求维持这个被接收的信号是低电平,处理器和外部器件或外设的接口就不可能正确。例如,外部器件或外设可能按照写访问来操作从处理器来的一个读访问。
已有的技术解决这个问题必需在处理器和外部器件或外设之间的系统总线上附加外部逻辑电路。
因为这样的逻辑电路要在一个IC或一片印刷电路板("PCB")上占地方(增加成本)并且增加相关额外开支,希望能不用这样的外部逻辑电路。外部逻辑电路通常给系统总线访问带来额外的时延,从而降低了系统的整体性能。所以要有这样的技术,将处理器接到一个或多个外部器件或外设,对于读/写访问信号,不需要附加外部逻辑电路。换而言之,需要在这样的处理器和一个或多个外部器件或外设之间的是一个("无胶合(glueless)")接口。
为了更完整了解本发明及其优点,参照以下和相应图示相联系的说明,其中

图1表示根据本发明的一个实施例构成的一个数据处理系统;图2-4表示一个处理器和不同的外部器件或外设接口及其独特的总线协议信令要求;图5表示本发明在一个系统总线控制器中的实现;图6表示实现本发明的一个例子;以及图7表示实现本发明的一个例子的时序。
在以下的说明中,阐述大量具体的细节以提供对本发明作透彻的了解。但是,很显然,对本领域的技术人员而言,本发明可以不用这些具体的细节也能实现。
在其他的例子中,众所周知的电路以方框图形式表示,使本发明不致于被不必要的细节所模糊。在大多数情况,有关时间的考虑及类似的细节被略去,因为这些细节对本发明的全面了解是不必要的,而且是在有关技术中具备通常技艺的人的技艺之内。
现在参阅图示,其中描绘的元件并没按比例画出,并且在许多图示中,同样或类似的元件用同一个参考号码标示。
参阅图1,表示出根据本发明构成的数据处理系统100。处理器(CPU)101用系统总线107耦合到N个(N是一个正整数)外部器件或外设111-113,该系统总线是一个"无胶合"的接口。换而言之,如上简单地并而以后还将进一步讨论那样,不需要为了CPU 101能够和N个外部器件或外设111-113中的每一个正确地接口而沿着系统总线107的任何地方增加外部逻辑电路。
CPU 101包含通常由各种执行部件和有关电路组成的处理器核102。核102由地址总线104,数据总线105和控制总线106耦合到系统总线控制器("SBC")103。SBC 103作为核102和系统总线107之间的总线接口部件。
系统总线107包含地址总线108,数据总线109和控制总线110。系统总线107将CPU 101耦合到N个外部器件或外设111-113中的每一个。
对于CPU 101来说,N个外部器件或外设111-113中的每一个都处于一个可以进行读和写访问的地址空间。
下面参阅图2,表示CPU 101到外部器件或外设111的耦合。较详细地画出控制总线110的一部份,以表示为了CPU 101和外部器件或外设111接口,外部器件或外设111对控制信号的特别要求。外部器件或外设111要求从CPU 101来的标号为ERE读/写信号由外部器件或外设111的输出允许(OE)和写允许(WE)引线所接收。注意,CPU 101的片选(CS)信号是由外部器件或外设111的片允许(CE)引线接收的。
图3表示CPU 101到一个与外部器件或外设111不同的外部器件或外设112的耦合。外部器件或外设112从101来的ERE信号只由外部器件或外设112的WE引线接收。外部器件或外设112的WE引线耦合到CPU 101的WE引线。
图4表示CPU 101到一个与外部器件或外设111和112都不同的外部器件或外设113的耦合的又一个例子。外部器件或外设113的OE引线固定接地,外部器件或外设113的WE引线接收从CPU 101来的ERE信号。
外部器件或外设111-113可以由不同的存储器件如SRAM,ROM,或闪烁存储芯片组成。这些不同的存储芯片为了和一个处理器进行读和写通信,常常要求不同的控制接口。例如,对于从CPU 101来的写访问,外部器件或外设112可能要求一个维持为低电平的ERE信号,而外部器件或外设112可能对一个写访问要求ERE信号维持为高电平。如上面所讨论,已有技术的处理器是严格构造的,从而对任何访问(读或写)ERE信号都维持为同一个电平。例如,一个已有技术的处理器,对于写访问,ERE信号可能总是维持是低电平。在这样情况下,对于该已有技术的处理器要正确地与外部器件或外设113接口,就必需在处理器的ERE引线和外部器件或外设113的WE引线之间加入一个外部逻辑电路,譬如,一个反向电路。本发明解决上述的问题不需要这样的附加外部逻辑电路。换而言之,可以在CPU 101和所有外部器件或外设111-113之间加入一个"无胶合"接口。
参阅下面的图5,表示在SBC 103中实现本发明的一个实施例。SBC103在控制总线106上从核102接收一个读或写访问(标号为R/W)。例如,核102可以请求允许对应于SBC 103在地址总线104(见图1)上收到的地址向一个地址空间写入信息,并根据地址空间写入到某个外部器件或外设111-113。这样一个从核102来的写访问在总线106上可以实现为一个被维持为高电平或一个被维持为低电平的信号。这个信号被SBC103中的多路复用电路(MUX)502的"0"输入端接收。这个写访问信号同时被反相器503取反,其输出端耦合到多路复用电路502的"1"端。选择任一个这样的输入作为从SBC 103的ERE信号输出,则是根据存放在寄存器603,607,或611中的604,608,或612数位中的各自的寄存数值来实现的。寄存器603,607,或611各自可以是一个在SBC 103中的片选控制寄存器(CSCR)。
在CSCR中数位的值定义一个在给定地址空间的一个外部器件或外设的外部总线控制信号。多路复用电路510选择诸位604,608,或612中的一位,作为从核102来的读或写访问的指定地址空间的函数。寄存器603,607,和611的每一个专用于系统100中不同的地址空间。
在位604,608,和612中的数值(每个可以由一位或多位组成)已经在CPU 101执行的程序设置数据处理系统100时,分别被预先编程放在寄存器603,607,和611中。例如,一位系统工程师可以购置根据本发明设置的CPU 101用在系统100中与一个或多个外部器件或外设111-113耦合。此时,系统工程师会注意到各种外部器件或外设111-113要求的特殊的读/写访问协议并且会编制相应的程序指令来设置分别属于每个外部器件或外设111-113的每一位604,608,和612中需要的数值,使得SBC103产生为每个外部器件或外设(地址空间)所需要的ERE信号电平。通常每个地址空间(外部器件或外设)会有一组属于它的片选寄存器(见图6 )。请注意,本领域的技术人员能进行这样的预编程。另外,位604,608,和/或612的编程也可以在集成电路复位时进行。
参阅下面的图6,表示一个实现本发明的例子。当系统设置时,使片选寄存器601-603属于外部器件或外设111,片选寄存器605-607属于外部器件或外设112,和片选寄存器609-611属于外部器件或外设113。因此,当一个地址指明外部器件或外设111,112或113之一要被访问时,相应于被选的那个外部器件或外设的一组片选寄存器在这次访问时将提供控制信息。寄存器601,605,和609可以是典型的片选地址寄存器,用来存储从核102收到的属于一个特定的读或写访问的地址。寄存器602,606,和610可以是可选的屏蔽寄存器,可与片选地址寄存器联用以确定数据处理系统100内的地址空间。还有,以前提到,寄存器603,607,和611是片选控制寄存器,用来保存各控制位,这些位指出把专用的控制信号送往各个外部器件或外设。
又如以前提到,寄存器位604,608,和612是ERE位,在它们各自的CSCR寄存器中用来确定要送到相应的外部器件或外设需要的ERE信号。例如,多路复用电路502可以接收位604中的寄存数值以确定送到外部器件或外设111的ERE信号的信号电平。下面的表用例子说明为了如图2,3,和4所示从CPU 101到外部器件或外设111-113的读和写访问能正确工作,这些ERE位是如何被编程的.
如果ERE位的值是"0",则对于一个写访问ERE信号输出被维持为低电平,对于一个读访问ERE信号输出被维持为高电平。如果ERE位的值是"1",则对于一个读访问ERE信号输出被维持为低电平,对于一个写访问ERE信号输出被维持为高电平。这样的一个例子在图7中用时序图进一步被表示出来,这里表示核102请求三个连续的写访问和三个连续的读访问。在第一个写访问中,地址空间A出现一个写访问。地址A存储在寄存器601中。这样就使片选信号(CS1)从SBC103送到外部器件或外设111。因为在寄存器603的位604的值是一个"1"位,多路多路复用502将选择"1"输入,它是把从核102收到写访问信号的取反信号。因此,ERE信号送到外部器件或外设111将被维持为高电平。
当收到对地址B的写访问,片选信号CS2将被维持为低电平并被送到外部器件或外设112。因为在寄存位608的值是一个"0"位,从SBC 103送到外部器件或外设112的ERE信号将被维持为低电平。
当收到要从核102对相应于外部器件或外设113的地址C的写访问,片选信号CSN将被维持为低电平并被送到外部器件或外设113。因为在寄存位612的值是一个"1"位,从SBC 103送到外部器件或外设113的ERE信号将被维持为高电平。
如图7所示,对于同一组地址,读访问的ERE信号正和写访问的值相反。
本发明的一个优点是从SBC 103送往各个外部器件或外设111-111的ERE信号是可编程的,因此,也许各外部器件或外设对ERE信号电平有不同要求,也不需要外部逻辑电路来把ERE信号在它被每个外部器件或外设111-113接收之前修改它。
虽然本发明及其优点已经详细说明,应当认为在不背离本发明的权利要求规定的精神和范围之内,可以作出各种变更,替换和变化。
权利要求
1.一个处理器,其特征是一个核;一个系统总线控制器适合于把上述处理器耦合到一个系统总线;和一个总线电路,把上述核耦合到上述系统总线控制器,其中上述系统总线控制器包含一个电路,可以响应从上述核收到的向一个指定地址空间进行读或写的访问请求,而向上述系统总线输出一个读/写访问信号,其中上述读/写访问信号是上述指定地址空间的函数。
2.权利要求1中所述的处理器,其中上述读/写访问信号的上述数值依赖于一个已编程的最少一位的寄存器数值。
3.权利要求2中所述的处理器,其中上述已编程寄存器数值是储存在一个用于上述指定地址空间的控制寄存器。
4.权利要求3中所述的处理器,其中上述地址空间对应于一个耦合到上述系统总线的外部器件或外设,并且其中上述控制寄存器是用于上述外部器件或外设的一个片选控制寄存器,并且上述已编程寄存器数值是依赖于上述外部器件或外设的特定的读/写协议。
5.权利要求4中所述的处理器,其中上述读/写访问信号在读访问中被上述外部器件或外设的一个输出允许引线所接收时被维持为低电平,并且其中上述读/写访问信号在写访问中被上述外部器件或外设的一个输出允许引线所接收时被维持为低电平。
6.权利要求1中所述的处理器,其中从上述核发出的上述读或写请求是对驻留在上述指定地址空间的信息的。
7.形成从一个处理器到一个地址空间的一个读或写访问的方法,上述方法的特征是包含步骤从上述处理器接收一个对驻留在上述指定地址空间的信息的读或写访问;和编制一个读/写访问信号代码来响应对驻留在上述指定地址空间的上述信息的读或写访问,其中上述读/写访问信号的上述编码是在一个按地址空间的基础上可编程的。
8.权利要求7中所述的方法,其中上述读/写访问信号的一个编码数值是依赖于一个上述地址空间的读/写访问协议要求。
9.权利要求7中所述的方法,其特征进一步在于包含步骤从上述处理器通过一个无胶合接口向一个相应于上述地址空间的器件或外设发送。
10.权利要求7中所述的方法,特征在于编码的步骤包含步骤读出一个被预编程而作为对应于上述地址空间的一个特定的读/写访问协议的函数的寄存器数值,其中上述读/写访问信号的一个数值依赖于上述寄存器数值。
全文摘要
在处理器中的一个系统总线控制器,包含按地址空间基础上可编程的逻辑,为不同模式的片允许信号编程。这样就允许在处理器和不同类型的外部器件或外设,例如存储器件之间存在一个“无胶合”接口。片选寄存器数值是考虑到每个和处理器耦合的外部器件或外设来预先编程的。系统总线控制器用这个编程寄存器数值来唯一设置送往每个外部器件或外设的读/写访问信号。
文档编号G06F13/16GK1171577SQ9710992
公开日1998年1月28日 申请日期1997年3月28日 优先权日1996年4月1日
发明者约瑟夫·C·西尔塞罗, 詹姆斯·G·盖伊, 克林顿·T·格罗弗尔, 凯文·M·特拉诺尔 申请人:摩托罗拉公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1