软件设计师(一):计算机组成与体系结构(一)

简介: 软件设计师(一):计算机组成与体系结构(一)

1、数据的表示


1.1 进制的转换

R进制转10进制使用按权展开法:具体操作方式为∶将R进制数的每一位数值用Rk形式表示,即幂的底数是R,指数为k,k与该位和小数点之间的距离有关。当该位位于小数点左边,k值是该位和小数点之间数码的个数,而当该位位于小数点右边,k值是负值,其绝对值是该位和小数点之间数码的个数加1。


7d261ab56a508c692cdb83118910e82a_b63cdab03e9e8150df169510e5558bcf.png


十进制转R进制使用短除法


f097787846faf5e871f47900679b431f_image-20220827232718893.png


二进制转八进制与十六进制


①二进制转八进制:每三个二进制位对应一个八进制位,对于二进制数10001110,从低位开始三位三位的看,二进制的110对应八进制的6;二进制的001对应八进制的1;而此时只剩下两位10,那么在最前面补0(补满3位即可),也就是010,对应八进制的2,所以该二进制数10 001 110就对应八进制数216。


②二进制转十六进制:每四个二进制位对应一个十六进制位,对于二进制数10001110,从低位开始四位四位的看,二进制的1110对应十六进制的E(14);二进制的1000对应十六进制的8;如果不满四位,与转八进制一样,在最前面补0(补满4位即可)。在十六进制中,A=10,B=11,C=12,D=13,E=14,F=15。


1.2 原码补码移码IEE754浮点数计算


真值与机器数


真值:符合人类习惯的数字 譬如十进制


机器数:数字实际存到机器里的形式,正负号需要被“数字化”


题目:计算机内的整数常用补码表示,假定在一个程序中定义了变量X,Short X;X的机器数是FFF1H,则变量X真值分别是多少?


X (补码)=1111 1111 1111 0001

X (原码)=1000 0000 0000 1111

X( 真值)=-1111B=-15D


原反补码相互转换


85565ccecb3236b3a1544dfe6bed8529_202204301118522.png



babf6b78c50cbef25955181fb82631b1_image-20220602204754731.png


结合C语言中的不同变量+之间的赋值,掌握变量的真值及其机器数值的表示


1685020351567.png


IEEE754标准单精度实型数的真值与机器数的表示,加减运算


浮点数表示


120f0c6e0080ffc75ed1a06e24c0f7ba_image-20220602200354098.png


浮点数的标准IEEE754


32/64位浮点数(Float/Double)

构成:阶码E,尾数M,符号位S

N = (-1)的S次方× M × 2的E-n次方


242533c1f12cbdc0976d297d3bf67d05_image-20220602200908754.png


浮点数转换实例:


假定在一个程序中定义了变量X,Y,其中X是short型(补码表示),Y是float型(用IEEE754单精度标准表示),X的机器数是FFF1H,Y的机器数是4580 1000H,则变量X、Y的真值分别是多少?


709f72b3339eb906469c2e786dab0696_image-20221009155654323.png


b48763247771e59b94ad1c063ecd60b7_image-20220603083038759.png


45cf1c8483b4c0448b415c9906aa0888_image-20220603083933749.png

 

定点数运算与浮点数运算


[A]补 + [B]补= [A+B]补


[A – B]补= [A+(–B )]补= [A]补 + [ – B]补


练习 1:设机器数字长为 8 位(含 1 位符号位),且 A = – 97,B = +41,用补码求 A – B


28d2212bb7de771ba1c3758cee19c666_image-20220603085556727.png


溢出


溢出的原因:运算结果超出数据表示范围


溢出的判断方法Ⅰ:进位


0eb34c05664a8f51a71ddc208140b8d5_image-20220603090037931.png


溢出的判断Ⅱ:变形补码(双符号位)


83469b2d2ecc44fd53dcc35feeef258a_image-20220603090059172.png


表示范围:


原码的表示范围


原码整数:若机器字长为n+1 ,原码整数的表示范围:-(2的n次方-1)到(2的n次方-1)。

真值0有正0与负0

原码小数:若机器字长为n+1 ,原码小数的表示范围:-(1-2的-n次方)到(1-2的-n次方-1)。

补码


正数:[X]补=[X]原

负数:符号除外,各位取反,末位加1

[X]原=11001001 [X]补=10110111

设机器数字长为 8 位(其中一位为符号位)


8位原码整数的表示范围? -127----+127

8位补码整数的表示范围? -128----+127

n位补码整数的表示范围 1000…0-------011…1 —> -2n-1------2n-1-1

n位无符号整数的表示范围 0-------11111111 —> 0-----2n-1

浮点数的取值范围


e8403a4f3100f963aa48c7e0f9315196_image-20220603090700831.png


运算结果的状态标志


数的加减运算除了有结果外,还要考虑一些状态,比如 If (a > b),两个数的大小比较是如何完成的


例:比较无符号数13 与 5


959c5aeeb31ccb9c80dc98e89f2ea8b4_image-20220603091916665.png


运算的常见标志位


13156cd8025d7350b78e1eef240658bb_image-20220603091815161.png


2、计算机结构


CPU

运算器

算术逻辑单元ALU

累加寄存器AC

数据缓冲寄存器DR

状态条件寄存器PSW

控制器

程序计数器PC

指令寄存器IR

指令移码器

时序部件

主存储器

计算机的主机中包含两大部件:CPU和内存(主存储器)。而对于声卡、显卡、鼠标键盘这些都是属于外设。


对于CPU,我们需要了解的就是运算器和控制器,以及这两者中的一些寄存器。


①算术逻辑单元 ALU:它是运算器的重要组成部件,负责处理数据,实现对数据的算术运算和逻辑运算。


