两个月冲刺软考——概念+求已知内存按字节编址从(A)…到(B)…的存储容量+求采用单/双缓冲区需要花费的时间计算 类型题目讲解

1.四个周期的区别与联系

时钟周期:也称为CPU周期机器周期是CPU操作的基本时间单位。

指令周期:是指CPU执行一条指令所需的全部时间。一个指令周期通常由多个时钟周期组成,因为执行一条指令可能需要多个步骤,如取指令、译码、执行、访存和写回等。

总线周期:总线周期是数据在计算机总线上传输所需的时间。 它涉及CPU与其他系统组件(如内存、输入/输出设备)之间的数据传输。一个总线周期可能包括多个时钟周期。

CPU是在一个总线周期结束时响应DMA(直接内存访问)请求的。

补充(DMA响应的过程):当外围设备准备好进行数据传输时,它会向DMA控制器发出一个DMA请求信号;DMA控制器接收到请求后,会根据设定的优先级和当前总线状态决定是否立即响应。如果总线空闲,DMA控制器会向CPU发出总线请求(HOLD信号),请求控制总线;CPU在完成当前的总线周期后,会释放总线控制权,DMA控制器获得总线控制权,开始进行数据传输;DMA控制器接管总线后,直接从内存或外设进行数据读写操作。这个过程不需要CPU的参与,数据可以直接在内存和外设之间传输;数据传输完成后,DMA控制器会释放总线控制权,并向CPU发送一个中断信号,告知数据传输已经完成;CPU响应中断,执行必要的后续处理,如检查传输状态、准备下一次数据传输等。

2.三种寻址方式

先补充一下:机器指令是一组有意义的二进制代码。其格式为:操作码字段+地址码字段,还有操作数、寄存器字段、立即数等等。

寄存器寻址:操作数直接存储在CPU内部的寄存器中。这种寻址方式的速度非常快,因为不需要访问内存,操作数已经在寄存器中了。

立即寻址:操作数直接包含在指令中,作为指令的一部分存储在代码段。通常用于将常数或立即数加载到寄存器中,或者用于算术运算和逻辑运算。

直接寻址:指令中包含了操作数在内存中的确切地址。这种寻址方式允许CPU直接访问内存中的特定位置,无需额外的地址计算。

间接寻址:它在指令中不直接给出操作数的地址或值,而是给出一个包含操作数地址的寄存器。

其速度排序为:寄存器寻址>立即寻址>直接寻址>间接寻址

3.求已知内存按字节编址从(A)…到(B)…的存储容量

题目中通常给出的十六进制,这里A取B3000H,B取DABFFH先求出它们中间有多大区域:A-B+1,即(DABFFH+1)-B3000H=27C00H,换成十进制为162816/1024=159K。

4.求采用单/双缓冲区需要花费的时间计算

这种类型的题目当中一般会有三个时间段:数据先从磁盘输入到缓冲区中,再从缓冲区传送到用户工作区,最后进行系统处理。时间取值分别设为A、B、C。

对于单缓冲区:当时间段B结束之后,缓冲区便处于空闲状态了,故工作区处理数据的同时,下一波数据便可以开始往缓冲区里传输了,所以总时间为:(15+5)*10+1=201.这里的1表示最后一个数据的处理时间。

  • 当A>C时,总时间=n*(A+B)+C;

  • 当A<C时,总时间=n*(C+B)+A;

对于双缓冲区:顾名思义有两个缓冲区来接受或传送数据,可以实现三个时间段并行工作。

  • 当A>C时,总时间=n*A+B+C;

  • 当A<C时,总时间=n*(C+B)+A;

题目中符合A>C的情况,故总时间为10*15+5+1=156

两个月冲刺中级软件设计师,欢迎大家一起讨论交流,同时也希望各位大佬们指出错误,我这边及时修改。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值