(计算机组成原理)期末复习

news2024/11/27 15:56:56

第一章

计算机的基本组成:硬件+软件(程序)=计算机系统

软件有系统软件(系统管理工具),应用软件

计算机硬件:包括主机和外设,主机包括CPU和内存,***CPU由运算器和控制器所组成。

CPU又叫做中央处理器,能够进行运算和控制

程序要想运行起来,就必须将其放入内存中,因为CPU只能访问到内存的程序和数据;

但是这里就存在一种问题,就是CPU的运行速度很快,但是内存的运行速度又很慢,这种差异就会使一方的效率下降了;CPU需要等待内存传输数据程序和指令,CPU的运行效率就会下降;

这里的cache不是用来扩充容量的,这里的cache相当于一个手抓包,把需要的东西放进去,使得速度得以提升,解决了CPU和内存的速度不匹配的问题

这里的内存是包括cache和主存的;

外设指的是除了主机之外的所有的设备,我们将他称为外围设备;

无论是内存还是外存,我们都叫他们是存储器,存储器就是用来存放程序和设备的东西

这里外存的速度比内存慢100倍左右,但是容量要比内存大的多

内存32,外存512

平常下载的游戏是先放到外存,需要的时候调入内存,才能跑起来

根据存储的级别是不同的,这里分为二级存储系统(内存和外存)和三级存储系统(cache,主存,辅存)

外存和辅存说的是一个东西

奠定现代计算机硬件结构的基础:

冯诺依曼机包含五大功能部件:运算器,控制器,存储器,输入设备,输出设备*******!!

运算器是进行加减乘除之类的算术运算,控制器是对计算机进行控制的,存储器是用来存放程序和数据的,输入设备是鼠标键盘和手写板,输出设备是显示屏,音箱和打印机

冯诺依曼计算机的特点:指令和数据是不加以区别的混合存储在同一存储器中的(主要区别于哈佛计算机指令和数据是完全分开存储的)

系统软件是其他软件的支撑性软件,

机器字长

我们通常所说的32位,64位,就是计算机一次性所能计算的位数是多少;

机器字长越长,计算的精度越高;

机器字长的大小通常和CPU内部寄存器的大小是一样的。

CPU的内部寄存器的通常是放置一些从内存取出来马上要用到的数据,或者是对计算机能控制的数据。

运算速度

计算机运算的快不快?我们通通常是看主频(主频是CPU内数字脉冲信号震荡的速度,震荡速度越快,计算机的运行速度越快)

CPU的速度

 程序:是由很多条代码组成的,程序的多条代码会被计算机翻译成0101这样的二进制数组成的指令,这样的过程我们叫做编译的过程,所以可以说,一个程序是包含多条指令的;

CPU的第一个指标叫做CPI,也就是执行一条指令需要的平均时钟周期

影响CPU速度的第三个指标是MIPS

吞吐量和响应时间,吞吐量越高,计算机的性能越高

 主存容量和主存带宽

主存储量就是主存储器所能存储的二进制数据的位数

16G的内存说的就是二进制所能存放的位数是16GB

容量越大,能够记忆的二进制数就越多;

P5

第二章 总线

总线概述

所有的外设信息都要传输给内存,所以外设和内存是有连接通路的

内存中的程序要想跑起来,就必须放到CPU当中去,所以内存和CPU之间也必须要有一个链接通路;

外设和外设之间也要互相传输信息,所以外设和外设之间也是需要通路的

如图所示线之间又是太乱了,用一个总线将所有的部件全部连接起来,所有的部件都连接在总线上

总线是构成计算机系统的互联机构

这里借助于总线连接,计算机在各系统功能部件之间实现地址、数据和控制信息的交换,并在争用资源的基础上进行工作 

数据就是程序处理时对应的数据信息,控制信息就是传输计算机什么时候做什么事情的信号信息·

总线就是一个公共的通路,各个部件之间想要传输信息来进行工作,就必须要争抢到总线的控制权,谁抢到总线的控制权,谁就能控制总线进行传输信息

使用总线结构并不会增加或者减少信息的传输量,应是传输多少信息就传输多少信息

使用总线需要数据信息和地址信息分时传送,不可以同时传送,一次只能有一个设备去控制总线来传输一组信息

