计算机组成结构2

概念

存储系统

解决成本-速度-容量之前的矛盾问题
寄存器–cache–内存–硬盘–外存储

在这里插入图片描述

局部性原理

  • 时间局部:相邻的时间访问同一个数据
  • 空间局部:相邻的空间地址会被连续访问

cache

cpu与主存之间,命中cache后就不需要访问主存,但是cpu还是访问内存地址,这个时候需要需要做映射转换。

映射方法:主存地址转换为cache地址,由硬件自动完成,要解决主存很大,但是cache很小的问题。

  • 直接映射,主存先分区后分块与cache等分成块编号,主存区和cache块形成一对多的关系,每个主存块只有一个固定区可存放,容易产生冲突,使Cache效率下降。
  • 全相连映射,主存任何一块与cache中任意一块对应,主存的各块可以映射到Cache的任一块中,Cache的利用率高,块冲突概率低。
  • 组组相连(类似给cache加索引),组间采用直接映射,主存和cache都进去分组,组内使用全相连映射,适度兼顾二者的优点,尽量避免二者的缺点。

在这里插入图片描述

cache替换算法

  • 随机替换 :随机数发生器产生一个替换
  • 先进先出 :最先进入cache信息替换出来
  • 最近最少使用 :最少使用cache信息替换出来
  • 优化替换:先统计cache替换情况,再一次选择替换信息

磁盘结构和参数

一个磁盘由多个盘片叠加而成。一个盘片可能会有两个盘面。,每个盘面多个同心圆,每个同心圆就是一个磁道,每个同心圆划分多个扇区,数据存放到上扇区中。

在这里插入图片描述

调度算法:寻找磁道

读取数据的时间=寻道时间+旋转时间,寻道时间最长

  • 寻道时间:磁头移动到磁道
  • 等待时间:等待读写的扇区转到磁头下方
  • 先来先服务FCFS:进程请求先后顺序
  • 最短寻道时间优先SSTF:请求的磁道与当前磁道最近优先调度,磁道相同,顺序读取扇区号
  • 扫描算法SCAN:“电梯算法”选择磁头最近的请求磁道,向上或向下一个方向移动完后掉头
  • 单向扫描算法CSCAN:不根据请求,只单向移动

输入输出技术
内存与外设接口地址的编址方法

  • 独立编址:内存地址和接口地址各自独立地址空间,指令也独立不同
  • 统一编址:公用一个地址空间,不区分指令

计算机和外设间的数据交互

  • 程序控制查询方式:cpu主动查询外设是否完成数据传输,效率低。
  • 程序中断方式:外设完成后,向cpu发送中断,等待cpu处理数据,效率相对较高。
  • DMA直接主存存取:数据传输整个过程由DMA控制器完成,在主存与外设直接建立数据通道,效率很高。

一条指令结束后才会响应中断,一个总线周期结束后才会响应DMA请求

总线结构

总线是指计算机设备和设备之间传输信息的公共数据通道,总线上的设备所有共享

  • 内部总线:内部芯片总线,芯片与处理器之间
  • 系统总线:计算机各部分的连接(PCI)
    • 数据总线:并行传输数据位数
    • 地址总线:系统可管理的内存空间大小
    • 控制总线:传输控制命令
  • 外部总线:微机和外部设备的连接(usb、SCSI)

计算

cache命中率及平均时间

90%几率命中读取cache时间为一次1ns,10%不命中读取内存数据时间1000ns,读取一次的平均时间?

(1ns * 90%+1000ns * 10%)ns

磁盘
在这里插入图片描述

  • 不需要考虑寻道时间,磁头已经在R0磁道
  • 每个扇区读取时间=33/11=3ms
  • 顺序旋转处理记录,而读取+执行=6ms,必然无法顺序执行,因为执行3ms后旋转已经转到R2,每次读取需要旋转一次从R0-R2-R4…R10-R1-R3…-R9,为了顺序执行,就需要每次旋转,以此类推,因为每次磁道都不是顺序停留在想要的位置上。
  • 3 R0读取时间+3 R0执行时间+(10 * 3 旋转一次等待时间+3 读取时间+3 执行时间)* 10 旋转10次才能都读取完=6+36*10=366
  • 优化逻辑记录间隔存放R0-R2-R4…-R9,结果就是(3+3)*11=66

