第二章 主要软硬交界面.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二章 主要软硬交界面

3)扩展编码法 ①条件:各类指令的Pi不同,但他们的分布具有簇性(簇内各Pi相差不大,簇间相差较大) ②编码原则 Ⅰ)簇内采用等长法 Ⅱ)簇间采用不等长法(扩展法) ③二位扩展法 Ⅰ)3/3/3方案 0 0 1 1 1 1 0 0 0 1 1 1 1 1 0 1 1 0 1 1 1 1 1 0 1 1 0 0 1 1 0 1 1 1 1 0 3 3 3 Ⅱ)2/4/8方案 0 0 0 1 1 0 0 0 1 0 0 1 1 1 0 0 1 1 0 1 2 4 1 0 1 0 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 1 0 1 1 1 1 0 0 0 1 1 1 0 0 1 1 1 1 1 0 0 1 1 1 1 0 1 8 二、指令格式的优化设计 多地址指令设计简介 1)条件:某机指令长16位,地址位有4位(可用寄存器寻址或寄存器间接寻址) 2)要求:试编写11条三地址指令,60条两地址指令,280条单地址指令,其余还能扩展多少条零地址指令,并编写出各类指令编码表示。 ① 可扩展多少条三地址 OP A1 A2 A3 24=16(三地址指令) ②实际剩余三地址指令 (16-11)条 = 5条 每条三地址指令又可扩展24=16条两地址指令 OP A1 A2 ③共可扩展零地址如下式 ( ((24-11)*24-60)* 24-280)* 24=240 ④分别写出各类指令编码 Ⅰ) 11条三地址 0000 … 1010 A1 A2 A3 11条 Ⅱ)60条两地址 1011 0000 1111 … 0000 1111 1100 … 1101 … 0000 1111 … 1110 … 0000 1011 A1 A2 (16条) A1 A2 (16条) A1 A2 (16条) A1 A2 (12条) Ⅲ) 280条单地址 OP A 12位 4位 1100 0000 1111 … 1010 … 1111 0000 1111 … A 64条 0000 0000 1111 … 1011 … 1100 0000 1111 … A 208条… 0000 0111 A (8条) Ⅳ)640条零地址 1111 1101 1000 0000 1111 1111 1111 1111 … 640条 3)寄存器安排 字段 寄存器码 X 1000 A 1001 Y 1010 B 1011 Z 1010 12 1000H 4 12 2000H 1 8 3000H 完成运算c0=a4+b1 五、堆栈数据表示 1、含义:凡是按先进后出方式工作的特殊区域称为堆栈 2、堆栈方式 1)寄存器堆栈:速度快,扩充容量价格高。 2)存储器堆栈:速度慢,扩充容量价格低。 3)寄存器与存储器相结合方式. 3、堆栈生长方式 — 向下生长。 压入操作后,栈指针(SP)向地址减少方向变化。 4、堆栈主要作用 1)保护现场,如通用寄存器。 2)在中断嵌套/子程序嵌套时,用来保护返回地址。 3)很适合对逆波兰表达式处理. 5、逆波兰表达式 1)①数学表达式:将运算符写在两个运算中间的表达式。如 A+B ②波兰表达式:为突出运算性质,将运算符写在两个运算元素之前的表达式。如 +AB ③逆波兰表达式:与波兰表达式正好相反表示的表达式。如 AB+ 2)数学表达式的树结构(倒树) 要点:把运算元素做枝叶,运算符作节点,且最后一个运算符作最高节点。 如 (a+b)*c+(d-e)/f + a b * c / - d e f + 3)逆波兰表达式的生成 在树结构的基础上,利用后序走树发可生成逆波兰表达式. 要点:先枝叶后节点,先左后右.逐次搜集运算元素与运算符的构成. 逆波兰表达式:ab+c*de-f/+ 4)在堆栈机上逆波兰式的运算过程 要点: o 按逆波兰表达式从左到右依次运行 o 见运算元素就压入堆栈 o 见运算符就将次栈顶元素与次栈顶元素进行相应运算 直到最后一个运算为止。 ① a a ② b b a ③ + a+b c a+b ④ c 图示如下: ⑤ * (a+b)*c=m ⑥ d d m ⑦ e e d m ⑧ - d-e m ⑨ f f d-e m ⑩ / (d-e)/f m ?

您可能关注的文档

文档评论(0)

wnqwwy20 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:7014141164000003

1亿VIP精品文档

相关文档