当前位置: 首页 > news >正文

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

第一章

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

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

计算机硬件:包括主机和外设,主机包括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的数据线数时,存储芯片就要进行位扩展

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

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

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

相关文章:

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

第一章 计算机的基本组成:硬件软件(程序)计算机系统 软件有系统软件(系统管理工具),应用软件 计算机硬件:包括主机和外设,主机包括CPU和内存,***CPU由运算器和控制器所组…...

从0到1部署Tomcat和添加servlet(IDEA2024最新版详细教程)

本文不仅细化了每一个步骤,实现了从0到1部署Tomcat和添加servlet。还针对IDEA2024版和以前的版本在部署上的区别,做了详细介绍,尤其是add framework support部分。与此同时,针对控制台中文乱码问题,本文也给出了详细解…...

【Java从入门到放弃 之 Java程序基础】

Java程序基础 Java程序基础基本数据类型和变量数据类型变量赋值基本运算算术运算比较运算逻辑运算 Java程序基础 基本数据类型和变量 数据类型 对Java语言而言,有如下基本数据类型。 整数类型:有4种整型byte/short/int/long,它们占用的字…...

2024年11月26日Github流行趋势

项目名称:v2rayN 项目维护者:2dust yfdyh000 CGQAQ ShiinaRinne Lemonawa 项目介绍:一个支持Xray核心及其他功能的Windows和Linux图形用户界面客户端。 项目star数:70,383 项目fork数:11,602 项目名称:fre…...

相亲交友小程序项目介绍

一、项目背景 在当今快节奏的社会生活中,人们忙于工作和事业,社交圈子相对狭窄,寻找合适的恋爱对象变得愈发困难。相亲交友作为一种传统而有效的社交方式,在现代社会依然有着巨大的需求。我们的相亲交友项目旨在为广大单身人士提…...

使用ENSP实现默认路由

一、项目拓扑 二、项目实现 1.路由器AR1配置 进入系统试图 sys将路由器命名为R1 sysname R1关闭信息中心 undo info-center enable 进入g0/0/0接口 int g0/0/0将g0/0/0接口IP地址配置为2.2.2.1/24 ip address 2.2.2.1 24进入g0/0/1接口 int g0/0/1将g0/0/1接口IP地址配置为1.…...

CSGO游戏搬砖党如何应对上海Major

大家最近都关注major比赛了吗?目前已经有不少顶尖CSGO战队来到了上海,备战即将到来的2024上海Major赛。本次比赛正赛将于11月30日开打,欧洲、美洲和亚太地区的24支顶尖战队通过两周的角逐,包括揭幕赛、淘汰赛以及决赛三种&#xf…...

【人工智能】AutoML自动化机器学习模型构建与优化:使用Auto-sklearn与TPOT的实战指南

解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 机器学习模型的构建和优化是一个复杂且耗时的过程,涉及特征工程、模型选择、超参数调优等多个环节。AutoML(Automated Machine Learning)旨在通过自动化的方式来简化这些流程,提高开发效率并提升模型表现。Au…...

go-zero(八) 中间件的使用

go-zero 中间件 一、中间件介绍 中间件(Middleware)是一个在请求和响应处理之间插入的程序或者函数,它可以用来处理、修改或者监控 HTTP 请求和响应的各个方面。 1.中间件的核心概念 请求拦截:中间件能够在请求到达目标处理器之…...

vim 如何高亮/取消高亮

高亮 :在ESC模式下使用 shift # 取消高亮:在ESC模式下输入英文输入 :nohl (no highlight)...

蓝桥杯练习题

目录 1.劲舞团 2.数字诗意 3.封闭图形个数 4.回文数组 欢迎 1.劲舞团 0劲舞团 - 蓝桥云课 #include <iostream> using namespace std; int main() {int num1,M0;long long c[1000000];int cnt0;string a,b ;while(cin>>a>>b>>c[cnt])//系统自动输入…...

【设计模式】创建型模式之单例模式(饿汉式 懒汉式 Golang实现)

定义 一个类只允许创建一个对象或实例&#xff0c;而且自行实例化并向整个系统提供该实例&#xff0c;这个类就是一个单例类&#xff0c;它提供全局访问的方法。这种设计模式叫单例设计模式&#xff0c;简称单例模式。 单例模式的要点&#xff1a; 某个类只能有一个实例必须…...

使用 Docker Compose 来编排部署LMTNR项目

使用 Docker Compose 来部署一个包含 Linux、MySQL、Tomcat、Nginx 和 Redis 的完整项目的例子。假设我们要部署一个简单的 Java Web 应用&#xff0c;并且使用 Nginx 作为反向代理服务器。 项目目录结构 首先需要确保 Docker 和docker-compose已经安装并正在运行。docker --v…...

创建HTTPS网站

每天&#xff0c;我们都会听到网络上发生身份盗窃和数据侵权的案例&#xff0c;这导致用户对自己访问的网站更加怀疑。他们开始更加了解自己将个人信息放在哪里以及信任哪些类型的网站。了解如何使网站使用HTTPS变得比以往任何时候都更加重要。 解读缩略词&#xff1a;HTTP与HT…...

以3D数字人AI产品赋能教育培训人才发展,魔珐科技亮相AI+教育创新与人才发展大会

