二、计算机组成原理与体系结构

(一)数据的表示

不同进制之间的转换

R 进制转十进制使用按权展开法,其具体操作方式为:将 R 进制数的每一位数值用 Rk 形式表示,即幂的底数是 R ,指数为 k ,k 与该位和小数点之间的距离有关。当该位位于小数点左边,k 值是该位和小数点之间数码的个数,而当该位位于小数点右边,k 值是负值,其绝对值是该位和小数点之间数码的个数加 1 。

  • 例如二进制数 10100.01=1x24+0x23+1x22+0x21+0x20+0x2-1+1x2-2=1x24+1x22+1x2-2=20.25

  • 例如七进制数 604.01=6x72+0x71+4x70+0x7-1+1x7-2=6x72+4x70+1x7-2=298.0204081632653

数值之间的转换。

(二)计算机结构

计算机结构中的主机主要包括:CPU、主存储器。 CPU 主要由运算器、控制器两部分组成。

  • 运算器:主要负责运算功能,如加减法。

    • 算术逻辑单元 ALU(Arithmetic and Logic Unit):能实现多组算术运算和逻辑运算的组合逻辑电路;是 CPU 的执行单元,跟运算有关。

    • 累加寄存器 AC:储存运算过程中的一些值,加减法都会用到。

    • 数据缓冲寄存器 DR:对内存储器进行读写操作时,用来暂存数据。

    • 状态条件寄存器 PSW(常考):存储运算过程中的标志位,保存运算的进位、溢出、中断等状态信息。

  • 控制器:控制整个 CPU 的交互功能。

    • 程序计数器 PC:确定下一个待执行的指令的地址。

    • 指令寄存器 IR:。

    • 指令译码器:。

    • 时序部件:。

image

(三)计算机体系结构分类 - Flynn

Flynn 分类法是一种计算机体系结构分类法,分类依据有两个指标:指令流、数据流,两者都有单、双之分,即单指令流、多指令流、单数据流、多数据流。

image

(四)CISC 与 RISC

CISC 与 RISC 是两种不同的指令系统,考试中主要出现在选择题中,考察两者的区别,记住图片中的区别即可。

  • CISC 是以前在计算机还没有大规模使用的情况下提出来的指令系统,数量较多,通用性较差。

  • RISC 去掉了复杂的指令,增强了通用性,是目前使用比较广泛的指令集。增加的硬布线逻辑控制可以提高效率。

image

(五)流水线

考试中主要考察计算的问题。

概念

流水线是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术。各种部件同时处理是针对不同指令而言的,它们可同时为多条指令的不同部分进行工作,以提高各部件的利用率和指令的平均执行速度。

image

上图中的取指、分析、执行是由三个不同的部件完成,所以在未使用流水线执行指令的情况下,有大量部件在大量时间是处于空闲状态。比如指令 1 在取指完成后,直到指令 2 的取值前,取指部件都处于空闲状态,分析部件、执行部件也是类似的情况。

流水线的工作就是将这些部件完全利用起来。如指令 1 取指完成后进入分析环节,同时取指部件开始对指令 2 进行取指,以此类推,就可以将部件完全利用起来。流水线广泛应用于工厂生产线中,很大程度的提高了生辰效率。

流水线计算

这部分是考试的重点。

image

在流水线的执行过程中,会分成三个段:取指段、分析段、执行段,而流水线周期则为这三个中执行时间最长的一段所花费的时间。

image

流水线计算公式分为理论公式和实践公式,理论公式是完整的计算第一条指令执行完所需要的时间,而实践公式在计算第一条指令的执行时间时,将每一段的执行时间都按周期计算,其它的则相同。

在考试中,流水线的计算是作为选择题出现的,其答案有百分之八十的情况是用理论公式计算,百分之二十的情况是用实践公式计算。如果选项中有用理论公式计算出来的答案,就选该答案。否则,就选实践公式计算出来的答案。

