热门标签 | 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. 软件设计师教程


推荐阅读
  • 深入解析 Apache Shiro 安全框架架构
    本文详细介绍了 Apache Shiro,一个强大且灵活的开源安全框架。Shiro 专注于简化身份验证、授权、会话管理和加密等复杂的安全操作,使开发者能够更轻松地保护应用程序。其核心目标是提供易于使用和理解的API,同时确保高度的安全性和灵活性。 ... [详细]
  • 配置Windows操作系统以确保DAW(数字音频工作站)硬件和软件的高效运行可能是一个复杂且令人沮丧的过程。本文提供了一系列专业建议,帮助你优化Windows系统,确保录音和音频处理的流畅性。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 本文介绍了如何通过配置 Android Studio 和 Gradle 来显著提高构建性能,涵盖内存分配优化、并行构建和性能分析等实用技巧。 ... [详细]
  • 本文探讨了如何在日常工作中通过优化效率和深入研究核心技术,将技术和知识转化为实际收益。文章结合个人经验,分享了提高工作效率、掌握高价值技能以及选择合适工作环境的方法,帮助读者更好地实现技术变现。 ... [详细]
  • FinOps 与 Serverless 的结合:破解云成本难题
    本文探讨了如何通过 FinOps 实践优化 Serverless 应用的成本管理,提出了首个 Serverless 函数总成本估计模型,并分享了多种有效的成本优化策略。 ... [详细]
  • 本文详细介绍了网络存储技术的基本概念、分类及应用场景。通过分析直连式存储(DAS)、网络附加存储(NAS)和存储区域网络(SAN)的特点,帮助读者理解不同存储方式的优势与局限性。 ... [详细]
  • 在创建新的Android项目时,您可能会遇到aapt错误,提示无法打开libstdc++.so.6共享对象文件。本文将探讨该问题的原因及解决方案。 ... [详细]
  • 目录一、salt-job管理#job存放数据目录#缓存时间设置#Others二、returns模块配置job数据入库#配置returns返回值信息#mysql安全设置#创建模块相关 ... [详细]
  • 本章将深入探讨移动 UI 设计的核心原则,帮助开发者构建简洁、高效且用户友好的界面。通过学习设计规则和用户体验优化技巧,您将能够创建出既美观又实用的移动应用。 ... [详细]
  • 网络运维工程师负责确保企业IT基础设施的稳定运行,保障业务连续性和数据安全。他们需要具备多种技能,包括搭建和维护网络环境、监控系统性能、处理突发事件等。本文将探讨网络运维工程师的职业前景及其平均薪酬水平。 ... [详细]
  • PHP 5.5.0rc1 发布:深入解析 Zend OPcache
    2013年5月9日,PHP官方发布了PHP 5.5.0rc1和PHP 5.4.15正式版,这两个版本均支持64位环境。本文将详细介绍Zend OPcache的功能及其在Windows环境下的配置与测试。 ... [详细]
  • 深入解析:阿里实战 SpringCloud 微服务架构与应用
    本文将详细介绍 SpringCloud 在微服务架构中的应用,涵盖入门、实战和案例分析。通过丰富的代码示例和实际项目经验,帮助读者全面掌握 SpringCloud 的核心技术和最佳实践。 ... [详细]
  • 本文详细介绍了在企业级项目中如何优化 Webpack 配置,特别是在 React 移动端项目中的最佳实践。涵盖资源压缩、代码分割、构建范围缩小、缓存机制以及性能优化等多个方面。 ... [详细]
  • 本文详细介绍了如何将 Python 3.6.3 程序转换为 Windows 可执行文件(.exe),并解决了使用 py2exe 和 cx_Freeze 时遇到的问题。推荐使用 PyInstaller 进行打包,提供完整的安装和打包步骤。 ... [详细]
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社区 版权所有