某系统中磁盘的磁道数为200 (0~199),磁头当前在184号磁道上。用户进程提出的磁盘访问请求对应的磁道号依次为184、187、176、182、199。若采用最短寻道时间优先调度算法 (SSTF) 完成磁盘访问,则磁头移动的距离(磁道数)是( )。

最近排序是:184-182-187-176-199(187对比176和199分别距离是11和12),计算 |184-184|+|182-184|+|187-182|+|176-187|+|199-176|=0+2+5+11+23=41

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

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

相关文章

C++相关概念和易错语法(3)(类的声明和定义、空指针分析、this指针)

1.类的声明和定义 注意类的声明和定义分离的时候,在定义处要使用域作用限定符,否则函数声明链接时的定位不到函数的定义。 这些成员变量、函数的作用于这个类域,将功能集成在一起,这体现出封装的思想。 在区分类的定义和声明时&…

Vue3_2024_7天【回顾上篇watch常见的后两种场景】___续

Vue3中监听多条数据的两种使用 1.watch【使用上一章写法,监听两个属性,然后执行相应操作…】 2.watchEffect【相对于使用watch,watchEffect默认页面初始加载,有点类似加配置:立即执行 immediate】 代码: …

这个故事有点长 - 东方绿舟

这个故事有点长 - 东方绿舟 这个地方很大,游玩一天是没有问题。东方绿舟的1号门入口处,是一个人工瀑布,上边写着东方绿舟几个大字。远远看去,这个瀑布非常壮观,水的流淌让人感到凉爽,很适合在那里拍照打卡。…

使用注意力机制的 LSTM 彻底改变时间序列预测

目录 一、说明二、LSTM 和注意力机制简介三、为什么要将 LSTM 与时间序列注意力相结合?四、模型架构训练与评估 五、验证六、计算指标七、结论 一、说明 在时间序列预测领域,对更准确、更高效的模型的追求始终存在。深度学习的应用为该领域的重大进步铺…

喜讯 ChatGPT 3.5 免登录|免注册就可以使用了

https://chat.openai.com/ 直接访问openai 官网直接使用,当然还是要魔法的,不用再去用别人二次开发的,还有次数限制,还有开会员😅才能用的。😀试用啦一下,基本秒回答,能力也是在线的…

【Python】无法将“pip”项识别为 cmdlet、函数、脚本文件或可运行程序的名称解决方案

【Python】无法将“pip”项识别为 cmdlet、函数、脚本文件或可运行程序的名称解决方案 大家好 我是寸铁👊 总结了一篇【Python】无法将“pip”项识别为 cmdlet、函数、脚本文件或可运行程序的名称解决方案✨ 喜欢的小伙伴可以点点关注 💝 前言 今天寸铁…

渗透测试练习题解析 5(CTF web)

1、[安洵杯 2019]easy_serialize_php 1 考点:PHP 反序列化逃逸 变量覆盖 【代码审计】 通过 GET 的方式获取参数 f 的值,传递给变量 function 定义一个过滤函数,过滤掉特定字符(用空字符替换) 下面的代码其实没什么用…

【Java】jdk1.8 Java代理模式,Jdk动态代理讲解(非常详细,附带class文件)

📝个人主页:哈__ 期待您的关注 一、什么是代理模式 想要学代理模式,我们就要先弄清一个概念“什么是代理”? 在我们的现实生活中,你或许不少听过关于代理的名词,如:代理商。那什么又叫做代理…

Rust---复合数据类型之结构体

目录 结构体的使用输出结果 结构体简化创建结构体更新语法元组结构体单元结构体(unit struct)结构体中的引用使用#[derive(Debug)]再次介绍 代码综合展示 与元组不同的是,结构体可以为内部的每个字段起一个富有含义的名称,因此无需…

【74LS191/48为可预置的四位二进制加/减法计数器3-9循环显示】2022-3-19

缘由我有电路原理图,想用proteus仿真,但是数码管不亮-嵌入式-CSDN问答 74LS191为可预置的四位二进制加/减法计数器 74ls191引脚功用 RCO进位/借位输出端 MAX/MIN进位/借位输出端 CTEN计数操控端 QA-QD计数输出端 U/D计数操控端 CLK时钟输入端 LO…

