已阅读5页,还剩85页未读, 继续免费阅读
(计算机系统结构专业论文)真实计算机系统快速原型实验平台设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中国科学技术大学硕士学位论文 摘要 如何帮助学生实现认知上从理论到实践的飞越,是传统计算机体系结构教 学面临的最大挑战。基于高密度现场可编程器件f p g a ,构建可重构的计算机 系统快速原型设计实验平台,能给学生创造一个学习构建真实计算机系统原型 的机会,使学生获得设计一台“可用的”计算机系统的重要经历 本文的研究工作采用软硬件协同设计的方法,设计和实现了一套以3 2 位动 态五级流水r i s c 处理器为核心的完整的计算机系统快速原型设计教学实验平 台。我们把这个开源的处理器系统设计称为o p c n c p u 。 本文主要的研究内容和成果包括以下几个方面:( 1 ) 提出了o p c n c p u 的系统 结构定义。o p c n c p u 处理器的指令系统与m i p s 指令系统兼容。( 2 ) 设计了微体 系结构,该结构采用了现代微处理器设计的主流技术,实现了动态调度流水线、 寄存器重命名、分支预测、精确例外处理、存储管理部件( m m u ) 和片上c a c h e 。 ( 3 ) 设计了周期精确的信号级c 语言模拟器,详细描述了o p c n c p u 的逻辑结构。 作为可执行的逻辑结构设计文档和软硬件协同开发的平台。( 4 ) 完成了可综合的 r t l 代码。r t l 代码通过仿真,在f p g a 上进行验证,完成了微处理器芯片前 端设计的全部流程。( 5 ) 设计并实现了一套支持处理器运行的计算机系统快速原 型实验平台,包括s d r a mc o n t r o l l e r ,编译器,操作系统,b o o t l o a d e r 等等。 该实验平台与传统的计算机系统实验平台相比,采用了当代先进的体系结 构技术,如乱序执行、存储管理和分支预测,提供了更加完善和强大的实验功 能,能够体现计算机系统从结构设计、逻辑设计,f p g a 仿真到系统软件移植 的全部设计流程。 关键词:计算机体系结构教育;微处理器体系结构设计;真实计算机系统原型; f p g a ;实验课程。 中国科学技术大学顸士学位论文 a b s t r a c t ni st h em o s tu r g e n tc h a l l e n g et h a th o wt oh e l ps t u d e n t sm a r ct h el e a p t h e o r e t i c a lk n o w l e d g et op r a c t i c a le x p e r i e n c e t oc o n s t r u c ta r e c o n f i g u m b l e c o m p u t e r a r c h i t e c t u r er a p i dp r o t o t y p i n gd e s i g ne x p e r i m e n t a t i o n , w i l lb r i n gs t u d e n t sac h a n c et o b u i l dar e a lc o m p u t e rs y s t e m sp m t o t y p i n g ,a n dw i l lg i v es t u d e n t st h ee 墨p e f i e n o f d e s i g n i n ga u s e f u l c o m p u t e rs y s t e m s t h i sp a p e rm 仰d u c e sa nh w s wc o - d e s i g n , w h i c hf o c u so na3 2b i td y n a m i c p i p c l i n i n gr i s cp r o c e s s o r b a s e dt h i sd e s i g n , w eh a v eb u i l tar a p i dp r o t o t y p i n g s y s :t e r nl a b o r a t o r yf o rt e a c h i n gr e a lc o m p u t e ra r c h i t e c t u r ed e s i g n w en a m e dt h i so p e n 9 叭l 溉p r o c e s s o r 船o p e n c p u t h er e s e a r c hc o n t e n ta n da c h i e v e m e n to ft h i st h e s i si n c l u d et h ef o l l o w i n g a s p e c t :( 1 ) n a r r a t e dt h es y s t e m 批t u r ed e f i n i t i o no fo p e n c p u ;t h i si sam i p s c o m p a t i b l ea r c h i t e c t u r e ;( 2 ) u s e d8 a 1 n ca d v a n c e dt e c h n o l o g i 髂i nm o d e m m i c r o - p r o c e s s o ri n d u s 仃yt od e s i g nm i c r o - a r c h i t e c t u r e ,s u c ha sd y n a m i cp i p e l i n e , 托g i s t 茁r c n a l l l e ,b r a n c hp r e d i c t i o n ,p r e c i s ee x c e p t i o n , m e m o r ym a n a g e m e n tu n i t q 唧a n do n - c h i pc a c h e ;( 3 ) d e s i g n e dac y c l e - a c c u r a c ys i m u l a t o rt od e s c r i b et h e l o 西es t r u c t u r eo ft h i sp r o c e s s o r ;t h i ss i m u l a t o rc a nb eu s e d 髓a ne x e c u t a b l e d o c u m e n ti nd e t a i la n dap l a t f o r mo fh w s wc o - d e s i g n ;( 4 ) i m p l e m e n t e d s y n t h e s i z a b l er t lc o d eo ft h i sp r o c e s s o r , t h er t lc o d ew a sc e r t i f i c a t e du n d e r s i m u l a t i o na n df p g av e r i f i c a t i o n ;( 5 ) t os u p p o r tt h ep r o c e s s o re x e c u t i o n , w e i m p l e m e n t e dah w s ws y s t e m ;t h i ss y s t e mi n c l u d e ds d r a mc o n t r o l l g r , o s p o r t i n ga n d b o o tl o a d e r ;a i lo f t h e s ec a nb eu s e dt ob u i l da r a p i dp m t o t y p i n gs y s t e m l a b o r a t o r yo nc o m p u t e ra r c h i t e c t u r e c o m p a r e dt ot r a d i t i o n a lc o m p u t e rs y s t e ml a b o r a t o r y , t h i sp r o j e c ta d o p t ss a m e a d v a n c e dt e c h n i q u e ( s u c ha so u t - o f - o r d e re x e c u t i o n , b r a n c hp r e d i c t i o n , p r e c i s e e x c e p t i o n , c a c h ea n dv i r t u a lm e m o r y ) t h i sp r o j e c ta l s og e t st h r o u g ht h ew h o l ef l o w o f ac o m p u t e rs y s t e md e s i g n , b o ms i m u l a t o ra n dr t lt os y s t e ms o f t w a r ep o r t i n g k e y w o r d s :c o m p u t e ra r c h i t e c t u r em u c a t i o n ;m i c r o - p r o c e s s o rd e s i g n ;r e a lc o m p u t e r s y s t e mp r o t o t y p i n g ;f p g a :l a b o r a t o r yc o u r s e ; 中国科学技术大学硕士学位论文 图1 1 图l - 2 图2 1 图2 - 2 图3 1 图3 2 图4 - 1 图4 2 图4 _ 3 图4 _ 4 图4 5 图4 6 图4 7 图4 - 8 图4 - 9 图4 1 0 图4 i i 图4 _ 1 2 图4 - 1 3 图4 1 4 图4 1 5 图5 1 图5 2 图5 3 图每l 图6 - 2 图 图目录 a l t e r au p i 学生c p l d 开发板3 x i l i n xx s 4 0 学生f p g a 开发板4 m m s 指令编码1 2 o p e n c p u 实现的m i p s 指令1 5 o p e n c p u 处理器微体系结构1 6 c a c h e 的读工作流程2 6 p c 模块的状态转换图3 1 分支控制器状态转换图3 4 通用寄存器和操作队列读出端口。4 3 i n t e r f a c e 状态转换图4 9 取指流程图5 1 l o a d 指令执行流程图5 2 s t o r e 指令执行流程图5 3 数据c a c h e 结构5 4 数据c a c h e 状态转换图。5 6 指令c a c h e 结构。5 7 指令c a c h e 状态转换图5 9 t l b 结构6 0 1 l b 地址转换流程图6 0 t l b 虚拟地址构成6 l 仿真环境中运行l i n u x 操作系统6 3 c 模拟器流水线核心代码6 5 在模拟器上启动l i n u x 内核的截图7 l 在模拟器上运行l i n u x 用户程序和常用命令的截图7 2 o p e n c p uf p g a 验证电路板7 5 f p g a 验证系统的模块划分7 6 f p g a 验证板通过串口在主机终端显示l i n u x 启动过程。7 6 中国科学技术大学硕士学位论文 表目录 表3 - 1t l b 表项内容2 4 表4 1数据c a c h e 状态机。5 4 表4 - 2指令c a c h e 状态机。5 7 中国科学技术大学学位论文相关声明 本人声明所呈交的学位论文,是本人在导师指导下进行研究工作 所取得的成果。除已特别加以标注和致谢的地方外,论文中不包含任 何他人已经发表或撰写过的研究成果。与我一同工作的同志对本研究 所做的贡献均已在论文中作了明确的说明。 本人授权中国科学技术大学拥有学位论文的部分使用权,即:学 校有权按有关规定向国家有关部门或机构送交论文的复印件和电子 版,允许论文被查阅和借阅,可以将学位论文编入有关数据库进行检 索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。 保密的学位论文在解密后也遵守此规定。 1 蜓7 作者签名: o 订年 李病1 s 其8b 中国科学技未大学硕士学位论文 1 1 课题的研究背景 第1 章绪论 自1 9 7 3 年g o r d o nm o o r e 提出著名的m o o r e 定律以来,半导体工业一直按 照m o o r e 定律以平均每1 8 个月集成度提高一倍的速度发展,并和处理器系统设 计的发展彼此产生正反馈的影响。半导体工业的发展带来了更先进的设备、软件 和工艺,帮助工程师设计出更高性能的处理器,同时,更好的处理器和相关的外 设又能用于生产更先进的设备,为更高级的软件提供支持【l 】。 在这个正反馈的过程中,学生也是其中重要的组成部分一个欣欣向荣的计 算机产业的发展需要更多的优秀科学家和工程师的参与,这些未来的科学家和工 程师则来自于高校中的计算机和电子类专业的学生:同时计算机设备和工具的发 展能让学生们的创造力的发展跟上m o o r e 定律的速度,这来源于高性能计算机 系统的使用,也得益于互联网带来的教育资源的共享。 高等院校中计算祝体系结构教育的发展需要跟上m o o r e 定律的发展速度。 如何帮助学生实现从理论知识到实践经验的认知飞越,是体系结构教学的最大挑 战。与过去十年二十年相比,计算机体系结构实验教育水平有了显著提高,七、 八十年代8 位机广泛流行的时候,高校的系统结构专业的学生们可以使用t t l 元件搭建简单的数字系统;目前,工业界广泛使用的更先进的设计流程也为教学 所用,学生可以通过h d l 硬件描述语言描述电路来实现自己的体系结构思想, 并用百万门级的f p g a 在实际系统中验证自己的思想:国外一些著名大学甚至与 工业界合作,为学生提供免费流片的机会,完成真正可用于生产的处理器芯片。 与计算机系统结构紧密相关的课程包括计算机体系结构、计算机原理、数字 逻辑、编译技术、操作系统。系统结构专业的学生应该有机会在大学里把分散在 各门计算机系统相关课程中的知识链接起来,学会在设计实际系统对做复杂的设 计选择和折衷。模块化、可重构、可扩展、软硬件协同设计的计算机系统原型设 计实验教学平台一直是国内外计算机体系结构教育工作者追求的理想实践教学 环境。但是,在大学里构建一个实际的计算机系统,时间、人力和资源都是不允 许的。目前国外的许多大学也大都是开设计算机系统模拟仿真实验,国内的模拟 仿真实验基本上刚刚起步。而且虽然模拟仿真可以达到一定的效果,但毕竟不是 真实设计,只能局部反映硬件设计的工程问题,不能帮助学生体验系统设计过程 中的各种困难和设计折衷。正如h 她lp e n f i u n l l p r o 首席设计师r o b e r tc o l w e l l 在 一次国际计算机体系结构年会的专题讨论上说的那样,只有经历了通宵达旦地调 中国科学技术大学硕士学位论文 试和解决一系列硬件问题,才能更好地认清硬件设计中的困难,这是模拟仿真不 能替代的。 针对上述情况,国外的一些知名大学的计算机体系结构教育工作者提出了一 种解决的办法,即以一个精简的c p u 设计为载体,基于高密度现场可编程门阵 列( f i e l dp r o g r a m m a b l ec - a t e a r r a y ,f p g a ) 。构建可重构的计算机系统结构快速 原型设计实验平台,给学生创造一个构建真实计算机系统原型的机会,学习在整 个系统构建过程中作出软硬件设计的决定,使学生获得设计一台“可用的”计算机 系统的重要经历。实验开始时,先向学生提供一个已构建好的基本c p u 模型、 测试程序、以及经过裁剪的在该模型上可执行的操作系统和经过修改的编译器。 要求学生为其添加新的功能需求,思考如何提出或选择某个候选的解决方案,如 何评估解决方案,以及如何作出设计改动。学生在此过程中获得复杂数字系统设 计、模拟、验证和评估方面的经验。尽管整个过程是在已有的模型下经过改造和 扩充完成,但在整个实验过程中,学生获得了复杂硬件设计的实际经验,对他们 未来从事计算机系统的设计和研究是极为重要的。快速原型技术以及新一代的大 规模现场可编程逻辑器件使得结合硬件描述语言的计算机系统结构教学方法成 为可能( 2 】。 目前国内高校学生自行设计或者教师在 计算机组成设计或处理器设计 课程实验中要求学生设计的处理器通常规模过小、指令集简单、功能单一,蕴涵 的设计技术比较少。有的大学课程实验中设计的处理器仅仅运用了数字逻辑的知 识来完成功能部件的设计,通常自行定义了一套简化的指令集,没有包含现代计 算机体系结构中普遍采用的流水线设计。有的大学设计了稍微复杂一点的静态流 水线处理器,实现了m i p si 指令集,但是当前通用微处理器通常都采用动态流 水线技术来开发更高的指令级并行性。此外,上述这些课程实验设计主要围绕处 理器和它的一些简单接口的硬件来设计,学生无法体会到计算机全系统设计的复 杂性,学不到硬件与软件协同设计的思想。 1 2 相关工作 国外著名大学在计算机体系结构原型设计实验平台方面领先于国内,而且和 应用结合得比较紧密。b u e k n e l lu n i v e r s i t y 开设的计算机体系结构实验课程【3 】, 提供了基于r t l ( 寄存器传输级) 硬件描述语言的系统原型、v e r i l o g 硬件描述 语言使用手册、常用的c a d ( 计算机辅助设计) 工具使用手册,以及构建数字 系统所要用到的工具讲义。通过该课程实验,学生可以深化教材上的体系结构概 念,比如流水线、缓存、浮点运算。u n i v e r s i t yo f b e l g r a d e 提出了整合的计算机 体系结构教学环境【4 】,包括i e c s ( 综合教学计算机系统) 、s p i e c s ( i e c s 软件包) 、 2 中国科学技术大学硕士学位论文 c a l k a s ( 计算机体系结构学习与知识评估系统) 、各种实验,其范围涵盖计算 机体系结构和计算机组成原理两门课程的重要概念;l o u i s i a n as t a t eu n i v e r s i t y 在 “c o m p u t e ro r g a n i z a t i o n 本科课程中设计了包括静态、动态流水等多种复杂度的 类m i p sc p u 5 。 下面我们给出佐治亚理工大学( g e o r g i ai n s t i t u t eo f t e c h n o l o g y ) 和加州大学 伯克利分校( u cb e r k e l e y ) 在计算机系统课程相关的教学实验平台的详细介绍。 1 2 1 使用现场可编程逻辑器件的快速原型系统 佐治亚理工提出使用现场可编程逻辑器件( f i e l dp r o g r a m m a b l el o g i c d e v i c e ,f p l d ) 的快速原型,来模拟、综合和实现数字系统和计算机体系结构【6 】。 f p l d 供应方,比如a l t e m 和x i l i n x 提供的运行在p c 机上的学生版本c a d 工具,是免费的或者只需要微不足道的花费。许多数字设计以及计算机体系结构 文档已经包括了v i - 1 d l ,提供带学生版本c a d 工具的c d r o m 。当前,这些学 生版本包括了s c h e m a t i cc a p t u r e ,v h d l ,v e r i l o g ,功能与时序模拟,综合,布 局布线,以及5 ,0 0 0 到2 0 ,0 0 0 门的可编程容量。多数的电子与计算机工程的 学生都拥有自己的p c 机,可在其上运行学生版本c a d 工具,以作为大学提供 的计算机的补充。对大型的设计,学校会提供这些工具的商业版本一宙过捐赠 或少量费用,在大学的计算机上使用。 圈i - i a l t e r au p i 学生c p l d 开发扳 中国科学技术大学硕士学位论文 田1 - 2 x i l i n xx s 4 0 学生f p g a 并发板 先进的高密度引脚封装使得学校直接使用大型的f p l d 芯片比较困难。对简 单的应用,这些f p l d 必须安放在较小的多层印刷线路板上,其上已装好开关, l e d ,电源和i o 接口。f p l d 包括f p g a ( f i e l d - p r o g r a m m a b l eg a t e a r r a y ,现场 可编摇门阵列) 和c p l d ( c o m p l e xp r o g r a m n m b l el o 西cd e v i c e ,复杂可编程逻 辑器件) 。a l t e r a 和x i l i n x 公司都有支持大学的程序,包括低费用的使用学生版 本c a d 工具来开发的f p l d 开发板不需要昂贵的可编程硬件,因为这些逻辑 器件都通过计算机并口来编程。这种开发板能用低费用来给学生提供数千门容量 的硬件原型设计 图1 1 显示了a l t e m 大学计划c p l d 教学板。这块板包括了一个位于左边 的m a xe p m 7 1 2 8 s2 5 0 0 门,p - t e r me e p r o m - b a s e dc p l d ,还有一个位于右边 的f l e xe p f l 0 k 2 02 0 0 0 0 门,s r a m b a s e dc p l d 含1 2 k 位内部r a m 。增加了 l e d ,七位数码管和开关,还有一个p s 2 鼠标或键盘接口,和一个v g a ( 视频 适配器) 接口连接到c p l d 的引脚上 要使用v g a 或者p s 2 ,用户必须先用f l e xc p l d 里的逻辑设计接口。接 头能被安放在板子周围作为扩展。对大规模的应用来说,一个7 0 ,0 0 0 门的f l e x 1 0 k 7 0 能替换掉原来的1 0 k 2 0 。 x i l i n x 提供了两种低价格教学用板,x s 4 0 和x s 9 5 。这两种板拥有适应传统 o 1 英寸主板的i o 引脚。x s 9 5 包含一个x c 9 5 1 0 8 c p l d 。在图1 2 里显示的x s 4 0 包含了一个5 ,0 0 0 门的x c 4 0 0 5 x lf p g a 。它也带有一个七位数码管,3 2 k 字 节s r a m ,和一个8 0 5 1 微控制器。一个可选的母板。x s t e n d 为x s 板增加了 v g a 和p s ,2 接口,音频输入输出和一个原型区域。针对更大型的应用一个l o , 0 0 0 门的x c 4 0 1 0 芯片能取代原来的4 0 0 5 。 x i l i n x 的更大型的教学板是基于新的v t e xf p g a 。这种板包括了一个5 0 , 0 0 0 到8 0 0 ,0 0 0 门的v i r t e xf p g a ,一个立体声编码器,一个p s 2 键盘或鼠标 接口,u s b 接口,一个带r a m d a c 的v g a 口,两块5 1 2 k * 1 6 s r a m ,一块1 6 m b i t f l a s h ,一个视频解码器,和一个以太网接口。这种大型开发板的价格由f p g a 的大小决定付出更高的费用,学校需要为学生购买这种开发板作为传统的实验 4 中国科学技术大学硕士学位论文 室设置。 佐治亚理工最近从四分之一学年系统转换到学期系统。所以他们就重新设计 了课程并增强计算机基础课程,比如基于网络的测试,多媒体课程材料,c a d 工具还有新的设备技术。 传统上,工程课程先涉及理论后才是应用。佐治亚理工的教员认为这种方法 不能吸引这一代的学生,带来了低效率,也不能激发学生的兴趣。能简单上手的 c a d 工具和广泛传播的计算机提供了一种新的教育方法先示范一个有趣的 应用,在后续的课程中讨论更深的理论。数字逻辑与计算机体系课程提供了实现 这个方法论的机会。 所以佐治亚理工的教员重新设计了课程,发展了针对数字逻辑,计算机体系 结构和高级计算机工程设计课程的新实验室项目。早期的设计例子使用原理图 ( s c h e m a t i cc a p t u r e ) 和元件库在经过关于v h d l 综合的简单介绍后,他们使用 v h d l 语言来实现更复杂的设计 这样的尝试与过去2 0 年传统的基于1 1 m 的原型实验课程相比更准确的反映 了当代工业的实践,通过现代的逻辑综合工具和大规模的f p l d ,学生需要更多 的商级设计来展现具有挑战性的实验项目。与其限制工程在几个r r l 芯片的级 别来适应小的原型板,不如通过学生版本的c a d 工具和f p l d 来刨造包含数千 个门的设计。现在,学生的实验项目能够实现整个数字系统和小型的计算机。 同时他们为新课程开发了一些有趣且富有挑战性的实验项目,带视频输出的 状态机,串行通讯,视频游戏,图象,简单的计算机,键盘和鼠标接口,机器人 以及带流水线的r i s c 处理器。对大多数设计,使用a l t e r a 公司的学生版本c a d 工具和u p ! c p l d 开发板。一旦这些设计被写成v h d l 语言,它们就能够用于 其他可编程逻辑开发板或者c a d 工具 他们还开发了一些小的i p c a 3 1 j e 来支持a l t e r a u p l c p l d 开发板的i o 操作特 性。包括了一个时钟预定标装置,反跳变开关,单脉冲发生器,七段数码管译码 器,v g a 视频同步发生器,p s 2 键盘输入,p s 2 鼠标输入,还有一个视频文字 发生器r o m 。学生在本科计算机工程实验室开设的第三课堂使用这些c a d 工 具,f p l d 开发板,i pp o r e 。 1 2 2u c b e r k e l e y 开设的鬣计算机体系结构与工程课程实 验 u cb e r k e l e y 开设了e e c s1 5 2 a r c h i t e c t u r ea n de n g i n e e r i n g d 这门课程。 计算机体系结构与工程( c o m p u t e r 在该课程中学生将学到如何设计一个 中胃科学技术大学硕士学位论文 现代的计算机系统,理解软硬件接口设计中的折衷,了解复杂硬件系统的设计流 程,掌握计算机辅助设计工具的使用方法,并能在一个真实的硬件上运行自己的 设计【7 1 1 2 2 1 课程教学设置 u cb e r k e l e y 有三门紧密相关的课程,分别是e e c s1 5 0 数字系统组成与 设计技术( c o m p o n e n t sa n dd e s i g nt e e l m i q u e sf o rd i g i t a ls y s t e m s ) 、e e c s1 5 2 计算机体系结构与工程( c o m p u t e ra r e h i t e c 柚r ea n de n g i n e e r i n g ) ) 、e e c s2 5 2 研究生计算机体系结构( g r a d u a t ec o m p u t e r a r c h i t e c t u r e ) ) ) 。这三门课相当于我 国的数字电路设计、计算机组成原理和计算机体系结构。数字系统组成与设计 技术是计算机体系结构与工程的前导课程。研究生计算机体系结构则 是计算机体系结构与工程的后续课程。 e e c s l 5 2 课程用p a t t e r s o n 和h e n n e s s y 编写的 计算机组成和设计软硬件接 口第三版作为教材,并使用m i p sr i s c 体系结构第二版作为参考手册,( s e e m i p sr u n ) ) 也是这门课程的参考手册,h e n n e s s y 和p a t t e r s o n 编写的计算机体 系结构:量化研究方法作为推荐阅读材料,在课程中不做要求。 该课程用十五周6 0 课时完成,教授内容包括:m 礤s 指令集,单周期数据通 路,超长指令字,时序约柬,性能与功耗,流水线,超大规模集成电路,存储器 系统,c a c h e ,虚拟存储,错误检测,高级处理器,外部设备,网络与路由,图 形处理器,多处理器。涉及到现代处理器设计流程的各个方面。 1 2 2 2 课程实验设置 e e c s1 5 2 该课程的主要特点就是一系列的计算机设计项目实验贯穿其中, 并占成绩权重的5 0 。这些实验项目是四到五人组成的团队项目。在项目中要分 四次完成一个m i p s 体系结构子集的处理器。第一次实验设计和改造一个m i p s 指令集模拟器,第二次实验完成一个单周期的c p u ,第三次实现带流水线的 c p u ,最后加上c a c h e 和d r a m 控制器,成为一个完整的r i s c 处理器。这些 实现会被映射到f p o a 的门级电路,并在上面运行m i p s 指令集的汇编码进行验 证。 6 中国科学技术大学硕士学位论文 1 2 221 实验一:m i p s 及s p i m 模拟器 在本实验中学生要熟悉m i p s 指令集和s p i m 8 】( 一个m i p s 模拟器) ,要完 成本实验需要提前阅读s p i m 的用户手册和计算机组成和设计,软硬件接口【9 】 第二章及附录a 。 首先通过运行一个求阶乘的汇编程序来了解s p i m 如何模拟m i p s 指令。在 s p i m 模拟器环境中打开实验提供的汇编程序,阅读代码并理解其功能,设置断 点并执行程序,观察模拟器运行情况。 然后通过编写诊断程序来验证一个带b u g 版本的s p i m 。需要检查的内容包 括0 号寄存器是否为常值零,分支指令运行是否正确,带链接的分支指令返回地 址是否正确设置,算术和逻辑指令的立即数域是否正确扩展,s t o r e 的数据是否 能被正确b a d ,算术和逻辑指令的溢出能否被正确检测到等等。编写诊断程序 不但可以加深学生对m i p s 指令集的理解,还能让学生学习到验证自己设计的方 法。 1 2 222 实验二 单周期处理器 实验二要求学生设计一个如计算机组成和设计,软硬件接口第五章描述 的单周期处理器。这个处理器用v e r i l o g 描述,用m o d e l s i m 仿真并在x i l i n xf p g a 硬件上实现。 该实验在几周时间内完成,首先学生要组织项目团队,确定实验发言人和项 目负责人并具体分工;然后编写详细的设计文档,包括总体框架、模块接口、模 块测试向量和处理器的测试计划;随时记录设计笔记和使用c v s 进行代码控制也 是需要注意的问题; 接着开始设计处理器的数据通路,包括一个异步读同步写的m e m o r y ,运算 部件包括移位器、符号扩展、多选一、寄存器文件等等。设计完成后要对上面的 各部件进行测试。 然后进行数据通路的控制电路设计,程序计数器p c 的设计是要认真考虑的 地方,还要设计处理器的d e b u g g e r 模块。 最后把整个设计下载的电路板上运行。实验完成后学生要提交整个实验过程 的详细报告。 7 中国科学技术大学硕士学位论文 1 2 2 2 3 实验三:流水线处理器 实验三要求学生设计一个如计算机组成和设计软硬件接口第六章描述 的流水线处理器,在实验二的单周期处理器基础上完成,所以这里对实验二类似 的地方不再详细介绍。 本实验的关键是对前面完成的单周期处理器流水化。首先确定取指、译码、 执行、访存和写回五级流水线。然后增加对应的流水线寄存器。 在流水线中实现各种控制指令,如分支指令,b r e a k 指令等。 完成代码的设计后,进行f p g a 端口映射,并下载到f p g a 验证板上执行。 流水线处理器最重要的问题就是h a z a r d 的检测和解决机制,这是实验的一 个难点 最后提交实验报告。 1 2 2 2 4 实验四:带c a e h e 和内存控制器的处理器 实验四为前面完成的处理器设计存储系统,包括数据c a c h e ,指令c a c h e 和 d r a m 控制器。c a c h e 块大小1 2 8 b i t s ,在c a c h em i s s 时由d r a m 的突发传输一 次填充。 在本次实验的主要工作之一就是d r a m 控制器。学生需要了解存储器读写 的信号和时序要求。并对提供的d r a m 控制器p 进行改造。 还要设计的是c a c h e 的t a g 文件和写缓冲,数据c a c h em i s s 导致的流水线 停顿也是需要考虑的问题。 最后要进行端口映射,并生成b o o t 用的二进制代码和真正运行的程序代码, 通过1 f t p 下载程序代码或者直接在r a m 块里运行,程序代码是由m p s a s m 这个汇编器生成的。 最后构建整个处理器并运行,进行性能分析并提交实验报告。 1 3 研究内容和主要工作 本文所提出的正是要构建一个这样的教学实验系统,相关的实验系列将引导 学生以计算机体系结构的课程实验为纽带,集成其它相关课程的大作业,综合运 用计算机体系结构( 涉及处理器体系结构性能的量化分析方法) ,计算机组成原 理( 涉及处理器的微体系结构设计) ,数字逻辑数字电路设计( 涉及处理器的逻 辑设计) ,操作系统设计( 涉及操作系统的内核改造) ,编译器设计( 涉及面向硬 件的代码优化) 等相关课程的知识,通过扩充或改造一个计算机系统原型,熟悉 中国科学技术大学顼士学位论文 计算机系统的设计流程,掌握专业的开发工具。 这个教学系统的核心是乱序流水线的处理器体系结构设计。l i n u x 在操作系 统领域的成功已经证明了开源的力量,我们希望通过在处理器设计领域推广我们 的开源处理器设计,结合世界范围内爱好者的力量,完善和改进我们的处理器原 型系统。作为一个开放源码的处理器设计,设计过程中的各个级别的代码和详细 技术文档将全部公开,包括c 模拟器代码、r 孔硬件描述语言代码、f p g a 验证 板电路图和全部技术文档,我们把这个开源的处理器系统设计称为o p e n c p u 。 在整个设计中遵循自上而下,步步为营的设计规范。完成体系结构定义、微 体系结构设计、模块结构设计、逻辑设计、c 模拟器设计、r t l 设计、功能仿真、 时序仿真、综合、f p g a 验证。整体设计基本上分为结构设计、模块设计和综合 验证三个阶段,由于在处理器设计中,越上层的设计调试越容易,越底层的调试 则越困难,因此在设计的各个阶段,我们都坚持自上而下,步步为营的设计规范。 根据这个规范,我们在不同的阶段都在确保该阶段结果的正确性后继续下阶段的 工作。 本文主要包括如下研究内容: ( 1 ) 定义o p e n c p u 的系统结构。指令系统与m i p s 指令系统兼容,由于使用 了兼容性设计,简化了系统设计中的软件开发过程。 ( 2 ) 设计o p e n c p u 的微体系结构。使用现代处理器设计的主流技术,如动态 流水线调度、寄存器重命名、分支预测、精确例外处理、存储管理部件 ( m m u ) 和片上c a c h e 。保留结构设计的详细技术文档。 ( 3 ) 设计o p e b c p u 的周期精确的信号级c 语言模拟器,以描述o p e n c p u 处 理器的逻辑结构。作为可执行的逻辑结构设计文档和软硬件协同开发的 平台。 ( 4 ) 完成o p c n c p u 的可综合r t l 代码实现。r t l 代码通过仿真,并综合到 f p g a 中进行验证,完成微处理器芯片前端设计的全部流程。 ( 5 ) 实现一套支持o p e n c p u 处理器核运行的软硬件系统平台,包括s d r a m c o n t r o l l e r ,操作系统移植,b o o t l o a d c r 等等,构建先进的计算机系统快 速原型实验平台。 本文工作得到以下项目的资助:i n t c l 高等教育项目( p o # 4 5 0 7 1 7 6 4 1 2 ) ;安徽 省高等教育研究项目和中国科学技术大学教学研究项目。 共有五位同学对本课题的研究做出了贡献。本人作为项目组长,负责系统结 构的定义和微体系结构的设计,并具体负责动态流水线和分支预测各模块的设 计,还负责c 模拟器调试、r t l 仿真和f p g a 验证等工作;凡启飞负责存储管 理和c a c h e 模块的设计以及l i n u x 操作系统的移植;汪文样负责提交模块和例外 9 中田科学技术太学硕士学位论文 处理;任永青负责通用串口u a r t l 的改造以及部分f p g a 验证电路板的设计; 从明负责m i p s1 1 4 0 0 0 兼容接口的设计。 1 4 本文的结构 本文是对我们研究工作的一个总结,全文共分七章。 本章为绪论,综合介绍课题的选题和背景,同时提出了主要的研究内容。 第二章介绍了r i s c 体系结构的发展与现状,并介绍了m i p s 指令集体系结 构的主要内容。 第三章阐述了本文所设计的o p e n c p u 体系结构,详细描述了动态流水线设 计、存储层次和精确的例外处理。 第四章介绍了o p e n c p u 的微体系结构,按模块分别介绍各模块的设计细节 第五章提出了o p e n c p u 的c 语言模拟器的设计和实现。详细描述了一个周 期精确的模拟器的设计方法和策略介绍了该模拟器对于o p e n c p u 体系结构的 实现,包括核心流水线代码和系统支持代码。 第六章介绍了支持o p e n c p u 的系统环境,包括操作系统等系统软件的移植 和f p g a 验证平台的构建。 第七章给出了全文的总结和下一步工作的展望。 本文的最后列出了参考文献。 l o 中田科学技术大学硕士学位论文 第2 章r i s c 体系结构 本章介绍了r i s c 指令集体系结构的发展和现状,分析了r i s c 思想的精髓, 针对r i s c 和c i s c 的性能对比,阐述了我们为什么要采用r i s c 体系结构的原 因。并介绍了一种经典和优雅的r i s c 结构指令集m 球s 指令集系统的特征 2 1r i s c 体系结构概述 处理器指令集系统结构的优化设计有两个截然相反的方向,一个是增强指 令的功能,设置一些功能复杂的指令,把一些原来由高级语言实现的常用的功能 改用硬件的指令系统来实现,这种计算机系统称为复杂指令系统计算机( c o m p l e x 蚴c f i o ns e tc o m p u t e r ,c i s c ) 。另一个是尽量简化指令功能,只保留那些功能 简单,能在一个节拍内执行完成指令,较复杂的功能用一段子程序来实现,这种 计算机系统称为精简指令系统计算机( r c d u c 澍i n s t r u c t i o ns e tc o m p u t e r ,r i s c ) 。 2 0 世纪8 0 年代初期,d i t z c l 和p a t t e r s o n 分析了高级语言系统结构所遇到的 问题。并认为解决之道在于比较简单的系统结构 1 0 1 。这些作者第一次讨论了 r i s c 的思想,他们指出c i s c 存在许多缺点:首先,在这种计算机中各种指令的 使用率相差悬殊,如在一个典型程序的运算过程所使用的8 0 指令只占一个处理 器指令系统的2 0 事实上最频繁使用的指令是取数、存数和加法运算这些最简 单的指令。这不但增加了设计的时间与成本,还容易造成设计失误。因而针对 c i s c 的这些弊病p a t t e r s o n 等入提出了r i s c 的设想,即指令系统应当只包含那 些使用频率很高的少量指令,并提供一些必要的指令以支持操作系统和高级语 言。 基于r i s c 的设计者把注意力放在两个关键性能技术上:指令级并行的开发 ( 从最初的流水线操作到后来的多指令流) 和高速缓存的使用( 从最初简单的形 式到后来的复杂组织和优化方式) 。系统结构和组织两方面的进展使得计算机性 能以每年5 0 以上的速度增长了2 0 年。 到九十年代末,基于r i s c 技术的处理器速度已达到1 0 亿次,秒( i g m i p s ) 。 令人瞩目的有s o l 公司的m i p sr 1 0 0 0 0 1l 】,d e c 公司的a l p h a 2 1 2 6 4 1 2 ,s u n 公司的u l l r a s p a r c l i i 1 3 和m m 的p o w e r 系列 1 4 】。另外在有些典型的c i s c 处理 器中也采用了r i s c 设计思想,如i n t e l 公司的p e n f i u m 系列f
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 某纺织厂消防安全准则
- 2026年江西农发集团所属企业社会招聘1人笔试模拟试题及答案解析
- 厦门大学嘉庚学院2026-2027学年人才招聘笔试参考题库及答案解析
- 2026年河南省平顶山市公务员人员招聘笔试参考试题与答案详解
- 2026年昆明市西山区招聘社区专职工作人员(33人)考试模拟试题及答案解析
- 2026年哈尔滨市道外区公务员人员招聘笔试参考题库与答案详解
- 2026广州市从化区卫生健康局所属事业单位第二次公开招聘事业编制工作人员13人考试备考试题及答案解析
- 2026重庆市万州区溪口乡养老协管员非全日制公益性岗位招聘4人笔试参考题库及答案解析
- 2026年鞍山市立山区公务员人员招聘考试备考试题与答案详解
- 2026年浙江省衢州市公务员人员招聘考试试题与答案详解
- 2026中国邮政联合校园招聘笔试参考题库(含答案解析)
- (一模)嘉兴市2026-2027学年第一学期高三教学质量检测语文试卷(含答案)
- 2026中国洗衣干衣行业市场现状需求分析投资布局发展策略研究文献
- 2027年湖北交通投资集团有限公司秋季校园招聘131人笔试备考题库及答案解析
- 2026山东青岛水务集团有限公司招聘笔试历年参考题库附带答案详解
- 2026年党支部基层总结报告
- T∕CCEAS008-2026 建设工程造价咨询成果文件质量标准
- 山东省菏泽市2025-2026学年高二上学期期中联考试题 物理(A)含答案
- 防触电安全课件幼儿园
- 天津市和平区汇文中学2026届九年级化学第一学期期中学业质量监测试题含解析
- 现场标准作业培训
评论
0/150
提交评论