分享
专业书籍 《微处理器体系结构》[电子版][书签版][国家集成电路工程领域-工程硕士系列教材][科学出版社](1).pdf
下载文档
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
微处理器体系结构 电子版 书签版 国家集成电路工程领域-工程硕士系列教材 科学出版社 专业书籍 微处理器
国家集成电路工程领域工程硕士系列教材国务院学位委员会集成电路工程硕士教育协作组组编全国集成电路人才培养基地专家指导委员会微处理器体系结构许金纲王维维编著 4半结结局li1 北京内容简介本H1:.卒系统介绍各种类i.tH处理RS体系约俐的技材.作者从与传统的徽处到指敬材不间的槐ffl根据自身多年的设计实践勺敬学经验,全刷探讨f包指随机逻钊体系结构、MSPARC阁机逻t钻构、微码体系结构和l流水线体系纺构守在内的多种微处理器体系结构的特性.以及它们在软便作设计方面所币1临的各种问题.在相应市il纷出f将提微处现嚣的VHDL代码以.hUt行为咙lE实晚.供读者借助电子设l归功化jfi唾骂E出现的概念,从而使读./j能逐步掌例IS,内容并快速地开始设计.本书适介作为内匀,院校集成电路设计栩关tt、I1,fH.w 1:的教材,并可以作为微处JIlilIi址!I1软付设计栩关专业肉作级卒利,!:和1研究生的教材.图书在版编自(CIl)戴德微处理器体系纷向/于金绢.王维维编著.Jt底,科学111版址,2008国家集成电路I:l领域.r:硕士系列主史材)ISB:-l 978 7 03 022807 9 J.微n.的.(2)T.因.数宁u!成1也/I4f微处Jll!lt罪一系统纺构一研究E宜材IV.TN:ll.2 中国版本栩I创fCIP放低核字(2008)第124262.任编4耳:马长芳玉日臣/责任挟于:民小饺责任印制g张元忠/纣Iii设计:JI-者设计工作宣4+lI:瓜111版北京应盐城附Jtll16.;自f,l宜编码I717http:/wwwcicncc口.COIl1以昔印刷f印刷|科学:1 I以材发行各地报j俏1$).1 i约俏*200H 11 WJJ锐版JT本:7R7 X IO!2 1/16 200R:1 10 fl m次印刷自I,:12 3/4 自IfL:1-3500 字数:25 000 定价:30.00元(如千f印斗在原盘问题,主立社负)1训快双N)国家集成电路工程领域工程硕士系列教材国务院学位委员会集成电路工程硕士教育协作组组编全国集成电路人才培养基地专家指导委员会主编:严晓浪(浙江大学)副主编:余志平清华大学,特邀)审稿人员:(以拼音为序)陈春幸洪志良吉利久罗伟绍石秉学时龙兴唐瑛山吴挝平肖钢于敦山马长芳(责任编辑科学出版社)丛书序随若电子计算机的普及.人类社会已经进入信息化社会。以集成电路为代农的微电子技术是信息科学技术的核心技术.集成电路产业是关系经济建设、社会发展和国家安全的战略性产业。随着半导体技术、计算机技术、多媒体技术、移动通信等技术的不断创新.集成电路技术得到了迅猛发展。自958年关国的维尔比发明世界上第一块集成电路以来,集成电路已经从初期的小规桦集成电路(SSD发展到今天的系统芯片(SoC).一直接摩尔定律(Moore law)向前演进。集成电路产业包含相对猫立的集成电路设计、集成电路加工制造、兔成电路封装测试、乌成电路材料、集成电路设备业等.而其中的集成电路设计是集成电路产业发展的龙头。近年来,我国的集成电路产业迅速发展。2000年以来我国的在成电路产值年平均增长率达到30%左右。坚持自主发展.增强技术创新能力和产业核心竞争力.掌握集成电路的核心技术,提高具有自主知识产权产品的比重是我们的历也性任务发展集成电路技术的关键是培养具有创新和创业能力的专业人才,因此高质量、较快速度地培养集成电路人才是我们的迫切任务。毫无疑问.犬学和大学老师义不容辞地要担负起这一历史责任。2003年以来,教育部先后在全国部分重点高校建设了国家集成电路人才培养基地.国务院学位委员会又在2006年批准设立集成电路工程领域培养工程硕士学位课程.意在不仅培养高水平的工学学士、硕士和博士,而且还要培养大量的集成电路工程领域的工程呗士.以满足我国集成电路产业迅速发展的需要。集成电路技术发展迅速,内容吏新快.而我国现有的集成电路工程领域的教科书数量少.而且内容和体系土不能很好地反映学科的发展和工程技术教学的需要,也难以满足集成电路工程领域工程硕士的培养。为此,教育部全国集成电路工程领域工程硕士专业指导委员会和科学出版社.经过广泛而深入的调研.组织编写出版了这套国率提成电路工程领域工程硕士教材。本系列教材具有以下特色:1.内容完整.体系性强。本系列教材包括了集成电路器件、工艺、数字集 11 徽处理器体系结构成电路设计、模拟集成电路设计、射频集成电路设计以及封装与测试,可以满足集成电路工程领域各个方向的教学。2.基础全面.工程性强。教材中不仅对集成电路的基础理论有较详细的论述,而且强调了集成电路的工程性,安排了较大篇幅的内容对具体的集成电路设计技术进行全面的讲解、以使学生在掌握集成电路基础理论的同时,能上机进行具体的设计,加深对理论的理解。3.适应教学.自学性强。在教材编写过程中考虑了现有工程硕士的教学时间和教学内容的完整性,对各种教学计划,可以灵活地将教材内容进行裁剪。另外.教材中相对突出了以实验为主的实践环节,以便学生自学。本系列教材的编写人员,不仅有从事教学第一线的高校教师,而且有从事集成电路设计多年、有丰富实践经验的国际著名集成电路设计公司的资深工程技术人员。在此表示衷心的感谢。画务院学位委员会集成电路工程硕士教育协作组全国集成电路人才培养基地专家指导委员会2008 I月前.微处用um体系结掏课和的:t叹内容.是探讨微处Jlll_将体系结构的汹地、各种体系结构所具有的特性和l设计微处理栋系统的创件、软件tl.t州抒之间相句:影响.f;:教材也衍以F气个部分:课本技材2系统而深入地叙述r微处理器体系结构课程的教学内容.从与传统的微处理器教材不I.i的问角.根据作.r.-(t;该领域多年的设计实践与敏学经验.全1M掠讨了包括随机逻辑体系tJi构、MSPARC随机迦秘结构、微码体系站构和流水线体系站构等在内的多种微处到!揣体系钻构的特性以).r.软硬件设计)j1(11 J好1(111怖的不同川剧.1(Ij l,Ur.相应章节给出f各类微处Jll!榕的VHl刀,代的及其行为验证实处,供读.j!-借助il衍机设计自动化(EDA)rH边fj实际仿真模拟实践.幻灯片教材:是用于谍常教学的教材.全部深夜教学用的幻灯片教材j仁400余张(刀行出版)0 英文版课本教材(Notcsof Microprocessor Architectures):供读捋x.tP.!阅读,可用强对课程的f解.,.i n.t也口J增进i实行央文阅读的能力。该有rnI I均作者索取。本教材的幻灯片及英文版课本u首先完成的。本刊初i手稿工作的多IJt荷包括消华大学的张炜、惊惶.他们完成部分英f.议的前期工作;Cadencc设计系统公心的关洁整理f校样.特此致谢.浙江大学的严晓浪、清华大学的余,平和Cadencc9:计系统公司的陈农京、居龙,对于本教材的tI版纷俨很多支持和l鼓励.作者借此向他们发达由衷的感谢.许金纲2008年T硅谷丛书序前盲目录第1章引言1.1 r(!f技术及wrr机的发版1.1.1(1-算机体系结构的历史1111回).1.2 阪电子学的IItt是与处J1I!泌的发展2 1-1.可现代计算机的分类41.2 做处用路体系钻构简介51.2.1 随机逻树体系结掬61.2.2 啧码体系纺构6 1.2.:l 流水线体系钻构6 1.3 斗凶7第2章随机逻辑体系结构82.1 随机逻辑体系站构的特点82.1.1 ili:辑川的JI小化.8 2.1.2 优化硬件时降以增强怕了能82.1.l 限制于采川简单的指令朱92.2 盹机逻辑体系纣构的操作92.2.1 椒指令操竹102.2.?执行指令镰作102.3 他川时序方法以增强随机逻牺体系结构的性能112.3 1 随机逻辑l体系结构中的j以指时钟周lJ&执行时钟用!IIJ11 2.3.2 使用不问氏度的单个时钟间期122.3.:1 使用不IrJ数门的多个时乍凡l期.12 2.3.,1 时序方法的性能分析17 2.4 MSPARC的指令集w2.1.1 随机逻机体系结构指令恕的设计192.1.2 MSPARC 的指令集202.5 fH旨分析262.6 习涵I .27 第3章M剖ARC随机逻辑结构的VHDL模拟模型m 3.1 t,附悦块m VI 锹处理苦苦体系约十句3.2 顶层系统缺块283.3 CPU模.块m3.3.1 控制ql已模块303.3.2 寄存拙峨.必其他筷块31 3.4 ROM模块313.5 VHDL拉刷的仿真323.5.1 VHDL筷洞仿真的指令流32 3.5.2 仿真钻呆333.6 实验1:随机迦将结构CPU的设计和验训M 3.6.J 简介34 3.6.2 设定共环榄343.6.3 随机逆剿结构CPU的设计衍息35 3.6.1 验证设I1363.7 实验2.执行指令的仿真操作383.7.1 简介38 3.7.2 验证实怆1:设置寄存粮捎令的仿真操作383.7.3 验证实价2:ALU与逻树梢令的仿真操作383.7.4 验证实恰3:存储撼访问指令的仿真操作393.8 习题第4章微码体系结构404.1 微码体系纣;构的特点404.2 微码机器操作.40 1.2.1 具有i.l.数据总线、3个寄在器、与使用:後;J.Itl:的微码饥1m42.1.2.2 具有4个寄存器使用裳钊1址的徽码机46 4.3 微码结构与随机逻辑结构的比较4.3.1 指令线的改变导敛不间的硬件设计开销49 4.3.2 两种钻构的性能比钱49.1.3.3 现代微伺机器的应用49 4.4 习题印第5拿流水线体系结构515.1 流水线体系主,与构的特性515.2 流水线结构的操作525.2.1 阴阶段流水线的操作52 5.2.2 流水线约构与微码结构的比较525.2.3 流水线阶段与越流水线阶段的比较535.2.4 nJ视化的流水线阶段.54 5.3 MINI-SP ARC流水线结构的VHDL模拟棋用54日)j VII 5.3.1:Ylini SP A民C的特性54 5.:.-frt筷块555.3.3 顶层系统模块555.3.CPU模块.55 5.4 实验3:流水线结构CPU的设计和验证62 5.I 流水线纣,构CPU的设11,j息62 5.4 2 验证设计.63 5.5 实验.j:执行流水线结构衍令的实验655.6 习题65第6章流水线结构的冲突.66 6.1 数据冲突6.).I 数据冲突的1树种来源66 6.1.2 数据冲突的乓种形式67 6.1.3 使用敷挺好路以减少/,1生冲突676.).4 将数据务院加入到Min,飞PARC的VHDL模型.68 6.1.5 元数据穷怖的Mini-SPAR(、模拟686.1.6 使用数据必怖的MiniSI叭RC模拟706.2 控制冲突726.2.1 控制冲突的米源一一分支损失726.2.2 使用分文凯洲以减少拽制冲突736.2.3 写分支目标被正确预测时的操作746.2.4 当分支日际被错误预测时的操作746.2.5 使用延巡分支以减少控制冲突756.2.6 术采用数似乎目控制忡宪政铮时的性能分析微观式的阶段性能刷宏观式的统计铃能756.2.7 使用数据劳路时的性能用强766.2.l!使用数创必赂、分支航测刷延迟分文时的性能消强.77 6.3 站构冲突776.4 使川统一存俯器的计算机系统性能纳强的分析786.4.1 使用任何增强措施(元自h取队列匀)的ii势.机系统796.1.2 仅使用预取队列增强捎施的计算机系统80 6.1.3 仅使用数拟旁路精强措施的计算机系统80 6.1.4 使用数韬旁盼、分支预测V延迟分支等增强措施.mxiJIi取队列的计算机系统816.5 习跑.82 第7章Cache(离速缓冲存储器)m7.1.(f储器系统837.1.1 徽处理苦苦的速度姐过i4J念随机取存有俯83 V1l1 徽处用器体系钻构7.1.2 微n.算机系统巾的动态随机mm存储黯83 7.1.3 n挥饥系统巾的在储器以次拍构877.2 Caclw r占构的分类的7.2.1 个:相联Cachc907.2.2 虹伎映射Cache91 7.2.l 灿相联Cach,n7.3 扣令Cache的钻构M 7.3.1 1江令f面取队列的使用93 7.3.2 衍Cache的总线介向钱IJ94 7.TLB的总体协作 1 J 2 8.3 版拟i储器的性能分析.115 8.1习:1刊第9章超标量体系结构1179.1 A丑+/J、i,1:体系结构的特点.117 11)fl.IX 9.2.m标1t结构操作118!l.2.1!仅m令操作l 川队2.2指令的发射操作与执行探什.120 9.3 届标量约构的数据冲尖l引9.a.J i1:I,i.(W AR)刷叮后叮(W八W)童l(I;冲突1219.3.2 顺作完成的指令执行过程121!).3.3 币1114%成的衍令执行过科.126 9.4 使用汀级冲器以减低在储掷入操作的何停时IlIj12!)9.:;性能分析1309.5.1 刷品1、111系统的ttffg分析1309.).2 扎仇虚拟存储捕的越标监系统的性能分l1r.132.5 习题.133 第10章用软件编译辅助改善硬件性能l川1 V.1;且过循环以开以减少分支;如l人2l川10.I.1 fj;(l,1环代的的执行13410.I.2 仙怀代码的蜒川足足执行.1:Hl 10.2 逃过理新问度代削减少数知冲突13610.3 涵过软付流水线化减少数拟的相关钊:l灯10.3.1 il.L 1)线化衍令流的执行过fVI:U 10.3.2 流水线化小的起始代码刷钻宋代码13910.4 儿有编印器辅助的届标时系统的性能分析1400.5 习题.1川附录A重要术语142附录BVHDL模拟模型代码.16B.1 I1SP八IH随机4H结构的VHDL故拟怯驯代的146h.(ollfilluratioll HDL Colt(.nl_rlcfll random)146 It I.2,lIt,fact:;of VI(DL Modul.17 Il 1.3 Jop Lcvcl Sy剖cmVHDL(odc(.nl_rlcpu_均唱 148 B.1.I CltJ Ulock VH)L Code(.nlL1 yenllty.rtlLJ ys arc)130 B.1.5 lolll rol VIII川.Codc(./rtl r1/conlrol)I:;:B.1.6 r1气:VIVHDL Code(.rtlram6Ix8)171 B.2 I1.INJ引叫RC流水线结构的VHDL悦拟模明代的17:B.,(vll:,guraJII VHDL COdl(./rtl_pipcdg pcpu).173 X.微处Jll!1I苦体系纣i构B.2.2 Interfaces of VHDL Modulls 175 且2.3CPU Block and Pipelne Stge VHDL Code(pcpu.盯0175B.2.4 Fctch Proress VHDL Codr(./rtl_pil)c/ctch_arc)178 B.2.5 Oecode ProtCMS VHDL Code(./rtl_pipc/dccode_/lrcl179 B.2.6 F.xecutc Proccss VHDL Codc(./rtl_pipdcxecutc_8rc)183 B.2.7 Memory Proccss VHDL Code(.Irtl_pipc/memorY_lIrc)185 B.2.8 Writc Proccss VHDL Codc(./rtl_pip尔(GordonMoore)在1965年观察到一个满芯片的品体价的总敖,每年将会以成倍的速度增加这个摩尔定律从那时起就被持续地证明是正确的.日lJ义有更多的证据显示,一个芯片1,的晶体管数:ffi:在术米的许多年内,都会根据F捷尔定仲拌绒不变地t升,如|到11所瓜。每个芯片上的体lf1 E+08 l.E吗?P町山umllp.Penlllan 11 44-rP,pOe,怕n【48_口气问:0310呐町pl80%2/t E,06 l.E的方法.2.1.2 优化硬件时序以增强性能如果在硬件的设计过程中进行时序优化,则会得到增强随机逻辑设计性能的做果。时以通过以下两种方法达到时序的优化:第一种时1r-优化的方式,口I以在如下的两种情形中做出某些折中z(J)将总的逻辑门级做最小化。(2)建立并行逻秘通路的h法以减少时序的约束.不过,报主要的设计目标是降低逻辑门的总数,所以这个方法月二不总是可用的.那气种时印优化的方法,14调整各指令操作用期的氏度,以降低不必要的延时2 1)把不l.iJ怅度的时钟周期,自动地配置给各种不同衍令的操作周期,即自动把对应的时似l问期设忧到正在运行它所要求的特定操作用期。(2)让各种不同指令,使用数目各不相同的恨一时钟闷期.所有指令操作用期中.使用的时钟周期,那是a个固定长度的时钟周期.H是每个指令操作用期所;lJ耍的时钟周期数均J,M句叮变的.就是对每条指令使用多个时钟MjUJ.从1(li允许时钟周期协11i;但1lJ个指令部2:詹随机逻辑体系统掬9 间WJiH应的时钟周期个数可变.2.1.3 限制于采用简单的指令但为f姐t这种随机逻料的机械,指令集的结构必须简吁l.只II减少所使用寄仔揣数日I然不能采用复杂的指令.例如,如果限制在机器内部只JIJ一个娱加器,则指令娘就会被限制在如下的范囚内:(1)使用累加器的收口操作数指令.口J将累加器使用为:一个源操作数;I.;-j时可作为一个口的操作散.(2)使用双目操作敷的指令:以累加器为一个源操作敖;以有储器为另一个说报价散;以加器同时可作为|斗的操作数。例如,如果只用一个索引市行嚣,则寻址模式将)r限于以F间种方式:(1)当进行直接存储U力1:1H.1f储器地址是由指令1的邱分子段所提供。(2)lj进行笨引斗址时.11标地址一部分米自于指令的存储秘地址.并与一个引寄仔器相加l之后.形成钊标操作敬的地址.2.2 随机逻辑体系结构的操作如|刽2-1所示,随机逻机体系纣构的硬件可以分为两个.1:也部分:(1)控制器。阁2-1中的程序计数据(ProgramCounter.PC)存放JF _-个指令的地址:程序计数器使用一个加法将用来增值,并且用作计算分立指令的相对跳转地.ltl:Br oC 衍。萨咽nc副皿t盯Register Filc E亘.1IIbI 阁21 随机逻辄体系然构MUX:,路B.Adder:加法施,Progral)lCountr:科fHI激怒.Rcg I RCf(IRtcr Filc,宵仔指雄sMemory,-f俯首屈.rntruction Register:指令寄存揣IControl LOllic,摊制逻辑2.2.1 取指令操作所有指令的操作部可以划分成两个指令周期:-个是i驭捎令周期;另一个是指令执行周期.在取指令周期内,将进行以F一系列的操作:(1)经过多路器MUX,把手电序计数器之值指令的地址)选送到存储器。(2)存储器国送所期峨的指令或数据),然后它被吁人指令市仔器.(3)同时,通过加法器将相Jfll-数操之值加1,并将Jti作为新值回写人程序计数器。2.2.2 执行指令操作根据这一条从存储器巾所取出来的指令,进行指令的执行周期.在一条存储指引用指令的执行周期(图2-3)中:(1)在寄存器堆中选定一个地址寄存器,并通过多路据MUX将其值送到存储稳.(2)来自子存储器的费!稍作为ALU的一个源操作数;另-个源操作数则来自于衍,有ql的数据寄存器.它们将-向被选往ALU的输入.(3)ALU的结果iI被问吁人寄有器堆。第2咱E随机逻辑体系约构-l l.衍。g田ac恤nter且e苗.slerFilc 因2-3执行指令操作MUX:多路器.Addtr,IJut丘指;Progr.m Coun.盯宫程序计r.clIlI.Rcg.er File:巧(lIlI.ljt.Memory,有销协.ln5tructionRegilcr,指令寄ft锚,ControlLogic:阶创涩$.2.3 使用时序方法以增强随机逻辑体系结构的性能2.3.随机逻辑体系结构中的取街时钟周期及执行时钟周期回2-4点明随机逻辑体系结构中的一个取指时钟间期及一个执行时钟周期.lnstrucuoo Fetch Cycle 10锐ruct10nhecubon Cycle I吨:阳IIemor)M回回巧1A目前电Tim.:I.me 一厂一附2-4取指时钟周期及执行.t钟周期nruttlon F.ch Cycl.取指令周期;n,truC1ion F.eculon Cycle,衍令执行周期,PC.oM.mory:PC到(-俯嚣,Memory Acct!I Tlme:乎乎销嚣访问IJ.truJ;ln5lr Reg Sctup Time:指令寄rHJI1!立时伺,民CKI川er0 Memory:1暂行指3日IJ#储器,八LUIelay:ALU J.革tH如阳2-4所示.假设这里使用的舒(1-器都是1:升沿触j)_器.因此.对于时序rM日,所有向寄存器可入的数据,部在时钟周期的结束部分被吁人;而从寄有器中读出数据.则在时钟J,lWJ的起始阶段完成。1.取指令的时钟J岛湖在倒2-4中的4个I仅指令时钟周期之中.包括以下的3个时间段注意.取指令的时间.Mf11j-个指令都应该是一样的):12.微处到!器体系结构(1)为了跟踪研究个指令周期内fI.t序的延时悄况.找们从那个时钟周期的上升沿开始观察.这个上升沿认为是前个时钟周期的结束位置.(Q 开始的上升附.PC刚写入个新值.树此计算第一个延时,包括PC触器中时钟fJEJ到Q输出峭的延时 R2.执行R2+1二,民2I Conlrol Logic DclI1Y.;彻l逻辑延n.tdg川rAcce.Llel.y.商行揣访问延n.tI AI.U)(I.y,ALU延n.tI Rcgi.ter Setup Tim(.却在2Hl!n.JIJ I Unll.ed Delay Tim,本使用的延n.t;1 J人建立时间为1n:s;(3)存储嚣的问延时为8ns;(4)MUX延时为3ns;(5)ALU或)10 f去器延时为6n:s;(6)控制逻辑延时为4ns.下面考虑在一个指令问期中各操作用期之叶的不同通路31)取指令川期的通脐如困2-7所/J.取指令操作的时序路径开始于7个时钟刑期的上升附.在此刻.租房计数器接收新的PC值.然后经过氏、内时钟信号j!lJQ输出峭的延时.这个PC数据约过逃掉地址的MUX进入手f俯报.从有俯将中新取i11新的指令必须及时到达指令寄有部.以洲足寄存;t的Jft1建立延时的需妥.Pr08l甜nCoumer RegisIer Fle 倒2-7蚁指令f.;lWJ的边路2)寄存器递增执行周期的通路311$n图2-8所反.寄存报i单附操作的11才j茅路转!lf1f新的指令rh时钟间期从指令寄存拟议:11之时.1f.经过指令奇仔器内从时i例,丁号到Q输;11端的延111之后.指令UJ:入控制细iIJt元;在此,取tii指令的舒行器域巾的寄.器地址.JU于选择寄存器堆中的某个寄存2的诀t1MUX;盹1月I.栩应的寄存器的数拟将从寄仔Jit中被迫诀lli.送入ALC以进行(1mf快价;同时,在F个时钟,i J创t升沿1J1是之前,挺自J至少一个叮入建立延时的时间,将钻果数据InlfJ入寄存器械.第2l,t随机逻统体系约构Progr町Countet R愣蝇File 1115 图28寄Nff递精执行刑期的通路3)(寄存器+存俯)执行周期的j单路 15 虫111到2-9所示,寄存路数据与存储S数据相加的操作是一个放伏的时序路枪.它起始于新指令在一个进入指令寄存器的时钟周期仁升沿处.在经过指令寄存器内时钟信号到Q输Ili端的延时之后,指令进入控制逻辑单元.(E此取出指令的寄存器域中的奇(i器地址.JlI子选择寄存揣雄巾的某个均有;榕的读出MUX.随后相I恒的寄存器的地址数据将从t仔仔掘堆中被选议出,经过地址边排器送入存储o存储器随即返回相应仔储器地址巾的数据.这个数据之后被加到一个岱存器里这个延时路径直:短得多,在数据从存储器返nl之前.寄存器数据4在有效,肉此这条路径没111I11i出来).rllj时.在下一个时钟周期上升价到米之前.提lu经少一个可人也立延时的时间,将计算纺织的数据回勺入寄存2苦难.h啤回Count町因2-9(寄NtH存储器执行阴阳的通路多H才乍11问期的操作用期的时序小绍:.1M的时序Wlf.就结对前面二个部分的简m小姑.在此先将:1:盟的时序踹校计算出来.以准备好开始进行下一步的时钟颇率选择的优化.而在下一节i.我们基于这略时序数据将讨论如何优化时钟的频率选摊.前先.计算各操作周期的时序如下:16 微处那.黯体系结构(l)计算l仅指周期的时Jf:程序计数据(2n5)多路选择器(3n叶存销揣(8ns)指令寄存那(1ns)=14ns(2)计算而有将递梢执行j峰期的时)f:指令寄(2ns)控制t(l.元(4n5)-.寄存苦苦(2ns)八LU(6ns).对存器(lns)=15n5(3)计算i守在器+f俯器执行间j阔的时序:指令寄乎jRSUns陀tL1悦元(4ns)寄存器(2ns)多选拌器(3时)存储(8ns)ALU(6ns)指令寄存器(1ns)=26n5 性,在到,有I.IQ的时序计算巾.fll予以指操作和Jt守存器递刑执行操作,附行的时)(.u 相lH亮近,所以官们的操作庇该使剧柑jilJ数目的I.t争11fI.j朗。2.多时钟周期的时序的优化既然所千JIlIf的时序I且路都已?被i l算出米了.所以可以)I始对这Jl华路径进行1r.J伯11逃作的优化工竹f有很多不同的时如11频率可仗,毛虑使用.M.U必然有地特定的拟凉nI以快得最饨的fl:能.这-17提供r:种不同的时钟周期作为例子.并演jJr它们各Il会引人的浪货r的时间.li尚的时似11颇率,有可能会豆豆减少l时间的冗余.但更岗的频率,需妥其杂的控制退和米实现;而豆豆杂的控制逻辑.使得成本应商.而且更高的频率.H时反而市耍更多的执行时间,从而V放时序路任变长,使得优化失败.这吁以用下面的时钟周期优化的例子米说明:1)1:21忡忡周期优化闲为指令获取和寄存器n增的时llJ相同(l5ns).于是我们设定时钟1M期为这个时间长皮米作为我们优化的开始.存储器操作将要m届2个时钟HdJ别(找们只能使用较数个时争11川期).丁i止在存储器操作中将兀余lns的时fJ.也即 5ns!用期X2周期26ns 30n5-26n5叫ns()根焦iHoH.I操作,设何时钟周期为15时,需要使用4个时钟周WJ.(2)长用WJ操作,使Jlj2个时钟刑期,也就站30m;来实现.:H现4ns(:iOns-26n5)IH IJJ)i:余J2)2:4M钟周期优化F一个试价则是使用7.5ns的时钟周期,于Jt对于那些知操作05ns).使用两个IH钟川剧元成并没有任何冗余.fq对于长操作,它将消将4个7.5n日的周期.Ij1-个例子样浪费4n5.(1)根据知操作,设商时钟周期为7.5ns。对矩操作来说.需要使用2个时钟后aWJ.(2)长保价.使用4个IH钟周期,也就是30ns米实现,出现4ns(30n5-26ns)时|hDL余(Ij 1:2时钟周期优化中的情况-样)3)2:3时钟周期优化最后个例子按照长操作不浪费远行时间米总tiii时钟频率.同时;刷刷对于那吨快i卓操作也能够实现批小的时II冗余.找们设定时钟阴阳为L:操作用时的1/3.于是对F快第2意随机逻辑体系结构17.i在拙作米说.妥使用2个问JJ但这样快速操作只冗余r2.33ns.因此这样的时钟顿率比n他两个例子要好2(1)根据长操作,设眈11.钟,jJJJ为26ns/3=8ns对民操作米说,需妥使JlJ3个rt.jll.41 J 1 rI._.1.1._.1,-1/.1(2)短操作,使用2个时钟i可期,也就是17-7 ns来实现,lti现2-:-ns(17一时3._.,.,1-.1.-.-.-3.3 H们lJJ)t.:余.2.3.4 时序方法的性能分析I:剧2-1所示的随机温和l约构的器件中,由于_艺技术问题,部应该具有一吨正常的揣件延时。假设如f:(1)寄存器读出的延11才.就足从衍在器堆中有效iAll|i个数据所需要的时间,Jt1 也也括器件导人的装载延n.j.1 M 1好存报写入建立的延11.,就姑在时钟周期上升沿到米之lJ.-个输入数据在寄存器Jt输入端所捕要保持有效的时间.。:此.假设寄存器的读出或TJ入的延时为1ns.(2)fi.储器访问的延时.包括传送一个有效存储器地址到在储器后.从存储1 J以:11.个手f级数据所所需要的u.tIHJ(其中也包括器件导入的装载延时).在此,假设存储器访问的延时为10ns.(3)ALU运算过程传播的延时,就是从ALU的.敛输入(数据源和选作线)到ALU的有效数据输出所所%ifl的时间.在此,假设ALU.e1l过f.传册的延时为4r恼。1.固定长度的单个时钟周期的性能分析似据it丽结构图巾的指令流程,我们可以发现,一个指令的操作过程开始于寄存揣城IIH中间朔的上升沿.下面iI-n一个长操作执行周期的最小时钟周期长度:(1)开始时的延时,是从时钟周期的上升沿到寄存器维11I_.个有效数据的输出的ln约延时,这个数据向存储器提供了个有效地址。(2)寄存器需妥10nst的延时用于从存储器获取的行效地址巾取出一个有效数据.(3)这个取出的存储器敷衍JtALU的一个数据源,IIJj:ALU的另一个数据自瓜和lALU的功能应择线所涉及的延时掷比较短,肉此这个数据将扯ALU所获得的战后个1J敛输入。于是.将ALU:6n:过程延时加上之前的有做输入延时,就得到从ALU(I.16 ns+70%X6ns=9ns(4)如1!Jrfl所述的假设二个Jt,(指周期的时间是:取指rH钟周期=寄仔器访问+存储器访问+寄存,器建立=1 ns十10ns十1ns=12 ns 取指时间十执行时间=12ns+9川=21ns(5)因此.侦川不同长度的单个时钟周期,相对性能的提升为1-(21ns/32ns)=34%t 注意到.相对性能的增进.勺所操作的指令中包介的存储器指令的市民:相关,并不仅取决于硬件设I功能的不同。3.不同4t目的多个时钟周期的性能分析就像在不rriJ氏度的单个时钟周期的系统中一样M寸._-个不同曼史t I的多个时钟周期的系统.我们t,tn使得每个操作用期所需畏的时间都能够达到最小化.但是在这巾的多个时钟周期的系统rjI.由于必须保lF所存的操作J.jJJ部必须是成整数的时钟周期,所以有时也不,也能够达到真正的M小延时的目标。下面是汁1)及选择在-个多个n.t钟周期的系统小.所野菜用的4个fl1钟周期:(1)先将所馆的时序路径计算出来,以便准备好JF始迸行F一步的(I.t钟频率选择的优化:取指j司朔的u.t序=寄符器访问+存储器访问牛在f器ilL 81 IFJ=1 ns十10ns+l ns=12 ns 仅使用吁有,榕的执行周期的H忖p=寄HWftIJ+ALUH仔仔指m):rJ.t l IJ 1 ns十4n约1ns 6 ns 存储/j间的执行周期的时Ir-=寄f.器访问i-(f储器访问+ALU寄仔器建立m2 随机逻辍体系结构19 时间=1 ns十10ns十4川+1 ns-16 ns(2)在这个例子里.宅时信lJbJ J例选用r4ns的周期长度,从jftj所馆的各个时间可以较f(1之仇(J-t和l再写入Rl帘存拟.在较简单的CPU系统约构-11,一个祟加器(accumulalor)I可能既是ALU指令的米派之义足:-ALU指令的fj的地.这种结构可以免去刘多个内部总线及多端口寄布:踹坡的而RZ.(.1)设置指令(SETInstruction).如果指令集仅依赖却有器模式或索引址模式迸fT俯器号|用指令的取ff操作,则寄往器的本身无法被初始化.因此.指令集之巾必须也搞吨i茸茸指令完成使J,f-fi.?S初始化的任务.1.分支指令指令巾的头两个ill.数15:14;1.兰指令的操作码(operalioncode)域。在日前的分义J指令巾被设置为00.t1:F的2个位数13:12丁足指令的条件(cond)域.为r实现分立,将会指定4种英1!巾的一种类型所需要满足的条件.而这些条件则取决于趾后一个算术指令或逻辑指令(1:执fi盯所产生的标志(rIags)的li.I往F的一个位数ll.M用来决定分支指令是科攸川延迟分支。由于这个延迟分支只会影响流水线式的CPU.所以将在以后的最WrJ1昨细讨论.在目前的随机逻剌CPL;中.所有的分支指令部将设投为bit11=O.余F的11个位数10:ol.且用来HIT-转跳的分立地Jtl:.Jt l妈:法如下:先将在这第2.r,t 随机逻辑体系n掬 21 11个位敬之前的5个hl尚有效位数符甘扩展signedextended).然后加到程序计数器PC上,得tii的总和结果便站分支地址.15 14 13 12 1I 10。OPl I 0。Condl oJ DdllY slot Displaccnllnl(10 01 Fdd I B,I Descripuon OPIIOJ 15 I 14 I Operation codc lor branch instruc.ons=OxO Cond 1 I OJ 13 I 12 I沁I.y.101 I1 Displ.,mcnl10 OJ I 10 I 0 PC OHset:15 S,gn俨xlended2.存储器指令Type of branch wo1l be done dc叩p川ndingup罔。nth.Fl8gs.肘.1by the la叫.盯arithm阳tlogic ins引tructtoncxccuted OxO,Alway.branch Oxl:Branch if FI.g=O OxZ:Branch if FlagO Ox3:Branch if carry=1 0:Delayed branrhng is nOt u蜻d.Flush pipe on branch 1:Delayed branrhong s used.Ex.cute instructlon immcdl3tely following hranch 11 displacemcnt bils 8fe signed cXlcndcd 10 16 l川.nd added to Ihe progr.m counter(PC)10 calculate Ihe addrc附阳bebranch.d 10 11 10 队鸭placement10I的。nl1所有存储器指令有效地址的方法如下:如月.1:1=1,则将rsl城所指定的寄存器中的倪力11上rs2域所指定的寄存器ql的值J日果1-=0.则将rsl域所指定的寄存器111的值加上rs2城中所含的立即数。l)扩f储器存入指令所千i存储器的存入指令,都需要阅个时钟周期的执行时间。在下节的仿真棋IlIJ.实现一个存储器的存入指令的操作程序,农明如f:(1)第一个wtcycle时钟周期.是存储器存入指令的地址阶段.地址阶段时的信号值如札,(f人的地址将被放置在daddr总线上。设置ads一1.从而表示这是个街效的地址.)1:表示现在蛙-个地址阶段的时钟周期.设置wen 1.从而表示iE.(E执行一个存储据的写入指令。22 微处理格体系t.,构(2)第二个wt-cycle时钟刑期.是存储揣写入指令的数据阶段.数据阶段时的信号的如下:存人的数据将被放民在daddr总统t。世置adsO.从而表尽这是一个有效的数据.并点,式现在扯一个数据阶段的时钟周期设置Wlll=1.从向-表IJ正在执行一个布:俯撼的tJ入指令l在这个数;阶段中的数据将来自于指令中的rd域.在写入指令的i予刑阶段时.取指阶段会被暂停-_个时钟),(期,而jInJ时会将4个复制的存入揣令作为第2个1I.t钟周期的存入指令.Jt-将此u制的存入指令叶的bit_6民置为1.即blt_6=),从而此复制的仆人指令中的op2域.将为6,7.或者E 2)存储搭取出指令所有存储器的取出衍令都是-个时钟周期的指令.也就是存储嚣的拟出指令只

此文档下载收益归作者所有

下载文档
你可能关注的文档
收起
展开