当前位置:文档之家› MIPS程序设计报告

MIPS程序设计报告

组成原理实验报告姓名学号陈宝可 07055004刘睿 07055013林建财 07055040指导老师:姜欣宁2010年4月22日一、总体设计思想1.1 CPU简介CPU是计算机的核心,其重要性好比大脑对于人一样,它负责处理、运算计算机内部的所有数据。

CPU的种类决定了操作系统和相应的软件。

CPU主要由运算器、控制器、寄存器组和内部总线等构成,是PC的核心,再配上储存器、输入/输出接口和系统总线组成为完整的PC(个人电脑)。

单周期CPU 的特点是每条指令的执行只需要一个时钟周期,一条指令执行完再执行下一条指令。

再这一个周期中,完成更新地址,取指,解码,执行,内存操作以及寄存器操作。

由于每个时钟上升沿时更新地址,因此要在上升沿到来之前完成所有运算,而这所有的运算除可以利用一个下降沿外,只能通过组合逻辑解决。

这给寄存器和存储器RAM的制作带来了些许难度。

且因为每个时钟周期的时间长短必须统一,因此在确定时钟周期的时间长度时,要依照最长延迟的指令时间来定,这也限制了它的执行效率。

下图是cpu设计的思路:1.2系统主要框架第一台电子计算机与1946年2月14日诞生至今,计算机的发展迅速,经历了电子管,晶体管管,集成电路,大规模集成电路,超大规模集成电路的时代,现在集成电路的设计已经接近极限,不过在发展历程中,计算机的核心框架并没有太多的改变,仍然是由五大部件组成:存储器、运算器、控制器、I/O设备。

设计过程中主要以CPU(运算器+控制器)为中心。

如图是计算机组成原理图:CPU 的功能:设计的cpu主要是由ALU(运算器)和CU(控制器)两个核心部件构成,另外设计一些辅助器件。

ALU处理整个计算机的计算,设计的ALU只能进行简单的算术运算,并不能够实现很强大的计算功能,CU是整个计算机的控制部分,它能够接收外界的响应,并控制计算机的其他部件完成特定的功能,CU 和ALU共同组成cpu的核心部件,处理整个计算机的事件。

CPU开发的进程:设计初始时,成员讨论cpu所能实现的功能,cpu的组成部分,所需要的开发工具、语言、平台、参考资料等,明确了设计思想后,小组进行明确的分工,现在设计过程已经从最初的讨论进入初步的实践,小组成员正按照各自的分工进行cpu的设计开发。

设计成员的分工:本小组由三名成员,林建财主要完成设计思路提出和最终的整合,陈宝可主要完成各个模块的设计,刘睿主要完成报告的编写以及提出相关的意见,设计过程中成员需要相互配合,相互支持分工没有明显的界限,成员可以扬长避短,各展所长。

CPU设计的工具:现在存在很多的cpu开发语言,如VHDL硬件描述语言,V erilog HDL描述语言等等,它们都是非常优秀的开发工具,鉴于知识的局限性,这里只列出我们所学的工具。

Quartus® II design 是最高级和复杂的,用于system-on-a-programmable-chip (SOPC)的设计环境。

QuartusII design 提供完善的timing closure 和LogicLock™ 基于块的设计流程。

QuartusII design是唯一一个包括以timing closure 和基于块的设计流为基本特征的programmable logic device(PLD)的软件。

Quartus II 设计软件改进了性能、提升了功能性、解决了潜在的设计延迟等,在工业领域率先提供FPGA与mask-programmed devices开发的统一工作流程。

EDA技术EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。

EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。

利用EDA工具,以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程的计算机上自动处理完成。

CPU开发的步骤设计过程中,小组成员考虑的步骤如下1、设计定义和可综合的HDL代码2、逻辑综合3、版图规划4、单元布局和优化5、静态时序分析(STA)、形式验证(FV)和可测性电路插入(DFT)。

6、后布局优化,时钟树综合和布线设计7、寄生参数的提取8、后仿真,以及时序和功耗分析9、ECO(工程修改命令)修改。

10、物理验证。

目前已经完成了初期的开发过程,在后续时间中将完成后续步骤。

具体步骤如下图CPU的开发周期根据设计的具体步骤以及前期所做的工作,我们大概需要4-5周的时间来完成设计,cpu的开发过程中主要花费的时间是在后期的调试和实现上,前期相对比较容易实现,大概需要1周左右的时间,后期需要投入较多的精力和时间。

1.3参考资料《精通V erilog HDL语言编程》刘波电子工业出版社V erilog HDL设计实践与指导刘秋云等机械工业出版社1.4相关信息主频主频也叫时钟频率,单位是MHz(或GHz),用来表示CPU的运算、处理数据的速度外频外频是CPU的基准频率,单位是MHz。

CPU的外频决定着整块主板的运行速度。

CPU的位和字长位:在数字电路和电脑技术中采用二进制,代码只有“0”和“1”,其中无论是“0”或是“1”在CPU中都是一“位”。

字长:电脑技术中对CPU在单位时间内(同一时间)能一次处理的二进制数的位数叫字长。

所以能处理字长为8位数据的CPU通常就叫8位的CPU。

