计算机组成原理
第一章 计算机系统概述
设计计算机:
机器指令系统(x86 ram )
1.1 计算机的早期发展
1.1.1 计算机的早期发展
计算工具
算筹--算盘--数字运算机器--十进制加法器和计算器
电子计算机的发展
逻辑代数(布尔)--图灵机--计算机存储程序(冯.诺伊曼), 微程序控制的设计概念以及高级语言的预言及机器自动编译的可能性
1.1.2 现代计算机的五代变化
第一代 电子管计算机 46-57
第二代 晶体管计算机 58-64
第三代 集成电路计算机 65-71
第四代 大规模集成电路计算机 72-90
第五代 超大规模集成电路计算机 91-今
1.1.3 半导体存储器的发展
磁芯存储器--较大容量的半导体存储器
1.1.4 微处理器的发展
世界上第一台微处理器4004-8086和8088芯片-80286芯片--80386--80486-Pentium II Pentium III, 和Pentium 4--Pentium M--Pentium D -- 酷睿2---------
1.2 计算机硬件的基本组成原理
1.2.1 计算机的基本组成原理
冯诺依曼 类型计算机的特点:
运算器(ALU) 控制器 存储器 输入设备 输出设备
计算机内部采用二进制来表示程序和数据
采用 "存储程序" 的方式, 将程序和数据放入同一个存储器中(内存储器),计算机能够自动高速的从存储器中取出指令加以执行
计算机硬件的五大部件中每一个部件都有相对独立的功能, 分别完成各自不同的功能
把文件以程序的方式放入内存 就是运行程序
1.2.2 存储器
存储器是计算机的记忆装置
信息存储单位:
位 (bit 简称b) 是计算机存储数据的最小单位
字节(Byte 简称B): 是计算机存储容量的度量单位,也是数据处理的基本单位
存储器的分类:
与CPU的密切关系分: 内存 和 外存
内存的工作方式不同分:随机存取存储器(RAM) 和只读存储器(ROM)
存储单元于地址的关系是一一对应的
访问内存的方法 : 读 写
1.2.3 运算器
运算器是由 算术逻辑单元 ALU
ALU : 运算器的核心部件 计算机的基本加减乘除四则运算,与或非异或等逻辑操作都由它来完成
通用寄存器组 : 主要为运算器提供运算数据或临时存放运算结果数据 , 与位数相同
状态寄存器 : 他记录运算器运算结果状态
1.2.4 控制器
工作过程 : 从存储器中逐条取出指令\
1.2.5 输入输出设备
1.3 程序设计语言和计算机的层次结构
1.3.1 程序设计语言的发展历程
机器语言
机器语言就是计算机可以直接识别和执行的语言 01
汇编语言
高级语言
经历了从结构化高级语言到面向对象的程序设计的转变
1.3.2 计算机的层次机构
高级语言-汇编语言 - 操作系统 - 机器语言 - 微程序设计
1.4 计算机的主要性能指标
1.4.1 机器字长
同时处理的二进制数据的位数
1.4.2 运算速度
主频
MIPS : 每秒执行多少百万条指令
MFLOPS : 每秒执行多少百万次浮点运算
GFLOPS : 没秒执行多少十亿次浮点运算
TFLOPS : 每秒执行多少万亿次浮点预算
1.4.3 信息存储
内存容量
外存容量
存储器存取时间
存储周期: 指连续启动两次读或写操作的最短时间
带宽
第二章 信息表示
2.1 进位计数制及其相互转换
2.1.1 进位计数制
定义 : 按进位的方式方式计数的数制,称为进位计数制,简称进位制
IEEE二进制浮点数算术标准(IEEE 754)
尾数用原码,
用补码才能把加法换成减法
数码 基数 位权
2.1.2 数值转换
二进制用B
八进制
十进制D
十六进制H
2.2.1 机器数和码数
真值 : 一般书写表示的数
机器数 : 机器中用编码表示的数
码制 : 计算机中表示数值数据时,为了便于运算,带符号数采用原码, 反码, 补码和移码
源码 :
十进制转为二进制 +5 +101
0表示正
0101 机器码 真值为 : +5
字长最高位 用于 原码
+0.5D +0.1B
原码的表示方式:
8位机:
纯整数原码
+1110111B 真值
01110111 原码
如果-1110111B 真值
11110111 原码
纯小数原码
0.1110111B
0.1110111
1.1110111
根据指令判断
特点: 表示简单, 易于同真值之间进行转换, 实现乘除法规则简单, 进行加减法运算复杂
补码:
纯整数
+1110111B
01110111 原码
01110111 补码
-1110111B
11110111 原码
10001001 补码 负数符号位不变, 其他位取反+1
纯小数
+0.1110111
01110111 补码
-0.1110111
10001000 补码 负数符号位不变,其他位取反 +1
10000000 被补码认为是128 因为只有八位,按照负数符号位不变,其他位取反+1就会溢出
1.0000000是-1
优点减法换为加法
反码 就是取反
移码:
善于比较大小
2.2.3 浮点数表示
N=2e * M
E为阶码,M为尾数为原码
尾数用补码不适用规格化浮点数,
32位浮点:
最高位31符号位, 30-23为E 22-0为尾数
浮点数 数值范围主要由阶码决定,表示数值的精度由尾数决定
规格化浮点数 将尾数的绝对值限定在区间[0.5,1]之内
右规左规
2.2.4 十进制数的二进制表示
BCD码
8421码 0001 0001 表示十进制11
2.3.1 字符编码
ASCLL 7位2进制
2.3.2 汉字编码
GB 2312-1980
2.4 可靠性编码
2.4.1 奇偶校验
举例: 实际7位;+x位最高位校验 x位越多,校验越准
汉明校验码
CRC校验 循环冗余校验码
第三章 逻辑电路基础
数字电路系统设计
模电研究放大
第四章 运算方法与运算器
主要讲设计运算器
4.1 定点数加减法运算
4.1.1 原码加减法
+2.75->2进制 = 0.xxx*2m
IEEE754 flout
8位保存m原码 24位0.xxx补码
大部分计算机都是补码
4.1.2 补码加减法
补码能把减法转为加法
X-Y=X+(-Y)
8位
X +6 0000 0110
Y +5 0000 0101
取补,取负 符号位数值位取反+1 就是负值
X -5 1111 1011
溢出概念与检测方法
溢出两个概念, 一个数太大装不了, 一个数太小了
4.2.1 算数移位
移位: 计算机把寄存器整体移位
逻辑移位, 左右移动, 空补零
算数移位, 这个仅限于补码 左移根逻辑移位一样, 右移填x7 左移一位*2 右移移位/2
移位在计算机最快
4.3.1 原码乘法
懵逼
海明校验
发送n位数据,加k位校验 总共是n+k位
2的k次幂>=n+k+1 但纠错
2的k-1次幂>=n+k+1
纠一减二,设n=8,发送一个字节
总线
各个部件共享的传输介质
数据 双
地址 单
控制 双
串行并行
机械特性 尺寸形状管脚排列顺序
电气特性 传输方向和有效电平范围
功能特性 传输线的功能 地址数据控制
时间特性