【计算机硬件】2、指令系统、存储系统和缓存

news2024/11/23 15:38:55

文章目录

  • 指令系统
    • 计算机指令的组成
    • 计算机指令执行过程
    • 指令的寻址方式(怎么样找到操作数?)
      • 1、顺序寻址
      • 2、跳跃寻址
    • 指令操作数的寻址方式(怎么样找到操作数?)
      • 1、立即寻址方式
      • 2、直接寻址方式
      • 3、间接寻址方式
      • 4、寄存器寻址方式
      • 5、*基址寻址方式
      • 6、*变址寻址方式
    • 指令系统的类型
      • 1、复杂指令系统(CISC)
      • 2、精简指令系统(RISC)
      • 二者对比
    • 指令流水线原理
      • RISC中的流水线技术
        • 超流水线( Super Pipe Line) 技术
        • 超标(Super Scalar) 技术
        • 超长指今字( Very Long InstructionWord,VLIW) 技术(未理解)
    • 流水线时间计算
      • 1、流水周期
      • 2、流水线执行时间
      • 3、流水线吞吐率计算
      • 4、流水线加速比计算
  • 存储系统和缓存
    • 两级存储
    • 局部性原理
      • 时间局部性原理
      • 空间局部性原理
    • Cache
      • 地址映射
        • 1、直接映射
        • 2、全相联映射
        • 3、组组相联映射
      • 替换算法
        • 1、 随机替换算法
        • 2、先进先出算法
        • 3、近期最少使用算法
        • 4、优化替换算法
      • 命中率
    • 磁盘
      • 磁盘的结构和参数
      • 磁盘调度算法
        • 1、先来先服务FCFS
        • 2、最短寻道时间优先SSTF
        • 3、扫描算法SCAN
        • 4、单向扫描调度算法CSCAN

指令系统

计算机指令的组成

1、操作码——需要完成什么样的操作
2、操作数——参与运算的数据以及单元地址
以上两个都是由二进制编码存储

计算机指令执行过程


指令的寻址方式(怎么样找到操作数?)

指令组成

操作码字段地址码字段

1、顺序寻址

当执行一段程序时,根据PC(程序计数器) 中指令,是一条指令接着一条指令地顺序执行

2、跳跃寻址

指下一条指令的地址码不是由程序计数器给出,而是由本条指令直接给出程 序跳跃后,按新的指令地址开始顺序执行。因此,程序计数器的内容也必须相应改变,以便及时跟 踪新的指令地址。

指令操作数的寻址方式(怎么样找到操作数?)

1、立即寻址方式

指令的地址码字段指出的不是地址,而是操作数本身

2、直接寻址方式

在指令的地址字段中直接指出操作数在主存中的地址

3、间接寻址方式

指令地址码字段所指向的存储单元中存储的是操作数的地址

4、寄存器寻址方式

指令中的地址码是寄存器的编号

5、*基址寻址方式

将基址寄存器的内容加上指令中的形式地址而形成操作数的有效地址,其优点是可以扩大寻址能力

6、*变址寻址方式

变址寻址方式将变址寄存器的内容加上指令中的形式地址而形成操作数的有效地址

指令系统的类型

1、复杂指令系统(CISC)

兼容性强,指令繁多,长度可变,微程序实现

2、精简指令系统(RISC)

兼容性弱,指令较少,主要靠硬件实现(通用寄存器、硬布线逻辑控制)

二者对比

指令系统类型指令特点寻址方式实现方式其他
CISC(复杂)1、数量多
2、使用频率差别大
3、长度不固定
支持多种微程序控制技术(微码)研发周期长
RISC(精简)1、数量少
2、使用频率接近
3、定长格式
4、大部分为单周期指令
5、操作寄存器
6、只有Load/Store操作内存
支持方式少1、增加了通用寄存器
2、硬布线逻辑控制为主
3、适合采用落水线
优化编译,能有效支持高级语言

指令流水线原理

将指令分成不同段,每段由不同的部分去处理,因此可以产生叠加的效果,所有的部件去处理指令的不同段


RISC中的流水线技术

超流水线( Super Pipe Line) 技术

它通过细化流水、增加级数和提高主频,使得在每个机器周期内能完成一个甚至两个浮点操作。其实质是以时间换取空间(划分成更多段数)

