扩展的处理器重置的制作方法

文档序号:6475850阅读:244来源:国知局
专利名称:扩展的处理器重置的制作方法
背景本发明关于可编程处理器。
一个可编程处理器(如用于计算机或数字信号处理系统的微处理器)一般包含保存可由处理器执行的指令的存储器。而且,该处理器一般支持重置操作,即处理器被初始化成某种已知状态。例如,当处理器被加电时,就使用了一次重置。在重置操作中,该保存指令的存储器一般被重置成某种已知状态,导致存储在该存储器内指令的丢失。
附图描述

图1是一幅图解一个流水线可编程处理器的实例的框表。
图2是一幅信号时间安排图表。
图3是一幅重置逻辑的图表。
图4是一幅图解一个执行流水线的实例示意图。
图5是一幅图解一个用于扩展重置的处理器流程图。
发明详细描述图1是一幅图解一个可编程处理器10的框图,该处理器有一个执行流水线14、一个控制单元12和指令存储器16。指令存储器16保存将由流水线14所执行的指令。指令存储器16(在图1中示出成包含在处理器10内)也可以是处理器10外部的。控制单元12控制通过流水线14的指令和数据流。例如,在一个指令的处理中,控制单位12可以控制流水线14的多个部件解码指令并正确地执行相应的操作。控制单元12还可以管理指令存储器16,并一般还可以执行其他功能。
指令存储器16一般包含易失存储器,如静态随机访问存储器(SRAM)。在图1中示出为处理器10外部的存储器20可以包括非易失存储器元件,如闪存、只读存储器或软盘。存储器20也可以包含在处理器10之内。流水线14直接存取26指令存储器16,使指令从指令存储器16直接发送到流水线14,而无须控制单元12干涉。当流水线14读取一个指令时,流水线14尝试在指令存储器16中找到该指令。下面所描述的技术允许指令存储器16在指令读取开始前加载指令。
有时,处理器10经历一次重置。重置将流水线14设置成某个规定的状态。当处理器10经历一次重置时,指令存储器16同样经历一次重置。重置可能导致存储在指令存储器16中的指令的丢失。指令可以通过将指令从存储器20加载到指令存储器16中而恢复到指令存储器16中。通常指令通过直接存储器存取(DMA)28的方式从存储器20加载到指令存储器16。流水线14在重置时不从指令存储器16中读取新的指令,但可以在重置之后准备好从指令存储器16中读取指令。但是,在重置之后读取指令可能是没有效率的,因为指令并不位于最新重置的指令存储器16中,而这些指令必须从存储器20获取。下面所描述的技术通过暂停指令读取直至指令存储器16加载完成,提高了效率。
在图1中,控制单元12包含重置逻辑18。重置逻辑18也可以是与控制单元12分离的。当处理器10进入一次重置时,就设置了一个指示重置正在进行的标志位,并将其存储在一个存储器元件(如一个寄存器)中。这个标志位(将在下面以“Reset_Signal”50来更详细地讨论)在处理器10的重置终止时清除。如在图1中所示,Reset_Signal 50是一个处理器10外部生成的重置信号,并可能来自如某个事件控制器或与处理器10合作的另一处理器。Reset_Signal 50可能产生自如某个与处理器10合作的系统的一般重置。虽然在图1中未示出,但Reset_Signal 50可以有别于提供给处理器10的重置信号(这将启动一个重置服务过程)。Reset_Signal 50是由重置逻辑18接收的。重置逻辑18还接收一个信号30,指示将加载入指令存储器16的指令。信号30将在下面以“IM_Init”信号30来讨论。重置逻辑18的输出是一个下面以“Ext_Reset_Signal”24来讨论的扩展重置信号,该信号控制通过流水线14对指令存储器16的读取请求。当设置Ext_Reset_Signal 24时,读取请求被挂起,而当清除Ext_Reset_Signal 24时,读取请求开始。
图2示出了一幅时间安排图表。当处理器10放置在普通重置模式中时,如参照行52所指出的那样,声明Reset_Signal 50,指示处理器10是在普通重置模式。当处理器10完成重置操作时,如参照行54所指出的那样,清除Reset_Signal 50。如果指令存储器16将加载,则设置IM_Init 30。当重置操作完成(54)后,加载指令存储器16(55)。IM_Init 30保持设置,直至指令存储器16的加载完成,而后如参照行56所指出的那样,清除IM_Init 30。
平常,流水线14准备在重置操作完成(54)后立即读取指令。当流水线14准备读取指令时,通常指令存储器16还未准备好,并将始终未准备好,直至指令从存储器20加载。例如,当指令存储器16由SRAM组成时,一般不能由流水线14读取指令,直至该指令加载入指令存储器16。通过以扩展了的重置信号Ext_Reset_Signal 24控制对指令存储器16的读取请求,在处理器10正重置且指令存储器16正加载时,挂起读取请求。当设置Reset_Signal 50时,设置Ext_Reset_Signal 24(52),而当清除IM_Init 30时,清除Ext_Reset_Signal24(56)。当清除Ext_Reset_Signal 24(56)时,开始对指令存储器16的读取请求。
图3图解了重置逻辑18的一个实施例。在图3中所示的逻辑是示例性的,并非意图限制本发明的范围。重置逻辑18的输出Ext_Reset_Signal 24通过按声明Ext_Reset_Signal 24的时间长短挂起读取请求来控制流水线14的读取请求。重置逻辑18的输入是Reset_Signal 50和IM_Init 30。
当处理器10开始重置操作时,声明Reset_Signal 50。Reset_Signal 50存储在一个存储器元件(如寄存器60)中。按处理器10在普通重置模式中的时间长短,声明Reset_Signal 50。当处理器10完成重置操作且普通重置模式结束时,清除Reset_Signal 50。“或”门62确保将声明Ext_Reset_Signal 24,而流水线14将不读取指令,至少直至Reset_Signal 50清除。
“或”门62进一步确保当指令存储器16在普通模式后加载时,仍将声明Ext_Reset_Signal 24,直至加载完成。当不希望指令存储器16加载(即未声明IM_Init 30)时,Ext_Reset_Signal 24接着Reset_Signal 50,因而流水线14不进入某个扩展了的重置状态。但是,当声明IM_Init 30且声明Reset_Signal 50时,在清除Reset_Signal 50前,Ext_Reset_Signal 24并不接着Reset_Signal 50,并将不清除,直至IM_Init 30清除。
当声明IM_Init 30且声明Reset_Signal 50时,IM_Init 30对Ext Reset_Signal24没有直接影响。下沿检测器64感知Reset_Signal 50,并且生成一个低电压输出74,直至清除Reset_Signal 50。当清除Reset_Signal 50时,下沿检测器64为一个时钟周期产生一个高电压信号74。高电压信号74和已声明的IM_Init信号30引起来自“与”门76的一个高电压信号70,该信号又依次引起“或”门80的输出82升高。“或”门80的高电压输出82应用于“或”门62,保持Ext_Reset_Signal 24为高,即使Reset_Signal 50已被清除。而且,“或”门80的高电压输出82由寄存器84捕捉,由寄存器84延迟一个时钟周期,并反馈给“与”门78。“与”门78的输出72随声明IM_Init 30的时间长短而保持为高。当清除IM_Init 30时,“与”门78的输出72和“或”门80的输出82变低。因此,向“或”门62的输入都是低的,这又导致Ext_Reset_Signal24被清除。
图4示出了一个示例性的流水线14。流水线14有五个阶段指令读取(IF)、指令解码(DEC)、地址计算(AC)、执行(EX)和写回(WB)。指令在第一阶段(IF)由读取单元90从指令存储器16读取,并在第二阶段(DEC)被解码92。在下一个时钟周期,其结果被传递给第三阶段(AC),在其中数据地址生成器96计算执行该操作的存储器地址。在执行阶段(EX),执行单元98执行特定的操作,如将两个数相加或相乘。在最后阶段(WB),其结果可以被写回存储器20或写到数据寄存器100。
重置逻辑18将Ext_Reset_Signal 24提供给读取单元90。Ext_Reset_Signal24调节从指令存储器16的指令读取。典型的读取单元可以包括由Ext_Reset_Signal 24调节的一个或多个元件。例如,Ext_Reset_Signal 24可以激活或禁止使指令从指令存储器16读取的请求逻辑,或可以激活或禁止指令寄存器。
图5是一幅图解上面所述的技术的一个实施例的流程图。当处理器10放置在重置模式中(90)时,处理器10声明Reset_Signal 50(92)。声明Reset_Signal50又引起声明Ext_Reset_Signal 24(92)。当重置操作完成后,清除Reset_Signal50(94)。当清除Reset_Signal 50时,重置逻辑18感知IM_Init 30是否被声明(96)。当未声明IM_Init 30时,清除Ext_Reset_Signal 50(108),并且开始指令读取(110)。但是,当声明IM_Init 30时,禁止指令读取(98)。处理器10可选择地可以禁止中断(100),以防止中断句柄在指令存储器16加载(102)完成之前启动读取。当指令存储器16加载(102)完成后,清除IM_Init 30(104)。中断如果已被禁止(100),则重新激活(106)。清除Ext_Reset_Signal 50(108),这将激活指令读取请求,并开始指令读取(110)。例如,第一个读取的指令可能是重置服务过程的第一个指令。
已描述了本发明的多个实施例。例如,描述了重置处理器的一种方法,其中在处理器经历重置时禁止读取请求,并在加载指令存储器时仍禁止读取请求。该处理器可以多种系统来实现,包括通用计算系统、数字处理系统、膝上计算机、个人数字助理(PDA)和蜂窝电话。在这一环境中,上面所讨论的重置技术可以容易地用于提高处理器性能。在这样的系统中,处理器可以连接到某个存储着操作系统和其它软件应用的存储器设备,如FLASH存储器设备或SRAM设备。这些以及其它的实施例都在下面权利要求的范围内。
权利要求
1.一种用于重置处理器的方法,其特征在于,包括进入某种重置模式;加载与该处理器相关联的指令存储器;以及挂起指令读取,直至该指令存储器加载完成。
2.如权利要求1所述的方法,其特征在于,进一步包括接收一个指令存储器加载信号;以及在声明了该指令存储器加载信号时加载该指令存储器。
3.如权利要求1所述的方法,其特征在于,进一步包含声明一个扩展的重置信号;以及在声明了该扩展的重置信号时挂起指令读取。
4.如权利要求3所述的方法,其特征在于,进一步包含接收一个重置信号;以及接收一个指令存储器加载信号;其中在接收到该重置信号和接收到该指令存储器加载信号时声明该扩展的重置信号。
5.如权利要求4所述的方法,其特征在于,在清除该重置信号和清除该指令存储器加载信号时清除该扩展的重置信号。
6.如权利要求1所述的方法,其特征在于,挂起指令读取包含禁止指令请求逻辑。
7.如权利要求1所述的方法,其特征在于,挂起指令读取包含禁止一个指令寄存器。
8.一种方法,其特征在于,包括进入某种重置模式;接收一个指示正以指令加载一个指令存储器的信号;以及禁止从该指令存储器读取指令。
9.如权利要求8所述的方法,其特征在于,该信号是第一个信号,该方法进一步包含接收第二个指示该指令存储器不再加载的信号;以及激活从该指令存储器读取指令。
10.如权利要求8所述的方法,其特征在于,进一步包含以指令加载指令存储器。
11.如权利要求8所述的方法,其特征在于,禁止读取指令包含禁止指令请求逻辑。
12.如权利要求8所述的方法,其特征在于,禁止读取指令包含禁止一个指令寄存器。
13.一种方法,其特征在于,包含接收一个重置信号;接收一个指令存储器加载信号;以及生成一个扩展的重置信号,作为该重置信号和该指令存储器加载信号的结果。
14.如权利要求13所述的方法,其特征在于,在接收到该重置信号时声明该扩展的重置信号。
15.如权利要求13所述的方法,其特征在于,在清除了该指令存储器加载信号时清除该扩展的重置信号。
16.如权利要求13所述的方法,其特征在于,进一步包含在声明该扩展的重置信号时挂起指令读取。
17.如权利要求16所述的方法,其特征在于,挂起指令读取包含禁止指令请求逻辑。
18.如权利要求16所述的方法,其特征在于,挂起指令读取包含禁止一个指令寄存器。
19.如权利要求13所述的方法,其特征在于,进一步包含在接收到该指令存储器加载信号时加载该指令存储器。
20.一种设备,其特征在于,包括适于接收一个重置信号的第一个输入;适于接收一个指令存储器加载信号的第二个输入;一个输出;以及一个连接到第一个输入、第二个输入和输出的,适于根据该重置信号和该指令存储器加载信号而向该输出提供一个扩展的重置信号的电路。
21.如权利要求20所述的设备,其特征在于,该电路在接收到该重置信号时声明该扩展的重置信号。
22.如权利要求20所述的设备,其特征在于,该电路在清除了该指令存储器加载信号时清除该扩展的重置信号。
23.一种系统,其特征在于,包括一个静态随机访问存储器设备;一个连接到该静态随机访问存储器设备的数字处理器,该数字处理器被配置来从一个指令存储器读取指令;其中该数字处理器包括适于在该指令存储器经历指令加载时禁止由该数字处理器读取的重置逻辑。
24.如权利要求23所述的系统,其特征在于,进一步包含连接到该指令存储器的适于加载该指令存储器的不易失存储器;其中的该重置逻辑适于在指令从该不易失存储器加载到该指令存储器时禁止由该数字处理器读取。
25.如权利要求24所述的系统,其特征在于,该重置逻辑适于在指令加载到该指令存储器后激活由该数字处理器读取。
26.如权利要求23所述的系统,其特征在于,该重置逻辑是安排来生成一个信号,而其中的禁止读取是该信号的结果。
27.如权利要求23所述的系统,其特征在于,该指令存储器包含静态随机访问存储器。
28.如权利要求23所述的系统,其特征在于,该数字处理器包含一个流水线处理器。
29.如权利要求23所述的系统,其特征在于,该数字处理器包含一个控制单元。
全文摘要
在某一实施例中,披露了一种用于在一个扩展的重置中保持处理器的指令读取请求的方法。在该处理器经历重置时,禁止读取请求。在重置完成后,在加载指令存储器时仍保持禁止读取请求。在加载指令存储器完成后,激活读取请求。
文档编号G06F9/38GK1481528SQ01820701
公开日2004年3月10日 申请日期2001年12月10日 优先权日2000年12月15日
发明者R·P·辛格, C·P·罗思, R·科拉戈特拉, J·G·雷维利亚, R P 辛格, 晏乩, 罗思, 雷维利亚 申请人:英特尔公司, 模拟设备股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1