指令集架构的设计.docVIP

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
指令集架构的设计

指令集架構的設計 ISA(instruction set architecture,指令集架構) 程式設計師或是翻譯器撰寫者所能夠看得到的機器部份 包括運算種類,暫存器個數,定址空間,條件碼,...等 ps:不包括快取記憶體的組織與指令管線的深度等實作相關細節 ........................................................................................................................................... ........................................................................................................................................... 指令集設計的考量因素 1指令集所提供的運算種類 必須是functionally complete(功能完整),具備足夠的指令,才可讓使用者完整表達計算過程 而在電腦指令集上至少需指供3種運算,才算完整的指令集:  data operation instruction(資料運算指令)  data transfer instruction(資料搬動指令)  flow control instruction(流程控制指令) 其他指令則是設計上的捨取 補充:若能找出功能完整的最小集合,就可用少工具完成工作 ex:只要有AND,OR,NOT三種即可提供完整的布林運算功能 ex:只要有循序,選擇,迴圈三種基本指令即可設計出任何功能的高階語言 2 CPU內部儲存運算元方式: stack(堆疊):用postfix expression(後序運算式)可讓計算方式變簡單,但存取效率差 acc(累加暫存器):運算電路簡單,但只有1個,在運算時對memory存取次數較多 general purpose register(一般目地暫存器):數量多可有彈性的運用,大多數機器採用 3指令中指出的運算元個數 儲存運算元方式會影響運算元個數 stack:使用零個運算元格式,因為運算元與運算結果都固定在stack中 ACC:使用單一運算元的格式,因為其中一個運算元與運算結果會固定ACC中 general purpose register:有兩個或三個運算元格式 4指令中允許的運算元位置: 位置會影響存取運算元的效能,設計上有: 暫存器對暫存器:load-store architecture(載入與回存架構) 暫存器對記憶體 記憶體對記憶體 對於memory中,運算元的定址方法有: direct addressing(直接定址法) indirect addressing(間接定址法) relative addressing(相對定址法 immediate data addressing(立即資料定址法) indexed addressing(索引定址法) 5指令中如何指定運算元型態與大小: 型態與大小決定存取的次數,一般設計上有兩種  運算碼:可靠度差,大多電子計算機用  標籤:可靠度佳,電路需要特殊設計 6其他 指令集的條件碼:是否給程式設計師用或隱含 指令集的consistency(一致性):若有此設計,則容易學習且撰寫不易出錯 ............................... 指令集設計步驟 1分析出主要應用領域 2根據應用領域的性質與特徵,決定需要提供的特殊功能 3將特殊功能對映成一低階指令 4根據指階指令發生次數,決定使用頻率 5使用頻率高且執行時間長的指令,根據amdahls law進行優化 6分析指令是否為可接受的組合語言階層,最後形成指令 好的指令集架構包括: 1指令集大小與複雜度:最好適中,需考量RISC和CISC差異 2功能完整性與效率:可讓演算法轉換成一個機器語言程式,並能有效率執行 3設計一致性:使用的定址模式與條件碼必須一致,所有指令皆可使用 好的指令集架構需考量: 1 application program development:需要可讓程式設計師在各應用領域方便地撰寫應用程式 2 compiler design:可容易將高階語言指令轉換成機器語言指令,並對特殊功能最佳化處理與設計 3 assembly language programming: 可對應到組合語言指令,並根據需要撰寫各功能的組合語言程式 4 hardware implementation: 可實作出電路並有效率地執行這些指令,根據不同加權予特別設計 ...............................

文档评论(0)

youshen + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档