10-用PySpark建立第一个Spark RDD

目录 RDD概念RDD特点建立RDD的方式不同工具建立RDD的方式使用PySpark Shell(交互环境)建立RDD使用VSCode编程建立RDD使用Jupyter Notebook建立RDD 总结 PySpark实战笔记系列第一篇 RDD概念 Apache Spark的核心组件的基础是RDD。所谓的RDD,即弹性分布式数据集&#…

Linux 关闭防火墙命令(新手)

关闭防火墙 查看防火墙状态 systemctl status firewalld.service 临时关闭防火墙(重启失效) systemctl stop firewalld.service 永久关闭防火墙 systemctl disable firewalld.servicesudo systemctl enable firewalld,这种方式输入命令…

施耐德 Unity Pro PLC 编程软件介绍

Unity Pro 软件基本介绍 Unity Pro 是施耐德中大型 PLC 的编程软件&#xff08;<–> 对应西门子 Step7&#xff09; 支持的 PLC&#xff1a;施耐德中大型 PLC 中型 PLC&#xff1a;Premium、M340&#xff08;<–> 对应西门子 S7-300、S7-1200&#xff09;大型 PL…

【C++】探索C++中的类与对象(上)

​​ &#x1f331;博客主页&#xff1a;青竹雾色间. &#x1f618;博客制作不易欢迎各位&#x1f44d;点赞⭐收藏➕关注 ✨人生如寄&#xff0c;多忧何为 ✨ C是一种强大的编程语言&#xff0c;其面向对象的特性使得代码结构更加清晰、易于维护和扩展。在C中&#xff0c;类与…

Day83:服务攻防-开发组件安全JacksonFastJson各版本XStreamCVE环境复现

目录 J2EE-组件Jackson-本地demo&CVE 代码执行 (CVE-2020-8840) 代码执行 (CVE-2020-35728&#xff09; J2EE-组件FastJson-本地demo&CVE FastJson < 1.2.24 FastJson < 1.2.47 FastJson < 1.2.80 (利用条件比较苛刻) J2EE-组件XStream-靶场&CVE …

高度不同的流体瀑布css实现方法

商城商品列表 实现瀑布流展示&#xff0c;通过flex或grid实现会导致每行中的列高度一致&#xff0c;无法达到错落有致的感觉&#xff1b; 为此需要用到&#xff1a; CSS columns 属性 columns 属性是一个简写属性&#xff0c;用于设置列宽和列数。 CSS 语法 columns: column-wi…

字节新作:图像生成质量超越DiT

&#x1f31f;每日更新最新高质量论文&#xff0c;关注我&#xff0c;时刻关注最新大模型进展。&#x1f31f; &#x1f4cc; 元数据概览&#xff1a; 标题&#xff1a;Visual Autoregressive Modeling: Scalable Image Generation via Next-Scale Prediction作者&#xff1a…

算法设计与分析实验报告java实现(排序算法、三壶谜题、交替放置的碟子、带锁的门)

一、 实验目的 1&#xff0e;加深学生对算法设计方法的基本思想、基本步骤、基本方法的理解与掌握&#xff1b; 2&#xff0e;提高学生利用课堂所学知识解决实际问题的能力&#xff1b; 3&#xff0e;提高学生综合应用所学知识解决实际问题的能力。 二、实验任务 1、排序算法…

【随笔】Git 高级篇 -- 相对引用2(十三)

&#x1f48c; 所属专栏&#xff1a;【Git】 &#x1f600; 作  者&#xff1a;我是夜阑的狗&#x1f436; &#x1f680; 个人简介&#xff1a;一个正在努力学技术的CV工程师&#xff0c;专注基础和实战分享 &#xff0c;欢迎咨询&#xff01; &#x1f496; 欢迎大…

4.4C++

1 #include <iostream> #include <cmath> using namespace std; class A{ private:int a;// 判断一个数是否为质数bool isP(int num) {if (num<2) return false;for (int i2;i<sqrt(num);i) {if (num % i 0) {return false;}}return true;} public:// 构造…