【软考程序员学习笔记】——计算机组成与体系结构

news2024/10/5 23:27:08

在这里插入图片描述

目录

🍊一、进制之间的转换

🍊二、原码、反码、补码和移码

原码

反码

补码

 移码

🍊三、浮点数表示法

(1)浮点数表示

(2)两浮点数进行运算的过程

🍊四、校验码

(1)奇偶校验码

(2)海明码

(3)循环冗余校验码【(n,k)码】

【模二运算的知识拓展】

🍊 五、计算机系统的组成

🍊六、运算器和控制器的组成

运算器的组成: 

控制器的组成:

🍊七、指令系统

 立即寻址方式

直接寻址方式

间接寻址方式

寄存器寻址方式

寄存器间接寻址方式

🍊八、容量的换算

🍊九、内存编址

🍊十、高速缓存Cache


一、进制之间的转换

进制的种类:

 二进制(B)、八进制(O)、十进制(D)、十六进制(H)

 进制的转化:二进制、八进制、十进制、十六进制之间的相互转换。

二、原码、反码、补码和移码

原码

将数据用二进制形式表示,最高位为符号位,正数为0,负数为1。

我们用8位二进制表示一个数,+11的原码为00001011,-11的原码就是10001011。

计算机中所有的数均用0,1编码表示,数字的正负号也不例外,如果一个机器数字长是n位的话,约定最左边一位用作符号位,其余n-1位用于表示数值

在符号位上用"0"表示正数;用"1"表示负数。数值位表示真值的绝对值。凡不足n-1位的,小数在最低位右边加零整数则在最高位左边加零以补足n-1位。这种计算机的编码形式叫做原码。

反码

反码是数值存储的一种,多应用于系统环境设置,如Linux平台的目录和文件的默认权限的设置umask,就是使用反码原理。

正数的反码是其本身;负数的反码是在其原码的基础上,符号位不变,其余各位取反

补码

补码是计算机把减法运算转化为加法运算的关键编码。

正数的补码是其本身;负数的补码是在其原码的基础上,符号位不变,在反码的基础上+1

 移码

移码(又叫增码偏置码)通常用于表示浮点数的阶码,其表示形式与补码相似,只是其符号位用“1”表示正数,用“0”表示负数,数值部分与补码相同。

注意:在补码和移码表示中,0有唯一的编码,补码中+0和-0均为0000  0000(八位二进制表示下)。

多数计算机都采用补码进行加减运算,其符号位和数值位一样参与运算,无需做特殊处理。

在n位二进制表示下:

原码、反码表示的数据范围为:-\left ( 2^{n-1}-1 \right )\sim +\left ( 2^{n-1}-1 \right )

补码、移码表示的数据范围为:-2^{n-1}\sim +\left ( 2^{n-1} -1\right )

补码中,用1000  0000表示-128。

三、浮点数表示法

(1)浮点数表示

阶符±阶码e数符±尾数m

特点:

阶码的位数决定数的表示范围,位数越多范围越大;尾数的位数决定数的有效精度,位数越多精度越高。

(2)两浮点数进行运算的过程

运算过程:

对阶>尾数计算>结果格式化

对阶时,小数向大数看齐,对阶是通过较小数的位数右移实现的。

四、校验码

校验码通常是一组数字的最后一位,由前面的数字通过某种运算得出,用以检验该组数字的正确性。如图所示:

(1)奇偶校验码

奇校验:整个校验码(有效信息位和校验位)中“1”的个数为奇数。

偶校验:整个校验码(有效信息位和校验位)中“1”的个数为偶数。

奇偶校验,可检查奇数个数位的错误,不可纠错。

(2)海明码

在数据之间插入K个校验位,通过扩大码距来实现检错和纠错。

(3)循环冗余校验码【(n,k)码】

信息码占k位,校验码占n-k位,校验码位数越长,校验能力越强。采用了模二运算。

【模二运算的知识拓展】

模二运算是一种二进制算法,CRC校验技术的核心部分。

模二加:+

模二减:-

模二乘:×或●

模二除:÷或 /

(模二运算不考虑进位和借位)

 五、计算机系统的组成

六、运算器和控制器的组成

运算器的组成: 

  • 算术逻辑单元ALU:数据的算术运算和逻辑运算
  • 累加寄存器AC:通用寄存器,为ALU提供一个工作区,用在暂存数据
  • 数据缓冲寄存器DR:写内存时,暂存指令或数据
  • 状态条件寄存器PSW:存状态标志与控制标志(争议:也有将其归为控制器的)

控制器的组成:

  • 程序计数器PC:存储吓一跳要执行指令的地址
  • 指令寄存器IR:存储正在执行的指令
  • 指令译码器ID:对指令中的额操作码字段进行分析解释
  • 时序部件:提供时序控制信号 

七、指令系统

 立即寻址方式

操作数直接在指令中,速度快,灵活性差

