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

软考-计算机硬件组成

计算机硬件组成

概述

计算机的基本硬件系统由【运算器】、【控制器】、【存储器】、【输入设备】、【输出设备】5大部件组成。

【运算器】、【控制器】等部件被集成在一起统称为中央处理单元【CPU】。CPU是硬件系统的核心,用于数据的加工处理,能完成各种算数、逻辑运算和控制功能。

存储器分为【内存储器】和【外部存储器】。内存储器一般用于临时存放程序、数据、中间结果;后者用于长期保存程序和数据。

【输入设备】、【输出设备】简称外设。输入设备用于输入原始数据及各种命令,输出设备用于输出计算机运行的结果。

CPU功能

1、程序控制

CPU通过执行指令来控制程序的执行顺序

2、操作控制

一条指令功能的实现需要若干【操作信号】配合完成,CPU将指令的操作信号发送到对应的部件,用于控制部件按照指令执行操作。

3、时间控制

在指令执行过程中,CPU操作【信号的出现时间】、【持续时间】、【出现的时间顺序】。

4、数据处理

CPU对需要进行计算的数据执行【算数运算】、【逻辑运算】

5、中断响应

CPU需要对系统内部、外部中断异常做出响应。

中央处理单元

CPU的组成:运算器、控制器、起存起组和内部总线等部件组成。CPU依据【指令周期的不同阶段】来区分二进制的【指令】和【数据】。不同阶段,指令会命令CPU【取指令】或【数据】

运算器

由算数逻辑单元ALU【实现对数据的算数和逻辑运算】、

累加寄存器AC【算数结果和源操作数存放区】、

数据缓冲寄存器DR【暂时存放内容的指令或数据】、

状态条件寄存器PSW【保存指定运行结果的条件码内容,如溢出标志等】组成。

​ 运算器主要执行所有的算数运算,如加减乘除;夜之星所有的逻辑运算并进行逻辑测试,如:与、或、非、比较等。

控制器

由指令寄存器IR【暂存CPU执行指令】、程序计数器PC【存放指令执行地址】、地址寄存器AR【保存当前CPU所访问的内存地址】、指令译码器ID【分析指令操作码】等组成。控制整个CPU工作。

校验码

码距

单个编码A:00,其码距为1,只需要改变一位就可以变成另外一个编码。而00转换为11,码距为2.一般来说码距越大,越利于纠错和检错。

奇偶校验码

在编码中增加1位校验位来是编码中1的个数为奇数/偶数,从而使码距变为2。

CRC编码

CRC只能检错不能纠错。使用CRC编码,需要先约定一个生成多项式G(x)。该多项式的最高位和最低位必须是1.

其思想是:在原始信息后追加若干校验位,是的追加的信息能被G(x)整除,余数为0,则没有错误,反之则发生错误。

指令系统

指令的组成

一条指令由【操作码】和【操作数】组成。操作码决定要完成的操作,操作数指参加运算的数据及其所在的单元地址,都由二进制表示,也分别叫【操作码】和【地址码】。

指令执行过程

取指令 -》分析指令-》执行指令

1、首先将【指令地址】从程序计数器PC中取出,送入地址总线。

2、CPU依据指令地址去【内存】中取出【指令内容】存入寄存器IR,交由【指令译码器】分析,分析指令操作码。

3、按照指令操作数寻址方式,取出执行所需源操作数,执行指令。

指令寻址方式【程序计数器PC】

1》顺序寻址方式:当执行一段程序时,是一条指令接着一条指令顺序执行。

2》跳跃寻址方式:指下一条指令的地址码不是由程序计数器给出,而是由本条指令直接给出。因此,程序计数器的内容也必须随着相应改变,以便跟踪新的指令地址。

指令操作数寻址方式

1》立即寻址方式:指令的地址码字段指出的不是地址,而是操作数本身。

2》直接寻址方式:指出操作数在主存中的地址

3》间接寻址方式:指出存储单元,其中存储的是操作数的地址

4》寄存器寻址方式:指出寄存器的编号

