CN101425053B - 一种cpu周期寄存器的实现方法 - Google Patents

一种cpu周期寄存器的实现方法 Download PDF

Info

Publication number
CN101425053B
CN101425053B CN2007101767523A CN200710176752A CN101425053B CN 101425053 B CN101425053 B CN 101425053B CN 2007101767523 A CN2007101767523 A CN 2007101767523A CN 200710176752 A CN200710176752 A CN 200710176752A CN 101425053 B CN101425053 B CN 101425053B
Authority
CN
China
Prior art keywords
cpu
register
cycle
value
state
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 - Fee Related
Application number
CN2007101767523A
Other languages
English (en)
Other versions
CN101425053A (zh
Inventor
张牧童
苏伟
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.)
Beijing CEC Huada Electronic Design Co Ltd
Original Assignee
Beijing CEC Huada Electronic Design Co Ltd
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 Beijing CEC Huada Electronic Design Co Ltd filed Critical Beijing CEC Huada Electronic Design Co Ltd
Priority to CN2007101767523A priority Critical patent/CN101425053B/zh
Publication of CN101425053A publication Critical patent/CN101425053A/zh
Application granted granted Critical
Publication of CN101425053B publication Critical patent/CN101425053B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

本发明是一种CPU周期寄存器的实现方法。在该实现方法中,使用一个移位寄存器作为CPU的周期寄存器,可以达到以下目的:1.简化CPU指令译码逻辑;2.便于在CPU执行过程中插入等待周期,以精确控制CPU执行状态;3.使得CPU在访问慢速存储器时可以插入等待周期,实现高工作频率的CPU与低速存储器之间相匹配、以提高CPU最大工作频率;4.便于实现CPU的低功耗模式。

Description