吞吐率计算

流水线的吞吐率:单位时间内处理任务的数量或输出结果的数量。

image

image

在上题中,指令条数为 100 条,流水线执行时间为 203ns,则流水线的吞吐率为:100/203=0.493 。

加速比计算

流水线的加速比:完成同一批任务,不适用流水线所用的时间与使用流水线所用的时间的比值。

image

image

在上面的例题中,不适用流水线所用的时间为(2+2+1)x100=500ns,使用流水线所用的时间为 203ns,则流水线的加速比为:500ns/203ns=2.463 。加速比越高,说明使用流水线产生的效果越好。所以对于流水线来讲,加速比越高越好。

效率计算

流水线的效率:在时空图中,流水线利用起来的时间片与整个时间片的比值。流水线的效率是为了设计出效率更高的流水线,那么什么样的流水线效率最高呢?是每一个工作段的时间都接近或相等的流水线的效率最高。

image

(六)层次化存储结构

在整个层次化存储结构中,速度最快效率最高的是 CPU 中的寄存器。CPU 中有运算器、控制器,这两者中都有寄存器。寄存器的容量是非常小的,但是速度是非常快的。寄存器在整个存储结构中,是属于最顶层的。

在整个存储结构中,速度最快的往往容量最小,速度最慢的往往容量最大,这是基于性价比设计的。

image

Cache

Cache 是高速缓存存储器,在存储结构中,Cache 不是必需的,可以省略掉,因为 CPU 可以直接与内存进行数据交换。但是缺少 Cache 会导致 CPU 与内存之间的数据交换非常慢,比加上 Cache 大概慢了数百倍。Cache 是按内容存储的,即将相同的内容存储在一块区域中,读取的时候也是按内容来取。按内容存取的存储器又叫相联存储器,它是一种不根据地址而是根据存储内容来进行存取的存储器,可以实现快速地查找快表。相联存储器的速度和效率远高于按地址存取的存储器。

image

寄存器的容量极小,又存在于 CPU 中,所以并不把寄存器当作存储器来看待。所以在计算机的存储系统体系中,Cache 是访问速度最快的层次。在考试中,如果要选择速度最快的存储器,如果答案中有寄存器和 Cache 就选寄存器,如果没有寄存器但有 Cache 就选 Cache。

image

如果 CPU 需要访问的数据在 Cache 中直接能找到,则说明对 Cache 的访问命中;如果不能在 Cache 中找到,则 CPU 会去内存(主存储器)中读取需要的数据,此时没有命中 Cache。对 Cache 的访问命中率:CPU 读取 Cache 的时候能够获取到需要的数据的概率。

局部性原理

局部性原理是指CPU访问存储器时,无论是存取指令还是存取数据,所访问的存储单元都趋于聚集在一个较小的连续区域中。

image

2.1 时间局部性

时间局部性:如果程序中的某条指令一旦执行,不久以后该指令可能再次执行;如果某数据被访问过,不久以后该数据可能再次被访问。产生时间局部性的典型原因:是由于在程序中存在着大量的循环操作。

被引用过一次的存储器位置在未来会被多次引用(通常在循环中)。

比如在执行 for 循环时,就会反复执行循环体中的语句,此时 CPU 就会在某一时段内集中访问循环体中变量所在的存储单元。

2.2 空间局部性

空间局部性:一旦程序访问了某个存储单元,在不久之后,其附近的存储单元也将被访问,即程序在一段时间内所访问的地址,可能集中在一定的范围之内,这是因为指令通常是顺序存放、顺序执行的,数据也一般是以向量、数组表等形式簇聚存储的。

如果一个存储器的位置被引用,那么将来它附近的位置也会被引用。

比如对数组的处理,通常就涉及到空间局部性。

主存

3.1 主存的分类

主存可分为随机存取存储器(RAM,Random Access Memory)、只读存储器(ROM,Read-Only Memory)。

image