使用总线结构也并不会提高信息的传输速度,线路还是一样的线路,总线还是一样的总线,只不过是改变了连接方式,从全互联变成了公共通路

使用总线结构可以减少信息传输线的条数

之前使用的全互联,线路非常多而且非常乱

****总线的特性:

机械特性,又叫物理特性,就是能看到长什么样子

对于总线,按照数据的传输格式,分为串行总线和并行总线,按照时序控制方式,分为同步总线和异步总线

总线根据连接的部件不同,分为三种,分为片内总线,系统总线,通信总线***

片内总线是连接CPU内部的总线,系统总线是连接计算机功能部件的总线(连接CPU,内存和多个外设),通信总线是连接计算机和其他设备之间的总线

三种总线之间最主要的区别就是连接的部件是不同的

根据系统总线功能的不同,分为三种:数据总线,地址总线,控制总线;***功能作用也是非常重要的

数据总线:传输数据,地址总线:传输地址,控制总线:传输控制信号和时序信号(控制什么,什么时候控制)

总线宽度:数据线的根数,如32根数据线,那么总线就是32位,表示的是该总线能够一次并行传送32bit数据,没有先后顺序的去传输,叫做并行传输

总线带宽:总线传输速率(总线每秒能传输多少数值),后来表述为总线每秒能传输多少字节的数据

每个时钟周期传送两次数据:一次数据传送半个时钟周期0.5T

总线结构:单总线结构,双总线结构,多总线结构

单总线结构:

单总线结构的使用效率较高   

双总线结构就是在CPU和内存这样高速的设备之间又加了一条更快的一条总线:来实现CPU和内存之间的数据传输

三总线结构:在外设这样的低速设备之间再加上一根慢速的总线,再通过一根特殊的硬件专门管理数据的输出

多总线系统结构--提高系统的吞吐量

从总线的利用率来看:三总线的利用率是最低的,因为总线的资源是比较多的,在某一时刻某一根总线是没有使用的,但是从整个系统的吞吐量来看是效率最高的,因为在单位时间内能传输的字节数是比较多的。

总线仲裁

 主设备可以启动一个总线周期,而从设备只能响应主方请求

CPU就是常见的主设备 内存就是常见的从设备 外设既可以做主设备,也可以做从设备

每次总线操作,只能有一个主设备,但可以有多个从设备

想要传输数据,就必须获得总线的控制权,谁抢到总线的控制权,谁就是主设备

总线仲裁用来判断谁可以优先成为主设备(总线控制器,总线系统的核心)

按照总线仲裁电路的位置不同,仲裁方式分为集中式和分布式两种***

集中式都会有一个中央仲裁器,采用不同的仲裁方法,判断哪个设备能优先获得控制权

而分布式是没有中央仲裁器的,每一个部件会自己去争取,谁赢了谁就会获得总线控制权

集中式有三种常见的优先权仲裁方式:***

对于链式查询方式:

包含一个BS线,表示的是总线忙(当值为1的时候,代表总线是被占用的)

BR为总线请求线,设备想要使用总线的时候,就会通过总线请求线发出想要使用总线的请求信号

BG线为总线授权线,用来发出授权信号,来告诉设备谁有总线的授权

总线授权线BG是从0开始,谁离中央仲裁器近谁就能获得总线控制权

总线控制的线数量少,只有三条

容易扩充设备:总线只有三条,BG线直接串联设备,要想多加几个设备接口非常容易

因为是串联起来的,所以线断的时候,后面的所有设备都没有机会去控制总线了

(链式查询方式对电路故障最敏感--串联)

而且他的优先级是固定不变的,靠近中央仲裁器的就是优先级最高的,离的最远就是优先级最低的 如果前面的总是先优先获得总线控制权,那么后面的就没有机会

计数器定时查询:没有总线授权线

总线仲裁器可以把他看成一个计数器,设备1~n发出总线请求,此时,计数器就会开始计数

通过设备地址线把这个数发给各个设备,和各个设备的设备号去完成匹配,当请求使用总线成功,就会发出总线忙的信号,BS的值为1

计数器更加灵活改变优先次序

独立请求方式:

线比较多,每一根线都有独立的请求线BR和总线授权线BG 

将总线仲裁器当成是排队器

总线定时(通信)控制

