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

软考-软件设计师 (计算机组成和体系结构习题)

   💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。



非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨
 

前言

小郑正在备考2024年下半年的中级软件设计师,所以打算开展一个软考备考专栏,在这里记录一下备考笔记以及习题,也希望大家能一起加入我们的软考备考之中,互相学习,一起进步。让我们快马加鞭,投入备考之中吧。

1.假设某系统总线在一个总线周期中并行传输4个字节信息,一个总线周期占用2个是时钟周期,总线时钟频率为10MHZ,则总线带宽是(B)。
A.10MB/S
B.20MB/S
C.40MB/S
D.80MB/S

解析:

时钟频率(Clock Frequency)

时钟频率是指时钟信号在1秒钟内变化的次数,通常以赫兹(Hz)为单位。在计算机系统中,这个频率决定了CPU(或其他数字电路)执行操作的速度。例如,如果时钟频率为10MHz,那么时钟信号每秒变化10,000,000次。

时钟周期(Clock Cycle Time)

时钟周期是时钟频率的倒数,表示完成一个基本的时间单位所需的时间。时钟周期通常以秒(s)或更小的单位(如纳秒ns、微秒μs)来表示。时钟周期是计算机执行一个基本操作(如读取指令、执行指令、存储结果等)所需的最短时间。

 


2.若某个计算机系统中,内存地址与I/0地址统一编址,访问内存单元和I/0设备是靠(B)来区分的。
A.数据总线上输出的数据
B.不同的地址代码
C.CPU周期
D.中断周期

I/0端口编址方式有2种:一种是存储器映射方式,即把端口地址与存储器地址统一编址,即I/O端口地址也称为统一编址方式;另一种是I/O映射方式,与存储器地址分别进行独立的编址,也称为独立编址方式

(1)统一编址
这种编址方式是从存储空间中划出一部分地址空间分配给!10设备,而把VO接口中的端口作为存储器单元进行访问,不设置专门的!O指令。在统一编址方式中,可以将U0端口看作是内存单元。从原则上说,用于内存的指令均可用于外设,这给使用者提供了极大的方便。但由于!0端口占用了内存地址,就相对减少了内存可用范围,而且从指令上不易区分是访问内存还是访问外设的指令。在统一编址方式下,CPU以地址区分访问外设或存储器,通过地址总线的最高位状态(1或 0)以及读、写控制信号决定

(2)独立编址
在这种编址方式中,内存地址空间和I/0端口地址是相对独立的,设置了专门的IN, OUT等I/O指令。内存与端口独立编址,各自有自己的寻址空间。用于内存和用于!/0端口的指令是不一样的,很容易辨认。但是用于!0端口的指令功能较弱,在!/O操作中必须通过 CPU的寄存器进行中转才能完成。


3.在32位的总线系统中,若时钟频率为1000MHz,总线上10个时钟周期传送一个32位字,则该总线系统的数据传送速率约为(C)MBIs.
A.100
B.200
C.400
D.800


4.对于定点纯小数的数据编码,下列说法正确的是(D)
A.仅原码能表示-1
B.仅反码能表示-1
C.原码和反码均能表示-1
D.仅补码能表示-1

定点小数表示中,只有补码能表示 -1

补码:补码表示法是为了解决原码和反码在表示负数时的不足而设计的。补码的最高位同样为符号位,0表示正数,1表示负数。对于负数,补码是通过将该数的绝对值的二进制表示取反后加1得到的。在补码表示法中,能够利用符号位和数值位共同表示出-1,即补码中的全1(例如,在8位二进制数中,-1的补码为11111111)表示-1。


5.计算机指令系统采用多种寻址方式。立即寻址是指操作数包含在指令中,寄存器寻址是指操作数在寄存器中,直接寻址是指操作数的地址在指令中。这三种寻址方式获取操作数的速度(A)。


A.立即寻址最快,寄存器寻址次之,直接寻址最慢
B.寄存器寻址最快,立即寻址次之,直接寻址最慢
C.直接寻址最快,寄存器寻址次之,立即寻址最慢
D.寄存器寻址最快,直接寻址次之,立即寻址最慢


6.以下关于冯诺依曼计算机的叙述中,不正确的是(B)

