【中级软件设计师】—计算机组成与体系结构考点总结篇(一)

简介: 【中级软件设计师】—计算机组成与体系结构考点总结篇(一)

1.数据的表示

1-1R进制的表示

1-2十进制转R进制使用短除法。例如:将94转化为二进制数

1-3:二进制转换八进制与十六进制数

三个二进制位对应一个八进制位

四个二进制位对应一个十六进制位

十六进制:0~9,A(10)-F(15)

1-4:原码、反码、补码、移码

机器数:各种数值在计算机中,是用二进制表示的,称为机器数。

码制:为了便于运算,带符号的机器数可采用原码,反码、补码和移码,称为码制。

原码:用尾数表示真值的绝对值,符号位0/1对应正、负,正数标志位为0,负数标志位为1

反码

  • 正数的原码、反码、补码相同,为原码本身。
  • 负数的反码:标志位不变,尾数取反

补码:正数的补码等于原码,负数的补码等于反码末位加一(要考虑进位)

将负数的补码转回原码:尾数取反,末位加一

移码:补码的基础上将符号位取反,注意:移码只能用于表示整数

本章知识点总结:

  1. 8位二进制数能表示的十进制数范围为-128到+127
  2. 如果数小于-128或大于127,则会溢出,溢出只能用两个字节,16位二进制数表示了
  3. 0的补码为00000000,-128的补码为10000000
  4. 计算机中有符号数用补码表示
  5. 原码首位为标志位,1表示负数,0表示正数
  6. 反码=原码的标志位不变,其他取反
  7. 补码=反码+1
  8. 正数的原码、反码、补码相同

数值的表示范围

若n=8,则原码和反码表示的范围为-127-127,补码表示的范围为:-128-127

1-5:浮点数的运算

r进制:

定点数:如纯小数0.1011和纯整数11110

浮点数:由阶码尾数两部分组成

阶码:常用补码移码表示的定点整数

尾数:常用原码补码表示的定点小数

阶码E反映浮点数的表示范围小数点的实际位置尾数M的数值部分的位数n反映浮点数的精度

浮点数尾数的规格化

规格化浮点数:规定尾数的最高数值必须是一个有效值。

左规:当浮点数运算的结果为非规格化时要进行规格化处理,将尾数算数左移一位,阶码减1

右规:当浮点数的结果尾数出现溢出(双符号位为01或10)时,将尾数算数右移一位,阶码加一

沙场练兵

规格化浮点数的特点:

浮点数的表示知识点总结:

2、计算机结构

3、计算机体系结构的分类—Flynn

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

3.1寻址方式

4、CISC和RISC

5、流水线

执行一条指令分为三个步骤:取指令、分析指令、执行指令

5.1流水线的计算

流水线的周期为执行时间最长的一段,三部分的时间分别为2ns,2ns,1ns.因此,流水线的周期为2ns

理论公式计算100条指令所需要的时间:(2+2+1)+(100-1)*2=203ns

实践公式计算100条指令所需的时间:(k+n-1)*△t =(3+100-1)*2=204ns(k表示段数,文章中是三段、n是指令条数,△t是流水线的周期)

注意:考试中首先用理论公式(80%),若理论公式没有可选答案则用实践公式(20%)

若按串行方式(就是按顺序方式执行):(3+2+4)*10=90△t

若按流水线方式执行:流水线周期为4△t,执行时间为:(3+2+4)+(10-1)*4=45

5.2、流水线吞吐率的计算

该题目的吞吐率是多少?

5.3、流水线的加速比

问:该流水线的加速比是多少?

首先计算不使用流水线执行的时间:(2+2+1)*100=500ns

使用流水线的时间:(2+2+1)+(100-1)+2ns=203ns

加速比S=500/203

5.4、流水线的效率比

5.5 层次化存储结构

5.6、Cache的概念

5.7 局部性原理

