没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
集成电路
由⼤量晶体管构成
电
流
信
号
寄存器是⽤来存放指令 数据这些操作对象的空间
控制器负责将内存中的指令和数据读⼊寄存器 并根据指令的执⾏结果对计算机进⾏控制
“控制” 指的就是除运算之外的操作 主要是数据输⼊输出的时机控制 内存和磁盘的输⼊输
出 键盘和⿏标的输⼊ 以及显示器和打印机的输出等操作 都属于控制
运算器负责运算从内存中读⼊寄存器的数据 对数据进⾏运算
时钟负责产⽣控制CPU⼯作节律的时钟信号
内存由⼀些可读写的存储元件构成 每个字节 1字节8⽐特 都分配了⼀个被称
为地址的编号
CPU通过地址就可以读取存放在内存中的指令和数据 也可以将数据写⼊内存
关闭计算机电源后 内存中存储的指令和数据就会消失
CPU的控制器会根据程序计数器的值从内存中读取指令并执⾏
CPU每执⾏⼀条指令 程序计数器的值就会⾃动加1
标志寄存器会根据上次运算的结果 保存累加器和通⽤寄存器的值 ⽆论值
是正数 零还是负数 都会将其保存 也会保存溢出和奇偶校验的结果
相当于数组的下标
相当于数组的⾸地址
通过减法运算实现—标志寄存器
调⽤指令|函数调⽤|调⽤指令在将函数⼊⼝地址设置到程序计数器之前
会将函数调⽤的下⼀条指令的地址保存到名为栈的内存空间中
返回指令|函数调⽤|返回指令将保存在栈中的地址设置到程序计数器中
集成电路的所有引脚都有直流电压0V或 +5V两种状态 也就
是说 集成电路的每根引脚都只能表示两种状态
计算机处理信息的最⼩单位是⽐特 它相当于1位⼆进制数
计算机处理信息的基本单位是8位⼆进制数 8位⼆进制数也
称为字节(byte) 字节是信息的基本单位 再强调⼀下 ⽐特
是最⼩单位 字节是基本单位
在内存和硬盘等设备中 数据是以字节为单位存储的 也是
以字节为单位读写的 不能以⽐特为单位来读写 因此 字
节是信息的基本单位
⼀个数所表示的数值 原本就是其各位上的数字乘以位权再
相加的结果
在表示位权时使⽤了“○○的 ×× 次幂”这种说法 其中
“○○” 的部分 在⼗进制的情况下是 10 在⼆进制的情况下
是 2 这部分叫作基数
○○ 的 ×× 次幂”中 “××” 部分的取值 ⽆论⼏进制都是 “位数
- 1”
算数运算|四则运算|逢⼆进⼀
移位运算|左移|✖ 2的 n次|代替乘法运算| 空出来的低位会⽤ 0来填充
移位运算|逻辑右移|/| /|在右移时就会⽤ 0来填充⾼位
移位运算|算术右移|➗ 2的 n次|代替除法运算|在需要将⼆进制数作为有符号
的数值来运算时 右移时⽤原数符号位的值 0或 1 来填充⾼位
在移位运算中 最⾼位或最低位多出来的数字 称为溢出 会被直接舍弃
⽆论是正数 还是以 2的补码表示的负数 进⾏符号扩展时都只要⽤符号位的值 0
或 1 填充⾼位即可 也就是将符号位直接扩展到⾼位
⼆进制⼩数在转换成⼗六进制时 在⼩数部分 4位⼆进制数同样相当于 1位⼗六进
制数 如果不满 4位 则在⼆进制数的末尾补 0
掌握逻辑运算的窍⻔ 就是抛开⼆进制代表数字的常规思路 将⼆进制想象成图案
或开关的ON/OFF 1表示ON 0表示 OFF
“逻辑⾮就是反转所有的点”
“逻辑与就是将⼀部分点变成0 置 0”
“逻辑或就是将⼀部分点变成1 置 1”
“逻辑异或就是将⼀部分点反转”
逻辑⾮就是将0反转为 1 将 1反转为 0
逻辑与就是在两者都为1时运算结果为 1 否则运算结果为0
逻辑或就是在⾄少有⼀⽅为 1时运算结果为 1 否则运算结果为 0
逻辑异或是⼀种排他的 也就是不喜欢对⽅和⾃⼰相同的运算 当两者不同 即⼀
⽅为 1 ⼀⽅为 0时 运算结果为 1 否则运算结果为 0 对多位⼆进制数进⾏逻辑
运算 就是对相应的每⼀位进⾏运算
在表示负数的时候 我们需要使⽤ “2的补码”这⼀特殊的⽅法 2的补码是在⼆进
制中⽤正数来表示负数的⼀种神奇的⽅法
要得到2的补码 我们需要先将⼆进制数的各位数字反转 然后再将结果加 1
要想知道负数代表的是负⼏ 只要求 2的补码的补码 就可以得到其绝对值
尾数部分使⽤的是整数部分固定为 1的规格化 (normal)表示法 其作⽤是将表示形式不
⼀致的浮点数⽤统⼀的形式来表示
将要表示的⼆进制⼩数左移或右移若⼲位 此处为逻辑移位 符号位是独⽴的 使其整
数部分的第1位为 1 第 2位及之后都为 0 即从第 2位起不存在有效数字
指数部分则使⽤移码 (excess)表示法 指数部分有时需要表示 “负 ×× 次幂”这样的负
数 移码表示法就是将指数部分表示范围的中间值规定为 0 从⽽可以在不使⽤符号位
的情况下表示负数
计算机出错|浮点数|⽤整数代替⼩数 即先扩⼤ n倍 再缩⼩ n倍 BCD就是⼀种⽤整
数替代⼩数的格式 它⽤ 4⽐特来表示 0~ 9的 1位⼗进制数
计算机出错|溢出| 在移位运算中 最⾼位或最低位多出来的数字 称为溢出 会被直
接舍弃
⼤多数情况下 直流电压 + 5V表示 1 0V表示 0
我们采⽤将数据的低位存放在内存低地址的⼩端序
数据类型代表要存储哪⼀类数据 以及该数据在内存中占多少空间 ⼤
楼的层数
指针是⼀种变量 它不存储数据本身的值 ⽽是存储数据所在的内存地
址 使⽤指针可以读写任意地址的数据
这些数据类型所代表的是从指针中存储的地址⼀次读写多少字节的数据
在我们前⾯展示的假想内存芯⽚中 地址信号⽤ 10⽐特来表示 ⽽在⼤
家⼀般所使⽤的 PC上运⾏的程序⼤多是使⽤ 32⽐特 4字节 来表示内
存地址的 这时指针变量的⻓度就是 32位
数组是将相同数据类型 ⻓度 的多个数据连续排列在内存中的⼀个元素
序列 通过下标可以读写相应的内存空间
栈和队列都是⽆须指定地址和下标就可以对数组元素进⾏读写的结
构
栈 | Stack ⼲草堆| LIFO后进先出| push和 pop|⽤于保存临时
数据 反转数据顺序
队列| quene排队|FIFO先进先出|EnQueue和 DeQueue|⽤于调
整数据输⼊和处理之间的时间差 如通信
队列通常会以环形缓冲区 (ring buffer)的形式使⽤
链表和⼆叉查找树都是不按下标顺序对数组进⾏读写操作的数据结
构
链表|对于数组中的每个元素 不仅保存它的值 还要额外保存其下
⼀个元素的下标|可以⾼效地向数组中添加和删除数据 元素
⼆叉查找树|让数组中的每个元素除了保存其本身的值 再额外保存
两个下标就可以了|可以⾼效查找数组中存放的数据 如果⽬标数据
⽐当前访问的数据⼩就往左侧找 ⽐当前访问的数据⼤就往右侧找
由此可以快速找到⽬标数据
即便CPU能够直接读取并运⾏磁盘上的程序 由于
磁盘读取速度慢 所以程序的运⾏速度也会很慢
存储在磁盘中的程序需要先加载到内存后才能运⾏
磁盘缓存|是⼀块内存空间 将内存看成虚拟的磁盘|⽤于
临时存放从磁盘读取出来的数据
虚拟内存|是将磁盘的⼀部分模拟成内存来使⽤的机制|⽤
于内存不⾜的状态下运⾏程序 CPU只能运⾏已经加载到内
存中的程序 因此 即使通过虚拟内存⽤磁盘来代替内存使
⽤ 实际运⾏的程序部分在运⾏时也必须存放在内存中 于
是 为了实现虚拟内存 就需要在运⾏程序的过程中 对实
际内存 物理内存 和磁盘上的虚拟内存中的部分内容进⾏
置换
将低速设备中的数据保存在⾼速设备中 当需要相同数据时
直接从⾼速设备中读取 这样的设计就叫作缓存
固态硬盘是将⼀种可读写的且断开电源后内容不会丢失的闪
存 (flash memory)作为硬盘来使⽤的产品 固态硬盘的本质
是内存 但从⽤户的⻆度来看它就是⼀块硬盘 USB驱动
器 SD卡等也是⽤闪存来存储的设备
和机械硬盘相⽐ 固态硬盘具有速度快 能耗低 ⽆噪声
耐冲击 重量轻等优点 但是 它⽐同等容量的机械硬盘价
格更贵 因此计算机中很难配备⼤容量的固态硬盘
虚拟内存所产⽣的的⻚⾯换⼊换出操作都涉及访问低速
的磁盘 在这个过程中 应⽤程序会发⽣卡顿
彻底解决内存不⾜的问题 只能增加内存容量 或是缩
减应⽤程序的⼤⼩
通过DLL⽂件共享函数|多个应⽤程序可以共享同⼀个
DLL⽂件 提⾼了内存的利⽤效率
通过_stdcall调⽤缩减程序⼤⼩| 对于重复执⾏的栈清
理操作 相⽐放在调⽤⽅来执⾏ 放在被调⽤的函数⼀
⽅来执⾏ 可以缩减程序整体的⼤⼩ 这时我们就可以
使⽤ _stdcall关键字 只要将 _stdcall加在函数前⾯
就可以指定由被调⽤的函数⼀⽅来执⾏栈清理操作
C语⾔中 调⽤函数之后需要执⾏栈清理操作 所谓栈
清理操作 就是从内存⾥⽤于传递函数参数的栈空间中
清理不⽤的数据 这个指令不需要程序员编写 ⽽是由
编译器在编译程序时⾃动添加的 在默认设置下 编译
器会让函数的调⽤⽅来执⾏这⼀操作
所谓磁盘的物理结构 就是指磁盘中数据的存储形
式
磁盘的表⾯在物理上被划分成若⼲区域 划分⽅法分
为按固定⻓度划分的扇区⽅式 以及按可变⻓度划分
的可变⻓⽅式 ⼀般 PC所使⽤的硬盘是采⽤扇区⽅式
来进⾏划分的
扇区是磁盘在物理上可读写的最⼩单位 Windows中
的磁盘 ⼀个扇区的⻓度⼀般为 512字节
但是 Windows在逻辑 软件 上读写磁盘的单位是簇
(cluster) 它的⻓度是扇区的整数倍 其实际⻓度根
据硬盘容量确定 有 512字节 1个簇 = 1个扇区 1
KB 1个簇 = 2个扇区 2 KB 4 KB 8 KB 16 KB
32 KB 1个簇 = 64个扇区 等多种情况 磁盘容量越
⼤ 簇的⻓度也越⼤
⽆论多⼩的⽂件 都要占⽤⼀个簇的空间 所有⽂件
实际占⽤的磁盘空间是簇的整数倍
如果将簇的⻓度变⼩ 就会增加磁盘的访问次数 造
成⽂件读写速度下降
由于磁盘需要额外的空间记录扇区的划分⽅式 所以
如果簇的⻓度太⼩ 磁盘整体的存储容量就会减少
扇区和簇的⼤⼩需要在处理速度和存储容量之间寻找
平衡
资源评论
qq_39816068
- 粉丝: 0
- 资源: 0
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 中国光伏电站安装时间的多边形地理空间数据集(2010-2022年)-最新出炉.zip
- 几种常见简单滤波器用于二维图像降噪,包括均值、中值、高斯、低通、双边滤波器,语言是python
- 二手车管理系统,pc端,小程序端,java后端
- 2011-2022年中国光伏电站遥感识别面矢量数据-最新出炉.zip
- 基于深度学习的边缘计算网络的卸载优化及资源优化python源码+文档说明(高分项目)
- 基于yolov5+超声图像的钢轨缺陷检测python源码+数据集(高分毕设)
- 基于大语言模型的智能审计问答系统python源码+文档说明(高分项目)
- C++程序设计编程题库
- javase停车场管理系统答辩PPT(高级版)
- javase的停车场管理系统(高级版)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功