热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

软件设计师考试计算机组成与体系结构

1.数据的表示1.1进制转换1.R进制转十进制使用按权展开法将.R进制转十进制2.十进制转R进制十进制转R进制使用短除法3.二进制转八进制与十六进制二进制由右到左每3位对应一

1. 数据的表示


1.1 进制转换

1.R进制转十进制
使用按权展开法将.R进制转十进制
在这里插入图片描述

2.十进制转R进制
十进制转R进制使用短除法
在这里插入图片描述
3.二进制转八进制与十六进制
二进制由右到左每3位对应一个八进制位,如下二进制数10001110对应八进制216

二进制由右到左每4位对应一个十六进制位
十六进制中:A=10,B=11,C=12, D=13, E=14 , F=15

如下二进制数10001110对应十六进制0X8E,其他形式的十六进制表示8EH。

在这里插入图片描述


1.2 原码、反码、补码、移码

原码:即机器码,数值的二进制形式,最高位(符号位)表示符号:0为正数,1为负数
反码:正数的原码和反码一样,负数的反码除了最高位不变外,后面的位全部取反。
补码:正数的原码和补码一样,负数的补码=反码+1,计算机中使用补码进行加减法运算。
移码:在补码的基础上,符号位取反

在这里插入图片描述


1.3 浮点数运算

在这里插入图片描述
尾数为1~9的自然数

小阶对大阶:就是计算的时候,由小的浮点数向上转为相同科学记数法表示的数,与大的浮点数进行计算。

比如:3.14×10^3+1.2×10 ^5=0.0314×10 ^5+1.2×10 ^5

浮点的运算特点:

在这里插入图片描述


2. 计算机结构

主机的基本结构图:
在这里插入图片描述
重点:运算器和控制器。他们不同的组件的作用。

在这里插入图片描述


2.1 CPU

在CPU内外常需设置多级高速缓存,主要目的是:提高CPU访问主存数据或指令的效率。

在计算机运行过程中,进行中断处理时需要保存现场,其目的是能正确返回到被中断的程序继续执行。

缓存Cache与主存之间的映射是由硬件自动实现的,主存与辅存之间的交互是由硬件与软件结合起来实现的。

CPU在执行指令的过程中,会自动修改程序计数器的内容,以使其保存的总是将要执行的下一条指令的地址。(2018下半年考题.01)


  • 指令寄存器:临时放置从内存里面取得的程序指令的寄存器,用于存放当前从主存储读出的正在执行的一条指令。
  • 地址寄存器:地址寄存器用来保存当前CPU所访问的内存单元地址。
  • 指令译码器:指令译码器从内存中取出的一条指令经数据总线送往指令寄存器中。译码器的主要作用是对指令进行译码。

运算器

运算器用于CPU的运算工作,运算器主要由算数逻辑单元ALU、累加寄存器、数据缓冲寄存器、状态条件寄存器。

在这里插入图片描述


控制器

CPU控制器用于整个CPU的控制工作,它负责依次访问程序指令,进行指令译码,并协调其他设备,控制器通常由程序计数器、指令寄存器、指令译码器、状态/条件寄存器、时序发生器、微操作信号发生器组成。

在这里插入图片描述


2.2 主存储器

主存,也就是内存主要采用动态随机存储器DRAM,Cache采用静态随机存储器SRAM,EEPROM是电擦除可编程的只读存储器。硬盘属于外存。


2.3 DMA

DMA方式也成为直接主存存取方式,其思想是:允许主存储器和I/O设备之间通过“DMA控制器(DMAC)”直接进行批量数据交换,除了在数据传输开始和结束时,整个过程无需CPU的干预。


3. 计算机体系结构分类-Flynn分类法

Flynn分类法是计算机体系结构的分类法
在这里插入图片描述
重点:单指令流多数据流的代表是阵列处理机


4. CISC与RISC(指令系统类型)


4.1 指令

在这里插入图片描述


4.2 寻址方式

在这里插入图片描述


4.3 CISC与RISC的区别

在这里插入图片描述
在这里插入图片描述

RISC精简指令系统的寻址方式少,通常只支持寄存器寻址方式,立即数寻址方式和相对寻址方式。


5. 流水线


5.1 基本概念

流水线是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术。各种部件同时处理是针对不同指令而言的,它们可同时为多条指令的不同部分进行工作,以提高各部件的利用率和指令的平均执行速度。

