中国高校课件下载中心 》 教学资源 》 大学文库

北京大学:《计算机组织与体系结构》课程教学资源(讲义,上)指令系统设计

文档信息
资源类别:文库
文档格式:PDF
文档页数:47
文件大小:826.81KB
团购合买:点击进入团购
内容简介
北京大学:《计算机组织与体系结构》课程教学资源(讲义,上)指令系统设计
刷新页面文档预览

计算机组织与糸统结构 指令系统设计 Instruction Set Design (第四讲) 程旭 2000.3.13 北京大学计算机科学技术系 计算机系统结枃教硏室

GÜWÑÇj°_+ ÑÇj+´‰DÔ ¯æ…§ù;‰é Žù;ø Jotusvdujpo!Tfu!Eftjho ǐZ Å 3111/4/24 È

指令系统设计 软件 指令系统 / 硬件 北京大学计算机科学技术系 计算机系统结枃教硏室

GÜWÑÇj°_+ ÑÇj+´‰DÔ 7+îÑ Û¸Ï³ CÊ @Ê

指令系统体系结构( Instruction Set architecture 从程序员来观察 计算机程序 01010 (指令) ADD SUBTRACT 01110 CPU AND 10011 Memory OR 10001 COMPARE 1010 o 从计算机来观察 Princeton Von Neumann)系统结构 Harvard系统结构 数据和指令存放在统一存储器中-数据&指令 存储程序计算机” 存放在不同的存储器中 Stored program computer") 程序当作数据 -在某些高性能实现中 存贮系统的利用( Storage utilization)具有优势 单一的存储器接口 北京大学计算机科学技术系 计算机系统结枃教硏室

GÜWÑÇj°_+ ÑÇj+´‰DÔ 7+ƒ+´Ä,QVWUXFWLRQ6HW$UFKLWHFWXUHÅ $'' 68%75$&7 $1' 25 &203$5(            ¢ßc,9³ ¢uk9³ &38 0HPRU\ ,2 ukßc Û¸ 3ULQFHWRQ 9RQ1HXPDQQ ϳ§X  DB`Û¸,ü³Ô,|< ³,|ßcuk´Å ³VWRUHGSURJUDPFRPSXWHU  ßc'0DB  ,ϳXýüÄ6WRUDJHXWLOL]DWLRQÅ  )ÔX,|<y· +DUYDUGϳ§X  DB Û¸ ,üáàX,|<  ü¤o¬ûÑr„ KÝì

指令系统设计中的基本问题 哪些操作(以及多少)是应该提供的? LDIST/INC/BRN已经足够用于编制任何计算程序 但是并不实用,这是因为产生的程序太长! 如何(以及多少)操作数应该被指明? 大多数操作是双值运算( dyadic)(例如,A∈B+C) 也有一些是单值运算 monadic(例如,A∈-B) 如何将这些指令编码成一致的指令格式 指令长度应该为基本数据/地址宽度的倍数! 典型的指令系统: 32位字 品基本操作数地址为32位长 基本操作数(例如,整数),32位长 通常,指令可以涉及3个操作数(A:=B+C) 挑战:用少量的位数,对操作进行编码 北京大学计算机科学技术系 计算机系统结枃教硏室

GÜWÑÇj°_+ ÑÇj+´‰DÔ 7+îÑ]´*\È  ¾o¡0 ¹žîå h¹¤oXÛ /'67,1&%51Æ£‡óübê Ï)ukßc JárüÈ­´{óXßcþS  V) ¹žîå ¡0D h¹ÛâÛ ûîD¡0  ¤k G\DGLF _V $⇐ %& 3ÝÔo )¤k PRQDGLF _V $⇐ a%  V)Ú­oÛ¸êÕäÔÈXÛ¸ãÛ Û¸Szh¹Î￾￾DBË‘zX áD½ L_X۸ϳ ♣ !+ ♣ Î￾￾¡0D !S ♣ Î￾￾¡0DÄ_VÈHDÅ!S ♣ î  ۸ù]ž þ¡0D $ %& åì rh*ôs￾￾´)û©ò

执行周期 Instruction 从程序存储系统中获得指令 Fetch Instruction 确定所需的动作和指令大小 Decode Operand 定位并获得操作数数据 Fetch Execute 计算结果数值或状态 Result 在存储系统中存放结果,以备后用 Store Next 确定后续指令 Instruction 北京大掌讦算机科学技术系 计算机系统结枃教硏室

GÜWÑÇj°_+ ÑÇj+´‰DÔ |O ,QVWUXFWLRQ )HWFK ,QVWUXFWLRQ 'HFRGH 2SHUDQG )HWFK ([HFXWH 5HVXOW 6WRUH 1H[W ,QVWUXFWLRQ ¢ßc,|ϳ‹kÛ¸ BnÔX|0`Û¸ûã n!J‹k¡0DDB uk§pDêŠÕ ü,|ϳ,§pȹÛâü BnâÁÛ¸