超标(Super Scalar) 技术

它通过内装多条流水线来同时执行多个处理,其时钟频率虽然与一般流水接近,却有更小的CPI。其实质是以空间换取时间(每一级别增加处理的部件)

超长指今字( Very Long InstructionWord,VLIW) 技术(未理解)

VLIW和超标量都是20世纪80年代出现的概念,其共同点是要同时执行多条指令,其不同在于超标量依靠硬件来实现并行处理的调度,VLIW则充分发挥软件的作用,而使硬件简化,性能提高。

流水线时间计算

1、流水周期

指令分成不同执行段,其中执行时间最长的段为流水线周期

2、流水线执行时间

流水线执行时间 = 1条指令总执行时间 + (总指令条数-1 ) * 流水线周期

3、流水线吞吐率计算

流水线吞吐率 = 指令条数 / 流水线执行时间

(吞吐率即单位时间内执行的指令条数)

4、流水线加速比计算

加速比 = 不使用流水线执行时间 /使用流水线执行时间

(加速比即使用流水线后的效率提升度,即比不使用流水线快了多少倍越高表明流水线效率越高)
注:一道题问一个流水线的最大加速比是多少的时候取最优方案然后求极限

存储系统和缓存

计算机采用分级存储体系的主要目的是为了解决存储容量 、成本和速度之间的矛盾问题(速度越快价格越高,要省钱)

两级存储

1、Cache-主存
2、主存-辅存(虚拟存储体系)(未懂)

局部性原理

总的来说,在CPU运行时,所访问的数据会趋向于一个较小的局部空间地址内,包括下面两个方面

时间局部性原理

如果一个数据项正在被访问,那么在近期它很可能会被再次访问,即在相邻的时间里会访问同一个数据项

空间局部性原理

在最近的将来会用到的数据的地址和现在正在访问的数据地址很可能是相近的,即相邻的空间地址会被连续访问

Cache

高速缓存Cache用来存储当前最活跃的程序和数据,直接与CPU交互,位于CPU和主存之间,容量小,速度为内存的5-10倍,由半导体材料构成 。其内容 是主存内存的副本拷贝,对于程序员来说是透明的

Cache由控制部分和存储器组成,存储器存储数据,控制部分判断CPU要访问的数据是否在Cache中,在则命中,不在则依据一定的算法从主存中替换

地址映射

在CPU工作时,送出的是主存单元的地址,而应从Cache存储器中读 /写信息 。这就需要将主存地址转换为Cache存储器地址,这种地址的转换称为地址映射,由硬件自动完成映射,映射有三种形式

1、直接映射

将Cache存储器等分成块,主存也等分成块并编号 。主存中的块与Cache中的块的对应关系是固定的,也即二者块号相同才能命中 。
优点:地址变换简单
缺点:不灵活容易造成资源浪费。

2、全相联映射

同样都等分成块并编号。主存中任意一块都与Cache中任意一块对应。
优点:1、主存可以随意调入Cache任意位置
2、只有当Cache满了才会发生块冲突,是最不容易发生块冲突的映像方式
缺点:地址变换复杂,速度较慢。

3、组组相联映射
前面两种方式的结合,将Cache存储器先分块再分组,主存也同样先分块再分组,组间采用直接映像, 即主存中组号与Cache中组号相同的组才能命中,但是组内全相联映像,也即组号相同的两个组内的所有块可以任意调换

替换算法

目标:使Cache获得尽可能高的命中率

1、 随机替换算法

用随机数发生器产生一个要替换的块号将该块替换出去

2、先进先出算法

将最先进入Cache的信息块替换出去。

3、近期最少使用算法

将近期最少使用的Cache中的信息块替换出去

4、优化替换算法

这种方法必须先执行一次程序,统计Cache的替换情况。有了这样的先验信息,在第二次执行该程序时便可以用最有效的方式来替换

命中率

当CPU所访问的数据在Cache中时命中,直接从Cache中读取数据,设读取一次Cache时间为1ns,若CPU访问的数据不在Cache中,则需要从内存中读取,设读取一次内存的时间为1000ns,若在CPU多次读取数据过程中,有90%命中Cache,则CPU读取一次的平均时间为 ( 90%* 1+10%* 1000)ns(加权平均数)

磁盘

磁盘的结构和参数