为什么需要控制?因为计算机在各个功能部件和设备的速度都不太一样,所以在总线上进行传输时,就需要在时间上的配合和在动作的协调问题

采用同步方式--叫做同步总线  采用异步方式--叫做异步总线

同步方式:

时间上配合的方式,同步方式规定的时长是一样的(截止时间都一样)

这样是有局限性的,只是是用于速度都差不多的情况下

两个设备的通信时间是由总线时钟信号来决定的

同步方式的总线周期长度是固定的

统一时钟规定发送和接收的信息的时间,具有较高的传输频率

如果设备的速度差异太大,整体的效率也会大大的降低,同步方式只适用于总线长度较短的情况下

适用于总线速度较快的:例如CPU内部总线,处理器总线

必须适应在总线上最慢部件的需要,最慢部件传输数据的时间来确定传输一次数据所用时间周期的长度

若只用时间来控制,那么就没有相互响应的一个过程,就不知道每一个步骤的完成情况,所以可靠性就比较低

异步方式:动作上的协调来去通信控制,这个不需要统一的公共时钟信号,依靠双方相互制约的应答信号或者互锁协议来实现通信(可靠性较高),部件之间传输时间是可变的

总线周期长度可变,没有要求的截止时间规定数据什么时间传输完成

异步方式是以增加总线的复杂性和成本为代价

异步方式的握手原则:

握手:主设备和从设备进行交互的时候产生握手

主设备会向从设备发出请求信号,从设备收到请求信号会回答主设备的请求,这样叫做一次握手

关于请求和回答信号的撤销是否互锁分为三种情况:不互锁,半互锁,全互锁,三个异步握手原则

(1)不互锁:请求不回就撤回  回了请求自己撤(不会等对方去确认)

主设备想要开始发信息的时候,开始发出请求信号,这时候主设备不管从设备是否收到请求信号,经过一段时间就把这个请求自己撤销掉了

从设备接收到主设备的请求信号之后,直接给主信号发出回答信号,一段时间自认为主设备收到回答信号之后,直接把回答信号给取消掉

其中,两者自主撤销自己的信号都是由自己所决定的,并不会受到对方的约束,这样的方式叫做不互锁的握手方式

(2)半互锁:请求回了才撤回 回了请求自己撤

主设备发送请求信号,必须等待从设备的回答信号,才能够撤销请求信号,但是对于从设备的回答来说,和不互锁一样,自认为主设备已经接收到,直接把回答信号给撤销掉

主设备的请求撤销,是被从设备的回答信号锁住的,从设备的回答信号又没有被锁上,这种方式叫做半互锁方式

(3)全互锁:请求回了才撤回 回在确认之后撤

主设备发出的请求必须等到从设备的回答信号才能去撤销自己的请求信号,从设备想要撤销发给主设备的回答信号必须等到主设备的确认,并且收到主设备的确认信号之后才可以去撤销回答信号,这个过程也是被主设备锁住的,信号均被对方锁住,因此成为全互锁

全互锁的可靠性是最高的,但是耗时也是最长的

半同步方式:(同步方式和异步方式相结合的方式)

总体采用同步的方式,有同步时钟来控制做什么事情,但是和同步方式不同之处在于其增加了一根信号线来进行握手-- (发送信号的回答和请求),传输周期可以是不一样的。

在这个过程中,如果从设备回答时钟的响应较慢的话,会增加时钟周期(拉长传输速率的时间)

半同步方式就是速度不一致时,通过握手适当延长总线周期。

第三章 存储器

存储器的层次结构

存储器可以包含:cache 主存 外存

外存有磁盘光盘和磁带

二级存储系统没有cache,只包含内存和外存;

内存和外存都是用来存储计算机程序和数据的部件,CPU可以直接读取内存,不能之间读取外存。

三级存储器系统加入了cache超速缓存存储系统

cache的作用就是使主存存取速度和CPU运算速度相匹配

主存 

存储器中是以存储单元为单位进行存储的,一个存储单元可以存取很多bit的单位

存放一个字节(1B=8bit)的单元,相应的地址成为字节地址(字节存储单元)

一个字可以是有多个字节组成的

存放两个机器字的存储单元,相应的单元地址叫做双字地址;

每一个存储单元都对应地址

(表示CPU的寻址范围是4,大小就是4*8=32bit)