②累加寄存器 AC:通常简称累加器,它是一个通用寄存器,功能是当运算器的算术逻辑单元执行算术或逻辑运算时,为ALU提供一个工作区。


③数据缓冲寄存器 DR:作为CPU和内存、外设之间数据传送的中转站,作为CPU和内存、外设之间在操作速度上的缓冲。


④状态条件寄存器 PSW:保存由算术指令和逻辑指令运行或测试的结果建立的各种条件码内容。


⑤程序计数器 PC:用于存放下一条指令的地址。当一条指令被获取后,程序计数器的地址加1,指向下一条指令的地址。


⑥指令寄存器 IR:用于存放当前从主存储器读出的正在执行的一条指令。


⑦地址寄存器 AR:用于保存当前CPU所访问的内存单元的地址。


⑧指令译码器 ID:计算机执行一条指令时,首先分析这条指令的操作码是什么,以决定操作的性质和方法,然后才能控制计算机其他各部件协同完成指令表达的功能,这个分析工作由指令译码器来完成。


3、Flynn分类法


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


821a9412de6027022253370cd37a72ec_image-20221008195734204.png


4、CISC与RISC


73799b95fea85c1f451d33acb157beee_image-20221008200814859.png


5、流水线


5.1 基本概念


8b2a371d3c707bdbd75435858b7507bf_cccec5c37c2268c2bf13dcdb7f0c57fd.png


5.2 流水线计算


05264ee1f57b9b2c116d2465230c37a6_image-20221008204938225.png


流水线周期是指在(取指、分析、执行)三个阶段中时间最长的一段,对应上面的例题,最长的一段时间为2ns,所以流水线周期为2ns。


100条指令全部执行完毕需要的时间为:理论公式:(2+2+1)+(100-1)*2=203ns。


100条指令全部执行完毕需要的时间为:实践公式:(3+100-1)*2=204ns。(公式中的k表示指令被分成了几段)


5.3 流水线吞吐率计算


e5ca9583279f8a77497e14ba0eacfd11_image-20221008210228614.png


指令条数为100,流水线执行时间为203ns,所以流水线的吞吐率TP=100/203,流水线最大吞吐率是一种理想情况,即TPmax=1/2。(Δt=流水线周期=2ns)。


5.4 流水线加速比


1dfbef9f0ddf6a24a16a4167984058fc_image-20221008211357692.png


5.5 流水线的效率


dc527da7075e851a74fb29f6ce2b4a46_image-20221008211721099.png

相关文章
|
11天前
|
人工智能 前端开发 JavaScript
2025年主流Web自动化测试工具功能与性能深度对比
2025年主流Web自动化测试工具在功能、性能等方面差异显著。功能上,不同工具在元素定位、脚本兼容性等核心模块各有优劣;性能方面,执行效率与资源占用需平衡,分布式执行能力对高并发场景很重要。还介绍了智能化与生态扩展趋势,给出企业选型建议及不同规模团队适用方案。
|
28天前
|
存储 弹性计算 运维
阿里云轻量应用服务器升级换新介绍,预装热门应用+多场景适配,2核2G200M38元1年,快速搭应用
2025年阿里云对轻量应用服务器进行了全新的升级换新,预装热门应用,多场景适配,标配200Mbps峰值带宽,全球极速部署。现在购买轻量应用服务器2核2G 200M38.00/1年;2核0.5G200M357.00/1年;2核1G200M408.00/1年。云上的应用盒子,告别复杂运维,助力中小企业和开发者便捷高效的构建应用。
256 10
|
6月前
|
开发者
1688工厂信息接口指南
1688工厂信息接口用于获取供应商基础信息、生产能力及交易信用数据,支持供应链分析与评估。核心功能包括企业信息、生产能力、交易勋章、认证资料等。调用需申请接口权限,配置商品ID与返回字段。
|
12月前
|
存储 运维 Kubernetes
正式开源,Doris Operator 支持高效 Kubernetes 容器化部署方案
飞轮科技推出了 Doris 的 Kubernetes Operator 开源项目(简称:Doris Operator),并捐赠给 Apache 基金会。该工具集成了原生 Kubernetes 资源的复杂管理能力,并融合了 Doris 组件间的分布式协同、用户集群形态的按需定制等经验,为用户提供了一个更简洁、高效、易用的容器化部署方案。
559 16
正式开源,Doris Operator 支持高效 Kubernetes 容器化部署方案
|
9月前
|
人工智能 调度 UED
这个AI能把PSD变视频!人物/场景/道具任意组合!SkyReels-A2:昆仑万维推出的可控多元素视频生成框架
SkyReels-A2是昆仑万维推出的创新视频生成框架,通过扩散模型和图像-文本联合嵌入技术,实现多元素精准组合与高质量视频输出。
428 25
这个AI能把PSD变视频!人物/场景/道具任意组合!SkyReels-A2:昆仑万维推出的可控多元素视频生成框架
|
存储 项目管理 开发工具
掌握Git版本控制,提升团队协作效率
掌握Git版本控制,提升团队协作效率
278 0
|
人工智能 自然语言处理 安全
文生视频大模型
Sora 是由 OpenAI 发布的一款文本生成视频的人工智能模型,能够在理解文本的基础上生成高质量的视频内容。Sora 具备 3D 一致性、远程相干性和物体持久性等特性,但目前仍处于测试阶段,仅限特定专家使用,以确保其安全性。
|
存储 前端开发 JavaScript
vue+elementui+mysql实现个人博客系统
vue+elementui+mysql实现个人博客系统
|
传感器 编解码 安全
《物联网技术》课程笔记——第三章 物联网感知技术之传感技术
《物联网技术》课程笔记——第三章 物联网感知技术之传感技术
《物联网技术》课程笔记——第三章 物联网感知技术之传感技术

热门文章

最新文章