11月20日&#xff0c;北京中关村国际创新中心迎来了“AI教育创新与人才发展大会暨首届北京数字人才发展大会”的盛大启幕。此次大会汇聚了培训、教育、科技、人才领域的专家学者、行业领袖及企业代表&#xff0c;共同探讨人工智能技术在教育培训领域的革新应用与数字人才培养体…...

springboot配置https,并使用wss

学习链接 springboot如何将http转https SpringBoot配置HTTPS及开发调试 Tomcat8.5配置https和SpringBoot配置https 可借鉴的参考&#xff1a; springboot如何配置ssl支持httpsSpringBoot配置HTTPS及开发调试的操作方法springboot实现的https单向认证和双向认证(java生成证…...

Qt SQL模块概述

Qt SQL支持的数据库 要在项目中使用 Qt SQL 模块&#xff0c;需要在项目配置文件中添加下面一条设置语句&#xff1a; Qt sql在头文件或源文件中使用 Qt SQL 模块中的类&#xff0c;可以使用包含语句&#xff1a; #include <QtSql>这样会将某个 Qt SQL 模块中的所有类…...

JavaWeb后端开发知识储备2

目录 1.HttpClient 2.微信小程序开发 3.Spring Cache 4.Spring Task 4.1cron表达式 4.2入门案例 5.WebSocket协议 1.HttpClient 简单来说&#xff0c;HttpClient可以通过编码的方式在Java中发送Http请求 2.微信小程序开发 微信小程序的开发本质上是前端开发&#xff0…...

RabbitMQ原理架构解析:消息传递的核心机制

文章目录 一、RabbitMQ简介1.1、概述1.2、特性 二、RabbitMQ原理架构三、RabbitMQ应用场景3.1、简单模式3.2、工作模式3.3、发布订阅3.4、路由模式3.5 主题订阅模式 四、同类中间件对比五、RabbitMQ部署5.1、单机部署5.2、集群部署&#xff08;镜像模式&#xff09;5.3、K8s部署…...

redmi 12c 刷机

刷机历程 一个多月前网购了redmi 12c这款手机, 价格只有550,用来搞机再适合不过了, 拆快递后就开始倒腾,网上有人说需要等7天才能解锁,我绑定了账号过了几天又忍不住倒腾,最后发现这块手机不用等7天解锁成功了,开始我为了获取root权限, 刷入了很火的magisk,但是某一天仍然发现/…...

树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法

树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作&#xff0c;无需更改相机配置。但是&#xff0c;一…...

(十)学生端搭建

本次旨在将之前的已完成的部分功能进行拼装到学生端&#xff0c;同时完善学生端的构建。本次工作主要包括&#xff1a; 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...

大模型多显卡多服务器并行计算方法与实践指南

一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...

QT: `long long` 类型转换为 `QString` 2025.6.5

在 Qt 中&#xff0c;将 long long 类型转换为 QString 可以通过以下两种常用方法实现&#xff1a; 方法 1&#xff1a;使用 QString::number() 直接调用 QString 的静态方法 number()&#xff0c;将数值转换为字符串&#xff1a; long long value 1234567890123456789LL; …...

高防服务器能够抵御哪些网络攻击呢?

高防服务器作为一种有着高度防御能力的服务器&#xff0c;可以帮助网站应对分布式拒绝服务攻击&#xff0c;有效识别和清理一些恶意的网络流量&#xff0c;为用户提供安全且稳定的网络环境&#xff0c;那么&#xff0c;高防服务器一般都可以抵御哪些网络攻击呢&#xff1f;下面…...

什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南

文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/55aefaea8a9f477e86d065227851fe3d.pn…...

MySQL 知识小结(一)

一、my.cnf配置详解 我们知道安装MySQL有两种方式来安装咱们的MySQL数据库&#xff0c;分别是二进制安装编译数据库或者使用三方yum来进行安装,第三方yum的安装相对于二进制压缩包的安装更快捷&#xff0c;但是文件存放起来数据比较冗余&#xff0c;用二进制能够更好管理咱们M…...

windows系统MySQL安装文档

概览&#xff1a;本文讨论了MySQL的安装、使用过程中涉及的解压、配置、初始化、注册服务、启动、修改密码、登录、退出以及卸载等相关内容&#xff0c;为学习者提供全面的操作指导。关键要点包括&#xff1a; 解压 &#xff1a;下载完成后解压压缩包&#xff0c;得到MySQL 8.…...

Qt 事件处理中 return 的深入解析

Qt 事件处理中 return 的深入解析 在 Qt 事件处理中&#xff0c;return 语句的使用是另一个关键概念&#xff0c;它与 event->accept()/event->ignore() 密切相关但作用不同。让我们详细分析一下它们之间的关系和工作原理。 核心区别&#xff1a;不同层级的事件处理 方…...

HybridVLA——让单一LLM同时具备扩散和自回归动作预测能力:训练时既扩散也回归,但推理时则扩散

前言 如上一篇文章《dexcap升级版之DexWild》中的前言部分所说&#xff0c;在叠衣服的过程中&#xff0c;我会带着团队对比各种模型、方法、策略&#xff0c;毕竟针对各个场景始终寻找更优的解决方案&#xff0c;是我个人和我司「七月在线」的职责之一 且个人认为&#xff0c…...