1M就是10的六次方,8位是一个字节

按字编址,字为32位,所以就是每32位一个地址,32bit=4B

存取周期有操作时间+操作后线路的恢复时间

RAM支持随机读写,是随机读写存储器

主存储器与CPU的连接

 主存储器通过数据总线,地址总线和控制总线和CPU相连接

地址总线的位数决定了可寻址的最大内存空间

通过地址总线,CPU把地址传递给主存(单向),主存无法给

通过数据总线,CPU和主存相互交换信息(双向)

对存储芯片进行扩充来满足存储要求,在字和位两方面进行扩充

字就是实际的寻址单元个数  位就是对应多少bit,也就是多少个二进制位

存储芯片的数据位数小于CPU的数据线数时,存储芯片就要进行位扩展

字扩展法是指增加存储器中的字的数量,但是位数不变,扩展的是存储空间数

程序的局部性原理:时间局部性和空间局部性

高速缓存就使用程序的局部性原理

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

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

相关文章

UEFI 中的 Protocol

Protocol 在 UEFI 内核中的表示 typedef VOID *EFI_HANDLE;EFI_HANDLE是指向某种对象的指针,UEFI 用它来表示某个对象。 UEFI 扫描总线后,会为每个设备建立一个 Controller 对象,用于控制设备,所有该设备的驱动以 Protocol 的形式…

量子安全与经典密码学:一些现实方面的讨论

量子安全与经典密码学 背景:量子安全与经典密码学量子计算对传统密码学的威胁 安全性分析经典密码学的数学复杂性假设**量子密码学的物理不可克隆性假设** **性能与实现难度**后量子算法在经典计算机上的运行效率**量子通信设备的技术要求与成本** **可扩展性与适用…

【大模型】LLaMA-Factory的环境配置、微调模型与测试

前言 【一些闲扯】 时常和朋友闲聊,时代发展这么快,在时代的洪流下,我们个人能抓住些什么呢。我问了大模型,文心一言是这样回答的: 在快速发展的时代背景下,个人确实面临着诸多挑战,但同时也充满…

PostgreSQL的学习心得和知识总结(一百五十八)|在线调优工具pgtune的实现原理和源码解析

目录结构 注:提前言明 本文借鉴了以下博主、书籍或网站的内容,其列表如下: 1、参考书籍:《PostgreSQL数据库内核分析》 2、参考书籍:《数据库事务处理的艺术:事务管理与并发控制》 3、PostgreSQL数据库仓库…

汽车渲染领域:Blender 和 UE5 哪款更适用?两者区别?

在汽车渲染领域,选择合适的工具对于实现高质量的视觉效果至关重要。Blender和UE5(Unreal Engine 5)作为两大主流3D软件,各自在渲染动画方面有着显著的差异。本文将从核心定位与用途、工作流程、渲染技术和灵活性、后期处理与合成四…

机器学习—迁移学习:使用其他任务中的数据

对于一个没有那么多数据的应用程序,迁移学习是一种奇妙的技术,它允许你使用来自不同任务的数据来帮助你的应用程序,迁移学习是如何工作的? 以下是迁移学习的工作原理,假设你想识别手写的数字0到9,但是你没…

LeetCode 3206.交替组 I:遍历

【LetMeFly】3206.交替组 I:遍历 力扣题目链接:https://leetcode.cn/problems/alternating-groups-i/ 给你一个整数数组 colors ,它表示一个由红色和蓝色瓷砖组成的环,第 i 块瓷砖的颜色为 colors[i] : colors[i] …

如何通过高效的缓存策略无缝加速湖仓查询

引言 本文将探讨如何利用开源项目 StarRocks 的缓存策略来加速湖仓查询,为企业提供更快速、更灵活的数据分析能力。作为 StarRocks 社区的主要贡献者和商业化公司,镜舟科技深度参与 StarRocks 项目开发,也为企业着手构建湖仓架构提供更多参考…

25A物联网微型断路器 智慧空开1P 2P 3P 4P-安科瑞黄安南

微型断路器,作为现代电气系统中不可或缺的重要组件,在保障电路安全与稳定运行方面发挥着关键作用。从其工作原理来看,微型断路器通过感知电流的异常变化来迅速作出响应。当电路中的电流超过预设的安全阈值时,其内部的电磁感应装置…

