20145222《信息安全系统设计基础》第六周学习总结(2)

Y86指令集与处理器设计
本文总结了《信息安全系统设计基础》第六周的学习内容,重点介绍了Y86指令集的特点及其在处理器设计中的应用。包括Y86指令集的基本构成、逻辑设计和硬件控制语言HCL的应用、Y86的顺序实现过程等。

20145222《信息安全系统设计基础》第六周学习总结(2)

补充加强版

教材学习内容总结

4.1Y86指令集体系结构

  • Y86指令集是IA32指令集的一个子集,只包括四字节整数操作。寻址方式比较少,操作也比较少。
  • 指令编码长度从1个字节到6个字节不等,一条指令含有一个单字节的指令指示符,可能含有一个单字节的寄存器指示符,还可能含有一个四字节的常数字。字段fn指明是某个整数操作(OPL)、数据移动条件(cmovXX)或是分支条件(jXX),所有数值都用十六进制表示
    886717-20161024040809625-263024232.png

  • 8个程序寄存器中每个都有相应的0~7的寄存器标识符,程序寄存器存在一个寄存器文件中,这个寄存器文件就是一个小的、以寄存器ID作为地址的随机访问存储器。当需要指明不应访问任何寄存器时,用ID值0xF表示。
    886717-20161024040943046-2091691526.png

  • Y86异常:Y86状态码(在我们的设计中,任何AOK以外的代码都会使处理器停止)
    886717-20161024041058281-1691209440.png

4.2逻辑设计和硬件控制语言HCL

  • 存储设备都是由同一个时钟控制,两类存储器设备包括:
    - 时钟寄存器(寄存器):储存单个位或字,用时钟信号控制寄存器加载输入值。
    - 随机访问储存器(储存器):储存多个字,用地址选择该读/写哪个字。
  • 存储器和时钟中,处理器有一个随机访问存储器来存储程序数据。
    886717-20161024041435296-1039113967.png

4.3 Y86的顺序实现

  • SEQ阶段的实现:
    • 取指阶段:
      - a.以PC为第一个字节的地址,一次读6个字节。
      - b.icode:控制逻辑块计算指令
      - c.ifun:功能码
      - d.三个一位的信号(根据icode值计算):instr_valid:发现不合法的指令;need_regids:包含寄存器指示符字节吗;need_valC:包括常数字
      - e.后五个字节是寄存器指示符字节和常数字的组合编码。
    • 译码和写回阶段:
      - a.都需要访问寄存器文件,根据四个端口的情况,判断应该读哪个寄存器产生信号valA、valB。
      - b.寄存器文件,支持同时进行两个读和两个写,每个端口有一个地址连接(寄存器ID)和一个数据连接(32根线路),既可以作为寄存器文件的输出字,又可以作为他的输入字。
    • 执行阶段:
      - a.包括算数/逻辑单元(ALU),输出为valE信号。ALU通常作为加法器使用
      - b.包括条件码寄存器
      - c.每次运行产生:零、符号、溢出、产生信号set_cc
    • 访存阶段:
      - a.读或者写程序数据。
      - b.两个数据块产生存储器地址和存储器输入证据的值,两个产生控制信号表明应该是读还是写。当执行读操作时,数据存储器产生valM。
      - c.根据icode,imem_error,instr_valid,dmem_error,从指令执行的结果计算状态码Stat。
    • 更新PC阶段:
      - 产生程序计数器的新值,依据指令的类型和是否要选择分支,新的PC可能是valC、valM或者valP。
  • 处理器设计的几个重要经验:
    • 管理复杂性是首要问题,尽量保持硬件设计的简单。
    • 不需要直接实现ISA。
    • 一开始就保证设计正确是非常重要的。

本周代码托管截图

学习进度条

代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
目标4000行30篇400小时
第一周0/02/310/20掌握了几个命令
第二周0/01/48/28熟练了vim编辑器的操作
第三周40/401/512/40开始敲代码了
第五周36/762/715/55慢慢熟悉了汇编语言
第六周12/882/916/71对机器语言指令有了更深一步的理解

参考资料

转载于:https://www.cnblogs.com/huangyaqi/p/5991507.html

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值