同理32位的CPU就能在单位时间内处理字长为32位的二进制数据。

字节和字长的区别:由于常用的英文字符用8位二进制就可以表示,所以通常就将8位称为一个字节。

字长的长度是不固定的,对于不同的CPU、字长的长度也不一样。

8位的CPU 一次只能处理一个字节,而32位的CPU一次就能处理4个字节,同理字长为64位的CPU一次可以处理8个字节。

倍频系数倍频系数是指CPU主频与外频之间的相对比例关系。

在相同的外频下,倍频越高CPU的频率也越高。

缓存缓存大小也是CPU的重要指标之一,而且缓存的结构和大小对CPU速度的影响非常大,CPU内缓存的运行频率极高,一般是和处理器同频运作,工作效率远远大于系统内存和硬盘。

实际工作时,CPU往往需要重复读取同样的数据块,而缓存容量的增大,可以大幅度提升CPU内部读取数据的命中率,而不用再到内存或者硬盘上寻找,以此提高系统性能。

但是由于CPU芯片面积和成本的因素来考虑,缓存都很小。

CPU扩展指令集CPU依靠指令来计算和控制系统,每款CPU在设计时就规定了一系列与其硬件电路相配合的指令系统。

指令的强弱也是CPU的重要指标,指令集是提高微处理器效率的最有效工具之一。

从现阶段的主流体系结构讲,指令集可分为复杂指令集和精简指令集两部分,CPU内核和I/O工作电压从586CPU开始,CPU的工作电压分为内核电压和I/O电压两种,通常CPU的核心电压小于等于I/O电压。

其中内核电压的大小是根据CPU的生产工艺而定,一般制作工艺越小,内核工作电压越低;I/O电压一般都在1.6~5V。

低电压能解决耗电过大和发热过高的问题。

制造工艺制造工艺的微米是指IC内电路与电路之间的距离。

制造工艺的趋势是向密集度愈高的方向发展。

密度愈高的IC电路设计,意味着在同样大小面积的IC中,可以拥有密度更高、功能更复杂的电路设计。

现在主要的180nm、130nm、90nm、65nm、45纳米。

最近inter已经有32纳米的制造工艺的酷睿i3/i5系列了。

指令集(1)CISC指令集CISC指令集,也称为复杂指令集,英文名是CISC,(Complex Instruction Set Computer的缩写)。

在CISC微处理器中,程序的各条指令是按顺序串行执行的,每条指令中的各个操作也是按顺序串行执行的。

顺序执行的优点是控制简单,但计算机各部分的利用率不高,执行速度慢。

(2)RISC指令集RISC是英文“Reduced Instruction Set Computing ” 的缩写,中文意思是“精简指令集”。

它是在CISC指令系统基础上发展起来的,有人对CISC机进行测试表明,各种指令的使用频度相当悬殊,最常使用的是一些比较简单的指令,它们仅占指令总数的20%,但在程序中出现的频度却占80%。

复杂的指令系统必然增加微处理器的复杂性,使处理器的研制时间长,成本高。

并且复杂指令需要复杂的操作,必然会降低计算机的速度(3)IA-64EPIC(Explicitly Parallel Instruction Computers,精确并行指令计算机)是否是RISC和CISC体系的继承者的争论已经有很多,单以EPIC体系来说,它更像Intel的处理器迈向RISC体系的重要步骤。

从理论上说,EPIC体系设计的CPU,在相同的主机配置下,处理Windows的应用软件比基于Unix 下的应用软件要好得多。

超流水线与超标量在解释超流水线与超标量前,先了解流水线(pipeline)。

流水线是Intel首次在486芯片中开始使用的。

流水线的工作方式就象工业生产上的装配流水线。

在CPU中由5—6个不同功能的电路单元组成一条指令处理流水线,然后将一条X86指令分成5—6步后再由这些电路单元分别执行,这样就能实现在一个CPU时钟周期完成一条指令,因此提高CPU的运算速度。

经典奔腾每条整数流水线都分为四级流水,即指令预取、译码、执行、写回结果,浮点流水又分为八级流水。

超标量是通过内置多条流水线来同时执行多个处理器,其实质是以空间换取时间。

而超流水线是通过细化流水、提高主频,使得在一个机器周期内完成一个甚至多个操作,其实质是以时间换取空间封装形式CPU封装是采用特定的材料将CPU芯片或CPU模块固化在其中以防损坏的保护措施,一般必须在封装后CPU才能交付用户使用。

CPU的封装方式取决于CPU安装形式和器件集成设计,从大的分类来看通常采用Socket插座进行安装的CPU使用PGA(栅格阵列)方式封装,而采用Slot x槽安装的CPU则全部采用SEC(单边接插盒)的形式封装。

现在还有PLGA(Plastic Land Grid Array)、OLGA(Organic Land Grid Array)等封装技术。

多线程同时多线程Simultaneous multithreading,简称SMT。

SMT可通过复制处理器上的结构状态,让同一个处理器上的多个线程同步执行并共享处理器的执行资源,可最大限度地实现宽发射、乱序的超标量处理,提高处理器运算部件的利用率,缓和由于数据相关或Cache未命中带来的访问内存延时。

相关主题