文章目录

  • 基本概念
    • 1. 周期的概念
    • 2. 指令的组成
  • 指令格式的优化设计
    • 1. 操作码的优化表示
      • 1.1 Huffman编码
      • 1.2 扩展编码法
    • 2. 地址码的优化表示
  • 指令系统的功能设计
    • 1. 基本指令系统
    • 2. 指令系统的性能
    • 3. 指令系统的优化设计

基本概念

 指令系统是计算机系统结构的主要组成部分,是软件与硬件之间相互沟通的桥梁,也是软硬件分界面的一个主要标志,让软件之间的语义差异越来越大。

1. 周期的概念

指令周期:
 CPU取出一条指令并执行这条指令的时间总和

CPU周期:
 一条指令执行的一个阶段、一个过程

时钟周期:
 通常称为节拍脉冲或T周期,一个CPU周期包含若干个时钟周期

2. 指令的组成

一般指令由两部分组成:

  • 操作码
     通常包含两部分内容:操作类型(加、减…)和操作数描述(数据类型以及数据字长)
  • 地址码
     包含三部分内容:地址(间址、立即数…)、地址附加信息(偏移量、块长度…)和寻址方式(直接寻址、间接寻址…)
操作码(OPC) 地址码(A)

指令格式的优化设计

指令格式的优化的主要目的是:

  • 节省程序的存储空间
  • 指令格式尽量规整

前面介绍了指令包含两部分内容,我们的指令格式优化设计可以从这两部分内容入手。

1. 操作码的优化表示

操作码有三种编码方式:

  • 固定长度

    • 优点:规整,译码简单
    • 缺点:浪费信息量
  • Huffman编码
    • 优点:减少了冗余量
    • 缺点:操作码长度不规整,硬件译码困难;与地址码共同形成固定长度的指令比较困难。
  • 扩展编码

1.1 Huffman编码

可以看这篇文章:霍夫曼编码(Huffman Coding)
形成操作码编码并不是唯一的,但是操作码的平均长度是唯一的

1.2 扩展编码法

是Huffman编码和固定字长编码法的结合

2. 地址码的优化表示

地址码个数选择可以是三个、两个、一个以及零个,地址码个数直接、决定性地影响计算机系统

评价地址码个数应该取多少的标准主要有两个:

  1. 程序的存储容量,包括操作码和地址码
  2. 程序的执行速度,以程序执行过程中访问主存的信息量代表

各种不同地址数指令的特点以及适用场合

地址数目 指令长度 程序存储量 程序执行速度 适用场合
三地址 最大 一般 向量,矩阵运算为主
二地址 一般 很大 很低 一般不宜采用
一地址 较长 较大 较快 连续运算,硬件结构简单
零地址 最长 最小 最低 嵌套,递归,变量较多
二地址R型 一般 最小 最快 多累加器,数据传送较多

想要用一个短的地址码表示一个大的逻辑地址,所以缩短地址码长度,方法有:

  • 用间址寻址方式缩短地址码长度
  • 用变址寻址方法缩短地址码长度
  • 用寄存器间接寻址方式缩短地址码长度

指令系统的功能设计

1. 基本指令系统

通用计算机系统有五种基本指令:

  1. 数据传送类指令
     由三个主要因素决定:数据存储设备的种类(寄存器、主存…)、数据单位(字、字节、块…)和采用的寻址方式
  2. 运算类指令
     四个因数的组合:操作种类(加、减…)、数据表示(定点、浮点…)、数据长度(字、双字…)和数据存储设备(寄存器、主存…)
  3. 程序控制类指令
     包含三类:转移指令、调用和返回指令、循环控制指令
  4. 输入输出指令
  5. 处理机控制和调试指令

2. 指令系统的性能

  1. 完整性:是指应该具备基本指令类型
  2. 规整性:规则性包括对称性和均匀性
  3. 高效率:指令的执行速度要快
  4. 兼容性:在同一系列机内指令系统不变

3. 指令系统的优化设计

有两种截然相反的方向:

  1. 复杂指令系统计算机CISC:增强指令的功能,设置功能复杂的指令
  2. 精简指令系统计算机RISC:简化指令功能,只保留功能简单的指令