目标检测,图像分割,超分辨率重建

目标检测和图像分割 目标检测和图像分割是计算机视觉中的两个不同任务,它们的输出形式也有所不同。下面我将分别介绍这两个任务的输出。图像分割又可以分为:语义分割、实例分割、全景分割。 语义分割(Semantic Segmentation)&…

16 —— Webpack多页面打包

需求&#xff1a;把 黑马头条登陆页面-内容页面 一起引入打包使用 步骤&#xff1a; 准备源码&#xff08;html、css、js&#xff09;放入相应位置&#xff0c;并改用模块化语法导出 原始content.html代码 <!DOCTYPE html> <html lang"en"><head&…

《PH47 快速开发教程》发布

PDF 教程下载位于CSDN资源栏目&#xff08;网页版本文上方&#xff09; 或Gitee&#xff1a;document ss15/PH47 - 码云 - 开源中国

腾讯云OCR车牌识别实践:从图片上传到车牌识别

在当今智能化和自动化的浪潮中&#xff0c;车牌识别&#xff08;LPR&#xff09;技术已经广泛应用于交通管理、智能停车、自动收费等多个场景。腾讯云OCR车牌识别服务凭借其高效、精准的识别能力&#xff0c;为开发者提供了强大的技术支持。本文将介绍如何利用腾讯云OCR车牌识别…

C++ 优先算法 —— 无重复字符的最长子串(滑动窗口)

目录 题目&#xff1a; 无重复字符的最长子串 1. 题目解析 2. 算法原理 Ⅰ. 暴力枚举 Ⅱ. 滑动窗口&#xff08;同向双指针&#xff09; 3. 代码实现 Ⅰ. 暴力枚举 Ⅱ. 滑动窗口 题目&#xff1a; 无重复字符的最长子串 1. 题目解析 题目截图&#xff1a; 此题所说的…

[网安靶场] [更新中] UPLOAD LABS —— 靶场笔记合集

GitHub - c0ny1/upload-labs: 一个想帮你总结所有类型的上传漏洞的靶场一个想帮你总结所有类型的上传漏洞的靶场. Contribute to c0ny1/upload-labs development by creating an account on GitHub.https://github.com/c0ny1/upload-labs 0x01&#xff1a;UPLOAD LABS 靶场初识…

安装python拓展库pyquery相关问题

我采用的是离线whl文件安装, 从官方库地址: https://pypi.org/, 下载whl文件, 然后在本地电脑上执行pip install whl路径文件名.whl 但是在运行时报错如下图 大体看了看, 先是说了说找到了合适的 lxml>2.1, 在我的python库路径中, 然后我去看了看我的lxml版本, 是4.8.0, 对…

春秋云境 CVE 复现

CVE-2022-4230 靶标介绍 WP Statistics WordPress 插件13.2.9之前的版本不会转义参数&#xff0c;这可能允许经过身份验证的用户执行 SQL 注入攻击。默认情况下&#xff0c;具有管理选项功能 (admin) 的用户可以使用受影响的功能&#xff0c;但是该插件有一个设置允许低权限用…

图论入门编程

卡码网刷题链接&#xff1a;98. 所有可达路径 一、题目简述 二、编程demo 方法①邻接矩阵 from collections import defaultdict #简历邻接矩阵 def build_graph(): n, m map(int,input().split()) graph [[0 for _ in range(n1)] for _ in range(n1)]for _ in range(m): …

Jackson库中JsonInclude的使用

简介 JsonInclude是 Jackson 库&#xff08;Java 中用于处理 JSON 数据的流行库&#xff09;中的一个注解。它用于控制在序列化 Java 对象为 JSON 时&#xff0c;哪些属性应该被包含在 JSON 输出中。这个注解提供了多种策略来决定属性的包含与否&#xff0c;帮助减少不必要的数…

鸿蒙学习自由流转与分布式运行环境-价值与架构定义(1)

文章目录 价值与架构定义1、价值2、架构定义 随着个人设备数量越来越多&#xff0c;跨多个设备间的交互将成为常态。基于传统 OS 开发跨设备交互的应用程序时&#xff0c;需要解决设备发现、设备认证、设备连接、数据同步等技术难题&#xff0c;不但开发成本高&#xff0c;还存…