5》基址寻址方式:将基址寄存器的内容+指令中的形式地址,行成操作数的有效地址,优点是扩大寻址能力。

6》变址寻址方式:将变址寄存器的内容+指令中的形式地址,行成操作数的有效地址

指令系统

CISC 复杂指令系统,兼容性强,指令繁多,长度可变,支持多种寻址方式,由微程序实现

RISC 精简指令系统,指令少,使用频率解决,寻址方式支持少,主要依靠硬件实现(通用寄存器、硬布线逻辑控制)

指令流水线

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

RISC中的流水线技术:

1、超流水线技术。通过细化流水、增加技术和提高主频,使得在每个机器周期内能完成一个升职两个浮点操作。也就是以时间换空间

2、超标量技术。通过内装多条流水线来同时执行多个处理,其时钟频率虽然与一般流水接近,确有更小的CPI。其实质是以空间换时间

3、超长指令字技术。同超标量类似,不同于超标量依靠硬件,VLIW依靠软件作用。

流水线时间计算

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

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

流水线吞吐率计算:指令条数/流水线执行时间

流水线的加速比计算:不使用流水线执行时间(时长总和n)/使用流水线执行时间(最长时间n+使用时长)

存储系统

计算机采用分级存储体系,分别是【Cache-主存、主存-辅存】(虚拟存储体系)

【高速缓存Cache】用来存储当前最活跃的程序和数据,直接与CPU交互,未育CPU和主存之间,容量小,速度是内存的5-10倍,由半导体材料构成。

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

【地址映射】在CPU工作时,给出的是主存单元的地址,应从Cache存储器中读写信息,这就需要将主存地址转换为Cache存储器地址,简称为【地址映像】,由硬件自动完成映射。

地址映射方法

1》【直接映像】:将Cache存储器、主存等分成块并编号,主存中的块与cache中的块对应关系是固定的,即块号相同才能命中。但容易造成资源浪费

2》【全相联映像】:同样等分成块并编号,但主存中任意一块都与cache中任意一块对应。地址变化复杂,速度较慢。当cache满了会发生块冲突

3》【组组相连映像】:前面两者结合,把cache先分块再分组,主存同样。组好相同才能命中,也就相当于所有块中组好相同的可以任意调换。

Cache替换算法

1》【随机替换算法】。随机数发生器产生一个需要替换的块号,将其替换出去

2》【先进先出算法】。将最先进去的信息块替换出去

3》【近期最少使用算法】。将近期最少使用的信息块替换出去

4》【优先替换算法】。需先执行一次程序,统计替换情况,以此来用最有效的方式替换

Cache命中率及平均时间

Cache有个命中率概念,即当CPU所访问的数据在Cache中命中,可以直接读取数据,设读取一次Cache时间为1ns,若访问数据不在Cache中,则需要同内存中读取,读取一次内存时间为1000ns,若是CPU多次读取数据过程中,有90%命中Cache,则CPU读取一次的平均时间为(90% * 1+10% * 1000)ns

磁盘机构和参数

磁盘有正反两个盘面,每个盘面有多个同心圆,每个同心圆是一个磁道,每个同心圆又被划分为多个扇区,数据就被存放在一个个扇区中。

磁头首先要寻找对应的磁道,然后等待磁盘进行周期旋转,旋转到指定扇区才能读取到对应的数据,因此会产生【寻道时间】和【等待时间】。【公式为:存取时间=寻到时间+等待时间(平均定位时间+转动延迟)】

【寻道时间】磁头移动到磁道所需时间

【等待时间】等待读写的扇区转到磁头下方所用的时间

磁盘调度算法

1》先来先服务FCFS:根据进程请求访问磁盘的先后顺序进行调度

2》最短寻道时间优先SSTF:请求访问的磁道与当前磁道最近的进程优先调度,使得每次寻道时间最短。会产生饥饿现象

3》扫描算法SCAN【电梯算法】:磁头双向移动,选择距离最近的磁道

4》单向扫描调度算法CSCAN:与SCAN类似,单只做单向移动

