下载此文档

基于DLX指令集的5级流水线CPU设计与实现.doc


文档分类:IT计算机 | 页数:约30页 举报非法文档有奖
1/30
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/30 下载此文档
文档列表 文档介绍
基于 DLX 指令集的 5级流水线 CPU 设计与实现一、渊源............................................................................................................................................. 1 二、基础............................................................................................................................................. 2 1 、从系统角度和程序执行角度体会 CPU 概貌...................................................................... 2 2、 CPU 设计的重点:指令集和流水线,指令集就是协议................................................... 3 3 、流水线— 20 世纪最伟大的发明....................................................................................... 10 4 、流水线带来的烦恼—相关................................................................................................ 16 5 、流水线结构的颠覆:记分牌与 tomasulo 算法(与设计无关) .................................. 21 三、设计与实现............................................................................................................................... 26 一、渊源诞生于 1977 年的英特尔 8086 以现在微电子专业本科生的水平完全可以做出来,龙芯的负责人胡伟武的毕业设计作品就是 8086CPU 。我们学过的大三的时候看了《编码》后觉得比较有感觉就写了一篇文章叫作《从零开始构建一台计算机》,主要说了一下对编码思想的理解,只记得当时心情相当激动,好像二进制世界刚刚向我打开。很重要的一部分是以自己的理解说了一下 CPU 与接口的相互作用关系,这是因为那时与单片机正打得火热。当时对于 CPU 的理解几乎为零,所以一笔带过了 CPU 的构造与工作原理,骗自己说那是非常复杂的东西,一直把它奉作系统大脑,却从不知道它到底是什么。但对 CPU 原理的理解对于写出高效的程序是很关键的。上个学期,一个“神童”级的人物出现了,王超。这个感觉还不如我们年龄大的科大博士后,教我们《现代微处理器体系结构》,不得不说收获很大,对如何设计、实现、测试、分析、评估、优化一个 CPU 有了比较清晰的认识。考试完之后一直想整理整理,一直懒得动,这项任务像一块石头一样堵在心口,现在我想好好写写,作为上个学期的真正结束。基础部分主要是之前课上课下的的笔记,实现部分主要是实验室老大单麾扬的杰作, 他用了两天时间在 modelsi m下用 verlo g 语言编写了整个工程, 这个西工大的哥哥,真是各种令人折服。二、基础 1 、从系统角度和程序执行角度体会 CPU 概貌我们沿用至今的冯诺依曼提出的计算机系统硬件结构:运算器、控制器、存储器、输入设备、输出设备。其中运算器和控制器从功能角度来说就是中央处理单元 CPU 。存储器指的是内存,即 RAM , 如果是哈佛结构则代码空间和数据空间是隔离的。若是冯诺依曼结构则是代码和数据混合存储哈佛结构的微处理器通常具有较高的执行效率。其程序指令和数据指令分开组织和存储的,执行时可以预先读取下一条指令。而冯诺依曼结构实现起来简单而且成本较低。我们的设计用的是哈佛结构。 CPU 就像是输入与输出之间的一个黑盒子,这个黑盒子实现了编制的算法,对输入进行运算,并输出。从程序的执行流程更能体会出 CPU 的角色,高级语言(如 C或 Java )写的程序经编译器( *.c->*.s ) ,汇编器(*.s->*.o) ,链接器(*.o->*.elf) ,生成了可执行文件,生成的可执行文件放到内存里。一句 C语言编译成汇编语言的举例: c=a+b; LD R1,8000 ;a LD R2,8001 ;b ADD R3,R1,R2 SD R3,8003 ;C

基于DLX指令集的5级流水线CPU设计与实现 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数30
  • 收藏数0 收藏
  • 顶次数0
  • 上传人63229029
  • 文件大小1.52 MB
  • 时间2017-01-16