A.程序指令和数据都采用二进制表示

B.程序指令总是存储在主存中,而数据则存储在高速缓存中

C.程序的功能都由中央处理器(CPU)执行指令来实现

D.程序的执行过程由指令进行自动控制

B选项 :在冯诺依曼计算机体系结构中,程序指令和数据都可以存储在主存(如RAM)中。高速缓存(Cache)是CPU和主存之间的高速小容量存储器,用于存放CPU最近访问过的数据和指令,以加快访问速度。但它不是专门用来存储数据的,也不是说数据就不能存储在主存中。实际上,数据和指令都可以根据需要在主存和高速缓存之间转移。


7.为了实现多级中断,保存程序现场信息最有效的方法是使用(C)

A.通用寄存器

B.累加器

C.堆栈

D.程序计数器

C. 堆栈堆栈是一种后进先出(LIFO)的数据结构,非常适合用于保存和恢复程序现场信息。在多级中断情况下,当新的中断发生时,可以将当前程序的现场信息压入堆栈,待中断处理完毕后,再从堆栈中弹出恢复现场。这种方式确保了现场信息的保存和恢复顺序与中断发生顺序相反,从而保证了程序的正确执行。此外,堆栈通常是固定大小的,可以在内存中预分配,避免了动态内存分配的开销和内存碎片问题。因此,堆栈是实现多级中断时保存程序现场信息的最有效方法。

D. 程序计数器:程序计数器(Program Counter, PC)是CPU中的一个寄存器,用于存储当前指令的地址。虽然它对于程序的执行至关重要,但并不适合用于保存程序现场信息。程序计数器的值会随着程序的执行而不断变化,无法长期稳定地保存程序状态。


8.在微型计算机中,管理键盘最适合采用的 I/0 控制方式是(D)方 式

A.DMA

B.无条件传送

C.程序查询

D.中断

  1. DMA(直接存储器访问)方式
    • 特点:DMA方式允许外设与内存之间直接进行数据传输,无需CPU干预。这种方式传输速度快,适用于大数据量的高速传输。
    • 适用场景:主要用于高速外设,如磁盘驱动器、网络接口等。
    • 对于键盘管理:由于键盘的数据传输量相对较小且实时性要求较高,DMA方式可能不是最优选择,因为它可能引入不必要的复杂性和延迟。
  2. 无条件传送方式
    • 特点:CPU在需要时直接执行I/O指令,不考虑外设的状态
    • 适用场景:通常用于外设总是准备好的情况,如简单的LED显示。
    • 对于键盘管理:由于键盘的状态(如按键是否被按下)是变化的,无条件传送方式不适合用于管理键盘。
  3. 程序查询方式
    • 特点:CPU通过执行程序不断查询外设的状态,仅在外设准备好时才进行数据传输
    • 适用场景:适用于外设数量少、对实时性要求不高的场合。
    • 对于键盘管理:虽然程序查询方式可以用于管理键盘,但由于需要CPU不断查询键盘状态,会占用较多的CPU时间,影响系统效率。
  4. 中断方式
    • 特点:当外设需要服务时,会向CPU发出中断请求信号。CPU在完成当前指令后响应中断,执行相应的中断服务程序。
    • 适用场景:广泛用于各种外设的管理,特别是需要实时响应的设备,如键盘、鼠标等。
    • 对于键盘管理:中断方式非常适合用于管理键盘。当键盘上的按键被按下时,键盘会向CPU发出中断请求信号。CPU在响应中断后执行中断服务程序,读取按键信息并进行处理。这种方式既保证了实时性,又避免了CPU的无效等待,提高了系统效率。

9.(B)是一种需要通过周期性刷新来保持数据的存储器件
A.SRAM
B.DRAM
C.FLASH
D.EEPROM

SRAM的概念:

它是一种具有静止存取功能的内存。特点是:不需要刷新电路即能保存它内部存储的数据。因此SRAM具有较高的性能,但是集成度较低,相同容量的DRAM内存可以设计为较小的体积,但是SRAM却需要很大的体积,且功耗较大

DRAM的概念:

即动态随机存取存储器,最为常见的系统内存。特点是:只能将数据保持很短的时间。为了保持数据,DRAM使用电容存储,所以必须隔一段时间刷新一次,如果存储单元没有被刷新,存储的信息就会丢失。


