软考——软件设计师中级2023年11月备考(1.计算机组成原理)

news2024/11/27 7:38:08

一、计算机组成原理

1.数据的表示

1.1 十进制转R进制

方法:对十进制数除R取余,最后对余数取倒序

如:  

1.2 原码反码补码

1.3 浮点数

1.4 校验码  ——  海明码  (非重点,了解即可)

海明码的构成方法: 在数据位之间插入k个校验码,通过扩大码距来实现检错和纠错。

n = 16 , 根据关系式依次带入校验位k:

当K=4时,2^{4} - 1 \geq 16 + 4   X

当k= 5 时,2^{5} - 1 \geq 16 + 5 

最终选C

2. CPU

2.1 计算机体系结构——五大部件

  •  例如 买手机或平板时 ,6+128G或8+128G等,6/8相当于计算机的主存(主存储器),128G相当于计算机的辅存(辅助存储器)
  • 计算机的主机包括两大部件:CPU和内存(主存储器)。而对于声卡、显卡、鼠标键盘这些都是属于外设。

2.2 主存储器

2.3 运算器

  •  助记:ALU 算数 逻辑 单元(arithmetical  logic unit)、register(寄存器)、I(instruction)指令、
  • 数据缓冲寄存器 DR:作为CPU和内存、外设之间数据传送的中转站,作为CPU和内存、外设之间在操作速度上的缓冲。

2.4 控制器

3. Flynn分类法

  • !!! 多指令流单数据流:理论上存在而实际上不存在
  • Flynn分类法中主要有两个指标:一个是指令流,一个是数据流。指令流为机器执行的指令序列;数据流是由指令调用的数据序列。无论是指令流还是数据流,它们都分为两种类型:单、多。

4. 指令系统

  • 指令

指令(又称机器指令):是指示计算机执行某种操作的命令,是计算机运行的最小功能单位,由二进制表示。

一台计算机的所有指令的集合构成该机的指令系统,也称为指令集。

  • 指令格式

一条指令就是机器语言的一个语句,它是一组有意义的二进制代码。

一条指令通常包括操作码字段地址码字段两部分:

  • 寻址方式  !!

数据寻址:(速度:快->慢)

  • CISC(复杂指令集 计算机)和RISC(精简指令集计算机)

  • 指令的流水处理

指令控制方式有 顺序方式、重叠方式和流水方式。

流水方式:是指并行性或并发性嵌入计算机系统里的一种形式,它把重复的顺序处理过程分解为若干子过程,每个子过程能在专用的独立模块上有效地并发工作。

--> 取指 --> 分析 -->  执行  -->  

下图:左图是 未使用流水线执行指令情况; 右图是 使用流水线执行指令情况 

例:1.流水线周期计算,n条指令全部执行完毕所需时间计算

解:

流水线周期:  2ns(纳秒)  (流水线周期是指在(取指、分析、执行)三个阶段中时间最长的一段

1条指令执行时间):2ns + 2ns + 1ns = 5ns

100条指令全部执行完毕:5ns + (100 - 1) * 2ns = 203ns

吞吐率:TP = 100 / 203 \approx 0.5  

完成100条指令,加速比:S = 5 * 100 / 203 = 2.46  (如果不使用流水线,则采用顺序执行的方法)

例2:吞吐率计算

  • 例3 流水线的加速比

5. 存储系统

5.1 存储系统的层次结构

  • 在上图中,存储速度最快、效率最高的就是寄存器,它位于CPU中,在CPU中,拥有运算器和控制器,而在运算器和控制器中,就会存在相应的寄存器。而寄存器的容量是极小的,但是速度非常快。

主存 — 辅存:实现虚拟存储系统,解决了主存容量不够的问题

Cache — 主存:解决了主存与CPU速度不匹配的问题。由硬件自动完成

5. 2 存储器的分类

5.2.1 按存储器所处的位置分类:
  • 内存主存):设在主机内或主板上,用来存放机器当前运行所需要的程序和数据,以便向CPU提供信息。相对于外存,其特点是容量小、速度快
  • 外存辅存):如磁盘、磁带、光盘和U盘等,用来存放当前不参加运行的大量信息,而在需要时调入内存。容量大但速度慢
5.2.2 按材料分类
  • 磁存储器:用磁性介质做成,如磁芯、磁泡、磁膜、磁鼓、磁带及磁盘等。
  • 半导体存储器:根据所用元件可分为:双极型和MOS型;根据数据是否需要刷新可分为:静态和动态
  • 光存储器:利用光学方法读/写数据的存储器,如光盘
5.2.3 按工作方式分类 
  • 读/写存储器(RAM):既能读取数据也能存入数据的存储器。
  • 只读存储器:工作过程中仅能读取的存储器。

