软考-计算机硬件组成
计算机硬件组成
概述
计算机的基本硬件系统由【运算器】、【控制器】、【存储器】、【输入设备】、【输出设备】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