磁盘有正反两个盘面,每个盘面有多个同心圆,每个同心圆是一个磁道,每个同心圆又被划分为多个扇区,数据就被存放在一个个扇区中
磁头首先要寻找到对应的磁道,然后等待磁盘进行周期旋转,旋转到指定的扇区才能读取到对应的数据,因此,会产生寻道时间和等待时间 。公式为:

存取时间 = 寻道时间+等待时间(平均定位时间+转动延迟)

寻道时间是指磁头移动到磁道所需的时间;等待时间为等待读写的扇区转到兹头下方所用的时间)

磁盘调度算法

1、先来先服务FCFS

根据进程请求访问磁盘的先后顺序进行调度

2、最短寻道时间优先SSTF

请求访问的磁道与当前磁道最近的进程优先调度,使得每次的寻道时间最短。会产生“饥饿”现象,即远处进程可能永远无法访问

3、扫描算法SCAN

又称“电梯算法”磁头在磁盘上双向移动,其会选择离磁头当前所在磁道最近的请求访问的磁道,并且与磁头移动方向一致,磁头永远都是从里向外或者从外向里一直移动完才掉头,与电梯类似

4、单向扫描调度算法CSCAN

与SCAN不同的是,其只做单向移动,即只能从里向外或者从外向里

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1394300.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Nginx 基础使用

目录结构 进入Nginx的主目录我们可以看到这些文件夹 client_body_temp conf fastcgi_temp html logs proxy_temp sbin scgi_temp uwsgi_temp其中这几个文件夹在刚安装后是没有的,主要用来存放运行过程中的临时文件 client_body_temp fastcgi_temp proxy_temp scg…

QT获取程序编译时间与当前时间的区别及应用场景

一.获取编译时间与当前时间的区别 1.编译日期时间:这个信息通常用于标识某个源代码文件或整个应用程序的编译时间,程序一旦编译出来不会再改变,通常用于记录或跟踪代码的版本和更改历史。 2.运行当前日期时间:这是指程序在运行时…

刷题总结1.18 下午 (堆)

关联数组”是一种具有特殊索引方式的数组。不仅可以通过整数来索引它,还可以使用字符串或者其他类型的值(除了NULL)来索引它。 关联数组和数组类似,由以名称作为键的字段和方法组成。 它包含标量数据,可用索引值来单独…

基于springboot+vue的免税商品优选购物商城系统(前后端分离)

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目背景…

文本生成探索:方法、任务与测评

目录 前言1 文本生成简介2 文本生成任务2.1 data-to-text2.2 对话生成2.3 机器翻译2.4 诗歌生成2.5 风格转移2.6 故事生成2.7 总结生成 3 语言建模4 译码策略4.1 贪婪译码策略4.2 Beam Search decoding4.3 Sampling based decoding 5 控制文本生成5.1 在文本前面加prompt5.2 修…

Node+Express编写接口---服务端

开始: 个人兴趣爱好,欢迎大家多多指教!(点击直达源码!) node_vue_admin: 第一个以node为后端,vue为前端的后台管理项目https://gitee.com/ah-ah-bao/node_vue_admin.git 第一步:安装 安装Node.js 点击直达Node.js (nodejs.org) 安装Navic…

旅游项目day03