计算机系统结构 之 指令系统相关推荐

  1. 【计算机体系结构】计算机体系结构(1) 计算机系统结构的设计基础

    文章目录 1.1 计算机系统结构的基本概念 1.1.1 计算机系统的层次结构 1.1.2 计算机系统结构 1.1.3 计算机组成与实现 1.1.4 计算机系统结构的分类 1. `Flynn` 分类法 ...

  2. 02325《计算机系统结构》自考概念题:1~4 章

    复习总目录   02325<计算机系统结构>自考复习重点目录 1. 计算机系统结构概论 1.1 计算机系统的多级层次结构 (1)计算机系统的多级层次结构(p1)   M5:应用语言机器   ...

  3. 自考计算机系统结构论文,自考《计算机系统结构》重点知识概论:指令系统

    自学考试的学习有一定的难度,考生可以参考一些总结性的知识笔记或根据考试大纲进行复习.下面是明德小编整理的自考<计算机系统结构>重点知识概论:指令系统. 指令系统是计算机外部特性的重要组成部 ...

  4. 假设一个学校的计算机系新建,武汉大学计算机学院《计算机系统结构》08级A卷B卷及答案...

    武汉大学计算机学院 2010-2011学年度第一学期2008级 <计算机系统结构>期末考试试卷(A)(开卷) 姓名:学号:专业: (注:①考试时间为120分钟:②所有解答必须写在答题纸上. ...

  5. 处理机调度实验总结_计算机系统结构总结

    系统结构总论 总目标:快 总原理:加快经常性事件 量化原理:Amdahl定理 Amdahl定理指出加快某部件执行速度所能获得的系统性能加速比,受限于该部件的执行时间占系统总时间的百分比. 加速比 = ...

  6. 计算机系统结构广义定义,《计算机系统结构》电子教案(清华版).ppt.ppt

    <计算机系统结构>电子教案(清华版).ppt 2001.9.1 计算机系统结构 计算机系统结构 主讲:华中科技大学计算机学院林安 教学计划 第一章 基本概念(P1) 1.1 定性知识─── ...

  7. 计算机系统结构总概,计算机系统结构概论

    第一章计算机系统结构概论,,目录,计算机系统的多级层次结构计算机系统结构.组成与实现计算机系统的软硬取舍.性能评测及定量设计原理软件.应用.器件对系统结构的影响系统结构中的并行性发展和计算机系统的分类 ...

  8. 计算机系统结构结构相关实验报告,计算机系统结构实验报告(中南民族大学).doc...

    计算机系统结构实验报告(中南民族大学).doc 院 系 专 业 年 级 课程名称 计算机系统结构 学 号 姓 名 指导教师 年 月 日年级班级学号专业计算机科学与技术姓名题目名称矩阵相乘题目内容1. ...

  9. 常见的计算机系统结构不包括,计算机系统结构

    摘要: 本书系统地讲述了计算机系统结构的基本概念,设计原理和设计方法.本书是为高等院校计算机本科专业的高年级学生而编写的教材.其内容丰富,由浅人深,理论联系实际,每章利用一定的篇幅介绍了当今Penti ...

最新文章

  1. 机器视觉关键技术之图像增强技术
  2. HTTP协议的挑战者:RSocket
  3. jquery 3D分页翻转滑块
  4. Eclipse中propedit插件安装(解决property中文问题)
  5. 代码确认小米官方在线预定——对代码实现的分析
  6. 全球及中国吉他霉素预混剂行业创新现状与可持续发展分析报告2022-2027年版
  7. SpringBatch 写xml文件(StaxEventItemWriter)用法(十四)
  8. 关于优酷SDK之setOnADPlayListener
  9. WebSocket使用案例
  10. 前端学习(2511):组件注册
  11. 这个连“炒菜的油”都不放过的“吝啬”男人,却用“吝啬”创造了世界奇迹!...
  12. 区块链概念——学习笔记
  13. es6 迭代器对象的 return(),throw()
  14. 小甲鱼python课后题简书_Python 练习题汇总
  15. 【成电860考研】专业课考前划重点-学长课程音频转文字-用科大讯飞花钱买的-三万五千字
  16. directadmin支持多php,DirectAdmin升级PHP版本
  17. Qt5.12 使用FFmpeg实时解码播放H264/H265摄像头记录(直传数据法)
  18. marked 用户手册 在线查看
  19. C++ 输出cout
  20. 怎样用python提取英文字母_python如何获取一次获取26个英文字母

热门文章

  1. 1.2.1 python中的函数
  2. VC++游戏编程----游戏画面特效制作2
  3. 华为p10多屏互动在哪_华为p10如何投屏到电视?手机还有这些使用技巧
  4. mac用什么写python程序_macos,python_大家在mac系统都用什么编辑器写python程序?,macos,python - phpStudy...
  5. 8000401a和80080005
  6. 微博营销和软文营销的价值
  7. 词性标注集句和句法分析标注集
  8. 部署 HTTPS 访问 ( https:// )
  9. D-HARRY2020春夏新品
  10. [K8S]error execution phase preflight: couldn‘t validate the identity of the API Server