输入输出技术

计算机存在内存与接口地址的编址方法,常见:【独立编址】和【统一编址】

内存与接口地址独立编址方法

【内存地址和借楼地址是完全独立的两个地址空间】。访问数据时,所使用的指令也是完全不同,用于接口的指令【只用于接口读写】,其余指令用于内存。缺点是用于接口指令太少,功能太弱。

内存与接口地址统一编址方法

**内存地址和接口地址在一个公共的地址空间,原则上用于内存的指令都可以用于接口。**但该编址方式将整个地址空间氛围两部分,一部分给内存一部分给接口,导致内存地址不连续。

计算机与外设交互方式

**1》程序控制查询方式:**CPU主动查询外设是否完成数据传输,效率极低。

**2》程序中断方式:**外设完成数据传输后,向CPU发送中断,等待CPU处理数据,效率相对较高。其中中断向量提供中断服务程序的入口地址,多级中断嵌套,使用堆栈来保护断点和现场。

中断响应时间:从发出中断请求到开始进入中断处理程序。

中断处理时间:从中断处理开始到中断处理结束。

**3》DMA方式(直接从主存存取):**CPU只需要完成必要的初始化等操作,数据传输整个过程都由DMA控制器来完成,在主存和外设之间简历直接的数据通路。

注意:

1、在一个总线周期结束后,CPU会响应DMA请求开始读取数据;

2、CPU响应程序中断方式请求是在一条指令执行结束时。

总线结构

**总线是指计算机设备和设备之间传输信息的公共数据通道。**简而言之就是连接计算机硬件内多种设备的通讯线路,可以理解为在总线上所有设备共享。

从广义上讲,任何连接两个以上电子元器件的导线都可以称为总线。

总线分为三类:

1》内部总线:内部芯片级别的总线,用于芯片与处理器之间通信的总线。

2》系统总线:板级总线,用于计算机内各部分之间的连接。分为数据总线(并行数据传输位数)、地址总线【系统课管理的内存空间大小】、控制总线【传输控制命令】。代表有ISA总线、EISA总线、PCI总线。

**3》外部总线:设备一级的总线,微机和外部设备的总线。**代表有RS232【串行总线】、SCSI【并行总线】、USB【通用串行总线,即插即用,支持热插拔】

真题

1、CPU执行算数运算或逻辑运算时,常将源操作数和结果暂存在()中

A、程序计数器PC B、累加器AC C、指令寄存器IR D、地址寄存器AR

2、执行CPU指令时,在一个指令周期的过程中,首先需从内存读取要执行的指令,此时先要将指令的地址即()的内容送到地址总线上。

A、指令寄存器IR B、通用寄存器GR C、程序计数器PC D、状态寄存器PSW

3、循环冗余校验码CRC是数据通讯领域中最常用的一种差错校验码,该校验方法中,使用多项式除法(模2除法),运算后的余数为校验字段。若数据信息为N位,则将其左移K位后,被长度为k+1的多项式相处,所得的K为余数则构成K个校验位,构成n+k位编码。若数据信息为1100,生成的多项式为X3+X+1即1011,则CRC编码是()

A、1100010 B、1011010 C、1100011 D、1011110

在原始信息为加K个000,即1100000

将1100000与生成的多项式1011做模2除法 得到余数010

将原始信息与余数链接起来得到1100010

4、设某流水线有5段,有一段为2ns,另外4段为1ns,利用此流水线完成100个任务的吞吐率约为()

A、500*10^6 B、490 * 10^6 C、250 * 10^6 D、167 * 10^6

5、假设磁盘块与缓冲区大小相同,每个盘快读取缓冲区的时间为15us,由缓冲区送至用户区的时间是5us,在用户区内系统对每块数据的处理时间为1us,若用户需要将大小为10个磁盘块的docl文件琢块从磁盘读入缓冲区,并送至用户区进行处理,那么采用单缓冲区需要花费的时间为()ns,采用双缓冲区需要花费的时间为()ns.

A、150 B、151 C、156 D、201