一种CPU周期寄存器的实现方法
技术领域
本发明提出了一种CPU周期寄存器的实现方法。该发明适用于集成电路设计领域里的CPUIP核逻辑设计领域。
背景技术
本发明提出了一种CPU周期寄存器的实现方法。在CPU的体系结构里,周期寄存器是一个重要的组成部分,该寄存器指示了CPU当前所处的执行状态,CPU的各个功能模块都需要在周期寄存器的控制下协同地进行动作。对于每条指令,周期寄存器将有不同的变化轨迹,指示着CPU的各个功能模块按特定的逻辑顺序进行动作,以实现指令特定的功能。
常见的CPU执行周期包括:取指周期、译码周期、取操作数周期、指令执行周期、数据回写周期等。有些周期在某些指令里可能不止1个,有些周期在某些指令里则不需要存在。在设计实现CPU时,我们通常需要为每个周期设定一个数值与之对应。周期寄存器即负责保存并维护该数值。CPU的各个功能模块都在周期寄存器的统一指挥下,协调地进行运作。
不同CPU的设计方案里,周期寄存器的实现方法是各不相同的。本发明提出的是一种优化的设计方法。
发明内容
针对上述问题,本发明提出的CPU周期寄存器的设计方法,其主体是一个移位寄存器,移位寄存器的移位操作可以被外界的等待请求信号暂停,暂停期间,周期寄存器各位的数值保持不变;周期寄存器的各个数据位,在任何时刻只有1位的数值为1,其它位的数值均为0;周期寄存器在正常情况下从高位往低位进行移位;周期寄存器的值在CPU的译码阶段结束时被赋初值,该数值里“1”所处的位数反映当前指令的执行周期数目。
该实现方法具体包括以下几个特点:
首先,在该方法中,规定周期寄存器的各个数据位,在任何时刻只有1位的数值为1,其它位的数值均为0。也即,周期寄存器的每一个数据位和一种CPU状态是对应的。CPU内部的译码逻辑,在辨别当前CPU是否处于某特定状态时,不需要辨别周期寄存器所有数据位的数值,而只需要关心对应的数据位是否为1即可。这样将使得CPU的指令译码逻辑大大简化,译码速度也大大提高。其次,CPU在某些情况下,某种执行周期的个数需要延长,例如,ALU模块在执行移位操作时,如果移位次数大于1,则就需要多个执行周期。在该设计方法里,可以使ALU产生一个等待请求信号。译码模块在收到该等待请求信号时,自动停止CPU周期寄存器的移位操作,即可将CPU的当前状态维持为执行周期,直到移位运算结束。这种插入执行周期的实现方法非常简单易行。
再次,该设计方法有利于提高CPU的最大工作频率。工作频率较高的CPU在与慢速存储器进行接口时,由于慢速存储器的访问时间需要很长,而指令译码周期却可以很短,如果将译码周期设计得和取指周期一样长,则CPU的整体工作频率就会下降。为了最大限度地提高CPU的工作频率,我们可以将取指周期长度设计成译码周期的若干倍。这样CPU在取指阶段,可以使用多个时钟周期进行指令的读取,而只使用1个或少数个时钟周期进行译码。
最后,通过设置WaitReq信号有效,可以控制CPU进入低功耗模式。此模式下,CPU周期寄存器的值保持不变,因此CPU的译码逻辑也暂停工作,进而整个CPU的内部状态都基本保持不变,此时CPU的功耗非常低,理想情况下仅有静态功耗产生。
综上所述,通过本发明实现的CPU周期寄存器方法,能够简化CPU指令译码逻辑,便于在CPU执行过程中插入等待周期,以精确控制CPU执行状态,并且使得CPU在访问慢速存储器时可以插入等待周期,实现高工作频率的CPU与低速存储器之间相匹配、以提高CPU工作频率,也便于实现CPU的低功耗模式。
附图说明
图1CPU周期寄存器结构示意图
图2周期寄存器的状态转换示意图
具体实施方式
图1描述了CPU周期寄存器的基本结构。图中假设CPU周期寄存器的位数是7。
1.CPU周期寄存器由7个D触发器和7个多路选择器组成。
2.7个多路选择器的控制端接在一起,由一个信号进行控制。假定该信号的名称为WaitReq。
3.当WaitReq信号无效时,7个D触发器首位相连,即,前一级D触发器的输出端Q接到下一级D触发器的输入端D。最低位触发器的输出端Q接到最高位D触发器的输入端D。此时在系统时钟的作用下,CPU周期寄存器可以自左向右进行移位。
4.当WaitReq信号有效时,7个D触发器的输入端D接到本级D触发器的输出端Q,即,各触发器的值在系统时钟沿处保持不变。也即,WaitReq信号有效时,CPU周期寄存器的值保持不变。
5.图中OtherCtrlLogic表示其它一些有可能影响CPU周期寄存器的控制逻辑。
图2中假设CPU周期寄存器的位数是7。
1.图中方框表示CPU周期寄存器各种可能的状态。可以看出,每个状态的取值只有1位为1,其它各位均为0。
2.图中实弧线和虚弧线表示CPU周期寄存器各种可能的状态转换途径。其中实线标示出了一种实际的状态转换途径。可见,各种状态下,如果WaitReq信号有效,CPU周期寄存器的状态都维持不变。0000001状态是所有状态循环的起点和终点,该状态的下一状态可能是其它6种可能的状态。其它6种状态在WaitReq信号无效时,下一状态值都是通过当前状态值右移1位得到。
对于单周期指令,0000001状态的下一状态仍为0000001,这在图中用SingleCycleInst条件来表示。
本发明实施的关键在于,用数字逻辑设计技术里的状态机设计方法,设计一个“一次热”(One-hot)风格的状态机,正确描述该状态机的状态转化逻辑。
1.状态机的位数定为7bit(仍假设CPU周期寄存器的位数为7bit)。
2.系统复位结束后,状态机的初始状态为0000001。
3.任何状态下,状态机的取值只有1位为1,其余位都为零。
4.当WaitReq信号有效时,状态机的取值保持不变。
5.CPU取出一条新的指令后,CPU周期寄存器的取值为0000001。即,在译码阶段,CPU周期寄存器的取值为0000001。
6.CPU在译码周期,即0000001状态时,CPU的指令译码逻辑决定了下一状态的取值,可能是0000010~1000000这6个值中的某一个,具体取值由当前指令的内容决定。
7.上述七种取值是周期寄存器的有效取值,每一种取值对应状态机的一种有效状态。除此之外的各种取值均为无效取值。周期寄存器状态机实现时,应保证不会产生无效取值。
8.周期寄存器的每种取值,与CPU的某种执行状态对应。例如,周期寄存器的值为0000001时,CPU处于译码周期。
9.除0000001状态外,每一状态的下一状态由WaitReq信号的取值决定。如果WaitReq信号无效,则每一状态的下一状态取值是通过将当前状态值右移1位得到。0000001状态的下一状态由CPU的译码逻辑来决定。对于单周期指令,0000001状态的下一状态仍为0000001。对于多周期指令,0000001状态的下一状态可以是0000010~1000000中的某一个,具体取值视当前指令的总执行周期个数而定。
通过本发明实现的CPU周期寄存器方法,能够简化CPU指令译码逻辑,便于在CPU执行过程中插入等待周期,以精确控制CPU执行状态,并且使得CPU在访问慢速存储器时可以插入等待周期,实现高工作频率的CPU与低速存储器之间相匹配、以提高CPU工作频率,也便于实现CPU的低功耗模式。
以上公开的仅为本发明的几个具体实施例,但本发明的保护范围并不局限于此,任何本领域的技术人员能思之的变化都应落在本发明的保护范围内。

Claims (3)