如指令的基本操作:取值->分析->执行的操作。指令1,2,3分别完成取值、分析、执行的操作。
在这里插入图片描述


5.2 流水线计算

流水线周期为指令执行时间最长的一段的时间


流水线执行时间计算公式

1条指令执行时间+(指令条数-1)*流水线周期

①理论公式:(t1+t2+…tk)+(n-1)*流水线周期,n为指令条数
②实践公式:(k+n-1) * 流水线周期,k为指令执行的步骤数量

例如:
在这里插入图片描述

在这里插入图片描述
流水线周期为2ns
理论公式=(2+2+1)*(100-1)*2=203
实践公式=(3+100-1)*2=204

拓展:
超标量流水线,超过一条流水线(度>1)


流水线吞吐率计算

流水线的吞吐率是指在单位时间内流水线所完成的任务数量或输出的结果数量。计算流水线吞吐率的最基本的公式如下:
在这里插入图片描述
流水线最大吞吐率:1/流水线周期
在这里插入图片描述


流水线加速比计算

流水线加速比计算指的是完成同样一批任务,不使用流水线所有的时间与使用流水线所用的时间之比称为流水线的加速比。计算流水线加速比的基本公式如下:
在这里插入图片描述

如上题:S=(2+2+1)*100/203


流水线的效率

流水线的效率指的是流水线的设备利用率,在时空图上,流水线的效率定义为n个任务占用的时空区与k个流水段总的时空区之比。

计算流水线效率的公式如下:
在这里插入图片描述
如题:
在这里插入图片描述
流水线效率为(△t+△t+△t+3*△t)4/15△t4=24/60=40%


6. 计算机层次化存储结构

计算机存储的层次化结构如图所示:
在这里插入图片描述


缓存

在计算机的存储系统体系中,Cache访问速度最快的层次(如果有寄存器,则选择寄存器)。使用缓存改善系统性能的依据是程序的局部性原理。

缓存的功能:提高CPU数据输入输出的速率,突破冯·诺伊曼瓶颈,即CPU与存储系统间数据传送带宽限制。
在这里插入图片描述
地址映像
在这里插入图片描述
直接相联映像
在这里插入图片描述

全相联映像
在这里插入图片描述

组相联映像
在这里插入图片描述


时间局促性和空间局促性

工作集理论:工作集是进程运行时被频繁访问的页面集合。

局部性原理是指计算机在执行某个程序时, 倾向于使用最近使用的数据。局部性原理有两种表现形式:


  1. 时间局部性是指如果程序中的某条指令一旦被执行,则不久的将来该指令可能再次被执行。
  2. 空间局部性是指一旦程序访问了某个存储单元,则在不久的将来,其附近的存储单位也最有可能被访问。

主存(内存)

主存(内存)分为两类:随机存储器(RAM)和只读存储器(ROM)
在这里插入图片描述


随机存储器

随机存取存储器也被称为读写存储器或主存储器,CPU在程序执行期间所需的程序和数据存储在此存储器中。它是易失性存储器,因为关闭电源后数据会丢失。


只读存储器

只读存储器(只读内存)用于存储操作系统必需的关键信息,例如启动计算机所需的程序。只读存储器始终保留其数据,不容易丢失。


主存的编址与计算

主存的编址
在这里插入图片描述


7. 磁盘

在这里插入图片描述
问题:
在这里插入图片描述


磁盘结构与参数

磁盘工作原理


8. 计算机总线

一条总线同一时刻仅允许一个设备发送,但允许多个设备接收。计算机内部总线为三总线结构,它们分别是地址总线、数据总线和控制总线。

根据总线所处的位置不同,总线通常被分成三种类型,分别是:


  1. 内部总线
  2. 系统总线:数据总线、地址总线、控制总线
  3. 外部总线

系统总线的分类:
在这里插入图片描述


9. 系统可靠性分析


串联系统

在这里插入图片描述
R(n)表示单个系统的可靠性


并联系统

在这里插入图片描述


模冗余系统

在这里插入图片描述


混合系统

在这里插入图片描述


10. 校验码

码距:任何一种编码都由许多码字构成,任意两个码字之间最少变化的二进制位数就称为数据校验码的码距。

例如:用4位二进制表示16种状态,则有16个不同的码字,此时码距为1,如0000与0001,之间的转换只需要变化一个二进制位。

一个编码系统的码距是整个编码系统中任意(所有)两个码字的最小距离。

例如:
在这里插入图片描述