3.2 主存的编址

所谓主存的编址,实际上就是将存储芯片(颗粒)组成相应的主存器。在用芯片组成存储器的时候,要分析什么样规格的芯片、多少块芯片能够组成按什么样方式编址的存储空间。如下图中的 8*4 的存储器表示:该存储器有 8 个地址空间,每个地址空间可以存储 4bit 位的数据。

这部分内容考察的概率比较大。

image

image

磁盘结构与参数

机械硬盘在存取数据时,磁盘是匀速运动的。磁盘的平均存取时间与平均寻道时间、数据传输速率、平均旋转时间(磁盘转速)等都有关系。平均寻道时间、数据传输速率与磁盘转速无关。磁盘转速的提高,会缩短平均旋转等待时间。

image

image

image

(1)试题的第一个答案为 366ms。若系统使用单缓冲区顺序处理这些记录,即单缓存区每次只能处理一个逻辑记录。分析后发现需要分为前 10 条记录、最后一条记录两个部分来计算。题干中说明磁盘的旋转周期为 33ms,即转一圈的时间为 33ms,总共有 11 条记录,则每条记录的读取时间为 33ms/11=3ms。

**处理前 10 条记录:**当读取完 R0 时(耗时 3ms),将 R0 存储到单缓冲区中进行处理(耗时 3ms),由于磁头是匀速运动,当处理完 R0 时磁头已经到达 R2 的开始处,所以只能等到磁头重新到达 R1 的开始处时,才能读取完 R1 后再将 R1 存储到单缓存区中进行处理,以此类推直到处理完 R9 都是这样的模式。所以,处理完一条记录,并将磁头移到下一条待处理的记录开始处,所花费的时间是:磁头转一圈的时间(33ms)+一条记录的处理时间(3ms)=36ms,这样的处理方式总共需要 10 次,所以这部分的处理时间:36ms x 10 = 360 ms。这里可以这样理解:磁头刚开始在 R0 的开始处,转一圈后回到 R0 的开始处,此时需要 33ms,处理 R0 的时间为 3ms,在处理 R0 的过程中,磁头继续匀速转动,当处理完 R0 时,磁头正好到达 R1 的开始处,接下来以同样的模式开始处理 R1,直到处理完 R9 都是这样的模式。

**处理最后一条记录:**最后一条记录为 R10,读取耗时 3ms,处理耗时 3ms,总共耗时 6ms。由于接下来无需处理下一条记录,所以整个处理过程完毕。

image

(2)试题的第二个答案为 66ms。优化信息存储以获得最少的处理时间,其思路为:读取并处理完 R0 后,磁头正好到达 R1 的开始处,这种存储方式是处理最快的。此时,读取处理每一条记录的时间为:3ms(读取)+3ms(处理)=6ms,总共 11 条记录,则整个处理时间为:6ms x 11=66ms。

image

image

(七)总线

总线(Bus)是计算机各种功能部件之间传送信息的公共通信干线,它是由导线组成的传输线束。按照计算机所传输的信息种类,计算机的总线可以划分为数据总线、地址总线和控制总线,分别用来传输数据、数据地址和控制信号。总线是一种内部结构,它是cpu、内存、输入、输出设备传递信息的公用通道,主机的各个部件通过总线相连接,外部设备通过相应的接口电路再与总线相连接,从而形成了计算机硬件系统。在计算机系统中,各个部件之间传送信息的公共通路叫总线,微型计算机是以总线结构来连接各个功能部件的。

