运算器部件
运算器=算术逻辑单元+若干寄存器(累加寄存器、状态寄存器、数据缓冲寄存器)+数据通路。
运算器的作用:接收数据、进行计算、存储结果、反馈状态。
算术逻辑单元 功能:运算器的核心部件,负责处理数据,实时对数据的算数运算和立即运算。
通用寄存器:高速缓存,放需要算的操作数和计算结果。
程序寄存器 :存放下一条指令的地址,支持顺序执行和跳转执行。
指令寄存器 :存放当前正在执行的指令。
状态/标志寄存器:记录运算结果的状态。
|--------------|----------|-----------|
| 标志 | 作用 | 备注 |
| ZF(零标志) | 结果是否为0 | 常用于判断循环结束 |
| CF(进位标志) | 最高位有没有进位 | 多用于精度加法 |
| OF(溢出标志) | 有符号数是否溢出 | |
| SF(符号标志) | 结果是正是负 | |
数据通路:传输通道。
控制器
控制器 :控制整个CPU的工作,决定了计算机运行过程的自动化,不仅要保证程序的正确执行,而且要能处理异常的事件。
控制器包括:程序计数器(PC)、指令寄存器(IR)、地址寄存器(AR)、指令译码器(ID)、时序部件。
指令寻址方式
立即寻址 :操作数直接写在指令里面。
MOV AX,100
直接寻址 :操作数存放在内存(主存)单元中,指令里面直接给内存地址。
MOV AX,[1000H]
寄存器寻址 :操作数 在寄存器中。
MOV AX,BX
寄存器间接寻址 :地址 存在寄存器里,地址指明的操作数存放在内存中。
MOV AX,[BX]
寄存器相对寻址(变址寻址):寄存器+偏移量。
MOV AX,[BX+10H]
基址变址寻址:基址寄存器+变址寄存器。
MOV AX,[BX+SI]
相对基址变址寻址:基址+变址+偏移。
MOV AX,[BX+SI+10H]
隐含寻址 :操作码+隐含操作数,指令里面完全不写地址、不写操作数地址。操作数是CPU内部固定默认、隐藏规定好的。
NOT A
INC
PUSH
POP
存取方式
- 顺序存取 :数据以记录的形式,访问数据必须按特定的线性顺序,如磁带存储器。
- 直接存取 :和顺序存取类似,但给每个数据块都有唯一的地址标识,可以直接移动到目的数据块所在的位置访问,存取时间可变,如磁盘存储器。
- 随机存取 :每一个可寻址单元都有自己唯一的地址和读写装置,可以载相同时间内访问任意一个存储单元的数据,与先前的访问序列无关,如主存储器。
- 相联存取 :是一种随机存取的方式,但选择一单元进行读写取决于其内容而不是地址。
操作系统四大技术
缓冲技术:用高速区域当中转站,解决速度不匹配。
并发技术:让多个程序"看起来同时运行",提供利用率。
虚拟技术:把物理资源伪装成更多、更强的逻辑资源,扩大容量。
流水线技术:像工厂流水线一样,把任务分段重叠执行,提高CPU速度。
总线
系统总线:包括地址总线、数据总线、控制总线。地址总线的宽度越小,地址数量越小,允许直接访问主存储器的空间越小。
|-----------|--------|--------|------------------------------|
| 总线级别 | 名称 | 别称 | 连接范围 |
| 1级 (最内部) | 内部总线 | 片级总线 | CPU芯片内部、芯片内部原件互连 (芯片级) |
| 2级 (主机内部) | 系统总线 | 板级总线 | 主板上CPU、内存、接口卡/插件版之间互连 (插件板级) |
| 3级 (主机外部) | 外部总线 | 通信总线 | 计算机和外部设备/其他计算机互连 (设备级) |
原码反码补码移码
正数三码相同:原码=反码=补码。
负数:三码不同,0表正数,1表负数。
负数反码=符号位不变+其他位取反。
负数补码=负数反码+1。
补码:适合进行数字的加减运算。
移码:补码的符号位取反,数值位不变。比较大小方便、做阶码(浮点数阶码)。
移码公式 :设机器字长n位(含符号位),偏移值=2^(n-1),[X]移 =X+2^(n −1) 。
算范围 :比如偏移值=2^7=128,范围=-127~+127。
关于0:
移码只有唯一0,[0]移=1000 0000。
原码、反码:+0,-0
补码:1个0
-128的移码:移码最小负数,全0
移码最大正数,全1
8位移码:[-128]移=0000 0000
8位补码:[-128]补=1000 0000
虚拟存储技术
虚拟存储器 :由主存储器和联机工作的辅助存储器共同组成,两个存储器在硬件和系统软件的共同管理下工作,对于应用程序员,可以把它们看成一个单一的存储器。(主存-辅存)
高速缓存(Cache)与主存的地址映射是由硬件自动实现的。
存储速度
速度比较:寄存器>高速存储器>内存储器(主存)>外存储器(辅存)。速度越来越慢,容量越来越大。