时间局部性:指如果程序中的某条指令一旦被执行,则不久的将来该指令可能再次被执行。

空间局部性:指一旦程序访问了某个存储单元,则在不久的将来,其附近的存储单元也最有可能被访问

5.8 随机存储器与只读存储器

主存可以分为随机存取存储器只读存储器

5.9 主存的编址

内存地址=末地址-首地址+1

1、内存地址数量 = C7FFFH - AC000H + 1 = C7FFFH + 1 - AC000H = C8000H - AC000H = 1C000H = 1 * 2 ^ 16 + 12 * 2 ^ 12 = 7 * 2 ^14 bit (7 * 2 ^14)

/ 2 ^ 10 = 7 * 2 ^ 4 = 7 * 16 = 112 K

2、由步骤1可知,共有 112K * 16 bit (112K * 16) / (28 * 16K) = 4,该芯片每个存储单元存储 4 位。

6.0 磁盘结构与参数

6.1 总线

一条总线同一时刻仅允许一个设备发送,但允许多个设备接收

6.2 系统可靠性分析—串联系统与并联系统

6.3 系统性能设计—性能指标

吞吐率:特指 Web 服务器单位时间内处理的请求数。

吞吐量,是指在一次性能测试过程中网络上传输的数据量的总和。

7.差错控制

7.1—CRC与海明校验码

7.2检验码—海明校验码

海明校验码的原理是:在有效信息位中加入几个校验位形成海明码,使码距比较均匀地拉大,并把海明码的每个二进制位分配到几个奇偶校验组中。

当某一位出错后,就会引起有关的几个校验位的值发生变化,这不但可以发现错误,还能指出错误的位置,为自动纠错提供了依据。


相关文章
|
移动开发 小程序 安全
【个人小程序和企业小程序的区别】
【个人小程序和企业小程序的区别】
1427 0
|
6月前
|
人工智能 自然语言处理 JavaScript
Playwright MCP在UI回归测试中的实战:构建AI自主测试智能体
Playwright MCP结合AI智能体,革新UI回归测试:通过自然语言驱动浏览器操作,降低脚本编写门槛,提升测试效率与覆盖范围。借助快照解析、智能定位与Jira等工具集成,实现从需求描述到自动化执行的闭环,推动测试迈向智能化、民主化新阶段。
|
缓存 负载均衡 前端开发
详解正向代理和反向代理的不同用途
详解正向代理和反向代理的不同用途
633 10
|
JSON 自然语言处理 Serverless
基于阿里云通义千问开发智能写作助手
现代办公中,撰写邮件、会议记录、报告等任务耗费大量时间。一个智能写作助手能显著提升效率,帮助用户快速生成高质量的文本内容。阿里云通义千问作为阿里巴巴推出的强大大语言模型(LLM),具备出色的自然语言理解与生成能力,非常适合用于开发智能写作工具。本博客将介绍如何基于通义千问构建一个智能写作助手,实现高效的内容生成和编辑功能。
1160 2
|
消息中间件 存储 监控
消息队列 MQ使用问题之客户端重启后仍然出现broker接收消息不均匀,该怎么办
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
|
存储 分布式计算 Hadoop
Hadoop中DataNode故障
【7月更文挑战第11天】
761 1
|
存储 SQL Rust
[译] Python各版本的主要更改
[译] Python各版本的主要更改
442 1
|
监控 API 数据库
Elasticsearch 磁盘使用率超过警戒水位线,怎么办?
Elasticsearch 磁盘使用率超过警戒水位线,怎么办?
|
机器学习/深度学习 算法 Python
探索XGBoost:参数调优与模型解释
探索XGBoost:参数调优与模型解释
1101 2
|
机器学习/深度学习 编解码 人工智能
一篇文章搞懂CNN(卷积神经网络)及其所含概念
一篇文章搞懂CNN(卷积神经网络)及其所含概念
894 0
一篇文章搞懂CNN(卷积神经网络)及其所含概念