按照总线所处的位置不同,总线通常被分成三种类型:

  • 内部总线:微机中各外围芯片与 CPU 之间的总线,属于芯片层级的总线。

  • 系统总线(内部总线):微机中各插线板与系统板之间的总线,属于插线板层级的总线。比如 PCI、VGA 等接口。PCI 是并行内总线(2021 年上半年上午题)。

    • 数据总线(DB,Data Bus):用于传输数据的总线,将数据从一个设备传输到另一个设备。数据总线是双向的,它有助于发送和接收数据。如果计算机系统是 32 位,就表示该系统的一个字节就表示 32bit 位,说明数据总线的宽度就是 32bit 位,一次或者一个周期能够传输的数据量就是 32bit 位。

    • 地址总线(AB,Address Bus):一种微处理器用于传输内存物理地址的计算机总线。它是单向的,只能在一个方向传输数据的 I/O 和数据的内存地址。假设地址总线是 32 位,则表示其代表的地址空间是 232(相当于 4G 的宽度)。所以,32 位的操作系统,能管理的最大内存为 4G。

    • 控制总线(CB,Control Bus):主要用来传送控制信号和时序信号。控制总线的传送方向由具体控制信号而定,一般是双向的,控制总线的位数要根据系统的实际控制需要而定。实际上控制总线的具体情况主要取决于CPU。

  • 外部总线:微机与外部设备之间的总线。SCSI(小型计算机系统接口)是一条并行外总线(2021 年上半年上午题)。

image

(八)系统可靠性分析与设计

1 串联系统与并联系统

主要是计算方面的问题。串联系统是将多个子系统串联在一起,并联系统是将多个子系统并联在一起。

  1. 串联系统
  • 串联系统的特点:上图中的串联系统由R1、R2、…、Rn这些子系统组成,当这些子系统都能正常运行时,该串联系统才能正常运行;否则只要有其中一个子系统不能正常运行,则整个串联系统就无法正常运行。

  • 串联系统的可靠度计算:将每个子系统的可靠度相乘,因为所有子系统可靠,整个串联系统才能可靠。

  • 串联系统的失效率计算:将每个子系统的失效率相加,由于是近似计算,所以有时候计算结果并不是很精确。比如整个串联系统由 20 个子系统组成,每个子系统的可靠度是 0.9,则每个子系统的失效率是 0.1,则整个串联系统的失效率为 0.1 x 20=2,这显然是不正确的。所以,只有在失效率很小的时候,才能使用下面的计算公式。

image

  1. 并联系统
  • 并联系统的特点:只要有一个子系统能正常运行,则整个并联系统就可以正常运行;当所有的子系统同时失效时,整个并联系统才会失效。

  • 并联系统的可靠度:先算出所有子系统同时失效的概率 A,然后即可得出 1-A 就是整个并联系统的可靠度。例如,并联系统由三个子系统组成,每个子系统的可靠度为 0.9,则每个子系统的失效率为 0.1,所以该并联系统的可靠度为:1 - 0.1 x 0.1 x 0.1 =  1- 0.13=0.999。

  • 并联系统的失效率:下图中计算并联系统失效率的公式过于复杂,不建议使用。一般是先求出可靠度 A,然后就可以得出失效率为 1-A。

image

2 N 模冗余系统与混合系统
  1. N 模冗余系统

可以使用冗余的方式来提高系统的可靠性。在 N 模冗余系统中,是通过表决的方式将错误屏蔽掉。

image

  1. 混合系统

混合系统中同时存在串联系统、并联系统。

混合系统的可靠度计算:先从整体上看系统是串联系统还是并联系统,如果从整体上看是串联系统,则先计算并联系统的可靠度,然后再计算整个串联系统的可靠度;如果从整体上看是并联系统,则先计算串联系统的可靠度,再计算并联系统的可靠度。

image

(九)差错控制

1 概念

差错控制主要讲校验码。下图中:

  • 采用 1 位长度的编码,是无法检错的。

  • 采用 2 位长度的编码,是可以检错的,但是无法纠错。比如,要传输的 A=11,由于链路错误,导致接收的 10,此时无法根据接收的 10 来判断到底传输的是 A 还是 B。因为 11、00 都可以因为传错 1 位变成 10。所以要增加码距才能纠错。

  • 采用 3 位长度的编码,是可以纠错的。传输链路还是比较可靠的,一般只会传错 1 位,不会传错 2 位或者更多位。

