CN1438573A - 一种16位微处理器使用的伪四级流水结构 - Google Patents
一种16位微处理器使用的伪四级流水结构 Download PDFInfo
- Publication number
- CN1438573A CN1438573A CN 03114502 CN03114502A CN1438573A CN 1438573 A CN1438573 A CN 1438573A CN 03114502 CN03114502 CN 03114502 CN 03114502 A CN03114502 A CN 03114502A CN 1438573 A CN1438573 A CN 1438573A
- Authority
- CN
- China
- Prior art keywords
- instruction
- register
- stage
- pipelining
- execution
- 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.)
- Granted
Links
Images
Landscapes
- Advance Control (AREA)
Abstract
本发明公开了一种16位微处理器使用的伪四级流水结构,包括流水线控制器、指令寄存器、译码器、流水寄存器、ALU、执行部件(EX)和存储器访问/寄存器写(MW);将每条指令的执行分为取指令(FT)、译码(DC)、执行(EX)和存储器访问与写(MW)四个阶段,在处理器中设置一个两级流水线,每个流水级中包含两个时钟相态(PH1、PH2),将每条指令的四个阶段分别分配到两个流水级的四个相态中去执行,利用两级流水线实现了指令的四级流水。
Description
一、所属技术领域
本发明属于计算机技术领域,涉及一种微处理器的设计和制造,特别涉及一种16位微处理器使用的伪四级流水结构。
二、背景技术
微处理器设计中,控制器是其中一个关键部分,目前主要采用微程序控制器、多级流水线和顺序控制技术进行设计。
微程序控制器技术的缺点是设计复杂,对设计人员的技术要求很高,需要采用ROM固化微程序,处理器执行速度低,不适于RISC结构处理器的设计,不符合现代处理器设计的发展趋势。
流水线技术是目前广泛流行的一种RISC微处理器设计技术,一般采用3~5级流水线(也有采用7级流水线),其缺点是当流水线超过3级时,设计复杂度很高,对设计人员的技术要求很高,数据相关冲突及转移冲突的处理要占用大量设计资源,不适合小型微处理器的设计,在面向中低端应用场合的设计中不能充分利用资源效率,会造成人力与财力的极大浪费。
顺序控制技术是将处理器的控制过程划分为多个控制状态,在每个时钟周期执行一个状态,其缺点是执行速度慢,资源利用效率低,如8031就是采用这种技术,在输入时钟为12MHz时,一条指令最少要1μs(12个时钟周期)才能完成。
三、发明内容
针对上述现有技术存在的缺陷或不足,本发明的目的在于,提供一种处理器速度高、具有广泛的适用性、结构完整的16位微处理器使用的伪四级流水结构。
为了实现上述目的,本发明所采用的技术方案是,该16位微处理器使用的伪四级流水结构包括,流水线控制器、指令寄存器、译码器、流水寄存器、ALU、执行部件(EX)和存储器访问/寄存器写(MW);
流水线控制器分别与指令寄存器、译码器、流水寄存器、执行部件(EX)和存储器访问/寄存器写(MW)相连接,指令寄存器与译码器相连,译码器与流水寄存器相连接,流水寄存器分别与ALU、执行部件(EX)相连接;
执行部件(EX)与ALU和存储器访问/寄存器写(MW)相连接;ALU与存储器访问/寄存器写(MW)相连接;
将每条指令的执行分为取指令(FT)、译码(DC)、执行(EX)和存储器访问与写(MW)四个阶段,在处理器中设置一个两级流水线,每个流水级中包含两个相态(PH1、PH2),将每条指令的四个阶段分别分配到两个流水级的四个相态中去执行,利用两级流水线实现了指令的四级流水;
该结构中每个机器周期Ti包含两个时钟周期,分别对应两个相态PH1和PH2;并按以下步骤执行:
1)假定指令I1在机器周期T1开始执行,取指译码部件作为流水级1在PH1时钟周期将I1的指令码从程序存储器中取到指令寄存器中,然后在PH2时钟周期对它进行译码,在此T1周期中,执行部件作为流水级2则完成上一条指令I-1的执行;
2)到了机器周期T2,指令I1进入流水级2,在PH1时钟周期由执行部件完成I1指令的执行,PH2时钟周期执行I1指令的写寄存器或存储器访问操作,此T2周期中流水级1则完成对下一条指令I2的取指与译码;
3)对于运算类指令,其最终运算结果总是要写入到寄存器中,因此运算操作的执行总是在流水级2的PH1开始,到PH2结束时完成,ALU部件可以在两个时钟周期内完成一次运算操作。
本发明的16位微处理器使用的伪四级流水结构,在进行微处理器设计时有以下优点:
(1)处理器速度有了很大的提高,如采用该结构的微处理器LS-IPU16在16MHz主频下可以达到8MIPS的执行速度;
(2)由于只采用了两个物理流水级,有效地避免了流水线冲突及数据相关问题,因此极大地简化了处理器的设计复杂度,减小了对芯片资源的要求,16位微处理器的控制器只有500门的电路规模(包括中断处理);
(3)采用四级伪流水结构有利于设计性能的进一步提高,只需对设计进行简单的修改就可以顺利地从伪四级流水过渡到真正的四级流水,从而实现指令的单周期执行;
(4)由于设计复杂度的降低,所用资源较少,因此可以有效地降低处理器的功耗;
(5)采用伪四级流水结构后,由于结构得到了简化,因此微处理器的可测试性设计的复杂度也会大大降低,产品的的可制造性也会大大提高;
(6)技术具有广泛的适用性,并不局限于某一种特定的处理器设计中;
(7)对每一条指令来说,分为四个顺序的阶段:取指、译码、执行、存储器访问/写四个阶段,各阶段功能明确,时间清晰,具有很强的结构完整性。
四、附图说明
图1是本发明的16位微处理器使用的伪四级流水结构指令流程图;
图2是本发明的16位微处理器使用的伪四级流水控制结构图;
图3是16位微处理器使用的伪四级流水结构替换方案。
五、具体实施方式
为了更清楚地理解本发明,以下结合附图对本发明作进一步的详细描述。
参见图1,图1是本发明的16位微处理器(代号为LS-IPU16)使用的伪四级流水结构指令流程图。
在面向I/O通道数据处理的16位微控制器设计中,申请人采用了伪四级流水结构,使得处理器核的设计复杂度得到了极大的简化。
16位微处理器使用的伪四级流水结构的设计思想如图1所示,LS-IPU16微处理器共有5类37条指令,将每条指令的执行分为取指令(FT)、译码(DC)、执行(EX)和存储器访问与写(MW)四个阶段,在处理器中设置一个两级流水线,每个流水级中包含两个相态(PH1、PH2),将每条指令的四个阶段分别分配到两个流水级的四个相态中去执行,从而利用两级流水线实现了指令的四级流水。
在此伪四级流水结构中每个机器周期Ti包含两个时钟周期(分别对应PH1和PH2)。假定指令I1在机器周期T1开始执行,流水级1(取指译码部件)在PH1时钟周期将I1的指令码从程序存储器中取到指令寄存器中,然后在PH2时钟周期对它进行译码,在此T1周期中流水级2(执行部件)则完成上一条指令I-1的执行。到了机器周期T2,指令I1进入流水级2,在PH1时钟周期由执行部件完成I1指令的执行,PH2时钟周期执行I1指令的写寄存器或存储器访问操作,此T2周期中流水级1则完成对下一条指令I2的取指与译码。
对于运算类指令,其最终运算结果总是要写入到寄存器中,因此运算操作的执行总是在流水级2的PH1开始,到PH2结束时完成即可,这样ALU部件可以在两个时钟周期内完成一次运算操作,从而也大大地降低了对ALU运算速度要求。
参见图2,图2是伪四级流水结构的流水控制结构,在此伪四级流水结构中,由于执行和数据访问都分配在流水级2的两个时钟周期内进行,因此在此流水结构中不存在数据相关冲突问题,这就大大地简化了控制器的设计复杂度。
对转移类指令(包括无条件转移与条件转移),转移条件的形成安排在流水级1的译码阶段(DC)进行,因此当转移指令进入流水级2时,若不需要转移,则流水级2不进行任何动作,流水线正常运行。若需要转移,则由执行部件(EX)通知流水级控制器作废流水级1中的指令,同时执行部件(EX)控制ALU计算出转移目标地址,并重新设置指令地址寄存器,在下一机器周期,转移目标指令将进入流水级1,因此在发生转移时,流水线会断流一个机器周期。
中断的处理是一个完整的处理器设计中不可避免的,在采用伪四级流水结构的LS-IPU16微处理器中,中断的识别安排在机器周期的PH2进行,当识别到中断时,流水级2继续完成当前的工作,而流水级1中的指令则被作废,插入一个中断处理周期,将返回地址送入堆栈,将相应的中断服务程序入口地址送入指令地址寄存器,因此下一机器周期中断服务程序的第一条指令进入流水线开始执行中断服务程序。
本发明在设计中还可以将机器周期的两个相态分别对应为时钟的高电平与低电平,利用时钟的上升沿和下降沿分别完成不同的动作,从而也可以在单时钟周期内完成一条指令的执行。其结构如图3所示,此时PH1与PH2分别对应CLK的高电平与低电平,其余工作过程与图1完全相同。
Claims (1)
1.一种16位微处理器使用的伪四级流水结构,其特征在于,该结构包括流水线控制器、指令寄存器、译码器、流水寄存器、ALU、执行部件(EX)和存储器访问/寄存器写(MW);
流水线控制器分别与指令寄存器、译码器、流水寄存器、执行部件(EX)和存储器访问/寄存器写(MW)相连接,指令寄存器与译码器相连,译码器与流水寄存器相连接,流水寄存器分别与ALU、执行部件(EX)相连接;
执行部件(EX)与ALU和存储器访问/寄存器写(MW)相连接;ALU与存储器访问/寄存器写(MW)相连接;
将每条指令的执行分为取指令(FT)、译码(DC)、执行(EX)和存储器访问与写(MW)四个阶段,在处理器中设置一个两级流水线,每个流水级中包含两个相态(PH1、PH2),将每条指令的四个阶段分别分配到两个流水级的四个相态中去执行,利用两级流水线实现了指令的四级流水;
该结构中每个机器周期Ti包含两个时钟周期,分别对应两个相态PH1和PH2;并按以下步骤执行:
1)假定指令I1在机器周期T1开始执行,取指译码部件作为流水级1在PH1时钟周期将I1的指令码从程序存储器中取到指令寄存器中,然后在PH2时钟周期对它进行译码,在此T1周期中,执行部件作为流水级2则完成上一条指令I-1的执行;
2)到了机器周期T2,指令I1进入流水级2,在PH1时钟周期由执行部件完成I1指令的执行,PH2时钟周期执行I1指令的写寄存器或存储器访问操作,此T2周期中流水级1则完成对下一条指令I2的取指与译码;
3)对于运算类指令,其最终运算结果总是要写入到寄存器中,因此运算操作的执行总是在流水级2的PH1开始,到PH2结束时完成,ALU部件可以在两个时钟周期内完成一次运算操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB031145027A CN1180339C (zh) | 2003-02-21 | 2003-02-21 | 一种16位微处理器中使用的伪四级流水结构的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB031145027A CN1180339C (zh) | 2003-02-21 | 2003-02-21 | 一种16位微处理器中使用的伪四级流水结构的实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1438573A true CN1438573A (zh) | 2003-08-27 |
CN1180339C CN1180339C (zh) | 2004-12-15 |
Family
ID=27674087
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB031145027A Expired - Fee Related CN1180339C (zh) | 2003-02-21 | 2003-02-21 | 一种16位微处理器中使用的伪四级流水结构的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1180339C (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100449471C (zh) * | 2006-05-10 | 2009-01-07 | 华为技术有限公司 | 磁盘接口处理器以及磁盘操作命令的处理方法 |
-
2003
- 2003-02-21 CN CNB031145027A patent/CN1180339C/zh not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100449471C (zh) * | 2006-05-10 | 2009-01-07 | 华为技术有限公司 | 磁盘接口处理器以及磁盘操作命令的处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1180339C (zh) | 2004-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103150146B (zh) | 基于可扩展处理器架构的专用指令集处理器及其实现方法 | |
Barroso | The price of performance: An economic case for chip multiprocessing | |
TWI742048B (zh) | 根據指令類型來配置負載及儲存緩衝器的處理器、方法及系統 | |
JP2001356903A (ja) | マルチスレッド・プロセッサ内でのパイプライン・ステージのフラッシュ方法および装置 | |
CN100451951C (zh) | Risc cpu中的5+3级流水线设计方法 | |
CN101739383A (zh) | 一种可配置处理器体系结构和控制方法 | |
Wong et al. | Future directions of programmable and reconfigurable embedded processors | |
CN1180339C (zh) | 一种16位微处理器中使用的伪四级流水结构的实现方法 | |
Sima | Decisive aspects in the evolution of microprocessors | |
CN103268219B (zh) | 基于流水线架构的海量文件指导型预取并行处理加速方法 | |
CN1648873A (zh) | 断点调试功能的实现方法 | |
US11500644B2 (en) | Custom instruction implemented finite state machine engines for extensible processors | |
CN113986354A (zh) | 基于risc-v指令集的六级流水线cpu | |
CN1360693A (zh) | 在流水线处理器中用于跳转延迟时隙控制的方法和装置 | |
CN101615114B (zh) | 完成两次乘法两次加法两次位移的微处理器实现方法 | |
US8966230B2 (en) | Dynamic selection of execution stage | |
Pulka et al. | Multithread RISC architecture based on programmable interleaved pipelining | |
Singh et al. | Advanced microprocessors and microcontrollers | |
Rau et al. | Instruction-level parallelism | |
Nikolić et al. | Fifty years of microprocessor evolution: from single CPU to multicore and manycore systems | |
US20220206799A1 (en) | Apparatus for Processor with Hardware Fence and Associated Methods | |
Qi et al. | ACCC: an acceleration mechanism for character operation based on cache computing in Big data applications | |
Saxena et al. | The survey of concepts of architecture in RISC and CISC computers | |
Wang et al. | Simple-VLIW: a fundamental VLIW architectural simulation platform | |
Chiu et al. | A Superscalar Dual-Core Architecture for ARM ISA |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20041215 Termination date: 20150221 |
|
EXPY | Termination of patent right or utility model |