10.以下关于闪存(Flash Memory)的叙述中,错误的是(B)
A.掉电后信息不会丢失,属于非易失性存储器
B.以字节为单位进行删除操作
C.采用随机访问方式
D.在嵌入式系统中可以用Flash来代替ROM存储器


A正确,闪存掉电后信息不丢失,
B错误,闪存以块为单位进行删除操作。
C正确,闪存采用随机访问方式,所以速度很快。D正确,在过去的20年里,嵌入式系统一直使用ROM(EPROM)作为它们的存储设备,然而近年来Flash全面代替了ROM(EPROM)在嵌入式系统中的地位,用作存储Bootloader以及操作系统或者程序代码或者直接当硬盘使用(U盘)。

❤️❤️❤️小郑是普通学生水平,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

相关文章:

  • Linux-入门-02
  • 【算法刷题日志】1044 最长重复子串和75 颜色分类,
  • 在Application中如何将集成三方框架初始化
  • c++的类和对象(上)
  • 鸿蒙(API 12 Beta2版)媒体开发【处理音频焦点事件】
  • 【电路笔记】-无源衰减器
  • websocket投送
  • Go语言本机多版本管理
  • 鸿蒙AI功能开发【hiai引擎框架-人脸比对】 基础视觉服务
  • 【OpenCV C++20 学习笔记】霍夫圆形变换-Hough Circle Transform
  • Can‘t import openai in Node
  • 2024 某公司python 面试真题
  • C# Unity 面向对象补全计划 泛型约束
  • 代码随想录算法训练营第三十九天 | 322. 零钱兑换、279.完全平方数、139.单词拆分、多重背包理论基础、背包问题总结
  • 到底是低度还是高度的白酒对身体的伤害更大?
  • 2017-09-12 前端日报
  • Android开发 - 掌握ConstraintLayout(四)创建基本约束
  • conda常用的命令
  • gulp 教程
  • in typeof instanceof ===这些运算符有什么作用
  • JavaScript设计模式与开发实践系列之策略模式
  • Java深入 - 深入理解Java集合
  • Linux各目录及每个目录的详细介绍
  • Nacos系列:Nacos的Java SDK使用
  • Python 反序列化安全问题(二)
  • REST架构的思考
  • SQLServer之创建数据库快照
  • ViewService——一种保证客户端与服务端同步的方法
  • 阿里中间件开源组件:Sentinel 0.2.0正式发布
  • 安装python包到指定虚拟环境
  • 包装类对象
  • 从伪并行的 Python 多线程说起
  • 官方新出的 Kotlin 扩展库 KTX,到底帮你干了什么?
  • 普通函数和构造函数的区别
  • 如何设计一个比特币钱包服务
  • 如何在GitHub上创建个人博客
  • 使用 Xcode 的 Target 区分开发和生产环境
  • 听说你叫Java(二)–Servlet请求
  • 微信小程序实战练习(仿五洲到家微信版)
  • const的用法,特别是用在函数前面与后面的区别
  • 蚂蚁金服CTO程立:真正的技术革命才刚刚开始
  • 昨天1024程序员节,我故意写了个死循环~
  • ​LeetCode解法汇总2696. 删除子串后的字符串最小长度
  • #!/usr/bin/python与#!/usr/bin/env python的区别
  • (02)Hive SQL编译成MapReduce任务的过程
  • (HAL)STM32F103C6T8——软件模拟I2C驱动0.96寸OLED屏幕
  • (补充):java各种进制、原码、反码、补码和文本、图像、音频在计算机中的存储方式
  • (超详细)语音信号处理之特征提取
  • (论文阅读22/100)Learning a Deep Compact Image Representation for Visual Tracking
  • (强烈推荐)移动端音视频从零到上手(上)
  • (十八)Flink CEP 详解
  • (转)IOS中获取各种文件的目录路径的方法
  • (转)Windows2003安全设置/维护
  • .NET 6 Mysql Canal (CDC 增量同步,捕获变更数据) 案例版
  • .NET Entity FrameWork 总结 ,在项目中用处个人感觉不大。适合初级用用,不涉及到与数据库通信。