嵌入式开发-嵌入式五级流水线CPU核的设计与实现_第1页
嵌入式开发-嵌入式五级流水线CPU核的设计与实现_第2页
嵌入式开发-嵌入式五级流水线CPU核的设计与实现_第3页
嵌入式开发-嵌入式五级流水线CPU核的设计与实现_第4页
嵌入式开发-嵌入式五级流水线CPU核的设计与实现_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、嵌入式五级流水线CPU核的设计与实现赖兆磬,潘 明,许 勇,张 辉(桂林电子科技大学 计算机与控制学院 广西 桂林 541004摘 要:本文基于FPGA平台设计并实现了一种嵌入式16位RISC CPU核。以MIPS CPU指令集为参考,完成指令集设计;对指令处理过程进行抽象,把指令分成取指、译码、执行、访存、写回五级流水处理,根据处理过程所需要的元件构建五级数据通路;针对流水线处理产生的数据相关构建旁路通路;根据五级数据通路及旁路通路所需要的协调信号构建控制通路;把数据通路和控制通路融合成CPU核。采用VHDL 实现CPU核;在CPU核上运行测试程序,并给出仿真结果;在FPGA平台上对CPU核

2、进行验证。结果表明了所设计CPU核的有效性。关键词:FPGA;CPU核;数据通路;控制通路中图分类号:TP332.3 文献标识码:BThe Design-implementation of embedded five Stage Pipeline CPUCoreLAI Zhao-qing, PAN Ming, XU Yong, ZHANG Hui(School of Computer Science and Control, Guilin University of Electronic Technology, Guilin 541004 , China Abstract: An embedd

3、ed 16-bit RISC CPU core was designed and implemented on FPGA. Refer to MIPS instruction set, the instruction set was finished; Analyzing the process of each instruction, the process was divided into five stages which is IF, ID, EXE, MEM, WB. Then the five stages data path was constructed according t

4、o work unit which is needed in the process; Aim at the data hazard which happens in the pipeline, the forward path was constructed; the control path was constructed according to the data path; the CPU core was composed of data path and control path. The CPU core was implemented with VHDL; the test p

5、rogram was run at the CPU core, then the simulation was presented; the CPU core was verified at FPGA hardware terrace. The result shows that the CPU core is effective.Keywords: FPGA; CPU core; Data path; Control path;引言随着微电子技术的迅速发展, 集成电路(ASIC的集成度越来越高。把CPU核、存储器和I/O接口等集成在单一的芯片上,并装载特定操作系统和应用程序,就构成了功能强大

6、的完整的片上系统(System on Chip, SoC1。在性能和成本方面,SoC具有传统的板上系统无法比拟的优势,逐渐成为嵌入式系统发展的主流2。而CPU核是SoC的核心,如何设计与实现有效的CPU核成为SoC的关键问题。MIPS(Microprocessor without Interlocked Pipeline Stages是一种优秀的、开放的RISC(Reduced Instruction Set Computer体系结构,在嵌入式系统领域中得到广泛的应用3,本文选定MIPS体系结构为所设计CPU核的构架。以MIPS CPU的指令集为参考,设计指令集;对指令处理过程进行抽象,可以把

7、指令处理过程进行流水化;为提高CPU核处理的CPI(每条指令的周期数值,同时降低CPU核设计的复杂度,本文把指令分成取指、译码、执行、访存、写回五级流水处理,并根据处理过程所需要的元件构建五级数据通路;采用流水线技术后,由于指令之间的数据相关性会使流水线出现断流现象,为此构建旁路通路解决这个问题;根据五级数据通路及旁路通路所需要的协调信号,构建能使五个处理段同时工作并能有效处理数据相关的控制通路;把数据通路、控制通路和存储器有机地结合,形成具有MIPS理念和风格的嵌入式CPU核。1 数据通路设计1.1指令集设计数据通路设计和控制通路设计是CPU核设计的两个主要组成部分4。而指令集是数据通路设计

8、的依据,同时指令集与数据通路硬件结构的复杂程度密切相关。本文参考MIPS CPU的指令集设计原则,设计了如图1所示的指令集。所设计的指令集包含了5种指令类型,共34条指令。所有指令的运算都在寄存器中进行,当需要和内存交换数据的时候,通过内存访问指令进行内存和寄存器的数据交换。 1.2 数据通路设计 完成指令集设计之后,将根据每条指令所需的元件来构建数据通路。所设计的每条指令都必须经历取 指和译码;除了分支指令以外,其它指令都经过ALU的加工处理;读写存储器指令需要访问存储器;除了写存储器指令和分支指令以外,其它指令都会把结果写回到寄存器文件。 根据指令的处理过程,可以把不同的指令处理阶段在空间

9、上实现并行化,即流水线化。为提高CPU 核处理的CPI(每条指令的周期数值,同时降低CPU核设计的复杂度,本文把指令分成取指(IF、译码(ID、执行(EX、访存(MEM、写回(WB五级流水处理,并根据处理过程所需要的元件构建五级数据通路。采用五级流水线处理后,由于指令之间的数据相关性,流水线会出现断流现象。针对数据相关产生的断流问题,在五级数据通路基础上,在EX段到ALU之间和WB段到ALU之间增加旁路通路。CPU核的数据通路和控制通路如图2所示,其中实线部分为数据通路,虚线部分为控制通路。 2 控制通路设计 2.1 控制器实现原理控制通路也称控制器,它根据一定的条件发出控制信号,控制功能部件

10、完成各条指令的功能。控制器的设计主要有两种方式:微程序方式和硬布线方式。与微程序控制相比,硬布线控制的速度较快。其原因是微程序控制中每条微指令都要从控制存储器中读取一次,影响了速度,而硬布线控制主要取决于电路延迟。硬布线方式是以提高系统的运行速度为目标的控制器设计方法。在RISC 计算机中,大多数指令都能在单周期内执行,控制相对简单,所以本文采用硬布线控制方式。硬布线控制器的基本原理可叙述为:操作控制信号C 是指令信号I 、时序信号T 和反馈信号B 的函数,即C=F(I,T,B。当控制器工作时,操作控制信号在相应指令信号和反馈信号下,在某一序号的时序信号到达时起作用,从而激活这条控制信号线,对

11、执行部件实施控制。2.2 控制器设计根据五级数据通路及旁路通路所需要的协调信号,构建能使五个处理段同时工作并能有效处理数据相关的控制器。取指(IF段,控制器主要对程序执行方向进行协调和判定,执行方向有以下几种:顺序、分支、中断例程等。译码(ID段,控制器主要协调指令域的分解和指令发生控制相关的处理。指令字分成控制域和数据域,控制域送往控制器,数据域送往执行(EX段。控制相关发生时,控制器协调IF 段暂停发送指令,同时发送空指令进行冲刷。执行(EX段,控制器主要协调ALU 运算、数据溢出处理。访存(MEM段,控制器主要协调存储器的读写操作。写回(WB段,主要协调访存段数据的流向,旁路到ALU 寄

12、存器或正常的写回ID 段的寄存器文件。Forward 与数据相关检测信号共同协调数据相关发生时的旁路处理。 3 数据通路和控制通路融合把数据通路和控制通路进行融合,并加上存储器,形成了CPU 核的九个主要模块,它们分别是控制器 (Control、取指(IF、译码(ID、执行(EXE、访存(MEM、写回(WB、旁路(Forward、ROM(程序存储器、RAM(数据存储器模块。基于VHDL 语言,采用QuartusII5.0编译生成如图3所示的电路模块。图3(1为取指模块,其中branchpc 为分支地址,retpc 为子程序返回地址,retipc 为中断返回地址;主要实现从存储器取指令和判定指令

13、的流向。图3(2为译码模块,主要实现指令数据域分解,指定源寄存器和目的寄存器及把立即数扩展为16位数据,为执行模块的ALU 提供相应的数据。图3(3为执行模块,主要实现数据的加工,对分支指令进行判断,为访存段提供访问的地址,为写回段提供相应写回结果。类似可实现其他电路模块,最后把调试成功的模块组合成CPU 整机。 4 仿真结果及分析 为了对所设计CPU 核进行验证,在前面给出的指令集的基础上编写了测试程序,并给出测试数组,如图4所示。该测试程序实现两个十六进制数组相加,第一个数组存在地址1H 到地址1F 中,第二数组存 在地址20H到地址2F中。测试程序在CPU核上运行得到的部分仿真结果(如图

14、5所示,图5(1和图5(2分别显示了两个数组中第一对和最后一对数据相加的仿真波形。其中clk表示时钟周期,op表示指令序列, ALU表示执行段的运算结果。由仿真波形可以看出,第一个结果为“0012”是数组第一对数据相加的结果,最后一个结果为“003A”是数组最后一对数据相加的结果,很显然与预期的结果一致的。在FPGA硬件平 台Altera的EP1C6Q240C8器件实现器件编程,可以发现实验结果与仿真结果一致。由以上分析可知,所设计的CPU核有效地执行了测试程序。5 结束语如何设计与实现有效的CPU核是SoC的关键问题,本文给出了一种CPU核设计与实现的过程。首先选定CPU核体系结构,接着设计

15、指令集,然后设计数据流通路和控制通路,并组成CPU核;用VHDL实现CPU核,最后对CPU核进行了测试,并在FPGA硬件平台进行器件编程,实验结果表明了所设计CPU 核的有效性。本文作者的创新点是:利用现代EDA技术,在FPGA平台上设计并实现了一种具有MIPS风格和理念的五级流水线RISC CPU核。参考文献:1 张杰.基于FPGA的八位RISC CPU的设计J.微计算机信息,2006,12-2:155-157.2 孙恺,王田苗,魏洪兴,陈友东.嵌入式CPU软核综述J.计算机工程.2006 32(7:6-9.3 Zivkov, B. Ferguson, B. Gupta, M. R4200:

16、 a high-performance MIPS microprocessor for portables C.Compcon Spring 94, Digest of Papers. San Francisco, CA, USA: IEEE-CS Press, 28 Feb-4 Mar 1994: 18-25. 4 Kyung-Sik Jang Kunieda, H. CPU core generation for hardware-software co-design .IEEE Asia PacificConferenceC. Seoul: Circuits and Systems, 1

17、996:306-309.基金项目:广西壮族自治区科学技术厅资助项目“汽车运行状况智能监控与实时故障诊断系统”(桂科能063006-5G-3作者简介:赖兆磬(1977-,男,广西人,硕士研究生,研究方向为嵌入式系统设计;潘明(1957-,男,广西人,副教授,硕士导师,研究方向为嵌入式系统设计;许勇(1955-,男,山西人,教授,博士,研究方向为嵌入式系统设计;张辉(1982-,男,江苏人,硕士研究生,研究方向为嵌入式系统设计、形式化技术。Biography: LAI Zhao-qing, Male (1977 - , Born in Guangxi province, the Han natio

18、nality, Master, Main research field: Embedded Systems Design; PAN Ming, Male (1957- , Born in Guangxi province, the Han nationality, associate professor, master tutor, Main research field: Embedded Systems Design; XU Yong, Male (1955 - , Born in Shanxi province, the Han nationality, professor, doctor, Main research field: Embedded Systems Design; ZHANG Hui, Male (1982 - , Born in J

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论