闪存:一种辅存,是电子式非易失性存储器,通过浮栅晶体管存储电荷实现数据保存,断电后数据不丢失,可用于U盘,SSD硬盘等。
不同计算机性能指标
- 科学计算为主的计算机:对主机运算速度高
- 用作大型数据库处理为主的计算机:对主机的内存容量、存取速度和外存储器的读写速度要求较高
- 用作计算机传输的计算机:要求有很高的I/O速度,应该有高速的I/O总线和相应的I/O接口
串行与并行
串行计算:在单个计算机(具有单个中央处理单元)上按顺序地执行指令。CPU按照一个指令序列执行以解决问题,但任意时刻只有一条指令可提供随时并及时的使用。
并行计算:分为时间上的并行和空间上的并行。时间上的并行是指流水线技术,空间上的并行是指用多个处理器并发的执行计算。
Flynn的说法,根据不同指令流-数据流组织方式把计算机系统分为了4类:
- 单指令流单数据流:SISD,如单处理机
- 单指令流多数据流:SIMD,如相联处理机
- 多指令流单数据流:MISD,如流水线计算机
- 多指令流多数据流:MIMD,如多处理机系统。
DMA
DMA :数据在内存与I/O设备间的直接成块传送,即在内存与I/O设备间传送一个数据块的过程中,不需要CPU的任何干涉,只需要CPU在过程开始启动与过程结束时的处理。实际操作由DMA硬件直接执行完成,CPU在传输过程中做别的事。
RISC
RISC:Reduced Instruction Set Computer,精简指令集计算器。
特点:
- 指令系统中只包括使用频率较高但不复杂的指令
- 指令长度固定,指令格式少,寻址方式少
- 只有存取数指令访问主存,其他指令都在寄存器之间运算
- 大部分指令在一个机器周期内完成,采用流水技术
- CPU中增加了通用寄存器的数量
- 硬联逻辑控制,不用微程序控制技术
- 采用优化的编译,以有效地支持高级语言
CPU主要部件
- 运算器
- 控制器
- 寄存器
- 内部总线
校验码
- 奇偶校验 :数据位后面加一个校验位,让整个二进制的1的个数为奇数/偶数。能检测奇数位错 ;不能检测偶数位错 ;只能检错,不能纠错。
- CRC循环冗余校验 :把校验位放在2的幂次位置(1,2,4,8......),多位分组校验。既能检错,又能纠错 ;可以定位错误的是哪一位。利用多项式位k个数据位产生r个校验位来编码,编码长度位k+r。求CRC编码时,采用的是模2运算。
- 海明校验 :模2除法 (异或除法,没有进位、没有借位)。发送方加冗余位(CRC码),接收方除以生成多项式G,余数=0代表无错,余数≠0代表有错。能检测大部分错 ;不能纠错,只能检错。加法异或无进位,减法异或无借位。
- 格雷码:不是校验码,是编码。相邻两个数只有1位二进制不同,用于防止译码抖动、出错。不能检错纠错。
软件可靠性、失效概率、平均无失效时间
软件可靠性 :Software Reliability,++是软件产品在规定条件下和规定时间区间完成规定功能的能力++。规定的条件指的是直接与软件运行相关的使用该软件的计算机系统的状态和软件输入条件,或统称为软件运行时的外部输入条件;规定的时间区间是指软件的实际运行时间区间;规定功能是指为提供给定的服务,软件产品必须具备的功能。
软件可靠性 :++与软件存在的缺陷和差错、系统输入和系统使用有关++ 。软件可靠性的概率度量成为软件可靠度。过程的因素是影响软件可靠性的主要因素,包括软件规模、运行剖面、软件内部结构、软件可靠性管理、软件可靠性测试与投入、软件可靠性设计技术、软件开发方法与软件开发环境等。一般,++软件规模越大,可靠性问题就越多++。
失效概率:软件从运行开始到某一时刻t为止,出现失效的概率。
可靠度:软件系统在规定的条件下,规定的时间内不发生失效的概率。
平均无失效时间:软件运行后,到下一次出现失效的平均时间。
++R(t)=1-F(t)++ R(t):软件可靠度 F(t):软件失效概率