根据数据的写入方式又可细分为:ROM、PROM、EPROM、EEPROM等。

  • 固定只读存储器(ROM):这种存储器是在厂家生产时就写好数据的,其内容只能读出,不能改变。一般用于存放系统程序BIOS和用于微程序控制
  • 可编程的只读存储器(PROM):其中的内容可以由用户一次性写入,写入后不能再修改
  • 可擦除可编程的只读存储器(EPROM):其中的内容既可以读出,也可以由用户写入,写入后还可以修改,紫外线照射擦除信息
  • 电擦除可编程的只读存储器(EEPROM):与EPROM相似,既可以读出,也可以写入,只不过这种存储器采用电擦除的方式进行数据的改写。
  • 闪速存储器(FM)(Flash Memory):简称闪存,其特性介于EPROM和EEPROM之间,类似于EEPROM,也可使用电信号进行信息的擦除操作。整块闪存可以在数秒内删除,速度远快于EPROM

5.3 高速缓存Cache

5.3.1 局部性原理
  • 空间局部性:在最近的未来要用到的 信息(包括指令和数据),很可能与现在正在使用的信息在存储空间上是临近的。(即:指一旦程序访问了某个存储单元,则在不久的将来,其附近的存储单元也最有可能被访问。)

例如:数组元素、顺序执行的指令代码

  • 时间局部性:在最近的未来要用到的信息,很可能是现在正在使用的信息。

例如:循环结构里面的指令代码

  • 基于局部性原理,不难想到,可以把CPU目前访问到的地址“周围”的部分数据放到Cache中,以提高访问效率。
  • 使用Cahe改善系统性能的依据是程序的局部性原理
  • 在计算机的存储体系中, Cache是访问速度最快的层次。
5.3.2 高速缓存中的地址映像方法

要把主存中的地址映射为Cache存储器里面的地址,地址映像方法有三种:

  • 直接映像:指主存的块与Cache块的对应关系是固定的。优点是地址变换简单,缺点是灵活性差、Cache块冲突率高。

  • 全相联映像:允许主存的任一块可以调入Cache存储器的任何一个块的空间中。优点是Cache的位置不受限制,十分灵活,缺点是无法从主存块号中直接获得Cache的块号,访问速度慢、地址变换较复杂、成本太高。

  • 组相联映像:是前两种方式的折衷方案,具体方法是将Cache先分成组再分成块。即间采用直接映像方式、组内的采用全相联映像方式

5.3.3 替换算法

选择替换算法的目标是使Cache获得最高的命中率。常用的替换算法有以下几种:

  1. 随机替换(RAND)算法:用随机数发生器产生一个要替换的块号,将该块替换出去。
  2. 先进先出(FIFO)算法:将最先进入的Cache信息块替换出去。
  3. 近期最少使用(LRU)算法:将近期最少使用的Cache中的信息块替换出去。这种算法较先进先出算法要好些,但此法也不能保证过去不常用的将来也不常用。
  4. 优化替换(OPT)算法:先执行一次程序统计Cache的替换情况。有了这样的先验信息,在第二次执行该程序时便可以用最有效的方式来替换,达到最有目的。
5.3.4 Cache的性能分析

 

试题12:A

A:Cache中的内容也是主存中有的,并没有“扩大”

试题17:D

A、B:Cache和主存之间是由计算机硬件完成的,并不是操作系统,也不是通过编程

试题19:A

 

Cache总结:

  1. Cache位于CPU和主存之间由硬件来实现,容量小,速度比主存块5~10倍,由快速地半导体存储器制成,是主存的副本,无法扩充主存的容量。

5.4 主存

5.4.1 主存的编址

解:

K = 2^{10}, M = 2^{20}, G = 2^{30}

第(1)问:B

        内存地址从AC000H到C7FFFH(两个十六进制数进行加减,再加1),C7FFFH-AC000H = 1BFFFH(因为十六进制,所以每借一位加16),再加1,得1C000H,(将其转换成K单位,要对结果除以1024)。将其转为十进制:(0×16^{0}+ 0×16^{1} + 0×16^{2}+ C×16^{3} + 1×16^{4})/1024=112K。

第(2)问:A

        总容量为112K×16bit,该芯片每个存储单元存储位数:(112K x 16bit)  /  (28 x 16K) = 4bit

5.5 硬盘(磁盘)(了解公式即可)

5.6 总线系统

根据总线所处位置不同,分为三种类型:

  1. 片内总线:是芯片内部的总线。它是CPU芯片内部寄存器和寄存器之间、寄存器与ALU之间的公共连接线。
  2. 系统总线:是计算机系统内各功能部件(CPU、主存、I/O接口)之间相互连接的总线。按系统总线传输信息内容的不同,又分为3类:数据总线、地址总线和控制总线
  3. 通信总线

6.输入输出技术