单缓冲区:前两段要合并,是两段流水线。21+20*(10-1)

双缓冲区:标准三段流水线。21+15*(10-1)

6、对于一个K段流水线,假设其隔断的执行时间均相等,输入到流水线中的人物是连续的理想情况下,完成n个连续任务需要的总时间为()。若某流水线浮点加法运算器分为5段,所需要的时间分别是6ns、7ns、8ns、9ns、6ns,则其最大加速比为()

A、nkt B、(k+n-1)t C、(n-k)kt D、(k+n+1)t

A、4 B、5 C、6 D、7

7、按照Cache地址映像的块冲突概率,从高到低排列的是()

A 、全相联映像-》直接映像-》组相连映像

B、直接映像-》组相连映像 -》全相联映像

C、组相连映像 -》全相联映像 -》 直接映像

D、直接映像-》全相联映像 -》组相连映像

8、以下关于Cache与主存间地址映射的叙述中,正确的是()

A、操作系统负责管理Cache与主存之间的地址映射

B、程序员需要通过编程来处理Cache与主存之间的地址映射

C、应用软件对Cache与主存之间的地址进行调度

D、由硬件自动完成Cache与主存之间的地址映射

9、假设某磁盘的每个磁道划分成11个物理块,每块存放1个逻辑记录,逻辑记录R0、R1…存放到同一个磁道上,记录存放顺序如下,如果磁盘的旋转周期为33ns,磁头当前处于R0的开始处。若系统采用单缓冲区顺序处理这些记录,每个记录处理时间为3ms,则处理这11个记录的最长时间为();若对信息存储进行优化分布后,处理11个记录的最少时间为()

1->R0 2->R1 3->R2 4->R3 5->R4 6->R5 7->R6 8->R7 9->R8 10->R9 11->R10

A、33ms B、336ms C、366ms D、376ms

A、33ms B、66ms C、86ms D、93ms

10、计算机系统中常用的输入/输出控制方式有无条件传送、中断、程序查询、DMA方式等。当采用()方式,不需要CPU执行程序指令来传送数据。

A、中断 B、程序查询 C、无条件传送 D、DMA

11、以下关于总线的说法中,正确的是()

A、串行总线适合近距离高速数据传输,但线间串扰会导致速率受限

B、并行总线适合长距离数据传输,易提高通讯时钟频率来实现高速数据传输

C、单总线结构在一个总线上使用不同种类的设备,设计复杂导致性能降低

D、半双工总线只能在一个方向上传输信息

答案

1-5、B C A B D

6-10、C B A B A

11-15、B D C B D C

相关文章:

  • 微信小程序渗透测试指北(附案例)
  • 小结:Spring AOP 切点表达式
  • python-生日悖论
  • OpenCV——图像金字塔
  • std::make_shared简化智能指针 `std::shared_ptr` 的创建过程,并提高性能(减少内存分配次数,提高缓存命中率)
  • 第30节 Node.js C/C++ 插件
  • ARXML可视化转换工具使用说明
  • C#实现无声视频的配音与字幕生成器
  • 接到数据分析任务后,怎么判断是分类还是回归?什么时候你该考虑换模型?
  • XML 注入与修复
  • Docker入门篇--从安装到使用
  • 回调接口模式
  • Docker|简单入门
  • Android自动化AirScript
  • Appium+python自动化(二十)-- Monkey日志
  • ATM 模拟器 Golang 程序--示例
  • 油烟净化设备安装规范
  • 基于SpringBoot的校园网上求职系统设计与实现
  • 双系统(win+linux)根目录扩容(不掉GPU驱动)
  • 【leetcode】226. 翻转二叉树
  • 网站轮换图片怎么做/百度招聘官网首页
  • ui素材网站/免费的个人网页
  • 做网站流程 优帮云/超级外链工具 增加外链中
  • 淘宝客做网站推广赚钱吗/网店代运营哪个好
  • 做设计英文网站/如何联系百度人工客服电话
  • 青州做网站的电话/深圳关键词优化软件