直接寻址方式

指令中存放的是操作数的地址

间接寻址方式

指令中存放了一个地址,这个地址对应的内容就是操作数的地址

寄存器寻址方式

寄存器存放操作数

寄存器间接寻址方式

寄存器内存放的是操作数的地址 

计算机中最基本的单位基准时间为时钟周期

在计算机中,为了便于管理,常把一条指令的执行过程划分为若干个阶段,每一阶段完成一项工作。例如,取指令、存储器读、存储器写等,每一项工作称为一个基本操作,完成一个基本操作所需要的时间称为机器周期(也称CPU周期)。

指令周期是指取出并完成一条指令所需的时间,一般由若干个机器周期组成

总结:

指令周期>机器周期>时钟周期

八、容量的换算

位(b/bit):存放一位二进制数

字节(B/Byte):8个二进制位为一个字节

1B=8b                       1KB=1024B                 1MB=1024KB                   1GB=1024MB 
1TB=1024GB            1PB=1024TB               1EB=1024PB                   1ZB=1024EB 
1YB=1024ZB

九、内存编址

内存编址:存储器由一块块的空间(存储单元)组成,为了方便寻找到每一块空间,我们需要对每一个空间进行标识,即用地址(唯一的编号)来标识内存每个单元。

内存容量=每个芯片容量*芯片个数

每个芯片的容量=一个地址代表的容量*编址总数

十、高速缓存Cache

基于成本和性能方面的考虑,Cache(即高速缓存)是为了解决相对较慢的主存与快速的CPU之间工作速度不匹配问题而引入的存储器

Cache中存储的是主存内容的副本。

在计算机的存储系统体系中,Cache是访问速度最快的层次(若有寄存器,则寄存器最快)。

使用Cache改善系统性能的依据是程序的局部性原理:

时间局部性:某条指令一旦执行,可能将会再次被执行;某数据被访问,可能将会再次被访问。

空间局部性:某程序一日访问了某个存储单元,其附近的存储单元也可能将会被访问。


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

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

相关文章

Spring Boot + Vue3前后端分离实战wiki知识库系统八--分类管理功能开发二

接着上一次https://www.cnblogs.com/webor2006/p/17291405.html的分类功能继续完善。 分类编辑功能优化: 概述: 现在分类编辑时的界面长这样: 很明显目前的父分类的展现形式不太人性,这里需要指定父分类的id才可以,对于…

规范即治理函数:LLM 赋能的软件架构治理与架构设计

在我们设计架构治理平台 ArchGuard 2.0 的架构时,一直在强调的点是:基于规范 模式的工具化。简单来说,规范是架构设计的共时,也是架构知识的显性化。所以,在让 AI 设计架构时,规范是我们要考虑的第一要素&…

0 基础学脚本:给同事做一个排班表并每日通知「02」

Hello 小伙伴们早上、中午、下午、晚上、深夜好! 我是爱折腾的 jsliang~ 本系列文章和配套直播视频,面向金山文档的「轻维表」「表单」用户。 希望通过【自动化】和【脚本】等能力,让里面数据相互流转起来,从而提升工作效率。 序 …

企业级信息系统开发讲课笔记4.10 配置国际化页面

文章目录 零、学习目标一、使用Thymeleaf配置国际化页面(一)创建Spring Boot项目 - ThymeleafI18N(二)编写多语言国际化配置文件1、在resources下创建i18n目录2、在i18n目录里创建login.properties3、在i18n目录里创建login_zh_CN…

Prompt 用法大全!让 ChatGPT 更智能的六种策略(下)

上两篇介绍了 Pormpt 用法大全中前四种策略,本篇继续讲解后两种策略。‍‍‍‍‍ 点燃创作灵感:Prompt 实践指南揭秘!让 ChatGPT 更智能的六种策略(上) Prompt 用法大全!让 ChatGPT 更智能的六种策略&#…

基于html+css的图展示122

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…

docker 的网络模式

一、docker网络概述 1、docker网络实现的原理 Docker使用Linux桥接,在宿主机虚拟一个Docker容器网桥(docker0),Docker启动一个容器时会根据Docker网桥的网段分配给容器一个IP地址,称为Container-IP, 同时Docker网桥是 每个容器的…

ISO21434 操作和维护(十)

目录 一、概述 二、目标 三、网络安全事件响应 3.1 输入 3.1.1 先决条件 3.1.2 进一步支持信息 3.2 要求和建议 3.3 输出 四、更新 4.1 输入 4.1.1 先决条件 4.1.2 进一步支持信息 4.2 要求和建议 4.3 输出 一、概述 本条款描述了对文件中的项目…

Mysql中explain的用法详解

🍓 简介:java系列技术分享(👉持续更新中…🔥) 🍓 初衷:一起学习、一起进步、坚持不懈 🍓 如果文章内容有误与您的想法不一致,欢迎大家在评论区指正🙏 🍓 希望这篇文章对你有所帮助,欢…