image

2 循环校验码 CRC

循环校验码 CRC 是一种可以做检错,但是无法做纠错的效验码。

image

image

3 海明校验码

海明校验码的难度较高,在考试中出现的概率较大。要学会如何编码、要能计算多少位的信息位需要多少个校验位。首先要清楚使用海明码编码完成的串中,哪些位置是校验位,哪些位置是信息位。

如果只有 1 个信息位,则最终编码的长度为 3 位。

image

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

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

相关文章

【PyTorch实战演练】AlexNet网络模型构建并使用Cifar10数据集进行批量训练(附代码)

目录 0. 前言 1. Cifar10数据集 2. AlexNet网络模型 2.1 AlexNet的网络结构 2.2 激活函数ReLu 2.3 Dropout方法 2.4 数据增强 3. 使用GPU加速进行批量训练 4. 网络模型构建 5. 训练过程 6. 完整代码 0. 前言 按照国际惯例,首先声明:本文只是我…

[开源]企业级在线办公系统,基于实时音视频完成在线视频会议功能

一、开源项目简介 企业级在线办公系统 本项目使用了SpringBootMybatisSpringMVC框架,技术功能点应用了WebSocket、Redis、Activiti7工作流引擎, 基于TRTC腾讯实时音视频完成在线视频会议功能。 二、开源协议 使用GPL-3.0开源协议 三、界面展示 部分…

2024天津理工大学中环信息学院专升本机械设计制造自动化专业考纲

2024年天津理工大学中环信息学院高职升本科《机械设计制造及其自动化》专业课考试大纲《机械设计》《机械制图》 《机械设计》考试大纲 教 材:《机械设计》(第十版),高等教育出版社,濮良贵、陈国定、吴立言主编&#…

1.如何实现统一的API前缀-web组件篇

文章目录 1. 问题的由来2.实现原理3. 总结 1. 问题的由来 系统提供了 2 种类型的用户,分别满足对应的管理后台、用户 App 场景。 两种场景的前缀不同,分别为/admin-api/和/app-api/,都写在一个controller里面,显然比较混乱。分开…

AI:60-基于深度学习的瓜果蔬菜分类识别

🚀 本文选自专栏:AI领域专栏 从基础到实践,深入了解算法、案例和最新趋势。无论你是初学者还是经验丰富的数据科学家,通过案例和项目实践,掌握核心概念和实用技能。每篇案例都包含代码实例,详细讲解供大家学习。 📌📌📌在这个漫长的过程,中途遇到了不少问题,但是…

网络基础扫盲-多路转发

博客内容:多路转发的常见方式select,poll,epoll 文章目录 一、五种IO模型二、多路转发的常见接口1.select2、poll3、epoll 总结 前言 Linux下一切皆文件,是文件就会存在IO的情况,IO的方式决定了效率的高低。 一、五种…

基于java+springboot+vue在线选课系统

项目介绍 本系统结合计算机系统的结构、概念、模型、原理、方法,在计算机各种优势的情况下,采用JAVA语言,结合SpringBoot框架与Vue框架以及MYSQL数据库设计并实现的。员工管理系统主要包括个人中心、课程管理、专业管理、院系信息管理、学生…

Cube MX 开发高精度电流源跳坑过程/SPI连接ADS1255/1256系列问题总结/STM32 硬件SPI开发过程

文章目录 概要整体架构流程技术名词解释技术细节小结 概要 1.使用STM32F系列开发一款高精度恒流电源,用到了24位高精度采样芯片ADS1255/ADS1256系列。 2.使用时发现很多的坑,详细介绍了每个坑的具体情况和实际的解决办法。 坑1:波特率设置…

如何使用Ruby 多线程爬取数据

