章节概述
计算机组成结构
CPU 组成
和 地址 相关的只有 程序计数器PC , 选A
冯诺依曼结构和哈佛结构
从上面的讲义可以找到答案,主要说明下 CD 不属于计算机的体系结构
MPU微控制器并不适用于运算量较大的智能系统
层次化存储结构
辅存:辅助存储器
上面的存储结构对于程序员来说唯一不能用到的就是cache,寄存器可以通过汇编指令进行调用,内存可以用来保存程序变量等,外存就例如读取文件
D
Cache
这里cache的周期时间t1可以假设为 1us,主存储器周期时间t2由于主存储器访问速度一般可以快100倍以上,假设是 100us。
cache的访问命中率受替换算法影响,一般在90%以上,假设是92%。由上面假设情况来看,平均周期t3 = 92% * 1 + 8% * 100 = 8.92us。
显然通过 cache+主存储器 的架构可大大提高系统的效率。
其实上面就是一个加权平均值
BCD都是外存,A就是Cache,由此选A
A选型应该是 替换算法是影响cache命中率的关键因素,替换算法的时间复杂度并不是。
C体现不了cache的用处是解决存储的容量、价格和速度之间的矛盾
D应该是小于
主存编码地址
按字编址需要根据题目来计算,题目会给出字长为多少bit
按字节编址则需要我们知道,1字节等于8bit
存储单元个数 = 最大地址 - 最小地址 + 1
= 8FFFFFH - 84000H + 1(H是十六进制的标识,也就是计算只要计算H之外的数字,另外借位减去4的时候不是借10,而是16,也就是16 - 4 = 12 = C) = C000H(转成二进制)= 12 * 16^3
总容量 = 存储单元个数 * 编址内容
= 12 * 16^3 * 8bit(编址内容是按字节编址,也就是8bit)
总片数 = 总容量 / 每片的容量
= (12 * 16^3 * 8bit) / (8 * 2^10 * 4bit) = 12
磁盘管理
基本结构与存储过程
存取时间是指磁头找到指定数据的时间,是“找到”
读取文件总时间 = 存取时间(寻道时间 + 旋转延迟时间) + 传输时间 = (10 * 10 + 100 + 2) * 100 = D
PS:做该题的时候要注意是每块(文件)的旋转延迟时间和传输时间是100ms和2ms
磁盘优化分布存储
CB 单缓冲区意思是单进程处理。R0处理时间:3ms + 3ms、 R1….R10的处理时间:3ms * 10 + 3ms + 3ms,故总时间为 36 * 10 + 6 = 366。可通过合理编排记录的顺序,如此处理总时间为 (3ms + 3ms) * 11 = 66ms。(下图右边就是合理编排的顺序)
PS:不是特别理解,这里是读取3毫秒,处理3毫秒,所以有上面的3+3,但是好像题目并没有说读取需要3毫秒
单缓冲区与双缓冲区读取
其实就是流水线
双缓冲区输入是有一个切换的过程,并不是并行的。
单缓冲区:第一个数据块处理耗时 15 + 5 + 1, 第2到第10个数据块处理耗时 15 + 5 (1us不计入,因为上次工作区处理的时候缓冲区就并行开始读入数据了),因此总时间 = (15 + 5) * 10 + 1 = 201
双缓冲区:第一个数据块处理耗时 15 + 5 + 1,第2到第10个数据块处理耗时 15 (5us 和 1us不计入,因为上次缓冲区送入用户区 和 工作区处理的时候缓冲区就并行开始读入数据了),因此总时间 = 15 * 10 + 5 + 1 = 156
DC
磁盘移臂调度算法
柱面号即是磁道号,根据最短移臂算法逻辑,离15号柱面最近的是 12号柱面,因此优先响应的是 1和5(顺序不固定)。12号柱面最近的是 19号,因此其后是2和4号柱面,以此类推,后面是23号柱面(3)和28号柱面(6)。故选B
数据传输控制方式
鼠标键盘比较常用的就是程序中断方式、移动硬盘主要用到的是DMA方式
上面的PPT介绍看的我是一脸懵逼,从网上找了下比较好理解的介绍
在嵌入式系统和计算机系统中,程序控制方式、程序中断方式、DMA方式、通道方式以及I/O处理机是几种常见的I/O(输入输出)控制方式,它们各自具有不同的特点和应用场景。下面将分别介绍这几种方式:
程序控制方式
程序控制方式是最基本的I/O控制方式,也称为程序查询方式或轮询方式。在这种方式下,CPU通过执行程序来查询外设的状态,判断外设是否准备好进行数据传输。如果外设未准备好,CPU将等待或进行其他操作;如果外设准备好,CPU则执行相应的输入输出操作。
特点:
控制简单:不需要额外的硬件支持,只需通过软件编程实现。
CPU利用率低:CPU需要不断查询外设状态,导致大部分时间处于空闲状态。
无法并行处理:CPU和外设只能串行工作,无法实现设备之间的并行操作。
程序中断方式
程序中断方式是一种允许外设主动通知CPU进行数据传输的方式。当外设准备好进行数据传输时,它会向CPU发送中断请求信号。CPU在接收到中断请求后,会暂停当前正在执行的程序,转而执行相应的中断服务程序来处理外设的请求。
特点:
高效性:CPU无需持续等待或轮询外设状态,可以在等待外设响应的过程中执行其他任务。
实时性:能够确保CPU在第一时间响应外设的请求。
并行操作:CPU与外设之间以及外设与外设之间可以实现并行操作,提高了系统的整体效率。
DMA方式(Direct Memory Access)
DMA方式是一种允许外设直接访问内存进行数据传输的方式。在这种方式下,CPU只需初始化DMA传输,然后DMA控制器会接管总线控制权,直接在外设和内存之间进行数据传输,无需CPU的干预。数据传输完成后,DMA控制器会向CPU发送中断信号,通知CPU传输已完成。
特点:
高速传输:由于无需CPU干预,数据传输速度更快。
减轻CPU负担:CPU可以在DMA传输过程中执行其他任务。
适用于大批量数据传输:特别适用于需要高速、批量传输数据的场景。
通道方式
通道方式是一种更高级的I/O控制方式,它引入了一个独立的通道控制器来管理外设的输入输出操作。通道控制器具有自己的指令系统和程序,能够独立完成外设的数据传输控制,而无需CPU的直接干预。CPU只需向通道发送I/O指令,通道即可根据指令要求完成相应的数据传输任务。
特点:
高度并行性:一个通道可以控制多台外设,实现设备之间的并行操作。
独立性:通道控制器具有独立性,能够独立完成数据传输控制任务,减轻CPU的负担。
高效性:由于通道控制器具有自己的指令系统和程序,数据传输效率更高。
I/O处理机(I/O Processor)
I/O处理机是通道方式的进一步发展,它实际上是一个独立的处理器,专门用于处理I/O操作。I/O处理机具有自己的CPU、内存和指令系统,能够执行复杂的输入输出控制程序。CPU只需向I/O处理机发送I/O指令和参数,I/O处理机即可根据指令和参数要求完成相应的数据传输任务。
特点:
高度自治性:I/O处理机具有高度的自治性,能够独立完成复杂的输入输出控制任务。
强大的处理能力:由于具有独立的CPU和内存,I/O处理机的处理能力更强。
适用于复杂系统:特别适用于需要处理大量输入输出操作的大型、复杂计算机系统。
综上所述,这五种程序控制方式各有其特点和适用场景。在实际应用中,可以根据系统的具体需求和硬件条件选择合适的方式来实现输入输出控制。
嵌入式系统中采用中断方式实现输入输出的主要原因是能对突发事件做出快速响应。
在嵌入式系统中,输入输出(I/O)操作是系统与外部设备交互的基本方式。中断方式作为其中一种重要的I/O控制方式,具有显著的优势。当采用中断方式时,CPU在执行主程序的过程中,如果外设需要CPU进行服务(如数据到达或需要发送数据),外设会向CPU发出中断请求。CPU在接收到中断请求后,会暂停当前正在执行的程序,转而执行相应的中断服务程序来处理外设的请求。这种方式使得CPU无需持续轮询外设的状态,从而提高了CPU的利用率,并且能够对外设的请求做出快速响应。
具体来说,中断方式相比其他I/O控制方式(如程序控制方式、直接存储器访问DMA方式等)具有以下优点:
- 高效性:CPU无需持续等待或轮询外设状态,可以在等待外设响应的过程中执行其他任务,提高了系统的整体效率。
- 实时性:中断方式能够确保CPU在第一时间响应外设的请求,对于需要实时处理的应用场景尤为重要。
- 灵活性:通过中断向量表等机制,系统可以灵活地处理多个中断源,支持复杂的多任务处理。
因此,在嵌入式系统中,中断方式被广泛用于实现输入输出操作,以满足系统对高效性、实时性和灵活性的需求。在中断发生时,CPU的断点信息(即当前执行的程序状态)通常会被保存到栈(Stack)中,以便中断服务程序执行完毕后能够恢复到中断前的执行状态。
总线
总线宽度就是物理量,总线带宽是总线宽度乘以频率(了解即可)
B 总线 分时 共享 的考察
C 只在一个方向上传输信息的是单工总线
A选型,串行总线可以是 单工、半双工、全双工,故错误
B选型,使用中可以改变
C选型,正确
D选项,可以以程序查询方式,也可以是程序中断方式工作
CISC与RISC
CISC 代表有 X86 芯片, RISC 代表有 ARM 芯片
B,寻址方式丰富,指令功能强的是 CISC(复杂指令集)的特点
流水线
较高频考点
默认用理论公式,没有答案的时候才考虑实践公式
下面例题答案是:
第一空:(3 + 2 + 4) * 10 = 90
第二空:4(指令的最大执行时间)
第三空:(3 + 2 + 4) + (4 * (10 - 1)) = 9 + 40 - 4 = 45
PS:实践公式的话第三空是:(4 + 4 + 4) + (4 * (10 - 1)) = 12 + 40 - 4 = 48
例题中
10条指令的吞吐率 = 10 / 45t (45t 是在上面例题求出来的流水线执行时间)
10条指令的最大吞吐率 = 1/4t
加速比都是大于1的,通过该点可以很好记住谁是分子,谁是分母
最大吞吐率 = 流水线周期的倒数 = 1/3t = B
加速比 = (2+1+3+1+2)/(2+1+3+1+2+(10-1)*3) = 90 / 36 = 5/2 = C
校验码
一般认为1比较容易出错,因此奇偶校验校验 1 的个数
模2除法和异或运算是一样的
生成多项式的系数二进制为 10011,该多项式的最高位数是4,因此补充余数位为4个0。信息位10111加上余数位0000作为被除数,生成多项式系数作为除数,进行模2除法即可得到校验码。信息位+校验码就得到CRC编码后的结果(如果校验码不足4位,需要高位填充0。比如假设上面模2除法结果是11,那么校验码应该是 0011)。
CRC编码后的结果为 101111100,将其对生成多项式的系数作为除数进行模2运算,结果为0则表示信息正确。
奇偶校验可拼接在头部或者尾部
海明校验的校验码位数公式中,m是信息位位数,r是海明校验码位数
该题第一次算错了,算到最后是001001,发现没有答案。检查发现是有个1没有对齐漏了直接补了0导致。
从该题也看出其实不用去考虑商是多少,可以节省计算时间(下面左边是正确的运算)
本文链接: http://www.ionluo.cn/blog/posts/27a4979a.html
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!