CPU与外设之间的数据传送方式

6.1 直接程序控制方式

直接程序控制是指外设数据的输入/输出过程是在CPU执行程序的控制下完成的。这种方法分为:无条件传送和程序查询方式两种情况。

  • 无条件传送方式:(无条件地与CPU交换数据)在此情况下,外设总是准备好的,它可以无条件的随时接收CPU发来的输出数据,也能够无条件的随时向CPU提供需要输入的数据。
  • 程序查询方式:(先通过CPU查询外设状态,准备好之后再与CPU交换数据)在这种方式下,利用查询方式进行输入/输出,就是通过CPU执行程序来查询外设的状态,判断外设是否准备好接收数据或准备好了向CPU输入的数据

6.2 中断方式

对于程序控制I/O的方法,其主要的缺点:CPU必须等待I/O系统完成数据的传输任务,整个系统的性能严重下降。

利用中断方式完成数据的输入/输出过程为:当I/O系统与外设交换数据时,CPU无需等待也不必去查询I/O的状态,而可以抽身出来处理其他任务。当I/O系统准备好了以后,则发出中断请求信号通知CPU,CPU接到中断请求信号后,保存正在执行程序的现场,转入I/O中断服务程序的执行,完成与I/O系统的数据交换,然后再返回被中断的程序继续执行。

与程序控制方式相比,中断方式因为CPU无需等待而提高了效率。
 

6.3 直接存储器存取方式(DMA)!!!

直接存储器存取(Direct Memory Access, DMA)方式是在存储器与I/O设备间直接传送数据,即在内存和I/O设备之间传送一个数据块的过程中,不需要CPU的任何干涉,是一种完全由DMA硬件完成I/O操作的方式。

D

7.计算机系统的可靠性

计算机系统的可靠性是指从它开始运行(t=0)到某个时刻t这段时间内能正常运行的概率

用R(t) 表示

  • 串联部件的可靠度 = 各部件的可靠度的乘积
  • 并联部件的可靠度 = 1 - 部件失效率的乘积   (失效率 = 1 - 可靠度)

首先是3个R的并联,接着是2个R的并联,最后是串联。

选B

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1056087.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023年Linux总结常用命令

1.常用命令 1.1创建文件夹 mkdir -p forever/my 1.2当前目录 pwd 1.3创建文件 touch 1.txt 1.4查看文件 cat 1.txt 1.5复制文件 说明:-r是复制文件夹 cp -r my myCopy 1.6删除文件 说明:-r带包删除文件夹,-f表示强制删除(保存问题) rm -r…

BEAPP:脑电批处理平台

摘要 脑电图(EEG)提供了与各种神经系统和神经精神疾病相关的脑功能信息。EEG包含复杂的高时间分辨率信息,而计算分析可以最大限度地利用这些信息。在这里,本研究提出了批量脑电图自动处理平台(BEAPP),这是一个自动化、灵活的EEG处理平台&…

freertos简介与移植

freertos是一个可裁剪的小型rtos系统,特点: 支持抢占式,合作式和时间片调度saferos衍生自freertos,更完整提供了一个用于低功耗的tickless模式系统的组件在创建时可以选择动态或者静态的ram,例如任务,消息…

python之阈值分割

阈值分割法是一种基于区域的图像分割技术,原理是把图像像素点分为若干类。图像阈值化分割是一种传统的最常用的图像分割方法,因其实现简单、计算量小、性能较稳定而成为图像分割中最基本和应用最广泛的分割技术。它特别适用于目标和背景占据不同灰度级范…

python之股票财务分析

#import akshare as ak import pandas as pd import matplotlib.pyplot as plt symbol1"资产负债表" symbol2"利润表" symbol3"现金流量表" #df1ak.stock_financial_report_sina(stock"601633",symbolsymbol1) #df2ak.stock_financial…

Linux CentOS7 vim多窗口编辑

我们在用vim编辑文件时,有各种需求。如有时需要在多个文件之间来回操作,一会关闭一个文件,一会再打开另外一个文件,这样来回操作显得太笨拙。有时,vim编辑多行的大文件,来回查看、编辑前面一部分及最后一部…

《从零开始的Java世界》03面向对象(进阶)

《从零开始的Java世界》系列主要讲解Javase部分,从最简单的程序设计到面向对象编程,再到异常处理、常用API的使用,最后到注解、反射,涵盖Java基础所需的所有知识点。学习者应该从学会如何使用,到知道其实现原理全方位式…

竞赛 机器学习股票大数据量化分析与预测系统 - python 竞赛

文章目录 0 前言1 课题背景2 实现效果UI界面设计web预测界面RSRS选股界面 3 软件架构4 工具介绍Flask框架MySQL数据库LSTM 5 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 机器学习股票大数据量化分析与预测系统 该项目较为新颖&am…

