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

本文主要是介绍两个月冲刺软考——概念+求已知内存按字节编址从(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

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

这篇关于两个月冲刺软考——概念+求已知内存按字节编址从(A)…到(B)…的存储容量+求采用单/双缓冲区需要花费的时间计算 类型题目讲解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1131430

相关文章

Java时间轮调度算法的代码实现

《Java时间轮调度算法的代码实现》时间轮是一种高效的定时调度算法,主要用于管理延时任务或周期性任务,它通过一个环形数组(时间轮)和指针来实现,将大量定时任务分摊到固定的时间槽中,极大地降低了时间复杂... 目录1、简述2、时间轮的原理3. 时间轮的实现步骤3.1 定义时间槽3.2 定义时间轮3.3 使用时

C语言实现两个变量值交换的三种方式

《C语言实现两个变量值交换的三种方式》两个变量值的交换是编程中最常见的问题之一,以下将介绍三种变量的交换方式,其中第一种方式是最常用也是最实用的,后两种方式一般只在特殊限制下使用,需要的朋友可以参考下... 目录1.使用临时变量(推荐)2.相加和相减的方式(值较大时可能丢失数据)3.按位异或运算1.使用临时

Python循环缓冲区的应用详解

《Python循环缓冲区的应用详解》循环缓冲区是一个线性缓冲区,逻辑上被视为一个循环的结构,本文主要为大家介绍了Python中循环缓冲区的相关应用,有兴趣的小伙伴可以了解一下... 目录什么是循环缓冲区循环缓冲区的结构python中的循环缓冲区实现运行循环缓冲区循环缓冲区的优势应用案例Python中的实现库

Oracle存储过程里操作BLOB的字节数据的办法

《Oracle存储过程里操作BLOB的字节数据的办法》该篇文章介绍了如何在Oracle存储过程中操作BLOB的字节数据,作者研究了如何获取BLOB的字节长度、如何使用DBMS_LOB包进行BLOB操作... 目录一、缘由二、办法2.1 基本操作2.2 DBMS_LOB包2.3 字节级操作与RAW数据类型2.

Linux中的缓冲区和文件系统详解

《Linux中的缓冲区和文件系统详解》:本文主要介绍Linux中的缓冲区和文件系统方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、FILE结构1、fd2、缓冲区二、文件系统1、固态硬盘2、逻辑地址LBA(一)数据块 Data blocks(二)inode表

Python如何查看数据的类型

《Python如何查看数据的类型》:本文主要介绍Python如何查看数据的类型方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录python查看数据的类型1. 使用 type()2. 使用 isinstance()3. 检查对象的 __class__ 属性4.

Python容器类型之列表/字典/元组/集合方式

《Python容器类型之列表/字典/元组/集合方式》:本文主要介绍Python容器类型之列表/字典/元组/集合方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 列表(List) - 有序可变序列1.1 基本特性1.2 核心操作1.3 应用场景2. 字典(D

Python如何获取域名的SSL证书信息和到期时间

《Python如何获取域名的SSL证书信息和到期时间》在当今互联网时代,SSL证书的重要性不言而喻,它不仅为用户提供了安全的连接,还能提高网站的搜索引擎排名,那我们怎么才能通过Python获取域名的S... 目录了解SSL证书的基本概念使用python库来抓取SSL证书信息安装必要的库编写获取SSL证书信息

C++快速排序超详细讲解

《C++快速排序超详细讲解》快速排序是一种高效的排序算法,通过分治法将数组划分为两部分,递归排序,直到整个数组有序,通过代码解析和示例,详细解释了快速排序的工作原理和实现过程,需要的朋友可以参考下... 目录一、快速排序原理二、快速排序标准代码三、代码解析四、使用while循环的快速排序1.代码代码1.由快

Python如何在Word中生成多种不同类型的图表

《Python如何在Word中生成多种不同类型的图表》Word文档中插入图表不仅能直观呈现数据,还能提升文档的可读性和专业性,本文将介绍如何使用Python在Word文档中创建和自定义各种图表,需要的... 目录在Word中创建柱形图在Word中创建条形图在Word中创建折线图在Word中创建饼图在Word