现在比较主流的爬虫应该是用python,之前也写了很多关于python的文章。今天在这里我们主要说说ruby。我觉得ruby也是ok的,我试试看写了一个爬虫的小程序,并作出相应的解析。 Ruby中实现网页抓取,一般用的是mechanize,使…

Pytorch从零开始实战08

Pytorch从零开始实战——YOLOv5-C3模块实现 本系列来源于365天深度学习训练营 原作者K同学 文章目录 Pytorch从零开始实战——YOLOv5-C3模块实现环境准备数据集模型选择开始训练可视化模型预测总结 环境准备 本文基于Jupyter notebook,使用Python3.8&#xff0c…

webJS基础-----制作一个时间倒计时

1,可以使用以下两个方式制作 方式1:setTimeout ()定时器是在指定的时间后执行某些代码,代码执行一次就会自动停止; 方式2:setInterval ()定时器是按照指定的周期来重复执行某些代码,该定时器不会自动停止…

DL Homework 6

目录 一、概念 (1)卷积 (2)卷积核 (3)特征图 (4)特征选择 (5)步长 (6)填充 (7)感受野 二、探究不同卷…

JVM运行时数据区-堆

目录 一、堆的核心概述 (一)概述 (二)堆空间细分 (三)jvisualvm工具 二、设置堆内存的大小与OOM 三、年轻代与老年代 四、图解对象分配一般过程 五、对象分配特殊过程 六、常用调优工具 七、Mino…

leetCode 416.分割等和子集 + 01背包 + 动态规划 + 记忆化搜索 + 递推 + 空间优化

关于此题我的往期文章: LeetCode 416.分割等和子集(动态规划【0-1背包问题】采用一维数组dp:滚动数组)_呵呵哒( ̄▽ ̄)"的博客-CSDN博客https://heheda.blog.csdn.net/article/details/133212716看本期文章时&…

关于JADX和JEB的小问题

关于JADX和JEB的小问题 很久没水过技术文啦,最近也刚好遇到点小问题,特此记录 第一个问题 在处理app加密逻辑的时候一直拿不到正确的密文,反复看了反编译出来的代码(如下图) public static string n(String str, Stri…

基础课22——云服务(SaaS、Pass、laas、AIaas)

1.云服务概念和类型 云服务是一种基于互联网的计算模式,通过云计算技术将计算、存储、网络等资源以服务的形式提供给用户,用户可以通过网络按需使用这些资源,无需购买、安装和维护硬件设备。云服务具有灵活扩展、按需使用、随时随地访问等优…

linux 查看当前目录下每个文件夹大小

要在 Linux 中查看当前目录下每个文件夹的大小,可以使用 du 命令(磁盘使用情况)结合其他一些选项。下面是几个常用的命令示例: 显示当前目录下每个文件夹的大小——只显示一层文件夹: du -h --max-depth1该命令会以人…

2023年内衣行业分析:京东大数据平台-服饰内衣市场解析

如今,女性消费力的提升正在推动国内女性内衣市场份额逐年提升。而今年,内衣市场更是进入了存量之战,增长趋势明显减弱。 根据鲸参谋数据显示,今年1月至9月,京东平台内衣(文胸)累计销量约500万件…

【数智化案例展】某国际高端酒店品牌——呼叫中心培训数智化转型项目

‍ 维音案例 本项目案例由维音投递并参与数据猿与上海大数据联盟联合推出的《2023中国数智化转型升级创新服务企业》榜单/奖项”评选。 大数据产业创新服务媒体 ——聚焦数据 改变商业 培训是呼叫中心管理的重要环节,由于员工流动性强、培训需求多样、考核流程繁琐…

2003 - Can‘t connect to MysQL server on ‘39.108.169.0‘ (10060 “Unknown error“)

问题描述 某天和往常一样启动java项目,发现数据库出问题了,然后打开navicat,发现数据库的链接都连接不上, 一点击就会弹出报错框: 然后就各种上网搜索。 解决方案 上网查了一些解决方案,大部分都是说看…