北工大学实验学院(论文)
1 绪 论
1.1 课题研究背景与意义
随着计算机行业不断发展,基于流水线结构CPU的研究是计算机体系结构中的重要研究方向。设计现代处理器的几种最基本的结构处理技术主要有:RISC结构、指令流水线结构等等。RISC结构支持指令流水并强调指令流水的优化作用,它们的目标是开发处理器的指令级并行性,提高处理器的执行速度。在现代计算机中,流水线技术是重要的加快处理器运算速度的基本技术,也是提高处理器速度的关键技术之一。借鉴了工业流水线制造的思想,现代CPU也采用了流水线设计。在CPU中采用流水线设计也有助于提高CPU的频率。CPU的工作也可以大致分为指令的获取、解码、运算和得出结果的四个步骤。采用流水线设计之后,指令就可以连续不断地进行处理。在同一个较长的时间段内,显然拥有流水线设计的CPU能够处理更多的指令。
超级流水线技术是用在一个并行处理技术。超流水线技术是通过细化的流水,提高主频。使得机器在一个周期内完成一个甚至多个操作,其实质是用空间换取时间。 超流水处理器是相对于基准处理器而言的,一般CPU的流水线是基本的指令预取,译码,执行和写回结果四级。超流水线(superpiplined)是指某型CPU内部的流水线超过通常的5~6步以上,例如Pentium pro的流水线就长达14步。将流水线设计的步(级)数越多,其完成一条指令的速度越快,因此才能适应工作主频更高的CPU。P6的超流水线(Super Pipeline)在本质上仍为一种流水线技术,但它做了以下的改进。
A.流水线条数从奔腾的两条增至三条,还有十一个独立的执行单元并行支持。
B.在执行中采取了无序执行(out-of-orderprocessing)技术。即当某条指令需要一些数据而未能立即执行完毕时,它将被剔出流水线并等待数据,CPU则马上执行下条指令,就好比在装配线上发现某件产品不太合格,而被淘汰,等
待返工一个道理。这样,可以防止一条指令不能执行而影响了整个流水线的效率。
C.在P6中将指令划分成了更细的阶段,从而使逻辑设计、工序等等更为简化,提高了速度。在486芯片中,一条指令一般被划分为五个标准的部分,奔腾亦是如此。而在P6中,由于采用了近似于RISC的技术,一条指令被划分成了创纪录的十四个阶段。这极大地提高了流水线的速度。
1.2.2 超标量技术
超标量技术是RISC采用的有一种处理技术。它通过内装多条流水线来同时执行多个处理。其实质就是以空间换取时间。超标量(superscalar)试图在一个
1
北工大学实验学院(论文)
周期取出多条指令并行执行,是通过内置多条流水线来同时执行多个处理,其实质是以空间换取时间。但由于指令之间的相关性,即后一条指令需要前一条指令的结果,超标量CPU的性能是一个周期能执行1.2条指令,而为了取得这20%的性能改善,超标量CPU需要增加大量的硬件电路来调度这些同时取出的指令,比如寄存器重命名,预约站,重排序缓冲区等。超标量CPU不可能再进一步调高性能了,这是由于指令的并行度ILP所决定的,及时编译器可以使用诸如循环展开优化技术,超标量CPU对性能的改善也很有限。
1.2 CPU技术主要成果
在CPU领域,国外已经有如下成果:
1、SPAR处理器全称为“可扩充处理器架构”,是RISC微处理器架构之一。它最早于1985年由Sun电脑所设计,也是SPARC国际公司的注册商标之一。这家公司于1989年成立,其目的是向外界推广SPARC,以及为该架构进行符合性测试。此外该公司为了扩阔SPARC设计的生态系统,SPARC国际也把标准开放,并授权予多间生产商采用,包括德州仪器、Cypress半导体、富士通等。由于SPARC架构也对外完全开放,因此也出现了完全开放原始码的LEON处理器,这款处理器以VHDL语言写成,并采用LGPL授权。对于需要在所有应用层都提供高性能、一流可用性和无与伦比的可伸缩性的任务关键型应用程序而言,运行SPARC服务器是一个理想选择。Oracle制定了一个强有力的计划,可通过SPARC完全二进制兼容性确保最高级别的投资保护,这在二十多年以来的成百上千次部署中得到了验证。SPARC服务器为各种企业应用程序提供创世界纪录的性能只需大型机成本的一小部分即可获得无与伦比的任务关键型可靠性唯一包含片上加密和OracleSolaris安全框架的平台与Oracle数据库、业务应用程序、中间件软件和Oracle优化的解决方案完全集成利用全面、内置的零成本虚拟化功能提高系统利用率。
2、Alpha 处理器
Alpha处理器最早由DEC公司设计制造,在Compaq(康柏)公司收购DEC之后,Alpha处理器继续得到发展,并且应用于许多高档的Compaq服务器上。自1995年开始开发了21164芯片,那时的工艺为0.5um,主频为200MHz。1998年,推出新型号21264,当时的主频是600MHz。目前较新的21264芯片主频达到1GHz,工艺为0.18um。在该芯片具有完善的指令预测能力和很高的存储系统带宽(超过1GB/s),并且其中增加了处理视频信息的功能,其多媒体处理能力得到了增强。Alpha架构于1992年2月25日,在东京召开的一次会议上面被正式推介,新架构的关键特性都一一的被罗列出来。当时说Alpha只是产品开发的内部代号。新处理器采用完全64-bit RISC设计,执行固定长度指令(32 bits)。有32个64 bit整数寄存器,操作43-bit的虚拟地址(在后来能够扩充到64-bit)。和
2
北工大学实验学院(论文)
VAX相同,使用little-endian字节顺序,即低字节的寄存器占用低内存地址线。而不像如摩托罗拉等大多数处理器所使用的big-endian字节顺序,即低字节寄存器占用高内存地址线。除此之外,处理器还内建一个算术协处理器,有32个浮点64-bit寄存器,采用随机存取,而不是在x86协处理器上使用的堆栈存取方式,整个Alpha的生命周期被设计为至少25年。
3、MIPS 处理器
MIPS是世界上很流行的一种RISC处理器。MIPS的意思是“无内部互锁流水级的微处理器”(Microprocessor without interlocked piped stages),其机制是尽量利用软件办法避免流水线中的数据相关问题。它最早是在80年代初期由斯坦福(Stanford)大学Hennessy教授领导的研究小组研制出来的。MIPS公司的R系列就是在此基础上开发的RISC工业产品的微处理器。这些系列产品为很多计算机公司采用构成各种工作站和计算机系统。 MIPS是出现最早的商业RISC架构芯片之一,新的架构集成了所有原来MIPS指令集,并增加了许多更强大的功能。MIPS技术公司是一家设计制造高性能、高档次及嵌入式32位和64位处理器的厂商,在RISC处理器方面占有重要地位。
4、PA-RISC 处理器
第一款芯片的型号为PA-8000,主频为180MHz,后来陆续推出PA—8200、PA-8500和PA-8600等型号。HP公司开发的64位微处理器PA-8700于2001年上半年正式投入服务器和工作站的使用。这种新型处理器的设计主频达到800MHz以上。PA-8700使用的工艺是0.18微米SOI铜CMOS工艺,采用7层铜导体互连,芯片上的高速成缓存达到2.25MB,比PA-8600增加了50%。 HP公司陆续推出PA-8800和PA-8900处理器,其主频分别达到1GHz和1.2GHz。RA-RISC同时也是IA-64的基础。在未来的IA-64芯片中,会继续保持许多PA-RISC芯片的重要特性,包括PA-RISC的虚拟存储架构、统一数据格式、浮点运算、多媒体和图形加速等。
1.3 CPU技术研究的发展趋势和存在的问题
鉴于RISC的设计特点以及其无可比拟的优点,根据专家以及计算机学家预计,RISC体系结构处理器今后将继续从如下三方面进行发展:一是增加处理器的并行性;二是扩展支持可伸缩并行计算机系统的功能;三是提高工艺水平。RISC的新技术围绕增加处理器并行性,出现了许多新思路和新技术,其中具有代表性的有:多路超标量处理器、超级推理处理器、向量IRAM处理器、示踪处理器。多路超标量处理器:目前的超标量处理器大多数是3路或4路发送设计的。美国的Michigan大学的研究组正在进行16路或32路发送超标量处理器的研究工作,它的基本思想是通过无序执行实现更高的指令级并行性。超级推理处理器:美国Carnegie Mellon大学的研究组正在开展通过扩大取指令宽度和队列
3
北工大学实验学院(论文)
长度、改善处理器推理和猜测执行能力来提高处理性能的研究工作。
结构相关、数据相关以及控制相关。结构相关由于我们的设计中不包含缓存,且指令和数据存放在同一个存储器中,当执行访存指令时就会和取指阶段冲突,即会有取指和访存的冲突,这叫做结构相关。数据相关是在一个程序中,如果必须等前一条指令执行完毕后,才能执行后一条指令,那么这两条指令之间就发生了数据相关。另外控制相关主要由程序流控制语句引起。如果程序中要求某一个运算任何完成后进行控制转移,则这个操作和控制转移的操作就不能同时进行。在指令流水线中,控制相关主要由转移指令引起,它也会使流水线性能明显下降。当执行转移指令时,依据条件判断是否为真,可能将程序计数器PC内容改变成转移地址目标,也可能只是使得PC加上一个常数,指向下一条指令的地址。另外RISC代码密度不高,可执行文件体积较大,汇编代码可读性差。代码密度不高是值得关注的问题:若不使用cache,会需要更大的指令存储控件,取指时也占用更大的内存带宽;若采用cache,又会降低cache的命中率。而从CPU的设计上来讲,由于RISC的核心代码要少很多,使得其结构相应简化,因此在体积、造价、功耗、散热和价格上都具有优势。
1.4 论文章节安排
本文将分为五章来描述,具体章节安排如下:
第一章绪论,介绍本文研究背景以及CPU的发展,技术成果以及发展方向,并简单说明本文所设计的CPU的可行性及优点。并介绍本文的章节安排
第二章为相关技术以及工具的简介,主要介绍了QUARTUS集成开发环境及开发流程,EDA技术以及FPGA器件,并简单说明利用QUARTUS和FPGA实现CPU电路的优点。
第三章为CPU的方案论证,整体结构设计以及指令集设计。确定了CPU电路8位单周期的特性,同时确定了8位指令集。
第四章为其余QUARTUS软件实现CPU及调试步骤,详细描述了CPU取指阶段,译码阶段,执行阶段,访存阶段和回写阶段的主要器件,基本结构和代码细节。
第五章为CPU设计的系统仿真和实物验证部分,利用ModelSim 仿真软件和Altera Cyclone IV EP4CE15F17C8 FPGA芯片完成了系统的仿真,仿真结果显示CPU运行正确,功能正常,设计正确。
4
北工大学实验学院(论文)
2 主要技术及工具简介
本设计采用的是ISE,EDA技术,FPGA器件。下面,我们针对这些器件与软件,进行一一的介绍。
2.1 EDA和QUARTUS
电子设计自动化,简称EDA(Electronic Design Automation) 技术作为现代电子设计技术的核心,他一来功能强大的计算机。在EDA工具软件平台上,对以硬件描述语言HDL (Hardware Description Language) 为系统逻辑描述手段完成的设计文件,自动的完成逻辑编译、逻辑化简、逻辑综合、结构综合,以及逻辑优化和仿真测试,直至实现既定的电子线路系统功能。
在现代高新电子产品的设计和生产中,微电子技术和现代电子设计技术实现互促进、相互推动又相互制约的两个技术环节.前者代表了物理层在广度和深度上硬件电路实现的发展,后者则反映了现代先进的电子理论[3][4]、电子技术、仿真技术、设计工艺和设计技术与最新的计算机软件技术有机的融合和升华.因此,严格地说,EDA技术应该是这两者的结合,是这两个技术领域共同孕育的奇葩[5]。 全球提供EDA软件工具的厂商有近百家之多,大体分为两类:一类是专业软件间公司开发的EDA开发工具,独立与半导体器件厂商;另一类是半导体器件厂商为销售本公司可编程逻辑器件PLD产品开发的EDA软件工具,只能开发该公司的PLD器件.这里介绍的QUARTUS II开发工具属于后者,是由Altera公司开发的EDA软件工具。
Quartus II是Altera提供的FPGA/CPLD开发集成环境,Altera是世界上最大的可编程逻辑器件供应商之一。Quartus II提供了一种与结构无关的设计环境,使设计者能方便地进行设计输入、快速处理和器件编程。由于Quartus II 开发工具人机界面友好、易于使用、性能优良,并自带编译、仿真功能,Quartus II已经成为是世界上使用最为广泛的EDA工具之一。
2.2 QUARTUS II 13.0开发流程
Quartus II 是Altera公司的综合性PLD/FPGA集成开发环境,是该公司上一代可编程逻辑器件的集成开发环境MAX+plusII的更新换代产品。Quartus II集成开发环境支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。它向下屏蔽硬件特性,能够使设计者在无需了解FPGA硬件结构的前提下方便的进行设计开发。Quartus II 13.0可以在Unix和Windows操作系统上使用,本设计使用Quartus II 13.0的Windows版本。
5