1.一种CPU周期寄存器的实现方法,其特征在于,CPU周期寄存器的主体是一个移位寄存器,所述移位寄存器的各个数据位,在任何时刻只有1位的数值为1,其它位的数值均为0,CPU周期寄存器的每一个有效取值和一种CPU状态对应;移位寄存器的移位操作能够被外界的等待请求信号暂停,暂停期间,CPU周期寄存器各位的数值保持不变;CPU处于译码周期时,CPU的指令译码逻辑决定了CPU下一状态的取值,除了在译码周期外,CPU每一状态的下一状态由等待请求信号的取值决定,如果等待请求信号无效,则CPU每一状态的下一状态取值通过将当前状态值右移一位得到。
2.如权利要求1所述的CPU周期寄存器的实现方法,其特征在于,CPU周期寄存器在正常情况下从高位往低位进行移位。
3.如权利要求1所述的CPU周期寄存器的实现方法,其特征在于,CPU周期寄存器的值在CPU的译码阶段结束时被赋初值,所述初值里“1”所处的位数反映当前指令的执行周期数目。
CN2007101767523A 2007-11-02 2007-11-02 一种cpu周期寄存器的实现方法 Expired - Fee Related CN101425053B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2007101767523A CN101425053B (zh) 2007-11-02 2007-11-02 一种cpu周期寄存器的实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2007101767523A CN101425053B (zh) 2007-11-02 2007-11-02 一种cpu周期寄存器的实现方法

Publications (2)

Publication Number Publication Date
CN101425053A CN101425053A (zh) 2009-05-06
CN101425053B true CN101425053B (zh) 2010-08-18

Family

ID=40615679

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101767523A Expired - Fee Related CN101425053B (zh) 2007-11-02 2007-11-02 一种cpu周期寄存器的实现方法

Country Status (1)

Country Link
CN (1) CN101425053B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5033001A (en) * 1986-12-19 1991-07-16 Fujitsu Limited Dual mode memory read cycle time reduction system which generates read data clock signals from shifted and synchronized trigger signals
CN1382274A (zh) * 1999-05-26 2002-11-27 因芬尼昂技术股份公司 微处理机的延迟时隙控制机构
CN1725176A (zh) * 1999-12-30 2006-01-25 英特尔公司 多线程流水线指令解码器的方法和设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5033001A (en) * 1986-12-19 1991-07-16 Fujitsu Limited Dual mode memory read cycle time reduction system which generates read data clock signals from shifted and synchronized trigger signals
CN1382274A (zh) * 1999-05-26 2002-11-27 因芬尼昂技术股份公司 微处理机的延迟时隙控制机构
CN1725176A (zh) * 1999-12-30 2006-01-25 英特尔公司 多线程流水线指令解码器的方法和设备

Also Published As

Publication number Publication date
CN101425053A (zh) 2009-05-06

Similar Documents

Publication Publication Date Title
Ekanayake et al. An ultra low-power processor for sensor networks
Benini et al. Selective instruction compression for memory energy reduction in embedded systems
CN101523359B (zh) 具有减小数据高速缓存访问功率的微标签阵列的处理器及其应用
US7788332B2 (en) Sensor-network processors using event-driven architecture
CN103150146B (zh) 基于可扩展处理器架构的专用指令集处理器及其实现方法
CN101593097B (zh) 嵌入式同构对称双核risc微处理器的设计方法
CN201083993Y (zh) 一种微控制器
CN200990088Y (zh) 一种新型的8位risc微控制器构架
CN105045335A (zh) 一种内嵌8051ip核的fpga信息处理系统
CN200990087Y (zh) 一种8位精简指令集微控制器
CN101313290B (zh) 对仅m×n位外围设备执行n位写入访问的系统和方法
CN100451951C (zh) Risc cpu中的5+3级流水线设计方法
CN200997136Y (zh) 内置比较器的微控制器结构
CN100538623C (zh) 一种8位微控制器
Benini et al. Reducing power consumption of dedicated processors through instruction set encoding
CN101425053B (zh) 一种cpu周期寄存器的实现方法
CN101847090B (zh) 一种rfid智能卡专用微控制器
CN101286181B (zh) 基于dw8051核的现场可编程门阵列片上可编程系统
CN200997135Y (zh) 内置通用同步异步收发器的微控制器结构
CN100375074C (zh) 8位嵌入式cpu的ambatm外围接口电路
CN100430890C (zh) 一种8位risc微控制器
CN106383926A (zh) 一种基于Cortex‑M系列处理器的指令预取方法及电路
CN101236576B (zh) 一种适用于异质可重构处理器的互联模型
CN111506531B (zh) 一种easy-master微码模块及其配置方法
JP3868454B2 (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
CP02 Change in the address of a patent holder

Address after: 102209 Beijing, Beiqijia, the future of science and technology in the south area of China electronic network security and information technology industry base C building,

Patentee after: Beijing CEC Huada Electronic Design Co., Ltd.

Address before: 100102 Beijing City, Chaoyang District Lize two Road No. 2, Wangjing science and Technology Park A block 5 layer

Patentee before: Beijing CEC Huada Electronic Design Co., Ltd.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100818

Termination date: 20161102