使用 ClassFinal 对 java class 文件进行加密防止反编译

ClassFinal 是一款 java class文件安全加密工具,支持直接加密 jar 包或 war 包,无需修改任何项目代码,兼容 spring-framework;可避免源码泄漏或字节码被反编译 特点 无需修改原项目代码,只要把编译好的jar/war包用本工…

媒体梦工厂AI智聊:轻松提升工作效率的智能助手

在信息爆炸的时代,如何快速、准确地获取和处理信息,成为提高工作效率的关键。媒体梦工厂最新推出的AI智聊功能,为您提供了全新的解决方案,让您在工作和生活中轻松提升效率。 首先,我们要进入好简单批量智剪的主页面&am…

643. 子数组最大平均数I(滑动窗口)

目录 一、题目 二、代码 一、题目 643. 子数组最大平均数 I - 力扣&#xff08;LeetCode&#xff09; 二、代码 class Solution { public:double findMaxAverage(vector<int>& nums, int k) {double Average INT_MIN;double sum nums[0];int left 0, right 0…

2023年10月报价:腾讯云服务器租用价格表_轻量_CVM_GPU

阿里云服务器10月报价表来了&#xff0c;和9月份价格差不多&#xff0c;再等一个月就到腾讯云双十一优惠活动了&#xff0c;腾讯云百科先来说说10月腾讯云服务器优惠价格表&#xff1a;轻量应用服务器2核2G3M带宽95元一年、2核4G5M带宽218元一年、2核2G4M带宽三年价540元一年、…

绘制李萨如图,数据保存excel,txt

前置 看到网络上绘制的这么漂亮的数学图形&#xff0c;觉得能够用一个代码绘制全部的这些图形&#xff0c;就能提高不少效率&#xff0c;所以于是就心血来潮&#xff1a; 这是一个绘制李萨如图并保存数据的Python代码示例。下面是每行注释的详细解释&#xff1a; import os …

面试5g通信工程师对方要看芝麻信用分靠谱吗

大家好&#xff0c;我是网络工程师成长日记实验室的郑老师&#xff0c;您现在正在查看的是网络工程师成长日记专栏&#xff0c;记录网络工程师日常生活的点点滴滴 有个大兄弟说&#xff0c;他在深圳龙岗去面试5G网络优化工程师。对方说刚入职多少钱&#xff0c;工作一段时间多少…

内网信息收集

1.内网基本步骤 2.收集本机信息 3.查询当前用户 4.判断域存在不 看域名和ip是不是一个内网 5.查看域内主机 6.扫描域内主机端口 7.收集域内基本信息 8.查找域控 9.查看域内用户和管理员信息 10.定位域管理员 11.查看域管理进程 12.域管理员方法 13.利用powershell收集…

SpringCloud Alibaba - 基于 FeignClient 整合 Sentinel,实现“线程隔离”和“熔断降级”

目录 一、FeignClient 整合 Sentinel 1.1、整合原因 1.2、实现步骤 1.2.1、修改 OrderService 中的 application.yml 文件 1.2.2、给 FeignClient 编写失败后的降级逻辑 二、线程隔离 2.1、线程隔离的两种方式 2.1.1、线程池隔离 2.1.2、信号量隔离&#xff08;Sentin…

c#设计模式-结构型模式 之 享元模式

&#x1f680;简介 享元模式&#xff08;Flyweight Pattern&#xff09;是一种用于性能优化的模式&#xff0c;其核心是运用共享技术来有效支持大量细粒度的对象。享元模式可以避免大量非常相似类的开销。在程序设计中&#xff0c;有时需要生成大量细粒度的类实例来表示数据。…

FPGA行业应用二:通用仪器行业

通用仪器指的是电子测试技术中涉及的仪器仪表&#xff0c;如&#xff1a;万用表&#xff0c;示波器&#xff0c;信号发生器&#xff0c;波形发生器&#xff0c;频谱分析仪&#xff0c;功率计&#xff0c;电源&#xff0c;等…… 用于测量&#xff0c;测试&#xff0c;控制&…

C语言编译与链接过程详解

C语言编译与链接过程详解 源文件 main.c #include <stdio.h>extern int data; extern int add(int a,int b);int a1; int a2 0; int a3 10;static int b1; static int b2 0; static int b3 20;int main() {int c1;int c2 0;int c3 30;static int d1;static int …

QQ通信协议

不管UDP还是TCP&#xff0c;最终登陆成功之后&#xff0c;QQ都会有一个TCP连接来保持在线状态。这个TCP连接的远程端口一般是80&#xff0c;采用UDP方式登陆的时候&#xff0c;端口是8000。因此&#xff0c;假如你所在的网络开放了80端口&#xff08;80端口是最常用端口。。就是…