必须指定什么? 指令格式或编码 Instruction 如何对它译码? Fetch 对操作数和结果定位 Instruction 除了存储器之外,还可放在哪里? Decode 有多少个显式操作数? 如何对存储器操作数进行定位? Operand Fetch ·哪些操作数可以或者不可以在存储器中? 数据类型和大小 Execute ·操作 Result 支持哪些? Store 后续指令 Next jumps, conditions, branches Instruction 指令处理必须经过etch- decode-execute! 北京大掌讦算机科学技术系 计算机系统结枃教硏室

GÜWÑÇj°_+ ÑÇj+´‰DÔ õ«7Êðx" ‡ Û¸ãêêÕ ± V)ÍW¥Õ" ‡ Í¡0D`§pn! ± 8Z,|<êȬÃü¾ " ± Ýîåþã¡0D" ± V)Í,|<¡0D¯ n!" ‡ ¾o¡0DùêÙáùü,|<" ‡ DBO_`û㠇 ¡0 ± Õ¾oÛ ‡ âÁÛ¸ ± MXPSVFRQGLWLRQVEUDQFKHV  Û¸ØÚ™O£› IHWFKGHFRGHH[HFXWH ,QVWUXFWLRQ )HWFK ,QVWUXFWLRQ 'HFRGH 2SHUDQG )HWFK ([HFXWH 5HVXOW 6WRUH 1H[W ,QVWUXFWLRQ

将要揭示的主题 对操作数和结果定位 除了存储器之外,还可放在哪里? 有多少个显式操作数? 如何对存储器操作数进行定位? 哪些操作数可以或者不可以存放在存储器中? ·操作类型 ·指令格式或编码 如何对它译码? 数据类型和大小 支持哪些? 北京大学计算机科学技术系 计算机系统结枃教硏室

GÜWÑÇj°_+ ÑÇj+´‰DÔ 6±j´kÈ ‡ s￾￾´ôä´G* ± ‚tɅv ó.¶Â}‡:" ± rQ¡´￾￾´ô" ± "åsɅv￾￾´ô)ûG*" ± ‡Ô￾￾´ô¶» gà â¶»ÉÂ}Ʌv/" ‡ ￾´+ø ‡ L´g©ò ± "åsQÒò" ‡ ôl+øäÖÌ ± [‡Ô&

基本的指令系统体系结枃种类 累加器( Accumulator): 1 address adda acc< acc mem(A 1+x address add a acc acc+ mem[a+ X] 堆栈( Stack) 0 address add tos ttos t next 比较∶每条指令的字节数?指令数?每条指令的周期数? 北京大学计算机科学技术系 计算机系统结枃教硏室

GÜWÑÇj°_+ ÑÇj+´‰DÔ *\´7+ƒ+´ý« t$@ [DGGUHVV DGG[ $ DFF← DFF PHP>$[@ ÚÜÄ6WDFNÅ DGGUHVV DGG WRV ← WRV QH[W ³ £5Û¸X+VD" Û¸D" £5Û¸X<óD"

基本的指令系统体系结构种类 通用寄存器( General Purpose Register) 2 address add aB Ea(a)<EA(A)+ EA(B) 3 address add abc EA(A)<EA(B)+ EA(c) 装入/存储(Load/ Store): 3 address add ra rb rc ra trb t rc load ra rb ra←-mem[Rb store Ra rb mem[Rb]Ra 比较:每条指令的字节数?指令数?每条指令的周期数? 北京大学计算机科学技术系 计算机系统结枃教硏室

GÜWÑÇj°_+ ÑÇj+´‰DÔ *\´7+ƒ+´ý« îü,5E@ VWRUH5D 5E PHP>5E@← 5D ³ £5Û¸X+VD" Û¸D" £5Û¸X<óD"

比较指令的数量 四类指令系统,完成C=A+B的代码序列 堆栈 累加器 寄存器 寄存器 (寄存器存储器) (load-store Push a Loada Load rla Load rla Push B Add B Add rlb Load r2, B Add Store c Store C, r1 Add r3. R2 Pop c Store C R3 北京大学计算机科学技术系 计算机系统结枃教硏室

GÜWÑÇj°_+ ÑÇj+´‰DÔ ¨W 7´ ÿ ¯O۸ϳÈ`ä& $%X·Õcë ÚÜ t< ,< ,< ,<,|< ORDGVWRUH 3XVK$ /RDG$ /RDG5$ /RDG5$ 3XVK% $GG % $GG 5% /RDG5% $GG 6WRUH& 6WRUH&5 $GG 555 3RS& 6WRUH&5

刷新页面下载完整文档
VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
相关文档