企业级信息系统开发讲课笔记4.8 Spring Boot整合Redis

文章目录 零、学习目标一、Redis概述1、Redis简介2、Redis优点(1)存取速度快(2)数据类型丰富(3)操作具有原子性(4)提供多种功能 3、Redis官网与在线教程 二、使用Spring Boot 整合 R…

c++11 标准模板(STL)(std::ios_base)(二)

定义于头文件 <ios> class ios_base; 类 ios_base 是作为所有 I/O 流类的基类工作的多用途类。它维护数种数据&#xff1a; 1) 状态信息&#xff1a;流状态标志&#xff1b; 2) 控制信息&#xff1a;控制输入和输出序列格式化和感染的本地环境的标志&#xff1b; 3)…

音视频技术开发周刊 | 297

每周一期&#xff0c;纵览音视频技术领域的干货。 新闻投稿&#xff1a;contributelivevideostack.com。 Geenee AR为品牌商和零售商提供虚拟试穿应用 这意味着Geenee AR的虚拟试穿解决方案能够与品牌商现有的销售渠道无缝集成。 谁说苹果掉队了&#xff1f;WWDC上只字未提AI&a…

macbook pro存储空间不足怎么办? MacBook Pro怎么优化或清理Mac磁盘空间?

MacBook Pro用久了之后都会堆积很多残留文件或缓存垃圾&#xff0c;久经之下MacBook Pro磁盘空间将会面临不够用的情况。 macbook pro存储空间不足怎么办&#xff1f;macbook pro笔记本中的存储空间不足&#xff0c;想要优化一下&#xff0c;该怎么优化呢&#xff1f; 这时候…

【电路】电路与电子技术基础 课堂笔记 第8章 负反馈放大电路

反馈放大电路有很多好处&#xff0c;可以增加放大电路的输入电阻&#xff0c;使输出电流京可能稳定&#xff0c;保证输出电压随负载变化波动较小&#xff0c;减小电路元件参数变化对电路性能的影响等。 反馈放大电路分为正反馈和负反馈放大电路。 8.1 反馈的基本概念 8.1.1 反…

在(Linux)ubuntu下通过GTK调用libvlc开发视频播放器

一、项目介绍 本项目实现了一个基于GTK和libvlc的视频播放器。使用GTK创建GUI界面,使用libvlc播放视频。用户可以通过选择视频文件,然后启动播放器来观看视频。 二、VLC介绍 VLC是一款自由、开放源代码的跨平台媒体播放器,支持播放几乎所有常见的音频和视频格式。最初于20…

STM32管脚模拟协议驱动双路16位DAC芯片TM8211

STM32管脚模拟协议驱动双路16位DAC芯片TM8211 TM8211是一款国产的低成本双路16位DAC驱动芯片&#xff0c;可以应用于普通数模转换领域及音频转换领域等。这里介绍STM32 HAL库驱动TM8211的逻辑,时序和代码。 TM8211的功能特性为&#xff1a; TM8211的内部电路功能框图为&…

一个人最大的愚蠢,就是 “习惯性反驳”

作者| Mr.K 编辑| Emma 来源| 技术领导力(ID&#xff1a;jishulingdaoli) 每个人都有“反驳的义务”&#xff0c;这是全球顶级咨询公司麦肯锡&#xff0c;对所有员工的行为要求&#xff0c;即对于自己不认同的看法和意见&#xff0c;明确表示出自己的想法并提出反驳。麦肯锡认…

揭秘报表新玩法!标配插件不再单调,手把手教你如何在浏览器中引入柱形图插件。

摘要&#xff1a;本文由葡萄城技术团队于CSDN原创并首发。转载请注明出处&#xff1a;葡萄城官网&#xff0c;葡萄城为开发者提供专业的开发工具、解决方案和服务&#xff0c;赋能开发者。 前言 图表作为一款用于可视化数据的工具&#xff0c;可以帮助我们更好的分析和理解数…

【Rust日报】2023-06-10

nt-apiset: 一个用于 WindowsAPI API Set Map文件 的 Rust 解析器 我的bootloader程序项目的下一个构建块已经准备好了&#xff01;Nt-apiset 是用 Rust 编写的用于 Windows10及更高版本的 API Set Map 文件的解析器。 API Set是名称以“ API-”或“ ext-”开头的 PE 可执行文件…

【MySQL】View 视图用法及作用

文章目录 1. 视图概述1.1 为什么使用视图&#xff1f;1.2 视图的理解 2. 创建视图2.1 创建单表视图2.2 创建多表联合视图2.3 基于视图创建视图 3. 查看视图4. 更新视图的数据4.1 一般情况4.2 不可更新的视图 5. 删除视图6. 总结6.1 视图优点6.2 视图缺点 1. 视图概述 1.1 为什么…