码距与检错、纠错有何关系?


  1. 在一个码组内为了检测e个误码,要求最小码距d应该满足:d>=e+1
  2. 在一个码组内为了纠正t个误码,要求最小码距d应该满足:d>=2t+1

奇偶校验

奇偶校验可检错不可纠错
在这里插入图片描述


模2除法

什么是模2除法,它和普通的除法有何区别?

模2触发是指在做除法运算的过程中不计其进位的触发。
(做异或运算)

在这里插入图片描述


循环校验码CRC

循环冗余校验码使用模2运算,循环冗余校验码和奇偶检验只可检错不可纠错

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
多项式对应的原码为11011,计算结果:
在这里插入图片描述


海明校验码

海明码是利用奇偶性来检错和纠错的校验方法,码距最小为2n+1。海明校验码既可以检错,也可纠错。

在这里插入图片描述

在这里插入图片描述


11. 嵌入式系统

嵌入式系统的特点:


  1. 微型化
  2. 可定制
  3. 实时性
  4. 可靠性
  5. 易移植性

在微机系统中,BIOS(基本输入输出系统)保存在主板上的ROM中。BIOS是一个程序,是固化在主板的BIOS ROM芯片里面的,它相当于硬件底层的一个操作系统,控制和保存着硬件的输入输出工作。


笔记总结自:

  1. 软件设计师考试教程
  2. 软件设计师教程


推荐阅读
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 本文介绍了在Oracle数据库中创建序列时如何选择cache或nocache参数。cache参数可以提高序列的存取速度,但可能会导致序列丢失;nocache参数可以避免序列丢失,但在高并发访问时可能导致性能问题。文章详细解释了两者的区别和使用场景。 ... [详细]
  • 达人评测 酷睿i5 12450h和锐龙r7 5800h选哪个好 i512450h和r75800h对比
    本文介绍了达人评测酷睿i5 12450h和锐龙r7 5800h选哪个好的相关知识,包括两者的基本配置和重要考虑点。希望对你在选择时提供一定的参考价值。 ... [详细]
  • 本文详细介绍了如何使用MySQL来显示SQL语句的执行时间,并通过MySQL Query Profiler获取CPU和内存使用量以及系统锁和表锁的时间。同时介绍了效能分析的三种方法:瓶颈分析、工作负载分析和基于比率的分析。 ... [详细]
  • Java中包装类的设计原因以及操作方法
    本文主要介绍了Java中设计包装类的原因以及操作方法。在Java中,除了对象类型,还有八大基本类型,为了将基本类型转换成对象,Java引入了包装类。文章通过介绍包装类的定义和实现,解答了为什么需要包装类的问题,并提供了简单易用的操作方法。通过本文的学习,读者可以更好地理解和应用Java中的包装类。 ... [详细]
  • 关于CMS收集器的知识介绍和优缺点分析
    本文介绍了CMS收集器的概念、运行过程和优缺点,并解释了垃圾回收器的作用和实践。CMS收集器是一种基于标记-清除算法的垃圾回收器,适用于互联网站和B/S系统等对响应速度和停顿时间有较高要求的应用。同时,还提供了其他垃圾回收器的参考资料。 ... [详细]
  • 嵌入式处理器的架构与内核发展历程
    本文主要介绍了嵌入式处理器的架构与内核发展历程,包括不同架构的指令集的变化,以及内核的流水线和结构。通过对ARM架构的分析,可以更好地理解嵌入式处理器的架构与内核的关系。 ... [详细]
  • 本文介绍了操作系统的定义和功能,包括操作系统的本质、用户界面以及系统调用的分类。同时还介绍了进程和线程的区别,包括进程和线程的定义和作用。 ... [详细]
  • Todayatworksomeonetriedtoconvincemethat:今天在工作中有人试图说服我:{$obj->getTableInfo()}isfine ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了软件测试知识点之数据库压力测试方法小结相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 本文介绍了解决二叉树层序创建问题的方法。通过使用队列结构体和二叉树结构体,实现了入队和出队操作,并提供了判断队列是否为空的函数。详细介绍了解决该问题的步骤和流程。 ... [详细]
  • 本文详细介绍了git常用命令及其操作方法,包括查看、添加、提交、删除、找回等操作,以及如何重置修改文件、抛弃工作区修改、将工作文件提交到本地暂存区、从版本库中删除文件等。同时还介绍了如何从暂存区恢复到工作文件、恢复最近一次提交过的状态,以及如何合并多个操作等。 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有