1. 前端整合后端发短信接口 2. 注册功能 后端提供注册接口,接受前端传入的参数,创建新的用户对象,保存到数据库。 接口设计: 实现步骤: 手机号码唯一性校验(后端一定要再次校验手机号唯一性&#xff09…

vue3使用vue-masonry插件实现瀑布流

《Vue插件》瀑布流插件vue-masonry的使用与踩坑记录 参数:item-selector transition-duration column-width origin-left origin-top gutter 前言: 之前其实有分享过一篇纯CSS实现瀑布流的方法: https://oliver.blog.csdn.net/article/details/126450691,但纯CSS实现…

金融行业翻译怎么样,哪个翻译公司比较靠谱?

众所周知,金融翻译是一项具有高难度挑战性的任务,它会涉及到错综复杂的层面和专业性。随着国际间金融贸易的交流日益密切,金融翻译的需求也如春潮般汹涌而至。那么,这个金融行业翻译究竟有何独特之处,北京哪个翻译公司…

精通Discord营销:多账号注册与管理,高效打造矩阵

Discord虽然是一个海外小众平台,但在Z世代群体来说却非常受欢迎。通常在游戏行业、年轻化的电商特定品类、软件等业务中,Discord的社群营销可以起到非常卓越的效果。但是,您必须学会管理不同的帐户,以构成矩阵打造社区&#xff0c…

1. 安装Git

01. 安装Git 最早Git是在Linux上开发的,很长一段时间内,Git也只能在Linux和Unix系统上跑。不过,慢慢地有人把它移植到了Windows上。现在,Git可以在Linux、Unix、Mac和Windows这几大平台上正常运行了。 要使用Git,第一…

flutter 五点一:MaterialApp Theme

ThemeData factory ThemeData({bool? applyElevationOverlayColor, //material2的darkTheme下 增加一个半透明遮罩 来凸显阴影效果 material3下无效 貌似没啥用NoDefaultCupertinoThemeData? cupertinoOverrideTheme, //ios组件样式 Iterable<ThemeExtension<dyn…

Elasticsearch:聊天机器人教程(一)

在本教程中&#xff0c;你将构建一个大型语言模型 (LLM) 聊天机器人&#xff0c;该机器人使用称为检索增强生成 (RAG) 的模式。 使用 RAG 构建的聊天机器人可以克服 ChatGPT 等通用会话模型所具有的一些限制。 特别是&#xff0c;他们能够讨论和回答以下问题&#xff1a; 你的…

IPhone、IPad、安卓手机、平板以及鸿蒙系统使用惠普无线打印教程

演示机型&#xff1a;惠普M281fdw&#xff0c;测试可行机型&#xff1a;惠普M277&#xff0c;惠普M452、惠普M283 点击右上角图标。 点击WI-FI Direct 开&#xff0c;(如果WI-FI Direct关闭&#xff0c;请打开&#xff01;) 记录打印机的wifi名称(SSID)和密码。 打开IPhone、I…

Altium Designer简介以及下载安装

阅读引言&#xff1a; Altium Designer的离线安装包在文章最后&#xff0c; 注意该软件只能用于个人的学习使用&#xff0c; 不能用于商业用途&#xff0c; 文章主题图片来自网络。 一、Altium Designer简介 Altium Designer是一款功能强大的电子设计自动化&#xff08;EDA&…

HBase学习六:LSM树算法

1、简介 HBase是基于LSM树架构实现的,天生适合写多读少的应用场景。 LSM树本质上和B+树一样,是一种磁盘数据的索引结构。但和B+树不同的是,LSM树的索引对写入请求更友好。因为无论是何种写入请求,LSM树都会将写入操作处理为一次顺序写,而HDFS擅长的正是顺序写(且HDFS不…

高光谱分类论文解读分享之Grid Network: 基于各向异性视角下特征提取的高光谱影像分类

IEEE GRSL 2023&#xff1a;Grid Network: 基于各向异性视角下特征提取的高光谱影像分类 题目 Grid Network: Feature Extraction in Anisotropic Perspective for Hyperspectral Image Classification 作者 Zhonghao Chen , Student Member, IEEE, Danfeng Hong , Senior …

MySQL窗口函数(MySQL Window Functions)

1、窗口函数基本概念 官网地址&#xff1a;https://dev.mysql.com/doc/refman/8.0/en/window-functions.html 窗口可以理解为 记录集合&#xff0c;窗口函数就是在满足某种条件的记录集合上执行的特殊函数。 即&#xff1a;每条记录都要在此窗口内执行函数。 静态窗口&#x…

k8s的对外服务--ingress

service作用体现在两个方面 1、集群内部 不断跟踪pod的变化&#xff0c;更新endpoint中的pod对象&#xff0c;基于pod的IP地址不断变化的一种服务发现机制 2、集群外部 类似负载均衡器&#xff0c;把流量ip端口&#xff0c;不涉及转发url&#xff08;http&#xff0c;https&a…

如何给新华网投稿发稿?新华网的媒体发稿方法步骤

现如今&#xff0c;互联网已经成为了人们获取信息的主要途径&#xff0c;各大媒体网站也成为了发布自己作品的首选平台。其中&#xff0c;新华网作为中国最具影响力的新闻媒体之一&#xff0c;其内容覆盖面广、触及人群众多&#xff0c;因此&#xff0c;能够在新华网上发表文章…