计算机组成原理-笔记

知识储备 同时被 2 个专栏收录
13 篇文章 0 订阅

计算机组成原理

计算机组成原理............................................................................................................ 1

1.      计算机组成原理概论.......................................................................................... 22

1.1.      计算机系统的发展与应用........................................................................... 22

1.1.1.      计算机的产生........................................................................................ 22

1946年,ENIAC.............................................................................................. 22

1.1.2.      计算机的发展........................................................................................ 22

物理机经历四代.............................................................................................. 22

1.1.3.      微型计算机的发展................................................................................ 22

微型机逐步发展.............................................................................................. 22

1.1.4.      计算机的应用........................................................................................ 22

科学计算领域.................................................................................................. 22

工业应用领域.................................................................................................. 22

商业应用领域.................................................................................................. 22

教育应用领域.................................................................................................. 22

生活应用领域.................................................................................................. 22

人工智能领域.................................................................................................. 22

1.2.      计算机的分类与性能指标........................................................................... 22

1.2.1.      计算机的系统结构分类(Flynn分类法)............................................... 22

单指令流,单数据流结构 SISD.................................................................... 23

单指令流,多数据流结构 SIMD................................................................... 23

多指令流,单数据流结构 MISD................................................................... 23

多指令流,多数据流结构MIMD.................................................................. 23

1.2.2.      计算机的用途分类................................................................................ 23

通用计算机...................................................................................................... 23

专用计算机...................................................................................................... 23

1.2.3.      计算机的使用方式分类........................................................................ 23

桌上型计算机.................................................................................................. 23

服务型计算机.................................................................................................. 23

嵌入式计算机.................................................................................................. 23

1.2.4.      计算机的规模分类................................................................................ 23

巨型计算机...................................................................................................... 23

大中型计算机.................................................................................................. 23

小型计算机...................................................................................................... 24

微型计算机...................................................................................................... 24

1.2.5.      计算机的性能指标................................................................................ 24

机器字长.......................................................................................................... 24

存储容量.......................................................................................................... 24

运算速度.......................................................................................................... 24

可配置的外设.................................................................................................. 24

性价比.............................................................................................................. 24

可靠性,可维修性和可用性.......................................................................... 24

1.3.      计算机系统的基本组成............................................................................... 24

1.3.1.      计算机硬件系统.................................................................................... 24

存储器.............................................................................................................. 24

运算器.............................................................................................................. 24

控制器.............................................................................................................. 25

输入设备.......................................................................................................... 25

输出设备.......................................................................................................... 25

1.3.2.      计算机软件系统.................................................................................... 25

系统软件.......................................................................................................... 25

操作系统...................................................................................................... 25

语言处理程序.............................................................................................. 25

数据库管理系统.......................................................................................... 26

服务性程序.................................................................................................. 26

网络管理软件.............................................................................................. 26

应用软件.......................................................................................................... 26

1.3.3.      计算机系统的层次结构........................................................................ 26

微程序设计级.................................................................................................. 26

机器指令系统级.............................................................................................. 26

操作系统级虚拟机.......................................................................................... 27

语言处理程序及其他系统软件级.................................................................. 27

面向用户应用程序级...................................................................................... 27

2.      计算机硬件基础.................................................................................................. 27

2.1.        半导体器件的开关特性.............................................................................. 27

2.1.1.      二极管的开关特性................................................................................ 27

2.1.2.      三极管的开关特性................................................................................ 28

2.1.3.      MOS管的开关特性............................................................................... 28

2.2.        基本逻辑运算与基本门电路...................................................................... 28

2.2.1.      逻辑变量和逻辑表达式........................................................................ 28

2.2.2.      逻辑门.................................................................................................... 28

双极型逻辑门.................................................................................................. 29

单极型逻辑门.................................................................................................. 29

其他类型的TTL门电路.................................................................................. 29

逻辑门的表达方式.......................................................................................... 29

2.2.3.      逻辑代数的基本定律............................................................................ 29

交换律.............................................................................................................. 29

结合律.............................................................................................................. 29

分配律.............................................................................................................. 29

吸收律.............................................................................................................. 29

吸收律二.......................................................................................................... 29

反演律.............................................................................................................. 30

包含律.............................................................................................................. 30

重叠律.............................................................................................................. 30

互补律.............................................................................................................. 30

0-1定律........................................................................................................... 30

2.2.4.      逻辑函数的化简.................................................................................... 30

代数化简法...................................................................................................... 30

并项法.......................................................................................................... 31

吸收法.......................................................................................................... 31

消去法.......................................................................................................... 31

取消法.......................................................................................................... 31

配项法.......................................................................................................... 31

卡诺图化简法.................................................................................................. 31

逻辑函数的最小项表达式.......................................................................... 31

卡诺图结构.................................................................................................. 31

用卡诺图化简逻辑函数的规则和步骤...................................................... 31

包含无关项的逻辑函数的化简.................................................................. 31

2.3.        组合逻辑电路实例...................................................................................... 31

2.3.1.      加法器.................................................................................................... 32

串行进位法...................................................................................................... 32

并行进位法...................................................................................................... 32

2.3.2.      算数逻辑运算单元ALU........................................................................ 32

四位多功能算术逻辑运算单元...................................................................... 32

16位ALU......................................................................................................... 33

2.3.3.      译码器.................................................................................................... 33

2-4译码器:74LS139...................................................................................... 33

3-8译码器:74LS138...................................................................................... 33

2.3.4.      数据选择器............................................................................................ 33

四通道选一的数据选择器.............................................................................. 33

2.4.        时序逻辑电路.............................................................................................. 34

2.4.1.      触发器和锁存器.................................................................................... 34

电平触发方式触发器...................................................................................... 34

边沿触发方式触发器...................................................................................... 34

2.4.2.      寄存器.................................................................................................... 34

四位寄存器...................................................................................................... 34

典型集成电路芯片74LS273........................................................................... 35

2.4.3.      移位寄存器............................................................................................ 35

简单移位寄存器.............................................................................................. 35

8位双向移位寄存器74L299.......................................................................... 35

存储.............................................................................................................. 35

左移.............................................................................................................. 35

右移.............................................................................................................. 35

置数.............................................................................................................. 36

2.4.4.      计数器.................................................................................................... 36

时钟作用方式分.............................................................................................. 36

同步计数器.................................................................................................. 36

异步计数器.................................................................................................. 36

计算机的功能分.............................................................................................. 36

加法计数器.................................................................................................. 36

减法计数器.................................................................................................. 36

可逆计数器.................................................................................................. 36

进位基数分...................................................................................................... 36

二进制计数器.............................................................................................. 36

十进制计数器.............................................................................................. 36

任意进制计数器.......................................................................................... 36

2.5.        计算机芯片的制造过程.............................................................................. 36

2.5.1.      制造芯片的准备阶段............................................................................ 37

2.5.2.      光刻蚀.................................................................................................... 37

2.5.3.      掺杂........................................................................................................ 37

2.5.4.      测试,切割和封装................................................................................ 37

3.      信息编码与数据表示.......................................................................................... 37

3.1.        数值数据的表示.......................................................................................... 38

3.1.1.      进位计数制............................................................................................ 38

3.1.2.      不同数制之间的相互转换.................................................................... 38

3.1.3.      十进制数的编码.................................................................................... 38

二---十进制码.................................................................................................. 38

十进制字串的表示方法.................................................................................. 38

字符串形式.................................................................................................. 39

压缩的十进制数串形式.............................................................................. 39

3.2.        数据格式...................................................................................................... 39

3.2.1.      机器数.................................................................................................... 39

无符号数据...................................................................................................... 40

带符号数据...................................................................................................... 40

3.2.2.      小数点的表示方法................................................................................ 40

定点表示法...................................................................................................... 40

定点小数...................................................................................................... 40

定点整数...................................................................................................... 40

浮点表示法...................................................................................................... 41

3.3.        定点机器数表示方法.................................................................................. 41

3.3.1.      原码表示法............................................................................................ 41

原码数学定义.................................................................................................. 41

原码表示方法.................................................................................................. 41

原码特点.......................................................................................................... 42

真值 “0”的表示.......................................................................................... 42

表示范围...................................................................................................... 42

原码特点.......................................................................................................... 42

3.3.2.      补码表示法............................................................................................ 42

补码数学定义.................................................................................................. 42

补码表示方法.................................................................................................. 43

补码特点.......................................................................................................... 43

真值“0”的表示............................................................................................ 43

表示范围...................................................................................................... 43

补码运算.......................................................................................................... 43

3.3.3.      反码表示法............................................................................................ 43

反码的数学表示.............................................................................................. 44

反码表示方法.................................................................................................. 44

反码特点.......................................................................................................... 44

真值“0”表示................................................................................................ 44

表示范围...................................................................................................... 44

反码运算.......................................................................................................... 44

3.3.4.      移码表示法............................................................................................ 45

移码的数学表示法.......................................................................................... 45

移码表示方法.................................................................................................. 45

移码特点.......................................................................................................... 45

真值“0”的表示............................................................................................ 45

表示范围...................................................................................................... 45

3.3.5.      定点机器数转换.................................................................................... 45

机器数转换为真值.......................................................................................... 45

机器数之间的相互转换.................................................................................. 46

3.4.        浮点机器数表示方法.................................................................................. 46

3.4.1.      浮点数的格式........................................................................................ 46

3.4.2.      浮点数的规格化表示............................................................................ 46

3.4.3.      浮点数的表示范围................................................................................ 47

3.5.        非数值数据的表示...................................................................................... 47

3.5.1.      字符编码................................................................................................ 47

ASCII................................................................................................................. 47

特点.............................................................................................................. 47

扩展的ASCII.................................................................................................... 47

特点.............................................................................................................. 47

Unicode............................................................................................................ 48

特点.............................................................................................................. 48

3.5.2.      汉字编码................................................................................................ 48

汉字输入码...................................................................................................... 48

数字编码...................................................................................................... 48

拼音编码...................................................................................................... 48

字形编码...................................................................................................... 48

音形编码...................................................................................................... 48

汉字交换码...................................................................................................... 49

汉字内码.......................................................................................................... 49

汉字字形码...................................................................................................... 49

母体字形式.................................................................................................. 49

矢量表示形式.............................................................................................. 49

3.6.        校验码.......................................................................................................... 49

3.6.1.      相关概念................................................................................................ 50

3.6.2.      奇偶校验码............................................................................................ 50

编码.................................................................................................................. 50

译码.................................................................................................................. 50

3.6.3.      海明码.................................................................................................... 50

编码.................................................................................................................. 51

译码.................................................................................................................. 51

3.6.4.      循环冗余校验码CRC............................................................................ 51

3.7.        现代计算机系统的数据表示...................................................................... 51

3.7.1.      几种类型数据在 Penntium系列CPU 中的表示形式....................... 51

字符串.............................................................................................................. 51

BCD................................................................................................................... 51

指针.................................................................................................................. 51

浮点数.............................................................................................................. 52

4.      运算方法与运算器.............................................................................................. 52

4.1.        定点数的加减运算及实现.......................................................................... 52

4.1.1.      补码加减运算及运算器........................................................................ 52

补码加减运算方法.......................................................................................... 52

补码加减运算的溢出判断.............................................................................. 52

单符号位判溢方法...................................................................................... 52

进位判溢方法.............................................................................................. 52

双符号位判溢方法...................................................................................... 53

补码加减运算器的实现.................................................................................. 53

4.1.2.      机器数的移位运算................................................................................ 53

逻辑移位.......................................................................................................... 53

算术移位.......................................................................................................... 53

循环移位.......................................................................................................... 54

4.1.3.      移码加减运算与判溢............................................................................ 54

4.1.4.      十进制加法运算.................................................................................... 54

4.2.        定点数的乘法运算及实现.......................................................................... 54

4.2.1.      原码乘法及实现.................................................................................... 54

手工乘法算法.................................................................................................. 54

原码-位乘法.................................................................................................... 55

原码乘法的硬件实现...................................................................................... 55

4.2.2.      补码乘法及实现.................................................................................... 55

补码一位乘法--校正法................................................................................... 55

补码一位乘法 ---Booth算法......................................................................... 56

补码乘法的硬件实现...................................................................................... 56

4.2.3.      阵列乘法器............................................................................................ 56

绝对值阵列乘法器.......................................................................................... 56

补码阵列乘法器.............................................................................................. 56

4.3.        定点数除法运算及实现.............................................................................. 56

4.3.1.      原码除法及实现.................................................................................... 56

手工除法算法.................................................................................................. 56

原码恢复余数算法.......................................................................................... 57

原码不恢复余数算法...................................................................................... 57

原码除法的硬件实现...................................................................................... 57

4.3.2.      补码除法及实现.................................................................................... 57

补码除法算法.................................................................................................. 57

补码除法的硬件实现...................................................................................... 57

4.3.3.      阵列除法器............................................................................................ 58

CAS的实现...................................................................................................... 58

4.4.        定点运算器的组成与结构.......................................................................... 58

4.4.1.      定点运算器的组成................................................................................ 58

4.4.2.      定点运算器的内部总线结构与通路.................................................... 58

单总线结构...................................................................................................... 58

双总线结构...................................................................................................... 58

三总线结构...................................................................................................... 58

4.4.3.      标志寄存器............................................................................................ 59

4.5.        浮点运算及运算器...................................................................................... 59

4.5.1.      浮点加减运算........................................................................................ 59

0操作数检查................................................................................................... 59

对阶.................................................................................................................. 59

尾数相加减...................................................................................................... 60

结果规格化...................................................................................................... 60

舍入.................................................................................................................. 60

4.5.2.      浮点乘法运算........................................................................................ 60

0操作数检查................................................................................................... 60

阶码相加.......................................................................................................... 60

尾数相乘.......................................................................................................... 60

结果规格化...................................................................................................... 60

舍入处理.......................................................................................................... 60

4.5.3.      浮点除法运算........................................................................................ 60

0操作数检查................................................................................................... 60

阶码相减.......................................................................................................... 60

尾数相除.......................................................................................................... 60

结果规格化...................................................................................................... 60

舍入处理.......................................................................................................... 60

4.5.4.      浮点运算器............................................................................................ 60

4.6.        浮点运算器举例.......................................................................................... 61

4.6.1.      180X87算术协处理器.......................................................................... 61

浮点协处理器80387...................................................................................... 61

机构.............................................................................................................. 61

4.6.2.      浮点运算流水线.................................................................................... 61

5.      存储体系.............................................................................................................. 61

5.1.        存储体系概述.............................................................................................. 61

5.1.1.      存储器的分类........................................................................................ 61

按存储介质分.................................................................................................. 62

磁存储器...................................................................................................... 62

半导体c存储器.......................................................................................... 62

纸带存储器.................................................................................................. 62

光存储器...................................................................................................... 62

按存取方式分.................................................................................................. 62

随机读写存储器.......................................................................................... 62

只读存储器.................................................................................................. 62

相联存储器.................................................................................................. 63

顺序存储器.................................................................................................. 63

直接存取存储器.......................................................................................... 63

按信息的可保存性分...................................................................................... 63

永久记忆存储器.......................................................................................... 63

非永久记忆存储器...................................................................................... 63

按在计算机系统中的作用分.......................................................................... 64

存储器.......................................................................................................... 64

主存储器...................................................................................................... 64

辅助存储器.................................................................................................. 64

高速缓冲存储器Cache............................................................................... 64

5.1.2.      存储器的层次结构................................................................................ 64

寄存器.............................................................................................................. 64

缓存--主存层次............................................................................................... 64

Cache............................................................................................................ 64

主存--辅存层次............................................................................................... 64

主存.............................................................................................................. 65

辅存.............................................................................................................. 65

5.2.        主存储器...................................................................................................... 65

5.2.1.      主存储器性能指标................................................................................ 65

存储容量.......................................................................................................... 65

速度.................................................................................................................. 65

价格.................................................................................................................. 66

5.2.2.      主存储器的工作原理............................................................................ 66

5.2.3.      随机读写存储器.................................................................................... 66

静态MOS存储器(SRAM)............................................................................... 66

存储位元...................................................................................................... 66

SRAM存储器的组成................................................................................... 67

SRAM的读/写过程..................................................................................... 67

动态MOS存储器(DRAM)............................................................................... 67

存储位元...................................................................................................... 67

DRAM存储器的组成.................................................................................. 67

DRAM的读写过程...................................................................................... 67

DRAM的实例.............................................................................................. 68

DRAM的刷新.............................................................................................. 68

5.2.4.      只读存储器............................................................................................ 68

掩膜式只读存储器(MROM)............................................................................ 68

可编程只读存储器(PROM)............................................................................. 68

可多次编程只读存储器(EPROM)................................................................... 68

闪存(Flash Memory)........................................................................................ 69

5.2.5.      高性能主存储器.................................................................................... 69

增强型DRAM(EDRAM).............................................................................. 69

带Cache的DRAM(CDRAM)...................................................................... 69

扩展数据输出RAM(EDO RAM)................................................................. 69

同步DRAM(SDRAM).................................................................................. 69

Rambus DRAM(RDRAM).................................................................................. 69

双倍速率SDRAM (DDR SDRAM).............................................................. 70

5.3.        主存储器与CPU的连接............................................................................. 70

5.3.1.      存储器芯片介绍.................................................................................... 70

5.3.2.      存储容量的扩展.................................................................................... 70

位扩展.............................................................................................................. 70

字扩展.............................................................................................................. 70

字位扩展.......................................................................................................... 71

5.3.3.      主存储器与CPU的连接....................................................................... 71

5.4.        高速存储器.................................................................................................. 71

5.4.1.      双端口存储器........................................................................................ 71

5.4.2.      多体交叉存储器.................................................................................... 71

5.4.3.      相联存储器............................................................................................ 71

5.5.        高速缓冲器Cache....................................................................................... 71

5.5.1.      Cache的基本原理................................................................................. 71

Cache的工作原理........................................................................................... 72

Cache的命中率............................................................................................... 72

5.5.2.      主存与Cache的地址映射方式............................................................ 72

直接映射.......................................................................................................... 72

全相联映射...................................................................................................... 72

组相联映射...................................................................................................... 72

5.5.3.      替换算法................................................................................................ 73

随机替换算法.................................................................................................. 73

先进先出算法.................................................................................................. 73

最近最少使用算法(LRU)................................................................................. 73

5.5.4.      写策略.................................................................................................... 73

写贯穿策略...................................................................................................... 73

写回策略.......................................................................................................... 73

5.5.5.      Cache的多层次设计............................................................................. 73

考虑的因素...................................................................................................... 73

容量问题...................................................................................................... 73

cache行大小问题....................................................................................... 73

如何组织cache的问题.............................................................................. 73

指令和数据是否分享同一个cache的问题.............................................. 74

cache的层次问题....................................................................................... 74

单级cache与两级cache................................................................................ 74

统一Cache和分离Cache............................................................................... 74

cache一致性问题........................................................................................... 74

硬件方法...................................................................................................... 74

5.6.        虚拟存储器.................................................................................................. 75

5.6.1.      段式........................................................................................................ 75

5.6.2.      页式........................................................................................................ 75

5.6.3.      段页式.................................................................................................... 75

5.7.        外存储器...................................................................................................... 75

5.7.1.      磁盘存储器............................................................................................ 75

硬磁盘.............................................................................................................. 75

技术指标...................................................................................................... 75

软磁盘.............................................................................................................. 75

技术指标...................................................................................................... 76

5.7.2.      RAID........................................................................................................ 76

RAID0,无冗余................................................................................................ 76

RAID1,镜像....................................................................................................... 76

RAID2,错误检测和纠错码............................................................................ 76

RAID3位交叉奇偶校验................................................................................... 76

RAID4块交叉奇偶校验................................................................................... 77

RAID5,分布式交叉奇偶校验........................................................................... 77

RAID6,p+q冗余............................................................................................... 77

5.7.3.      光盘存储器............................................................................................ 77

分类.................................................................................................................. 77

只读型光盘.................................................................................................. 77

只写一次性光盘.......................................................................................... 77

可擦式光盘.................................................................................................. 77

工作原理.......................................................................................................... 77

5.7.4.      闪存盘.................................................................................................... 77

5.8.        存储保护...................................................................................................... 78

5.8.1.      存储区域保护........................................................................................ 78

页表和段表保护.............................................................................................. 78

键保护方式...................................................................................................... 78

环保护方式...................................................................................................... 78

5.8.2.      访问方式保护........................................................................................ 78

5.9.        IA32架构的存储系统举例......................................................................... 78

5.9.1.      P6微架构下的Cache............................................................................ 79

5.9.2.      Intel NetBurst 微架构下的Cache........................................................ 79

5.9.3.      Intel Core 微架构的多核高效内存管理技术...................................... 79

cache管理....................................................................................................... 79

内存消歧技术.................................................................................................. 79

6.      指令系统.............................................................................................................. 79

6.1.        指令格式...................................................................................................... 79

6.1.1.      指令操作码与地址码............................................................................ 80

操作码.............................................................................................................. 80

地址码.............................................................................................................. 80

三地址指令.................................................................................................. 80

二地址指令.................................................................................................. 80

零地址指令.................................................................................................. 80

操作数类型...................................................................................................... 80

地址.............................................................................................................. 80

数字.............................................................................................................. 81

字符.............................................................................................................. 81

逻辑数据...................................................................................................... 81

6.1.2.      指令字长和操作码扩展........................................................................ 81

指令字长度...................................................................................................... 81

指令操作码扩展.............................................................................................. 81

6.2.        寻址方式...................................................................................................... 81

6.2.1.      指令寻址................................................................................................ 81

顺序寻址.......................................................................................................... 82

跳跃寻址方式.................................................................................................. 82

6.2.2.      数据寻址................................................................................................ 82

立即寻址.......................................................................................................... 82

直接寻址.......................................................................................................... 82

间接寻址.......................................................................................................... 82

寄存器寻址...................................................................................................... 83

寄存器间接寻址.............................................................................................. 83

变址寻址.......................................................................................................... 83

基址寻址.......................................................................................................... 83

基址变址寻址.................................................................................................. 83

相对寻址.......................................................................................................... 83

堆栈寻址.......................................................................................................... 83

6.3.        指令类型...................................................................................................... 83

6.3.1.      数据传送指令........................................................................................ 84

6.3.2.      算术逻辑运算........................................................................................ 84

6.3.3.      移位操作指令........................................................................................ 84

6.3.4.      程序控制类指令.................................................................................... 84

6.3.5.      堆栈操作指令........................................................................................ 84

6.3.6.      输入输出指令........................................................................................ 84

6.3.7.      处理器控制类指令................................................................................ 84

6.3.8.      特权指令................................................................................................ 84

6.4.        指令系统...................................................................................................... 84

6.4.1.      指令系统的要求.................................................................................... 85

完备性.............................................................................................................. 85

有效性.............................................................................................................. 85

规整性.............................................................................................................. 85

兼容性.............................................................................................................. 85

6.4.2.      指令系统的发展.................................................................................... 85

6.4.3.      CISC的特点........................................................................................... 85

指令系统复杂.................................................................................................. 85

指令串行执行.................................................................................................. 86

采用微程序控制.............................................................................................. 86

有较多的专用寄存器...................................................................................... 86

编译程序难以优化.......................................................................................... 86

6.4.4.      RICS的特点........................................................................................... 86

保留使用频率较高的简单指令...................................................................... 86

指令长度固定.................................................................................................. 86

存取操作访问存储器,其余均在寄存器之间进行...................................... 86

采用流水线技术.............................................................................................. 86

通用寄存器相当多.......................................................................................... 86

硬布线控制逻辑为主,不用或少用微程序控制.......................................... 86

采用优化的编译程序...................................................................................... 86

6.4.5.      指令系统举例........................................................................................ 86

Pentium指令系统........................................................................................... 86

6.4.6.      Pentium指令系统................................................................................. 86

6.4.7.      一种8位字长的指令系统设计............................................................ 86

7.      控制器.................................................................................................................. 87

7.1.        控制器的组成及指令的执行...................................................................... 87

7.1.1.      基本的计算机组成和功能.................................................................... 87

7.1.2.      控制器的组成........................................................................................ 87

程序计数器PC................................................................................................ 87

指令寄存器...................................................................................................... 87

指令译码器...................................................................................................... 88

操作控制信号形成部件.................................................................................. 88

时序信号产生器.............................................................................................. 88

脉冲源.......................................................................................................... 88

启停控制电路.............................................................................................. 88

时序信号产生及控制部件.......................................................................... 88

地址寄存器...................................................................................................... 88

数据寄存器...................................................................................................... 88

7.1.3.      时序系统................................................................................................ 88

指令周期.......................................................................................................... 89

机器周期.......................................................................................................... 89

时钟周期.......................................................................................................... 89

统一节拍法.................................................................................................. 89

分散节拍法.................................................................................................. 89

延长节拍法.................................................................................................. 89

时钟周期插入.............................................................................................. 89

7.1.4.      控制方式和时序的产生........................................................................ 90

控制方式.......................................................................................................... 90

同步控制方式.............................................................................................. 90

异步控制方式.............................................................................................. 90

联合控制方式.............................................................................................. 90

时序脉冲发生器和启停控制.......................................................................... 90

7.1.5.      系统结构和数据通路的设计................................................................ 90

在所有需要传送数据的部件之间创建一条直接通路.................................. 91

在CPU内部常见一条总线,并且在各个部件之间使用总线来传递数据. 91

7.1.6.      简单计算机系统主机各部件的实现方案............................................ 91

7.1.7.      指令的执行过程.................................................................................... 91

7.2.        硬布线控制器.............................................................................................. 91

7.2.1.      控制器的设计方法................................................................................ 91

确定指令系统.................................................................................................. 91

围绕着指令系统的实现,确定CPU内部结构............................................. 91

在以上基础上,分析每条指令的执行过程.................................................. 91

综合每个微操作控制信号和逻辑函数,并化简和优化.............................. 91

用逻辑电路实现.............................................................................................. 91

7.2.2.      硬布线控制器的结构与原理................................................................ 91

7.2.3.      硬布线控制器的时序系统.................................................................... 92

7.2.4.      硬布线控制器设计举例........................................................................ 92

7.3.        微程序控制器.............................................................................................. 92

7.3.1.      微程序控制的基本概念和工作原理.................................................... 92

7.3.2.      简单微程序控制器的设计.................................................................... 92

7.3.3.      微程序设计技术.................................................................................... 92

7.3.4.      微程序控制方式下模型机的设计实例................................................ 92

8.      输入输出系统...................................................................................................... 93

8.1.        概述.............................................................................................................. 93

8.1.1.      输入输出系统的构成............................................................................ 93

外设的地位和作用.......................................................................................... 93

外设特点.......................................................................................................... 93

外设分类.......................................................................................................... 93

外设编址方式.................................................................................................. 94

统一编址(存储器映射)............................................................................... 94

独立编址(I/O映射)..................................................................................... 94

8.1.2.      外设与CPU的连接............................................................................... 94

8.1.3.      I/O指令格式......................................................................................... 94

8.2.        输入输出接口.............................................................................................. 95

8.2.1.      I/O接口的功能..................................................................................... 95

实现数据缓冲.................................................................................................. 95

执行CPU的命令............................................................................................. 95

返回外设的状态.............................................................................................. 95

设备选择.......................................................................................................... 95

实现数据格式的转化...................................................................................... 95

实现信号的转换.............................................................................................. 96

中断管理的功能.............................................................................................. 96

8.2.2.      I/O接口的组成..................................................................................... 96

基本电路.......................................................................................................... 96

端口地址译码电路.......................................................................................... 96

供选电路.......................................................................................................... 96

8.3.        主机与外设交换信息的方式...................................................................... 96

8.3.1.      程序查询方式........................................................................................ 97

8.3.2.      程序中断方式........................................................................................ 97

8.3.3.      直接存储器访问DMA方式................................................................. 97

8.3.4.      通道方式................................................................................................ 97

8.3.5.      输入输出处理机方式............................................................................ 98

8.4.        中断系统...................................................................................................... 98

8.4.1.      中断的基本概念.................................................................................... 98

中断源的分类.................................................................................................. 98

硬中断.......................................................................................................... 98

软中断.......................................................................................................... 99

中断过程.......................................................................................................... 99

中断请求...................................................................................................... 99

中断响应...................................................................................................... 99

中断服务...................................................................................................... 99

中断返回...................................................................................................... 99

中断作用........................................................................................................ 100

是新啊CPU与多台I/O并行工作............................................................ 100

具有处理应急事件的能力........................................................................ 100

进行实时处理............................................................................................ 100

实现人机通信............................................................................................ 100

实现多道程序运行和分时操作................................................................ 100

实现应用程序和操作系统(管态程序)的联系.................................... 100

实现多机系统中处理机之间的联系........................................................ 100

8.4.2.      中断请求与判优.................................................................................. 100

中断请求信号的产生与检测........................................................................ 100

产生............................................................................................................ 100

监测............................................................................................................ 100

中断屏蔽........................................................................................................ 101

中断请求信号的传递.................................................................................... 101

公共请求线................................................................................................ 101

独立请求线................................................................................................ 101

二维结构.................................................................................................... 102

中断请求的排队判优.................................................................................... 102

软件查询.................................................................................................... 102

硬件排队电路............................................................................................ 102

中断响应........................................................................................................ 103

CPU响应中断的条件................................................................................ 103

CPU中断响应的过程................................................................................ 103

中断服务与返回............................................................................................ 104

中断服务程序............................................................................................ 104

中断服务程序与子程序的区别................................................................ 105

中断嵌套.................................................................................................... 105

利用中断屏蔽技术修改中断优先级........................................................ 105

8.4.3.      中断响应.............................................................................................. 105

8.4.4.      中断服务与返回.................................................................................. 105

9.      总线.................................................................................................................... 105

9.1.        总线的基本概念........................................................................................ 105

9.1.1.      总线的特性.......................................................................................... 106

电气特性........................................................................................................ 106

机械特性........................................................................................................ 106

功能特性........................................................................................................ 106

时间特性........................................................................................................ 107

9.1.2.      总线的分类.......................................................................................... 107

连接部件分类................................................................................................ 107

CPU内部总线............................................................................................ 107

系统总线.................................................................................................... 107

通信总线.................................................................................................... 107

数据传送方式分类........................................................................................ 107

并行总线.................................................................................................... 107

串行总线.................................................................................................... 107

通信定时分类................................................................................................ 108

同步总线.................................................................................................... 108

异步总线.................................................................................................... 108

9.1.3.      总线的性能指标.................................................................................. 108

总线宽度........................................................................................................ 108

总线周期........................................................................................................ 108

总线频率........................................................................................................ 108

总线带宽........................................................................................................ 108

信号线类型.................................................................................................... 108

仲裁方法........................................................................................................ 109

定时方式........................................................................................................ 109

9.2.        系统总线的结构........................................................................................ 109

9.2.1.      单总线结构.......................................................................................... 109

9.2.2.      双总线结构.......................................................................................... 109

9.2.3.      多总线结构.......................................................................................... 109

9.3.        总线信息的传送方式................................................................................ 109

9.3.1.      并行传送.............................................................................................. 109

9.3.2.      串行传送.............................................................................................. 110

9.3.3.      分时传送.............................................................................................. 110

9.4.        总线仲裁和定时........................................................................................ 110

9.4.1.      总线仲裁.............................................................................................. 110

集中式仲裁方式............................................................................................ 110

链式查询方式............................................................................................ 110

定时器定时查询方式................................................................................ 110

独立请求方式............................................................................................ 110

分布式仲裁方式............................................................................................ 110

自举分布式仲裁方式................................................................................ 110

冲突检测分布式仲裁方式........................................................................ 111

并行竞争仲裁方式.................................................................................... 111

9.4.2.      总线的定时.......................................................................................... 111

同步定时........................................................................................................ 111

异步定时........................................................................................................ 111

9.5.        实用总线标准............................................................................................ 111

9.5.1.      ISA总线............................................................................................... 111

9.5.2.      EISA总线............................................................................................. 111

9.5.3.      PCI总线............................................................................................... 112

9.5.4.      PCI Express总线.................................................................................. 112

串行的点对点互连........................................................................................ 112

差分信号传送................................................................................................ 112

采用交换开关互连多台设备........................................................................ 112

PCI Express事务与包.................................................................................... 112

具有更高的数据传输率................................................................................ 112

PCI Express设备采用层次结构.................................................................... 112

错误处理........................................................................................................ 112

具有优先级的传递........................................................................................ 112

两种中断方式................................................................................................ 112

支持热插拔.................................................................................................... 112

9.5.5.      RS-232C/RS-485接口总线.................................................................. 112

9.5.6.      USB接口总线...................................................................................... 113

控制传输方式................................................................................................ 113

等时传输方式................................................................................................ 113

中断传输方式................................................................................................ 113

数据块传输方式............................................................................................ 113

9.5.7.      IEEE 1394接口总线............................................................................. 113

10.         流水线与并行处理技术................................................................................ 113

10.1.     流水线原理................................................................................................ 113

10.1.1.        流水线基本概念.............................................................................. 113

特点................................................................................................................ 114

流水线中流水段划分越多,速度越快.................................................... 114

流水线上每个阶段即每道工序的执行时间应尽量相等,否则会引起堵塞和断流.................................................................................................... 114

流水线工作阶段可分为建立,满载,排空三个阶段............................ 114

程序转移指令,存储器供应不上指令和数据等会造成断流................ 114

10.1.2.        流水线分类...................................................................................... 114

任务级别分类................................................................................................ 114

操作部件级................................................................................................ 114

指令级........................................................................................................ 114

处理机级.................................................................................................... 114

功能分类........................................................................................................ 115

单功能流水线............................................................................................ 115

多功能流水线............................................................................................ 115

工作方式分类................................................................................................ 115

静态流水线................................................................................................ 115

动态流水线................................................................................................ 115

连接方式分类................................................................................................ 115

线性流水线................................................................................................ 115

非线性流水线............................................................................................ 115

处理机类型分类............................................................................................ 116

标量流水线................................................................................................ 116

向量流水线................................................................................................ 116

10.1.3.        流水线性能分析.............................................................................. 116

吞吐率............................................................................................................ 116

加速比............................................................................................................ 116

效率................................................................................................................ 116

10.2.     流水线相关及处理.................................................................................... 116

10.2.1.        结构相关.......................................................................................... 116

停顿流水线.................................................................................................... 117

重复设置存储器............................................................................................ 117

采用指令预取技术........................................................................................ 117

10.2.2.        数据相关.......................................................................................... 117

暂停流水线.................................................................................................... 117

采用定向技术................................................................................................ 117

10.2.3.        控制相关.......................................................................................... 117

猜测法............................................................................................................ 117

分支的选择................................................................................................ 117

提高猜测准确率........................................................................................ 118

现场恢复.................................................................................................... 118

加快和提前形成条件码................................................................................ 118

加快短循环程序的处理................................................................................ 118

采用优化延迟转移技术................................................................................ 118

10.2.4.        流水线的中断与处理...................................................................... 118

10.3.     流水线的调度方法.................................................................................... 118

10.3.1.        非线性流水线的静态调度技术...................................................... 118

10.3.2.        流水线的动态调度技术.................................................................. 118

10.4.     高级流水线技术........................................................................................ 119

10.4.1.        超标量流水线技术.......................................................................... 119

结构................................................................................................................ 119

调度方法........................................................................................................ 119

性能................................................................................................................ 119

10.4.2.        超流水线技术.................................................................................. 119

10.4.3.        超标量超流水线技术...................................................................... 119

10.4.4.        超长指令字 VLIW技术.................................................................. 119

10.4.5.        向量流水线技术.............................................................................. 119

基本特点........................................................................................................ 119

向量处理方式................................................................................................ 120

结构................................................................................................................ 120

存储器-存储器型...................................................................................... 120

寄存器-寄存器型...................................................................................... 120

向量访问步长及控制.................................................................................... 120

增强向量处理性能的方法............................................................................ 120

多功能部件的并行操作............................................................................ 120

链接技术.................................................................................................... 120

10.5.     并行处理技术............................................................................................ 120

10.5.1.        并行处理技术的基本概念.............................................................. 120

10.5.2.        SIMD阵列处理机............................................................................ 120

结构................................................................................................................ 121

分布式存储器的阵列机............................................................................ 121

共享存储器的阵列机................................................................................ 121

特点................................................................................................................ 121

10.5.3.        多处理机系统.................................................................................. 121

特点................................................................................................................ 121

分类................................................................................................................ 121

紧耦合多处理机系统................................................................................ 121

松耦合处理机系统.................................................................................... 121

互连方式........................................................................................................ 121

总线互连方式............................................................................................ 121

环型互连方式............................................................................................ 122

交叉开关互连方式.................................................................................... 122

10.6.     Pentium微处理器的系统结构................................................................. 122

10.6.1.        PentiumII 微处理器........................................................................ 122

多路分支预测................................................................................................ 122

数据流分析.................................................................................................... 122

推测执行........................................................................................................ 122

10.6.2.        Pentium 4微处理器........................................................................ 122

10.7.     片上多核处理器架构................................................................................ 122

10.7.1.        Intel Core 微架构............................................................................ 122

10.7.2.        IBM Cell架构................................................................................... 122

 

 

  1. 计算机组成原理概论
    1. 计算机系统的发展与应用
      1. 计算机的产生

1946年,ENIAC

      1. 计算机的发展

物理机经历四代

      1. 微型计算机的发展

微型机逐步发展

      1. 计算机的应用

科学计算领域

工业应用领域

商业应用领域

教育应用领域

生活应用领域

人工智能领域

    1. 计算机的分类与性能指标
      1. 计算机的系统结构分类(Flynn分类法)

 

计算机在执行过程中,有两种信息在流动,一种是  指令;  一种是 数据;

单指令流,单数据流结构 SISD

 

由 单一 控制器,单一执行器,单一存储器组成

单指令流,多数据流结构 SIMD

 

由 单一控制器,多个执行部件,多个存储模块组成。

多指令流,单数据流结构 MISD

 

由 多个控制器,多个执行部件,单一数据同时执行不同的指令。

多指令流,多数据流结构MIMD

 

由 多个控制器,多个执行部件,和多个存储模块组成。

      1. 计算机的用途分类

通用计算机

专用计算机

      1. 计算机的使用方式分类

桌上型计算机

服务型计算机

嵌入式计算机

      1. 计算机的规模分类

巨型计算机

大中型计算机

小型计算机

微型计算机

 

如果一块芯片中,包含运算器,控制器,存储器和输入/输出设备,就称为 单片机。

      1. 计算机的性能指标

机器字长

存储容量

运算速度

 

MIPS,  million instrction per second ,每秒多少百万条指令表示。

可配置的外设

性价比

可靠性,可维修性和可用性

    1. 计算机系统的基本组成
      1. 计算机硬件系统

 

由于 运算器和控制器 在逻辑关系和电路结构上联系十分紧密,尤其是在大规模集成电路工艺出现后,这两大部件通常制作在统一芯片上。  因此将二者合起来称为 CPU 。  Central Processing Unit .

存储器

 

每个字节单元有一个编号,称为地址。

地址是识别存储器中,不同存储单元的唯一标志。

运算器

 

运算器的技术性能直接影响着计算机的运算速度和整机性能。

控制器

 

产生控制信号,使整个计算机自动,协调地工作。

输入设备

 

外界信息通过输入设备转化为计算机能识别的二进制代码。

输出设备

      1. 计算机软件系统

系统软件

 

管理,调度,监视,维护计算机系统资源的程序集合。

   一般由计算机生产厂家研制,或软件开发人员研制。

操作系统

 

操作系统 是直接运行在裸机上的最基本的系统软件,是系统软件的核心,任何其他软件必须在操作系统的支持下才能运行。

语言处理程序

 

程序是计算机语言的具体体现;

机器语言是最底层的计算机语言,用机器语言编写的程序,计算机硬件可以直接识别;但是,不同的计算机硬件,机器语言是不同的。

 

汇编语言一般是与机器指令对应的,因此业余具体的计算机有关。 需用汇编程序进行 汇编后,才能被计算机执行。

 

高级语言 与计算机硬件无关,计算机不能直接识别和执行。 必须首先通过  语言处理程序 翻译成机器指令,然后供计算机执行。    翻译高级语言分为: 编译和 解释。   编译如 windows的exe文件,解释则是逐步翻译。

 

 

数据库管理系统

 

数据库和数据库管理软件 组成了 数据库管理系统。

服务性程序

 

为了帮助用户使用与维护计算机,提供服务性手段而编制的程序。   它包含很广泛的内容。

网络管理软件

 

维持通信,提供各种网络管理服务 。

应用软件

 

根据具体的任务需要 ,所开发编制的各种程序。

      1. 计算机系统的层次结构

 

除第一层外,其他各层都得到它下面层的支持,同时也受到运行在下面各层上的程序的支持。

微程序设计级

 

有两种设计方式:  一种是: 微程序控制的方式;  另一种是: 硬布线设计方式 。

   两种方式 产生控制信号的方式不同。

除了硬件和微程序设计人员外,一般人不知道它的存在。

机器指令系统级

 

 提供计算机硬件可以读懂的,并可以直接操纵计算机硬件工作的二进制信息。

   它是 软件系统和 硬件系统之间的纽带。硬件系统的操作由机器指令控制,软件系统的各种程序必选转换成机器指令的形式才能执行。 

操作系统级虚拟机

 

由操作系统程序实现。

语言处理程序及其他系统软件级

 

用翻译程序 将高级语言的源程序 翻译成  机器语言程序。

  它有三种方式:

     1.高级语言-> 汇编语言->机器语言

     2.高级语言-> 机器语言

     3.汇编语言-> 机器语言

 

其他系统软件级包含很广泛的内容:如服务性程序,数据库管理系统等。

面向用户应用程序级

 

  这一层次,实际上是 建立在大量系统软件 及 硬件基础上的 虚拟机系统。

  1. 计算机硬件基础

 

数字集成电路 是实现计算机功能的一种基础硬件。   其按组成结构,可划分为: 分立元件电路,和 集成电路。

   目前常用的集成电路 主要有:

     a.双极性晶体管构成的电路,TTL集成门电路;

     b.CMOS管构成的集成门电路。

 

    1. 半导体器件的开关特性

 

数字电路中的半导体期间住哟按工作于 开关状态。

      1. 二极管的开关特性

 

在 完全纯净的,具有晶体结构(本征)半导体,掺入微量有用杂志,其导电性得到极大改善,并能加以控制。

   根据掺入的杂志不同,分为N型和P型. 因此称 杂志半导体为 双极性半导体。

两者交界处称为 PN结。 当P接正极,N接负极,称 PN结 正向偏置。 反之称为  负向偏置。

 

  一定电压范围内, 正向电压使PN 处于低电阻的导通状态;  反向电压 使 PN 处于 高阻的 截止状态。

   这就是二极管的单向导电特性。   二极管可在 外加电压或 脉冲的控制下实现开关功能。

      1. 三极管的开关特性

 

三极管 具有: PNP 和 NPN两种结构;

  具有两个PN结,分为三个区域: 发射区,基区, 集电区。   每个区引出一个电极,分别为 发射极,基极,集电极。

   发射区和基区交界处的PN结 称为 发射结; 

   集电区和基区交界处的PN结 称为 集电结。

  三极管具有 放大,截止 和饱和三种工作状态。

    模拟电路中,三极管主要用于放大状态;

    数字电路中,三极管作为开关元件,主要用于 截止和饱和状态。

      1. MOS管的开关特性

 

MOS管 是一种  集成度高,功耗低,工艺简单的半导体期间。   与  NPN半导体三极管类似 。

    1. 基本逻辑运算与基本门电路
      1. 逻辑变量和逻辑表达式

 

反映事物逻辑关系的变量称为  逻辑变量。

  一般逻辑变量是二值变量。

对于逻辑问题的讨论,需要有条件和结果,分别称为输入变量,与输出变量;

   描述输入,输出变量之间逻辑关系的表达式恒威逻辑函数  或  逻辑表达式。

      1. 逻辑门

 

最基本的逻辑门: 与,或,非。

  它们相互组合,可构成 复合门。

双极型逻辑门

单极型逻辑门

其他类型的TTL门电路

逻辑门的表达方式

      1. 逻辑代数的基本定律

交换律

 

A+B=B+A:  A或B

A*B=B*A: A且B

结合律

 

A+(B+C)=(A+B)+C

A*(B*C)=(A*B)*C

分配律

 

A+B*C=(A+B)*(A+C)

A*(B+C)=A*B+A*C

吸收律

 

A+A*B=A

A*(A+B)=A

吸收律二

 

A+A*B = A+B

A*(A+B)=A*B

反演律

 

A+B=A*B

A*B=A+B

包含律

 

A*B+A*C+B*C=A*B+A*C

重叠律

 

A+A=A

A*A=A

互补律

 

A+A=1

A*A=0

0-1定律

 

0+A=A

1*A=A

0*A=0

1+A=1

      1. 逻辑函数的化简

 

设计逻辑电路时,每个逻辑表达式和一个逻辑电路对应,因此必须将逻辑表达式进行化简,以减少所用元器件。

代数化简法

 

直接利用逻辑代数的基本公式 和规则进行化简的一种方法。

 

 化简后的最简表达式不一定是唯一的,但它们中的  与 项个数 及 与项 中的因子数应该都是最少的。

并项法

吸收法

消去法

取消法

配项法

卡诺图化简法

 

利用卡诺图的一种几何化简法,,它只适用于变量较少的逻辑函数化简。

逻辑函数的最小项表达式

 

最小项: 由全部变量或其反变量形成的逻辑乘积项称为: 最小项。

卡诺图结构

 

逻辑函数的卡诺图就就是将此函数的最小项表达式中的各最小项填入相应的方格内。   称为卡诺图 。

用卡诺图化简逻辑函数的规则和步骤

 

1.将原始函数或其真值表移到卡诺图上。

2.对图中"1"方格相邻区域画圈。若有重复画圈的情况,这种圈就是多余圈,应该舍去。

3.将每个相邻区域圈内的互反变量因子消去,保留不变的变量因子,所得对应的 “与”项 再 逻辑 “或”起来,得到化简后的表达式。

包含无关项的逻辑函数的化简

 

与函数取值无关的最小项称为 无关项。

    1. 组合逻辑电路实例

 

当输入信号变化时,输出信号也跟着变化。

 

计算机处理器设计中,组合电路通常被用来产生控制信号,它的输入可能是 指令的操作码和状态信号,输出则是寄存器,存储器等的写入控制信号 和数据选择信号。

      1. 加法器

 

计算机的基本运算部件之一,由多个一位全加器组合而成。

  实现多位二进制数相加,每个一位加法器必须既考虑向高位的进位,又考虑 低位来的进位位。

串行进位法

 

将n个全加器连接起来,可组成n位加法器, 其位间进位 是 串行传输,本位全加  需等 低位进位到来后才能得到。 加法时间与位数有关。

并行进位法

 

利用 并行进位法,或 超前进位产生电路,来同时形成各位的进位,从而提高加法速度。

 

多个加法器串行时,可定义两个辅助函数:

  Pi:  表示进位传递函数;

  Qi: 表示 进位产生函数;

 由加法器的真值表可知, 当输入全取反码时,其输出也全为反码。

      1. 算数逻辑运算单元ALU

 

全加器 智能对输入操作进行加法计算,而计算机还要 进行逻辑运算 和 其他算术运算。

四位多功能算术逻辑运算单元

 

ALU74LS181, 为 集成再 一片内的集成电路,具有5条 控制选择线 S0,S1,S2,S3和 M .

   当M=high时,表逻辑功能

   当M=low时,表算术运算;

16位ALU

 

 用4片 74181电路 可组成 16位ALU。 181片内是  并行进位,片间是 串行进位。

 

74182可用于 片间并行进位。

      1. 译码器

 

译码器 将 n个输入变量的 2^n 个编码对应于 2^n 条输出线输出,当输入某一编码时,对应仅有一根输出为 0 或1,其余输出为 1或0.

   译码器的用途一般是 把输入编码 译成 相应的控制电位,作为芯片的片选信号或其他所要求的操作信号。

2-4译码器:74LS139

 

译码器中,常设置 使能 控制端,用来控制 译码器是否正常工作。

3-8译码器:74LS138

 

具有三个控制线。E1,E2,E3,当它们分别为L,L,H时,译码器才能正常工作。

      1. 数据选择器

 

将多路输入数据再地址输入信号控制下,有选择地传送到输出端的过程,称为数据选择。实现该功能的电路称为: 数据选择器,也称 多路选择开关。

 

  数据选择器 从 2^n 个输入数据中,选择一个送到输出端,选择哪一个输入数据由n位地址输入来选择决定;

四通道选一的数据选择器

 

该逻辑电路中,S0,S1为 通道选择信号;

E 是 使能信号;

D0~D3是 输入通道。

    1. 时序逻辑电路

 

 输出不仅与当前的输入状态有关,而且与前一时刻的电路状态有关,完成记忆功能的基本元件是 触发器;

 

  时序逻辑电路的状态改变发生再什么时刻,由时钟信号决定。

 

  计算机中一般用 同步二进制计数器作为PC程序计数器。

      1. 触发器和锁存器

电平触发方式触发器

 

当 时钟信号 C 为 约定触发电平,触发器接收输入数据D,此时输入端D的任何变化,都会再输出端Q得到反映;

   反之,当 C 为 非约定电平时,触发器状态不变,即 Q与D 无关。

   又称为 D 锁存器。   其主要作用是: 作为存储器的地址锁存器,以使CPU发出的地址在 整个存储器读 或 写周期 保持稳定不变。

边沿触发方式触发器

 

接收时钟脉冲 CP 的约定边沿(上升沿或下降沿) 来到时的输入数据D。

  反之,当 CPU为非约定边沿时,触发器不接收输入数据D。

 

  常用的正边沿触发器: D触发器

    它一般可用来组成寄存器,计数器,移位寄存器等。

      1. 寄存器

 

由一组触发器组成。   由 n位触发器 构成的寄存器  称为  n位寄存器,其可以存储n位二进制信息。

 

  

四位寄存器

 

输入端: D3,D2,D1,D0;

时钟脉冲: CP;

CLR 为寄存器清零信息;

输出端: Q3,Q2,Q1,Q0 ;  或者Q3,Q2,Q1,Q0

典型集成电路芯片74LS273

 

内部含有8个独立的D触发器;

MR 为清零信号;  当MR为低电平时,无论输入D是什么,输出Q 均为0;

 

CP为寄存器打入脉冲信号,当CP来一上升沿,则 将输入端D数据打到输出端Q,并在下一上升沿来到之前,Q端保持不变。

      1. 移位寄存器

 

具有移位功能的寄存器 称为 移位寄存器。   最简单的移位寄存器 是 由D触发器组成的。

简单移位寄存器

 

一个D触发器 的输出接到 另一个D触发器的输入。  当公共时钟信号CP上升沿到来时,所有触发器的输出均写入相邻的下一个触发器中。

8位双向移位寄存器74L299

 

 并行置数输入  和  移位后并行输出 合用八条线。

MR为异步清零信号,低电平有效。

OE1 和 OE2位输出允许信号,低电平有效;

S0 和 S1为操作选择信号;

当S0S1 分别为: 00~11时,分别执行: 存储保持,右移,左移,置数四种功能。

 

 移位和 置数操作,必须在 CP时钟上升沿进行。

存储

左移

右移

置数

      1. 计数器

 

计数器时计算机和数字电路中,常用的一种时序逻辑电路,其功能是记忆脉冲的个数。

   计数器所能记忆脉冲的最大数目 为 该计数器的模,用 M表示。

时钟作用方式分

同步计数器

 

由同一脉冲来提供,各触发器的反转同时进行,又称 并行计数器。

异步计数器

 

高位触发器的时钟信号 由 低位触发器的输出来提供,又称串行计数器。

计算机的功能分

加法计数器

减法计数器

可逆计数器

进位基数分

二进制计数器

十进制计数器

任意进制计数器

    1. 计算机芯片的制造过程

 

对计算机芯片的成本而言, 集成电路的制造过程最关键。

      1. 制造芯片的准备阶段

 

   原料: 纯净硅;  金属。(铝,铜)

   硅进行化学提纯,整形。

   对硅 进行切片,之后在其上刻划逻辑电路。  掺入的物质原子 进入硅原子之间的空隙,彼此之间发生原子力的作用,从而使得硅原料具有半导体的特性。

   将切片放入高温炉中加热,通过控制加温时间,使得切片表目生成一层二氧化硅膜。

   在二氧化硅层上 覆盖一个感光层。

      1. 光刻蚀

 

  使用一定波长的光 在感光层中 刻出相应的刻痕,由此改变该处材料的话学特性。

  对光的波长要求极为严格,需要使用短波长的紫外线和大曲率的透镜。

   它的复杂度形象化:  设计光刻蚀的每一步过程所需要的数据量可以用10GB单位来计算,制造每块处理器所需要的刻蚀步骤 都要超过20步。  (每一步进行一层刻蚀)。   如每一层刻蚀的图纸放大许多倍,则将比整个纽约市外加郊区范围还要复杂。

      1. 掺杂

 

  去除感光层物质,剩下充满沟壑的二氧化硅层,及 暴露出来的硅层。

   参杂过程创建了全部的晶体管 及 彼此间的电路连接。

   持续添加层次,加入一个二氧化硅层,然后光刻一次。重复这些步骤,就出现了 多层立体架构。  每层之间采用金属涂膜的技术进行层间的导电连接。

      1. 测试,切割和封装

 

  检测圆晶的电学特性,看是否有逻辑错误。

  整片的圆晶 被切割成一个个独立的处理器芯片单元。  这些芯片单元将会被封装,这样它就可以顺利的插入某种接口规格的主板。

   处理器成品完成后,进行全方位的芯片功能检测,产生不同等级的产品,运行频率较高的,打上高频率产品的名称和编号。 反之。    还有一些 芯片功能上有一些不足,则相应的屏蔽掉一些功能,降低性能,然后出售。

  1. 信息编码与数据表示
    1. 数值数据的表示
      1. 进位计数制

 

数制又称为 进位计数制,即 按 进位制 的方法进行 计数。  

   由 基数 R 和 权 W 组成。

   最左边的数位 权最大,称为 最高有效位;  最右边的数位 权最小, 称为 最低有效位。

  计算机主要使用二进制表示数据,主要原因有:

    1.二值状态容易找到 物理器件;

    2.抗干扰能力强;

    3.运算规则简单;

    4.与逻辑真假相对应;

      1. 不同数制之间的相互转换

 

  进制转换的实质是: 加权求和;

  为了方便辨识,可以在数字后面加后缀,分别是: Binary ,Decimal, Octal, Hexdecimal。

 

  不同的计算机编程语言中,进位计数制的表达方式不同,与编译器有关。

      1. 十进制数的编码

 

人们习惯于使用十进制数表示数据,但计算机只能存储二进制,因此,如何用二进制表示十进制显得尤其重要。

 

 

二---十进制码

 

 又称: Binary Coded Decimal码。

  用四个二进制位  来表示 一个十进制。

  常用的BCD码类型有:

     8421码,2421码,5211码,  4311码,84-2-1码,格雷码,余3码;

   它们有 有权码 和无权码 之分,它们的设计都旨在简化运算。

十进制字串的表示方法

 

采用十进制表示数据的优点:

   1.对于高I/O场景,大大减少了 十--二之间的进制转换,提高了运行效率;

   2.十进制数串的位长可变,许多机器规定该长度为: 0~31.  提高了数据的表示范围和运算精度。

  

字符串形式

 

一个字节存放一个十进制的数位 或符号,直接以ASCII码的形式存放。

   与 BCD码相比,字符串形式表示的十进制数串 运算更不方便,因为每个字节的高四位并不参与运算。

 

  Intel X86 系列 CPU 设置了 ASCII码运算调整指令  AAA 和 AAS。

压缩的十进制数串形式

 

 用压缩的十进制数串 表示一个数,一个字节存放两个十进制的数位。   十防范采用的较为理想的方法。

 

    1. 数据格式
      1. 机器数

 

数值数据在计算机中的表示形式 称为 机器数。

   其特点:

       1.数值范围受 计算机字长的限制;

       2.机器数的符号位必须被数值化为 二进制 0或 1;

       3.机器数的小数点用隐含规定的方式来表达。

 

   在计算机中, 无符号数据和带符号数据的表示范围是不同的。

    在数据存储时,计算机硬件无需区分是带符号数据 还是 无符号数据。  在运算或执行比较跳转操作时,通过 程序中不同的指令来区分。

    实际上,二进制位串本身并没有某种特定的含义,它们究竟表示什么含义,取决于指令或者计算机对它们执行何种操作。

无符号数据

 

 

带符号数据

      1. 小数点的表示方法

 

计算机中美欧专用的部件用来表示小数点。

  小数点的隐含约定方法有两种: 定点和浮点。

定点表示法

 

表示约定所有机器数的小数点的位置是固定不变的,可以分为定点小数,定点整数两种。

 

  定点计算机按照定点数的数据处理规则来设计硬件的,可以处理三类定点机器数: 无符号整数,有符号定点整数,有符号定点小数。

 

   在定点计算机中,只能表示和运算 纯小数 或 纯整数,而所处理的数据往往是实数,既有整数位,又有小数位。

   定点计算机中,必须通过软件来设定一个比例因子,把数据适当放大或缩小,使之变成约定好的纯小数或 纯整数,处理结束后,再用同样的比例因子将结果还原。

    通常,比例因子确定很重要,但是也很困难。

定点小数

 

用于表示纯小数, 其小数点位置 隐含固定在符号位 Xs 之后。   其绝对值 称为定点小数的分辨率 或 精度。

   超出定点小数范围的情况称为溢出。  小于精度,则称为下溢,作为0处理;  超出范围的数据,称为上溢,简称 溢出。

定点整数

 

表示纯整数,其小数点位置隐含固定在最低位之后,最高位 仍是 符号位:Xs,其余均为有效的数值位。

浮点表示法

 

将 “比例因子”放在数据之中,称为  阶码。  数据的小数点位置 由 阶码规定,因此是浮动的。

   由三部分来决定数值大小:

        阶码E, 尾数M  和  阶码的底R。

  浮点数实际上由 定点数组成:  

         其阶码是定点整数,尾数 是定点小数。

    1. 定点机器数表示方法
      1. 原码表示法

 

一种最简单,最接近其值原型的一种表示方法 0表示正,1表示负,数值部分与绝对值一致。

原码数学定义

 

 定点整数形式:

        若X 位于  0 ~ 2^n -1,  则  X原 = X;

        若X 位于 -(2^n-1)~0, 则 X原=2^n-X

 

 定点小数形式:

       若X 位于  0 ~ 2^n -1,  则  X原 = X;

       若X 位于 -(2^n-1)~0, 则 X原=1-X

原码表示方法

 

定点整数:

   若X=+X1X2...Xn, 则 X原 = 0X1X2...Xn

   若X=-X1X2...Xn, 则 X原 = 1X1X2...Xn

 

定点小数:

若X=+0.X1X2...Xn, 则 X原 = 0X1X2...Xn

若X=-0.X1X2...Xn, 则 X原 = 1X1X2...Xn

原码特点

真值 “0”的表示

 

即可以用 在数的原码定义公式表示,也可以用负数的原码定义公式给出。   因此  ,真值“0” 的原码表示 不唯一。

表示范围

 

若X是 定点整数,则n+1位的原码机器数表示范围:

  -(2^n-1)<= X<= 2^n-1

 

若X是定调小数,则n+1位的原码机器数表示范围:

  -(1-2^-n)<=X <=1-2^-n。

原码特点

 

  原码最直观的反映了真值的绝对值大小和符号。  因此,它的符号位单独处理,不能参加运算,参加运算的是 绝对值。   最后根据绝对值的大小决定结果 的符号(加减运算)。 乘除运算中,首先进行绝对值的乘除运算,然后根据符号位决定结果的符号。

      1. 补码表示法

 

补码表示法是计算机中 应用最广泛的一种机器数表示方法,它能将 减法用加法来实现。

    仍用 0表+,1表-,数值部分的表示则有别于原码。

补码数学定义

 

定点整数X:

  若X位于0~2^n-1,则 X补 =X;

  若X位于-2^n~0,则 X补 =2^n+1 +X;

 

定点小数X:

   若X位于0~1-2^-n,则 X补 =X;

  若X位于-1~0,则 X补 =2 +X;

 

补码表示方法

 

定点整数:

   X=+X1X2...Xn, 则 X补=0X1X2...Xn;

   X=-X1X2...Xn,则 X补=1X1X2...Xn+1

定点小数:

   X=+0X1X2...Xn,则X补=0X1X2...Xn;

   X=-0X1X2...Xn,则X补=1X1X2...Xn+0.000...01

 

   简言之,整数的补码等于其原码;

   负数的补码 等于 它的绝对值的每一位取反后,末位加一。

补码特点

真值“0”的表示

 

真值“0”补码唯一。

表示范围

 

n+1位的补码机器数的表示范围:

    定点整数: -2^n<=X<=2^n -1;

    定点小数: -1<= X <= 1-^-n;

 

相比较原码,补码 在整数和小数方面分别多了一个:  -2^n 和 -1;其原因是 真值 “0”只占用一个编码。

补码运算

 

由于补码的模除性质,因此,使用补码进行加减运算非常方便。

   对于补码的四则远算,参加运算的是补码本身。

      1. 反码表示法

 

它通常用来实现转换过渡。

反码的数学表示

 

定点整数:

    若X位于0<=X<=2^n-1,则 X反 = X;

    若X位于-(2^n-1)<=X<=0,则 X反=2^n+1  -1+X;

 

定点小数:

     若X位于0<=X<=1-2^-n, 则 X反 =X;

     若X 位于 -(1-2^-n)<=X<=0, 则 X反 = 2- 2^-n +X;

反码表示方法

 

定点整数:

   X=+X1X2...Xn, 则 X反 =0X1X2...Xn;

   X=-X1X2...Xn,则 X反 = 1X1X2...Xn;

 

定点小数:

    X=+0X1X2...Xn, 则X反 = 0X1X2...Xn;

    X=-0X1X2...Xn, 则X反 = 1X1X2...Xn;

反码特点

真值“0”表示

 

 表示不唯一。

  +0  = 000000;

  -0 = 11111111;

表示范围

 

等同于原码的范围;

反码运算

 

  由于反码 具有模除模除性质, 因此 反码的加减运算类似于补码;但是容易溢出;

   一般不适用反码实现乘除运算;

      1. 移码表示法

 

主要用于 浮点机器数的阶码,因此它一般只用来表示定点整数。

  它比较特殊, 用1 表示 +,0表示-;

移码的数学表示法

 

对于定点整数X:

  X范围为: -2^n <= X <= 2^n -1, 则

  X移 = 2^n +X;

   

   可以看到,该方法把负端的数据全部移到了正端。

移码表示方法

 

当 X=+X1X2...Xn, 则 X移 = 1X1X2...Xn;

当X=-X1X2...Xn,则 X移 =0X1X2...Xn +1

移码特点

真值“0”的表示

 

表示是 唯一的;

表示范围

 

等同于补码的表示范围。

      1. 定点机器数转换

机器数转换为真值

 

首先根据机器数的 符号位,确定真值的正负,

然后对赵季奇树的定义和表示,反向求出真值的绝对值。

机器数之间的相互转换

 

  最简单的方法是:

     先求出它们的真值;

     然后转换为另一种表示方法。

    1. 浮点机器数表示方法

 

浮点机器数由  阶码 Exponent, 尾数 Mantissa 和 阶码的底 Radix 三部分组成。 

   其中,R是 一个常数,在一台机器中隐含规定,一般为 2,8 或 16.

      1. 浮点数的格式

 

浮点机器数N 

   N= E,M,R;

   E 为 定点整数;

   M 为定点小数;

   R 为阶码的底,隐含规定,一般为2,8或16;

  

   一个典型的浮点数格式:

      Ms+ Es + E+M

   Ms 表示 数符,即正负;

   Es 表示 阶符, 即 小数点位置;其有正负,正表示 小数点在当前小数点的右边偏移,反之 。

 

      IEEE754 浮点数标准,规定R 隐含为2,目前已为所有主要的PC软件生产厂商所接受。

      1. 浮点数的规格化表示

 

为了充分利用尾数的二进制数位表示更多的有效数字,通常采用规格化形式表示浮点数。

 

   对于非规格化浮点数,可以通过修改阶码 和左右移尾数的方法 来使其变为规格化浮点数。   右移动实现规格化,称为 右规; 反之。

 

   计算机中存放和参加运算的都是规格化的浮点数,运算结果最终也必须转化为规格化的浮点数输出。

      1. 浮点数的表示范围

 

 浮点数的表示范围通常由 四个点界定:

    最小(负)数, 最大负数,最小正数,最大(正)数。

    必须协调好 浮点数的阶码和尾数位数,以保证在有限位数的前提下,既扩大数的表示范围,又能保持适当的精度。

    1. 非数值数据的表示
      1. 字符编码

ASCII

 

美国国家信息交换标准字符码。

特点

 

一个字节的最左边位 用来充当 奇偶校验位

 

包含95个可打印字符,33个控制字符。

知道一个英文字母的ASCII码,便可以推导出其他所有字母的ASCII码;

 

10个数字的ASCII编码 等于 20H 加上数字本身。

 

 便于ASCII(非数值数据) 与 BCD码(数值数据) 之间的转换。

 

扩展的ASCII

特点

 

将”1“放在ASCII的最左边位上,用于选择扩展的ASCII字符集。  位于  80H~FFH,用于 保存一些非英文字母和标点,希腊字符,算术字符,图框符 和其他特殊字符。

Unicode

特点

 

每个字符使用16位存放。  代码000H~与00FFH与标准的ASCII码相同,其余的代码 0100H~FFFFH 用来存放世界范围内采用的字符集的专用字符。

      1. 汉字编码

 

  对于汉字,计算机的处理技术 必须解决三个问题:  汉字输入,汉字存储与交换,汉字输出, 分别对应着 汉字输入码,交换码内码,字形码。

汉字输入码

 

在西文标准键盘上,通过不同的字符组合,将汉字输入计算机, 变为汉字内码的过程,称为汉字输入。

   其本质: 指那些 由不同的西文字符组合程的编码。

数字编码

 

对每个汉字采用一个数字串编码,例如:

  区位码,国标码,电报码

拼音编码

 

以汉字拼音为基础的输入方法。

字形编码

 

  用汉字的形状 来进行的编码,简称 形码。

音形编码

 

利用 音码和 形码各自的优点,兼顾 汉字的音和形,将二者混合使用,以音为主,以形为辐。  适合于对打字速度有些要求的非专业打字人员使用。

汉字交换码

 

  指 不同的具有汉字处理 功能的计算机系统之间 在交换 汉字信息时,所使用的代码标准。   

   如 :GB2312, 1980年;  由于汉字通信传输时,可能与ASCII的控制码发生冲突,因此 ISO规定 每个汉字的区号和位号 必须分别加上32,即 国际交换码,简称国标码。

汉字内码

 

用于 汉字信息的存储,交换,检索 等操作的机内代码,一般采用 两个字节表示。  

   汉字可以通过不同的输入法输入,但其内码在计算机中是唯一的。

   为了与ASCII区分,其规定,汉字国标码两个字节的最高位均为”1“,因此  汉字机内码 = 国标码+8080H;

汉字字形码

母体字形式

 

   将字符的字形 分解为 若干 ”点“ 组成的点阵,将该点置于网状上,每一个放个是点阵的一个”点“,点阵中每一个点可以有黑白两种颜色,有字形笔画的点用黑色,反之用白色。   用若干字节序列存储这些颜色信息,构成  汉字字模码。

   将所有的汉字字模点阵顺序集中存放,构成了汉字库。

    当显示输出 或 打印输出 时,才按内码检索字库,输出字模点阵,得到字形,送往显示器显示或打印机打印。

    字形检索程序 将汉字的机内码  转化为 汉字的字形码。

 

    字模点阵信息量很大。 一般有: 16*16,24*24,32*32,48*48等,点阵越大,描述的字形越精致美观,质量越高,所占存储空间也越大。

 

    同一个汉字的不同字体,其字形编码是不同的。

矢量表示形式

 

  字形用直线或曲线表示,能产生高质量的输出字形。

    1. 校验码

 

  一种具有发现某些错误 或自动 改正错误能力的一种数据编码方法。

 

  

      1. 相关概念

 

码距: 任何两个代码之间 逐位比较,对应位值不同的个数,称为 这两个代码之间的距离。

 

   一种码制的码距: 指 该码制中,所有代码之间的最小距离。

   当校验码的码距 大于等于2时,具有检错能力;

   当校验码 的码 距 大于等于3时,具有纠错能力。

 

   码距与检错,纠错能力的关系:

若码距 d 为 奇数, 可发现 d-1位错误,可纠正 d-1/2 位错误;

 

若码距d 为  偶数, 可发现  d/2位错误,纠正 d/2 -1 位错误。

      1. 奇偶校验码

 

在 有效信息位的前面 或 后面 添加一位 奇(偶)校验位,就组成了  奇(偶)校验码。

编码

 

 奇校验位,应该使 整个 奇校验码的 ”1“的个数为  奇数,偶校验码  应该使得 偶检验码中”1“的个数 为 偶数。

译码

 

  接收端,对奇校验码,检验码中,1的个数应该为 奇数,否则出错。

  对于 偶校验码,校验码1 的个数 应该为 偶数,否则出错。

      1. 海明码

 

于 1950年提出,是一种  可以纠正 一位错误 的编码。

编码

 

  计算校验位的位数;

  确定有效信息和校验位的位置。

  分组。

  进行奇偶校验,合成海明码。

译码

 

接收端,检验每组的奇偶性有无发生变化。

      1. 循环冗余校验码CRC

 

又 称 多项式码。

  CRC校验码  在发送端 和接收端 校验时,都可以利用一事先 约定的生成多项式 G(x)来进行编码和译码。

 

  编码与译码 略。

    1. 现代计算机系统的数据表示

 

通常,数据 以 字符,BCD,有符号 和 无符号整数,或者浮点数 的形式出现在计算机中。

 

 

      1. 几种类型数据在 Penntium系列CPU 中的表示形式

字符串

 

由 字符的ASCII 码 或 文字的  Unicode编码组成,按顺序存放在 内存或 寄存器中。

BCD

 

基于Pentium系列的CPU IA架构中,分为压缩 与 非压缩的两种。

指针

 

实际上指  内存单元的地址,因此是无符号数据。

   IA架构分为: 一类32位近指针,用于定义段内偏移量和段内访问;

    一类是 48位全指针,用于段间访问。

浮点数

 

Pentium 系列CPU 支持3种 浮点数格式:

  单精度,双精度, 扩展双精度。

  1. 运算方法与运算器
    1. 定点数的加减运算及实现
      1. 补码加减运算及运算器

补码加减运算方法

 

公式:

  [X+Y]补 = [X] 补+[Y]补  (mod 2^ n+1)

  [X-Y]补=[X] 补 +[-Y]补  (mod 2^  n+1)

 

含义:

         在 模除 意义下,任意两数之和的补码 等于 该两数的补码 之和。 这是补码加减法的理论基础。

补码加减运算的溢出判断

 

 对于加减运算,当异号的两数相加 或者 同号的两数相减时,绝对不会发生溢出。

 

 

单符号位判溢方法

进位判溢方法

 

 当 最高有效位和符号位的进位不同时,就表明加减运算发生了溢出。

 

双符号位判溢方法

 

  运算规则是:  操作数X和Y 采用双符号位 补码参加运算, 正数的双符号位 为00,负数的双符号位为11.   当运算结果的两位符号位为: 01或者 10时,发生溢出。

补码加减运算器的实现

 

  补码加减运算器的 核心部件  是 一个普通的二进制 并行加法器,符号位可以像 数值位一样参加运算。

 

    硬件组成:

       A 为 累加器,初始时 存放 被加数 或 被减数的补码。

       B 为 寄存器,存放 加数 或 减数的 补码;

       ADD|SUB 是控制信号,为零时,本电路是 补码加法器, 取反电路 将 加数 从 B 寄存器  直接送入并行加法器 进行运算。

           为1时,本电路是 补码减法器,取反电路动作,将B 寄存器 送来的减数取反,再送入 并行加法器。  同时,并行加法器的最低位 进位 由 ADD|SUB产生。

      1. 机器数的移位运算

 

计算机的移位 运算 分为:  逻辑移位,算术移位,循环移位三种。   他们的主要区别在于  符号位 和移出 的数据位 的处理方法不同。

逻辑移位

 

将移位的数据  视为  无符号数据, 移位的结果  只是 数据各位 在位置上发生了变化,无符号数据的数值 放大或缩小。

      左移时,高位移除,低位 补0.   右移时,低位移除,高位补0;

算术移位

 

 算术移位对象  是  带符号数据,即 各种编码表示的机器数。   算术移位的结果,在数值的绝对值上 进行放大或缩小, 同时, 符号位必须要保持不变。

 

   在硬件实现补码算术左移时,直接将数据最高有效位 移入符号位,不会改变机器数的符号;    补码算术右移时, 符号位不变,低位移除,高位正数补 0, 负数补1.

循环移位

 

指 所有的数据位 在自身范围内进行左移 或 右移,左移时 最高位 移入最低位,右移时,最低位移入最高位。

      1. 移码加减运算与判溢

 

  使用 移码求和,只需将 移码相加,,结果将符号位取反;

  使用移码求差,直接将 被减数 移码 与 减数相反数的移码 相加,结果的符号位取反。

 

  移码运算结果溢出 的判断条件是:  当结果的最高符号位 =1时, 溢出, =0时,正确。

      1. 十进制加法运算

 

  计算机中的十进制加法器 通常采用 BCD码设计。   在二进制加法器的基础上, 加上适当的校正电路,可以实现BCD码的加法器。

 

   由于BCD码的算术运算  只用在很少进行复杂运算的系统中, 因此,目前的计算机硬件中,一般不设置专用的BCD码运算器,通常与二进制运算共用一个运算器,然后使用指令控制修正。

   如: Intel 80X86微处理系统中,具有十进制调整指令: DAA,DAS,分别对二进制加减运算指令结果进行修正。

    1. 定点数的乘法运算及实现

 

 由于计算机软硬件在逻辑上具有一定的等价性,因此实现乘除法运算,可有三种方式:

     1.用软件实现; 2.硬件乘法器和除法器实现;   3高速阵列乘法器和 除法器来实现。

      1. 原码乘法及实现

手工乘法算法

 

   手工算法:从右至左, 对应每一位乘数求得一项  位积,冰将位积 逐位左移,然后将所有的位积一次相加,得到最后的乘积。

 

  机器算法: 从乘数 的最低位开始,每次根据乘数位得到其位积,乘数位为0,位积为0; 乘数位为1,则 位积 为 被乘数。

用原部分积 右移一位 加上 本次积,得新部分积; 循环累加 右移n 次。

原码-位乘法

 

大致同上。

原码乘法的硬件实现

 

硬件组成:

   寄存器A: 存放部分积;

   寄存器B: 存放被乘数 X 的绝对值|X|

   寄存器Q:   乘数Y 的绝对值|Y|

   并行加法器实现累加。

   计数器用来对运算步骤进行计数并加以控制。

 

运行流程:

    运算前A清零,B 装入,Q装入,计数器置入 乘数的数值尾数n,。

    当乘法控制信号 MUL=1时,D触发器被置1,与门打开,则时钟脉冲远远不断进来,时钟脉冲上升沿 一方面用来控制计数器减一计数,另一方面用来控制并行加法器的累加结果打入寄存器A。   在时钟脉冲下降沿,又控制寄存器A 和 Q 联合右移一位。  循环往复。,直到计数器计数至0,“=0”信号 将使 D 触发器清零,锁住时钟脉冲。

      1. 补码乘法及实现

 

  虽然原码乘法相对简单,但为了减少原码和补码之间的转换步骤,许多机器仍然采用补码实现乘法运算。

补码一位乘法--校正法

 

  当使用补码 做乘法时, 可以将乘数 Y 的补码的数值部分,像原码一样直接做乘法,然后根据乘数 Y 的符号位 对结果进行修正。

   当符号位 为0,无需修正;

   当符号位 为1,减X 修正;

  部分积右移时,必须采用补码的移位规则。

补码一位乘法 ---Booth算法

 

 将 乘数Y 的补码 在最末位 添加一位 附加位后, 进行重新编码,编码规则为 相邻两位,两两相减,低位减去高位,得到新编码, 然后使用新编码 对 [X]补  作乘法。  又称为补码的比较算法。

补码乘法的硬件实现

      1. 阵列乘法器

 

  前面介绍的乘法算法 均属于 串行乘法。  即: 使用同一硬件,通过运算时间上的重复来实现n位数据的相乘。

 

  随着大规模集成电路的广范应用,出现了阵列乘法器,进一步提高了乘法运算速度。 

绝对值阵列乘法器

 

  n*n位绝对值阵列乘法器 共需要 n*n个与门,n*(n-1)个全加器。

补码阵列乘法器

    1. 定点数除法运算及实现
      1. 原码除法及实现

手工除法算法

 

对两数的绝对值进行二进制除法,得到商的绝对值,再计算符号位。

  类比:手工算法中,采用心算判断是否够减,而计算机只能通过减法测试;

             手工算法中,部分余数减去右移一位的除数,改为 部分余数左移动一位,再直接与 不右移的除数相减(因为此时操作的数据对象为2进制,所以直接加减,不用作商).

原码恢复余数算法

 

[X]原 = Xs. X1X2X3....

[Y]原 = Ys. Y1Y2Y3....

Q = X/Y;  R = X%Y;

Qs = XsYs的符号异或;

Rs = Xs,   |Q| =( |X|-|R| )/|Y|

原码不恢复余数算法

 

具体的步骤省略,通过做题理解

原码除法的硬件实现

 

      1. 补码除法及实现

补码除法算法

 

采用 不恢复余数方法,对两个数据的补码 循环进行加减和左移操作,计算结果为商的补码。

 

 商符的确定: 异或结果

 第一次比较:除法的本质是被除数(余数) 和除数的绝对值得比较。 同号时,做减法进行绝对值比较; 异号时,做加法进行比较。

  够减判定:通过判断 部分余数 的符号来判断够减还是不够减。

  上商规则:商符为正时,够减商1,不够商0.

商符为负时,够减商0,不够商1.

  新余数的产生: 够减时,余数左移后,继续做绝对值减法产生下一次余数;  不够减时,余数左移后,继续做绝对值加法。

补码除法的硬件实现

 

      1. 阵列除法器

 

具体内容:略

CAS的实现

 

由一个 全加器 和一个异或门组成。

    1. 定点运算器的组成与结构
      1. 定点运算器的组成

 

运算器的基本功能是数据信息的算术逻辑运算,在控制器的控制下,运算器完成其功能。

 

  基本组成包括:

   算术逻辑运算单元ALU,  暂存器,  通用寄存器堆,  标志寄存器 ,  内部总线  和其他可选电路。   核心是ALU。

 

 确定定点运算器各部件的功能和组织方式,主要取决于:

     1.指令系统(计算机系统软硬件交界面); 

     2.机器字长:运算器和其他相关部件 均按照 机器字长来设计。

     3.机器数和运算原理;

     4.体系结构;

      1. 定点运算器的内部总线结构与通路

 

非总线结构的运算器,线路 及  控制信号非常繁多,因此运算器大多采用三种总线结构:

 

单总线结构

双总线结构

三总线结构

 

这些结构内容过于枯燥,留到做题的时候再看

      1. 标志寄存器

 

又称 状态寄存器。

一般的标志寄存器都包含了5种最基本的运算结果标志:

   ZF: 结果为0标志;

   CF:进位/借位标志;

   OF:溢出标志;

   SF:符号标志;

   PF:奇偶标志;

每条指令执行完成后,是否要修改标志寄存器各个标志的值,取决于硬件设计者对 指令功能的设计于控制。

 

 

    1. 浮点运算及运算器

 

浮点数 是 由定点机器数 组合表示出来的,所以,浮点运算也是在定点机器数的基础上实现的。   要求参加运算的数据必须是规格化的,运算的结果也必须是规格化的。

 

      1. 浮点加减运算

 

 手工计算 不受表示范围的约束,但 数据存储和计算都要受到计算机物理部件的处理位数的限制,超出部分全部丢失。

0操作数检查

 

由于浮点加减原始过程复杂,因此先判断0 可以节省时间。

对阶

 

对阶的原则是: 小阶 对向 大阶。

尾数相加减

结果规格化

舍入

      1. 浮点乘法运算

 

先把被乘数和乘数的指数相加,得到积 的指数;

再把 两数的有效数位 相乘,得到 积的有效数位。

0操作数检查

阶码相加

尾数相乘

结果规格化

舍入处理

      1. 浮点除法运算

0操作数检查

阶码相减

尾数相除

结果规格化

舍入处理

      1. 浮点运算器

 

浮点运算复杂度远远大于定点运算,因此,计算机根据性能要求和需要来确定 是否  设置浮点运算器。 

   没有浮点运算器的计算机中,可以用软件来模拟该算法从而实现浮点运算。

    1. 浮点运算器举例
      1. 180X87算术协处理器

 

美国 Intel公司 为 处理浮点数 等数据的 算术运算和 多种函数计算 而生产的专用算术运算处理器。 

  它被设计成 于 微处理器 协同工作,所以又称为 协处理器。 从80486到奔腾,都含有该协处理器。

浮点协处理器80387

 

1.可与 配套的CPU 芯片 异步并行工作(相当于一个I/0部件,本身有自己的指令);

2.支持多种数据类型;

3.具有高性能的80位字长的体系结构;

4.具有出色的内部出错管理功能,能检测出6中错误。

5.可在 80386/80486两种工作模式下工作;

6.扩展了386/486的指令系统;

 

机构

 

分为两个主要部分: 控制单元 和数字执行单元;

 

      1. 浮点运算流水线

 

为了实现流水,首先必须把 输入的任务分割成 一系列的子任务,使 各 子任务 能在流水线的各个阶段并发地执行。

   将任务连续不断地输入流水线,从而实现了 子任务的并行。

   由于浮点运算较为复杂,时间开销巨大,因此流水线技术在浮点运算器中得到广范应用。   奔腾CPU内部包含了8段的流水浮点运算器。

  1. 存储体系
    1. 存储体系概述
      1. 存储器的分类

 

计算机系统中的记忆设备,没有它计算机根本无法运行。

按存储介质分

磁存储器

半导体c存储器

纸带存储器

光存储器

按存取方式分

随机读写存储器

 

random access memory,RAM

存储单元 既能被读,又能被写,通过指令可以随机地,按地址对各个存储单元进行访问;

  访问所需时间基本固定,与存储单元地址无关;

  主存都采用 随机存储器;

只读存储器

 

read-only memory,ROM

内容智能读出不能写入的存储器,需要预先一次性写入。

掩膜式只读存储器

 

Mask read-only memory,MROM,制造芯片时就已经预先写入,写入的通常是 固定不变的程序,汉字字型库,字符 及 图形符号等;

可编程只读存储器

 

programmable ROM, PROM

用户只可写入一次,写入后便不可修改;

可擦除可编程只读存储器

 

erasable PROM,EPROM

用户写入后,可以用紫外线擦除其内容,再重新写入;

电可擦除可编程只读存储器

 

electrically EPROM, E^2PROM,与EPROM相同,区别是它是用电擦出;

闪存

 

flash memory,再EPROM和  E^2PROM的基础上发展而来,用电擦除;

相联存储器

 

Contentt Addressed Memory,CAM

在这种存储器中,访问一个字  是通过它的部分内容而不是地址进行检索的。

顺序存储器

 

SAS,这种存储器只能按某种顺序来存取,存取时间和存储单元的物理位置有关。 如  磁带。

直接存取存储器

 

DAS。  存储器的存取时间与信息所在的物理位置有关,寻址时,先根据地址编码的部分信息所在的范围,然后在此范围内进行顺序检索。

  如: 磁盘,磁鼓;

按信息的可保存性分

永久记忆存储器

非永久记忆存储器

按在计算机系统中的作用分

存储器

主存储器

辅助存储器

高速缓冲存储器Cache

      1. 存储器的层次结构

 

目前在计算机系统中,采用多级存储器体系结构来解决大容量,高速度和低成本的问题;

寄存器

 

128个字节(16个64位寄存器),几个纳秒

缓存--主存层次

 

主要解决 CPU 和 主存速度不匹配的问题;

  有两种解决方案:

   一:提高主存的速度,采用多模块交叉存储技术,实现并行存取;

   二: 通过增加高速缓冲存储器;

 

  该层次的信息调度 由 辅助硬件完成;

Cache

 

几个MB,寄存器时间的5倍左右

主存--辅存层次

 

主要解决存储系统的容量问题;

 

该层次的信息调度 由 辅助硬件和操作系统软件完成。

主存

 

几十到数千MB,是寄存器的20倍左右;

辅存

 

容量很大,速度很慢;

    1. 主存储器
      1. 主存储器性能指标

存储容量

 

由 许多可以存放 一位  二进制信息的 存储位元组成, 若干个存储位元 组成一个存储单元,每个存储单元有一个编号,称为 地址。

   存储单元 最重要特性就是  它是最小的可编址单元;

 

  通常把8个二进制位称为 一个字节,若干个字节组合成字,一个字 所包含的二进制位数  称为 字长。

 

  大多数计算机的指令对字操作,而存储器按字节编址。

 

  存储容量 = 存储字数 * 字长;

 

  存储器地址码的位数 决定了主存可直接寻址的最大空间。  因此,根据存储器提供的地址线 和数据线 的数目可以算出该存储器的容量。

 

速度

 

一般用 存储器的存取时间,存储周期和存储器带宽来衡量。

 

取数时间: 存储器接到读命令信号  到 数据输出端有信号输出为止的时间。

存储周期:存储器进行一次完整的读写操作所需要的全部时间。

存储器带宽: 单位时间可雪茹存储器或 从存储器取出信息的最大数量。

价格

 

存储器的价格常用 每位的价格来衡量。  设 存储器容量为S,总价格为C,则位价为: C/S(分/位);

 

容量,速度和价格这三个指标是相互制约的。

      1. 主存储器的工作原理

 

读:

   CPU 通过 地址总线 和 控制总线,分别给出 所需字的存储器地址和访存  “读” 控制信号,然后等待 存储器 将读出的字 送到数据总线上,并通知 CPU “读” 操作完成,CPU 从数据总线上读取这个字,读造作完成。

  写:

    CPU通过地址总线 和 数据总线分别 给出 欲写字 的存储器地址 和字的内容, CPU 还 通过控制总线给出 访存 写 控制信号,然后等待, 存储器将数据总线上送来的字 写入指定地址的内存单元,并通知CPU 写操作完成。

 

  计算机的每个操作都是按照时间节拍有序进行的,因为各器件的操作存在延时,为保证 读/写可靠性,再存储器地址输入端 和 数据端 分别安排一个寄存器,用来存放地址信号和数据信号。  分别称为: 存储器地址寄存器MAR 和 存储器缓冲存储器MBR。

      1. 随机读写存储器

 

一般为 半导体读写存储器,分为 双极型半导体存储器 TTL 和 MOS半导体存储器。

TTL更快,MOS集成度更高。   故 TLL主要用于小容量高速存储; MOS 主要用于大容量存储。

  MOS半导体中,根据存储信息机构原理的不同,分为 静态MOS (SRAM)和动态MOS(DRAM);

 

静态MOS存储器(SRAM)

存储位元

 

MOS静态存储器六管结构的存储位元图 (略).

 

SRAM的速度很快,一般来说是几个纳秒,被广范的用在第二级Cache中。

SRAM存储器的组成

 

包括 存储体,读写电路,地址译码电路,控制电路等部分。

 

存储体是所有存储单元的集合;

地址译码电路  对 访存时 来自地址总线的内容译码,把二进制代码转换成电位,驱动相应读写电路,以便选择索要访问的存储单元。

 

译码分为 线性译码 和双向译码。

线性译码: 存储矩阵中,每一行代表一个字,每一列对应于这个字的一个位。   适用于小容量存储。

 

双向译码: 二维译码矩阵中,将存储器的地址分为X和Y 两段,分别用水平和垂直两个译码器译码。 适用于大容量的存储器。

SRAM的读/写过程

 

动态MOS存储器(DRAM)

存储位元

 

多种构成方式,最常用的是 单管结构。

 

现在的 微型计算机大都采用DRAM作为主存。

DRAM存储器的组成

 

  时分复用: 存储器地址被分为两组,第一次选择行地址,第二次选择列地址,在该情况下,行选通地址 RAS  和 列选通地址 CAS 为芯片提供时序控制信号 。

DRAM的读写过程

 

DRAM的实例

 

DRAM的刷新

 

集中式刷新

分散式刷新

异步式刷新

      1. 只读存储器

 

最大优点是 非易失性。 

目前大量使用的是 半导体ROM集成存储芯片。

掩膜式只读存储器(MROM)

 

由 生产过程中的  一种 掩膜工艺决定的,一旦生产完毕,信息就不能更改。

  用户可向厂家定做,生产批量一般在 10万片以上才较为合算。

可编程只读存储器(PROM)

 

如 熔丝式 PROM;PN结击穿型 PROM。

PROM已基本被淘汰。

可多次编程只读存储器(EPROM)

 

包括 光擦除 可编程  和 电 擦除可编程。

 电可擦除的次数是有限的,一般为 10万次。

闪存(Flash Memory)

 

现在所用的各类常见主板 和一部分 显示适配器 都是采用 Flash ROM 作为 BIOS芯片。

      1. 高性能主存储器

 

目前的计算机系统中,主存的主要组成部分 DRAM 芯片的制造采用了更先进的半导体材料,工艺和技术。

 

增强型DRAM(EDRAM)

 

EDRAM,即增强型DRAM,其刷新操作能够与Cache读操作并行进行,在其中还集成了一小块Cache.

带Cache的DRAM(CDRAM)

 

相比较EDRAM,它包含的Cache更大。

同时,CDRAM中的Cache能够作为 真正的Cache使用,同时也可用作支持串行存取数据块的缓冲器。

扩展数据输出RAM(EDO RAM)

 

取消了扩展数据输出与传输的两个存储周期之间的时间间隔,使得在完成当前内存周期前,即可开始下一内存周期操作。

同步DRAM(SDRAM)

 

SDRAM与CPU之间的数据传送是同步的,在系统时钟控制下,CPU 送地址和控制信号到 SDRAM后,经过固定数量的时钟周期后,SDRAM完成读或写操作。

Rambus DRAM(RDRAM)

 

由 Rambus公司开发,着重解决存储器带宽问题。

双倍速率SDRAM (DDR SDRAM)

 

它比 SDRAM 快的根本原因在于 其能在 时钟触发沿 的上,下沿 进行数据传输。

 

目前  DDR 已经称为市场上占据主流低位的内存材料。 

    1. 主存储器与CPU的连接

 

现代微型计算机 主存储器基本包括两个部分,即 ROM 和 RAM。

 

ROM由生产厂家烧写固定指令和数据,用于对计算机进行初始化的低级操作 和 控制程序(即BIOS程序),使计算机能够开机运行。 一般情况下不可改写,但是现在的许多微型机 采用闪存制造,从而可对计算机BIOS进行升级改写。

 

RAM,据统计,CPU 有大约 70%的工作是对RAM的读写操作。

      1. 存储器芯片介绍

 

因 不同的工作原理,不同存储器芯片封装的引脚类型不同。

 

为了与主存储器链接,CPU芯片 提供的相关引脚一般有: 地址线,数据线,访存控制信号 和读写控制信号等。

      1. 存储容量的扩展

位扩展

 

其目的是 增加同一个地址的存储单元的位数。

 

 

字扩展

 

指 增加存储器中 字的数量,即容量扩展。

字位扩展

 

 指 按字扩展的方法增加存储器字的数量,同时 按 位扩展的方法增加存储字长。

      1. 主存储器与CPU的连接

 

1. 根据CPU 芯片提供的 地址线数目,确定访存的地址范围,并写出相应的二进制地址码;

2.根据地址范围容量,确定各种类型存储器芯片的数目和扩展方法。

3.分配CPU地址线。

4.连接数据线,读写控制信号等其他信号线。

    1. 高速存储器
      1. 双端口存储器

 

指  同一个存储器 具有两组 相互独立的读写控制线路,允许两个独立的CPU 或 控制器 同时异步地 访问存储单元,是一种高速的存储器。

      1. 多体交叉存储器

 

通过改进主存的组织方式来提高存储器的带宽。

 

      1. 相联存储器

 

 它的检索 是对一个字中某些指定位进行检查比较,看是否与指定的样式相匹配,若匹配则检索成功,否则失败。

  它主要用于 虚拟存储器中存放段表,页表和快表。

    1. 高速缓冲器Cache
      1. Cache的基本原理

 

Cache不是主容量的扩充,而是主存中某些单元的副本。

Cache的工作原理

 

CPU与Cache的数据交换以  字 位单位,        Cache与主存之间的交换以 块为单位。

 

  一个块 由 若干字组成,是定长的,在Cache中数据块大小称为行,在主存中数据块大小称为块。

Cache的命中率

 

为了使得主存使用速度在效果上尽可能接近CPU , 应该使 Cache 的命中率接近于1,由于程序访问的局部性,实现这个目标是可能的。

 

 根据公式,Cache快于主存的倍率  以 5--10为宜,不宜太大。

      1. 主存与Cache的地址映射方式

 

为了把主存块放到 Cache中,必须采用某种方法把主存地址定位到 Cache中,称为 地址映射。   主存地址与Cache之间存在着对应关系,称为 映射函数。

  地址映射完全由硬件实现,因此地址变换过程很快,因此软件人员丝毫感觉不到Cache的存在,称为 Cache的透明性。

直接映射

 

一种  多对一的映射关系,主存的一块只能拷贝到 Cache的一个特定行位置上去。

 

其缺点是 机制不灵活,Cache命中率低。

全相联映射

 

主存地址被划分成  块地地址 和 高位标记两部分。  将 主存中 一个块的地址 与 块的内容 一起存入Cache行中。

 

  其优点是: 机制灵活,命中率高,缺点是 硬件开销大。

组相联映射

 

是 前两种方式的折衷方案,它兼顾了二者的优点,又尽量避免二者的缺点。

 

      1. 替换算法

随机替换算法

先进先出算法

最近最少使用算法(LRU)

      1. 写策略

写贯穿策略

 

定义:cache命中时,既对cache写操作,也对主存写操作。不命中时,则直接写主存。

  其保证了主存数据总是有效的。

写回策略

 

定义:命中时,写操作只对cache进行,仅当此cache被换出时,相应的主存内容才被修改。 当不命中时,将该数据块,在进行相应的操作。

      1. Cache的多层次设计

考虑的因素

容量问题

cache行大小问题

 

合适大小的行,能使CPU的效率提高很多。

如何组织cache的问题

指令和数据是否分享同一个cache的问题

cache的层次问题

单级cache与两级cache

 

集成度的提高,当今的计算机系统已经实现将cache置于处理器芯片内,称为片内cache.  反之,称为片外芯片。

  片外芯片通过总线与cpu连接,片内cache因为减少了在外部总线的活动,因此速度要快一些。

 

  两级Cache必须包含L2 Cache,因为总线速度和访存时间通常较慢,L2 Cache能够快速将经常丢失的信息。

统一Cache和分离Cache

 

传统Cache时指令与数据混放,今年来,通常将Cache分为两个部分,分布存放指令和数据。   分离cache能更好的为指令流水线服务。

cache一致性问题

 

最常用的计算机系统的分类为:SISD单指令单数据流,SIMD单指令多数据流,MISD多指令但数据流,MIMD多指令多数据流四种。

硬件方法

目录协议

监听协议

写无效协议

 

定义:任一时刻可有多个读者,但只有一个写者。 又称为MESI协议。

写更新协议

    1. 虚拟存储器

 

详见 操作系统原理课程.

      1. 段式
      2. 页式
      3. 段页式
    1. 外存储器
      1. 磁盘存储器

硬磁盘

 

是计算机系统中最重要的一种外存。

技术指标

磁头

单盘片容量

转速

接口技术

 

用的较多的是 IDE 和 SCSI接口。

cache

传输速率

软磁盘

 

一种廉价的小容量外存。

技术指标

面数

磁道

扇区

存储密度

容量

      1. RAID

 

redundant array of independent disks,磁盘冗余阵列,是一种技术。  即由 一个 RAID控制器来控制多个硬盘相互连接,这些硬盘可以按不同的方式组合起来,形成一个磁盘阵列。

RAID0,无冗余

 

又称为 条带化striping,原理是吧连续的数据分散到多个磁盘上,存取数据的工作被多个磁盘并行执行。  在所有RAID级别中,它具有最高的存储性能。

RAID1,镜像

 

能最大限度的保证数据的可用性和可修复性。 RAID1 将 写入一个磁盘的数据全部自动复制到另一个磁盘上。  其在RAID级别中,具有最高的数据安全保证。

RAID2,错误检测和纠错码

 

不再使用

RAID3位交叉奇偶校验

 

其需要一个冗余盘,将数据分成多个条块,当数据盘发生故障时,根据奇偶校验盘和其他数据盘可以恢复数据。

RAID4块交叉奇偶校验

 

类似于RAID3,但其的奇偶校验是以块为单位。

RAID5,分布式交叉奇偶校验

 

一种存储性能,数据安全,存储成本兼顾的存储解决方案。

RAID6,p+q冗余

 

对RAID5的扩展,用于要求数据绝对不能出错的场合。

      1. 光盘存储器

分类

只读型光盘

 

使用最普遍,但不能对其内容进行写入,删除或修改。

只写一次性光盘

 

容量可达750MB 至 4.3GB

可擦式光盘

工作原理

 

由 盘片,驱动器 和控制器组成。

      1. 闪存盘

 

常见的闪存如: USB移动硬盘,U盘等。

从工作原理上讲,闪存存储器是在EPROM基础上增加了电路的电擦除 和 重新编程功能。

 

具体内容略。

    1. 存储保护

 

由于多用户共享主存,系统就应该提供存储保护。  其包括两个方面: 存储区域保护 以及 访问方式保护。

      1. 存储区域保护

 

虚拟存储系统中,常采用 页表保护,段表保护,键式保护 和 环保护。

页表和段表保护

 

每个程序的虚地址是固定的,经过虚地址向实地址转换后的实存页号也就固定。 不论虚地址如何出错,也只能影响到相对的几个主存页面。 

  但是,若虚拟地址向物理地址的转换过程中发生了错误,则这种保护无效。

键保护方式

 

为主存的每一页分配一个键,称为存储键,由操作系统赋予。  它相当于一把钥匙,若用户访问,则必须提供钥匙,称为 访问键。

环保护方式

 

按系统程序和用户程序的重要性及对整个系统的正常运行的影响程度进行分级,每一层叫做一个环。 环号大小表示保护的级别,环号越大等级越低,内环可以访问任何外环,外环访问内环则需要判定。

      1. 访问方式保护

 

对主存信息的使用可以由三种方式: 读,写,执行,相应的访问方式保护就有 R,W,E三种方式形成的逻辑组合。

  这些访问方式保护通常作为程序状态寄存器的保护位,并且和区域保护结合起来实现。

    1. IA32架构的存储系统举例
      1. P6微架构下的Cache

 

pentium3,pentium2,pentium pro都是基于 P6微架构的处理器产品。    两级cache

      1. Intel NetBurst 微架构下的Cache

 

pentium4 是 基于 NetBurst微架构的处理器产品。   3 级cache。

      1. Intel Core 微架构的多核高效内存管理技术

 

 

 

cache管理

 

core 微架构中,两个核可以互相访问对方的L1级cache,L2级缓存是共享的。

内存消歧技术

 

通过 memory disambigutaion的内存相关性预测分析机制,能预知某一个条指令是与前面指令完全独立的,并可以让其提前执行。   其预测正确率达到90%以上。

  1. 指令系统

 

计算机之所以能够脱离人的直接干预自动完成某项既定操作,是靠执行预先存入在计算机内存中的一条条指令来完成的。

  一台计算机中的所有指令的集合称为该计算机的指令系统。

  指令系统是计算机硬件的语言系统。

  指令系统既为 硬件设计者提供了最基本的硬件功能,又为软件设计者提供了最底层的程序设计语言。  

    1. 指令格式

 

指令一般由 操作码 和 地址码 组成。

      1. 指令操作码与地址码

操作码

 

用于指明 该指令所要完成的操作。  如:”0001“表示 加法操作。  “0010”表示减法操作等。

 

 通常 ,操作吗的位数,反映了 机器的操作种类。

  操作码的长度可以是固定的,也可以是变化的。

地址码

 

用来 寻找执行指令所需要的操作数。 操作数又分为源操作数和目的操作数。

三地址指令

 

如: OP A1 A2 A3,

表示  对A1,A2这两个操作数进行 OP所规定的擦欧总,并讲结果存入 A3中。

二地址指令

 

如:  OP A1

一种是表示: 指令中的地址码 即是源操作数地址,也是目的操作数地址。   如 加一,减一,移位 和取反等指令。

另一种表示:  指令中的地址码提供一个操作数, 另一个操作数由 机器隐含提供。  如ACC累加器。 

零地址指令

 

指令中只有操作码,没有地址码。其也是由一个隐含的操作数机构来提供。 一种方法是由累加器提供,另一种方法是操作数的地址隐含在 堆栈指针SP中。

操作数类型

地址

 

主要指存储器地址,可认为它是无符号整数。

数字

 

它是计算机操作数中最常用的,分为: 整数,浮点数,十进制数;

字符

 

目前用的将多的编码有:

   ASCII码;  EBCDIC码;

逻辑数据

 

做逻辑运算时,n个0和1组合不是被看作算术运算,而看作逻辑运算。

      1. 指令字长和操作码扩展

指令字长度

 

机器指令 是用 二进制机器字来表示的,表示一条指令的机器字,称为 指令字。

 一条指令中所包含的二进制码的位数,称为指令字长。

 

 在指令系统中,一般有 半字长,单字长,双字长,三字长指令。

指令操作码扩展

 

指令中操作码的长度 决定了指令的条数。

指令操作码扩展技术 是一种重要的指令优化技术,它可以缩短指令的平均长,增加指令所能表示的操作信息。

    1. 寻址方式

 

其是指 : 确定本条指令的操作数地址,以及下一条将要执行的指令地址的方法。

 

  寻址方式也是将 指令中直接给出的 形式地址 变换为 有效地址的一种方式。,一般由硬件自动完成。

      1. 指令寻址

 

分为 顺序寻址 和跳跃寻址 两种。

顺序寻址

 

由程序计数器PC自动控制,程序顺序执行的过程,称为指令的顺序寻址方式。

跳跃寻址方式

 

由本条指令的地址码字段给出跳跃地址,或者由指令的地址码经过相对寻址方式计算得出跳跃后的新指令地址。

      1. 数据寻址

 

指令的地址码字段,通常都不代表操作数的真实地址,把它称为 形式地址。

 

操作数的真实地址,称为有效地址,它是由 寻址方式 和形式地址共同确定的。

立即寻址

 

在指令的地址码直接给出操作数。 其执行速度快,但不便于修改。  只适用于 常数 或设定初始值。

  MOD 为 寻址特征码字段,表明立即寻址方式。

直接寻址

 

指令的地址码字段 直接 作为操作数 在存储器单元的地址,按该有效地址访问一次主存 便得操作数。  只适用于 访问固定的主存单元 或 输入,输出接口中的寄存器。

间接寻址

 

根据指令中 地址码字段地址 访问存储器,得到操作数在主存中的有效地址,使用有效地址再次访问主存,得到操作数。

 

  间接寻址方式,可将主存地址 单元作为数据地址的指针,用来指示操作数存放的位置。

寄存器寻址

 

指令中的地址码给出寄存器号,操作数在该编号的寄存器中

寄存器间接寻址

 

指令中的地址码给出寄存器号,该寄存器中存放的是 操作数在主存中的有效地址。

变址寻址

 

在指令中指定一个寄存器作为变址寄存器,或者默认某个寄存器为变址寄存器,并且指令的地址码字段给出一个数值,称为变址偏移量,将该偏移量加上 变址寄存器的内容作为操作数的有效地址。

基址寻址

 

将一个基址寄存器的内容加上指令中地址码形成操作数的有效地址。

基址变址寻址

 

在指令中 指定一个基址寄存器和一个变址寄存器,指令中的地址码给出偏移量。由三者合成有效地址。

相对寻址

 

相对寻址主要用于转移指令,借助PC 实现。

堆栈寻址

 

堆栈是一个 FILO存储区。  在一般计算机中,堆栈寻址主要用来暂存中断  和  子程序调用时 的现场数据 及返回地址。

    1. 指令类型

 

不同的机器操作指令类型也是不同的,但几乎所有的机器都有以下几类通用的指令类型。

      1. 数据传送指令

 

数据从源地址传送到目标地址,而源地址中的数据保持不变。

      1. 算术逻辑运算

 

可实现算术运算: 加,减,乘, 除等。

逻辑运算: 与,或,非,异或等。

有些还有: 位测试,位清零,位求反等。

      1. 移位操作指令

 

分为: 算术移位,逻辑移位,循环移位。

      1. 程序控制类指令

 

具体分为: 无条件转移,条件转移,跳转,过程调用,返回,陷阱(异常与错误的源头)等。

      1. 堆栈操作指令

 

入栈 和出栈。

      1. 输入输出指令

 

由外部进入计算机主存称为输入,由计算机传送到外部称为 输出。

      1. 处理器控制类指令

 

包括等待指令,停机指令,空操作指令,开中断指令,关中断指令,设置条件码指令等。

      1. 特权指令

 

多用户,多任务的计算机系统中,必需要特权指令。

    1. 指令系统

 

指令系统给的性能,表征着 计算机的基本功能的使用属性,其实计算机系统设计的一个核心问题。

      1. 指令系统的要求

完备性

 

指 指令系统直接提供的指令足够使用,而不必用软件来实现。

有效性

 

存储控件小,执行速度快;

规整性

 

指 具有 对称性,匀齐性,指令格式和数据格式的一致性。

兼容性

 

系列机 各机种之间  具有相同的基本结构和共同的基本指令集。

      1. 指令系统的发展

 

随着计算机应用领域不断扩大,计算机系统的软件价格相对而言在不断提高。  人们就将一些由软件实现的复杂计算机的功能直接交给硬件去完成。

 

   于是出现了一些 复杂指令系统计算机,Complex instruction set computer。  简称  CISC.

 

 之后发展出了 精简指令集系统算计算。 简称 RISC。

      1. CISC的特点

指令系统复杂

 

表现为: 指令条数多,寻址方式多, 指令格式多。

指令串行执行

采用微程序控制

有较多的专用寄存器

编译程序难以优化

      1. RICS的特点

保留使用频率较高的简单指令

指令长度固定

存取操作访问存储器,其余均在寄存器之间进行

采用流水线技术

通用寄存器相当多

硬布线控制逻辑为主,不用或少用微程序控制

采用优化的编译程序

      1. 指令系统举例

Pentium指令系统

 

 

      1. Pentium指令系统
      2. 一种8位字长的指令系统设计

 

  1. 控制器
    1. 控制器的组成及指令的执行

 

控制器根据指令指挥 和协调 计算机各 部件进行有条不紊的工作,它是计算机的核心部件。

   根据其 组成及工作原理,可分为  硬布线控制器 和微程序控制器。

      1. 基本的计算机组成和功能

 

计算机的基本 组成包括三个部分: 中央处理器, 存储器 和 I/O系统。,它们都是通过总线连接的。

 

 总线包括了三种信号: 地址信号,数据信号,控制信号。

 

  计算机的主机包括运算器,控制器和主存三部分。  运算器和控制器一起构成了CPU。

 

  CPU具有4个基本功能: 

    1.指令控制;

    2.操作控制;

    3.时间控制;

    4.数据加工;

CPU的实质就是一个复杂的有限状态机。

      1. 控制器的组成

 

其功能是:  从存储器中 取指令,对指令译码,产生控制信号 并控制 计算机系统各部件有序地执行,从而实现这条指令的功能。

程序计数器PC

 

也称  指令地址寄存器。

  其功能是 用来存放当前正在执行的指令地址 或 下一条指令的地址。

指令寄存器

 

控制器中从内存中取出指令,存放在指令寄存器中,以便控制器对指令进行译码,执行。

指令译码器

 

指令划分为操作码和地址码字段,为了执行指令寄存器中的指令,必需对 操作码进行译码,以识别该指令的要求。

操作控制信号形成部件

 

根据设计和组成的不同,将部件分为: 一种是 采用 时序逻辑电路即 硬布线设计的操作控制信号形成部件;   另一种 是采用  微程序设计的操作控制信号形成部件。 

时序信号产生器

 

负责体哦概念股时钟信号 和机器周期信号,以规定每个操作的时间。

脉冲源

 

通常 由  石英晶体振荡器 和 与非门组成的 正反馈电路来实现。

启停控制电路

 

根据需要 能可靠地控制时序信号的停止 或启动,产生不同的计算机所对应的多级时序信号。

时序信号产生及控制部件

地址寄存器

 

这是一个专门的寄存器 用于收纳 这些可能来源多种源的地址,然后统一在规定的节拍将地址打上总线。

数据寄存器

 

当CPU 从存储器 或 I/O设备接收数据时,一般情况下 将数据总线尚的数据送到 DR,然后从 DR 将数据 送到CPU  的部件。

      1. 时序系统

 

  计算机执行每一条指令过程中,必需严格地按照一定的时间关系,这种事件关系 由 计算机的时序系统来控制。  通常由 若干个周期状态,若干个节拍电位 和若干个节拍脉冲的三级时序系统进行定时。

 

 一旦控制器设计好了,计算机就会 严格按照时序规定自动产生控制信号控制各部件执行。 

指令周期

 

计算机从取出一条治理哦南宫 并完成 该指令所需要的时间。  每条指令的执行阶段的控制操作是不同的,有的简单,有的复杂,因此各种指令的指令周期是不相同的。

机器周期

 

又称 CPU周期,指 CPU 与内存交换一次信息所需要的时间。   规定CPU周期为 CPU从内存中读取一个指令字的最短时间作为机器周期。

时钟周期

 

又称为节拍周期,一个CPU周期包含了 若干个时钟周期,是处理操作的最基本的时间单位。

统一节拍法

 

以最复杂的机器周期为基准来确定节拍数,使所有机器周期长度相等。 称为 定长机器周期。

分散节拍法

 

根据机器周期实际的需要安排节拍数,需要多个个节拍就安排多少个节拍。 称为 不定长机器周期。

延长节拍法

 

大多数机器周期采用相同的基本节拍数,少数节拍数可延长。

时钟周期插入

 

某些微型机 的时序信号中不设置节拍,直接使用时钟周期信号。

      1. 控制方式和时序的产生

控制方式

同步控制方式

 

又称为: 固定时序控制方式 或 无应答控制方式。

  该方式中,以 微操作序列最长的指令 为标准,确定控制微程序运行的时钟周期数。

 

  控制器产生统一的,顺序固定的,周而复始的节拍电位和节拍脉冲。

  其 优点是简单,缺点是速度慢。

异步控制方式

 

又称为 可变时序控制方式,或 应答控制方式。

 

每条指令需要多少节拍,就产生多少节拍。  当指令执行完毕,发出回答信号。 控制器收到回答信号时,才开始下条指令的执行。

 

 异步控制方式得到广范应用,如: CPU对内存的读写,I/0设备与内存的数据交换等。

联合控制方式

 

该方式指: 大部分指令安排在统一的机器周期内完成,即同步控制; 将少数特殊指令,次啊用异步控制来完成。

时序脉冲发生器和启停控制

 

一般来说,机器周期 基本上  时根据存储器 的速度 及 执行周期的基本时间确定的。  机器周期确定后,每一机器周期的节拍与时钟数也就基本确定了。 控制器的时钟输入 实际上是节拍脉冲序列,其频率即为机器的主频。

      1. 系统结构和数据通路的设计

在所有需要传送数据的部件之间创建一条直接通路

在CPU内部常见一条总线,并且在各个部件之间使用总线来传递数据

      1. 简单计算机系统主机各部件的实现方案

 

      1. 指令的执行过程

 

    1. 硬布线控制器

 

早期计算机控制器的一种设计方法,由繁琐的逻辑电路构成,一旦确定,便不可更改和扩充,非常不利于控制器的设计和调试。   不过随着RISC技术 和VLSI技术的飞速发展,由于其高性能又重新收到青睐。

      1. 控制器的设计方法

 

无论是采用硬布线还是微程序控制,都必须首先设计与确定指令系统。  指令系统是软硬件的交界面,既是硬件设计者的设计依据和设计目标,也是软件设计者控制计算机的唯一依据。

确定指令系统

围绕着指令系统的实现,确定CPU内部结构

在以上基础上,分析每条指令的执行过程

综合每个微操作控制信号和逻辑函数,并化简和优化

用逻辑电路实现

      1. 硬布线控制器的结构与原理

 

核心部件是 由组合逻辑电路构成的操作控制信号形成部件。其由四种信号输入:

  1.经指令译码器译码产生的指令信息;

  2.时序系统产生的机器周期信息和节拍信号;

  3.状态寄存器的状态信息;

  4.外部控制,状态信号。

      1. 硬布线控制器的时序系统

 

通常采用 联合控制方式。  硬布线控制器的时序系统比较复杂。

      1. 硬布线控制器设计举例

 

    1. 微程序控制器

 

基本思想是:  计算机系统的控制电路是按照一系列离散步骤进行操作的。即 一条指令可以分为一系列的操作步骤: 取指令,分析指令 和执行指令。

      1. 微程序控制的基本概念和工作原理

 

  微程序控制器 也是一个有限状态机。

  具体原理略。

      1. 简单微程序控制器的设计

 

      1. 微程序设计技术

 

      1. 微程序控制方式下模型机的设计实例

 

  1. 输入输出系统
    1. 概述

 

输入输出系统的主要功能是 我拿出计算机与外部世界的联系,它是人与计算机联系的桥梁。

      1. 输入输出系统的构成

 

主要包括硬件和软件两部分。

  硬件由外部设备和它与主机的接口构成;

  软件则用于协调,控制主机与接口之间的数据交换。  外部设备又称 外设。

 

外设的地位和作用

 

外部设备是人机对话的重要设备;

外部设备是完成数据媒体变换的设备;

外部设备是计算机软件和信息的驻在地;

外部设备是计算机在各领域应用的重要工具;

 

外设特点

 

外设具有工作速度差异大,结构原理差异大,时序独立,异步性明显等特点。外设处理的信息从数据格式到逻辑时序一般不可能与CPU兼容。  因此,计算机与IO设备的连接和信息交换不能直接进行,必需设计一个接口电路作为桥梁,称为:I/O适配器。

外设分类

 

按照功能可分为: 输入与输出设备;

按照速度可分为: 低速,中速,高速设备

按在计算机系统的作用分为:

   人机交互设备,外存设备,通信设备;

 

外设编址方式

 

外设的地址实际上是指 接口电路中 能被CPU 直接访问的寄存器的地址,又称为 端口地址。

统一编址(存储器映射)

 

存储器单元与I/O端口统一编址,它们共用一个线性地址空间。

  优点: 外设数目几乎不受限制;微机读写控制逻辑简单;

  主要应用于Motorolai系列,Apple系列微型机,及一些单片机和单板机。

独立编址(I/O映射)

 

存储器与I/O端口分开编址,它们有各自独立的地址空间。 指令系统中具有专门的I/O指令。

  优点是: 译码简单速度快;

  缺点是:I/O端口有限;

主要应用于: IBM-PC系列,Z-80系列微型机,及一些大型计算机。

 

 

      1. 外设与CPU的连接

 

在CPU 与 外设之间 必需通过一个接口, 以协调CPU 与外设交换信息的工作。

 外设接口通过总线与CPU连接。

  相比存储器的访问,CPU访问外设的过程是完全等同的,不同的是 所发送的读写信号有区别。

 

  在外设中,通常包含有外设控制器,它接收接口对外设发送的操作命令,从而控制外设的机械,机电或者电磁装置动作。

      1. I/O指令格式

 

专用I/O指令格式 较为固定和单一,格式为: 操作码+ 命令码 + 端口地址;

 

具体内容: 略;

    1. 输入输出接口

 

接口是指 : 不同部件之间的连接部分,软件的接口又叫 协议。

 

I/O接口 指 : 中央处理器 与 I/O设备 及存储器之间的用于交换信息的连接电路。

 

设置接口的原因主要有: 异步性,CPU与外设速度的差别,CPU与外设信号线和数据格式的不同。

      1. I/O接口的功能

实现数据缓冲

 

接口中设置数据缓冲寄存器或锁存器,以弥补主机高速与外设低速的差异,避免因速度不一致而造成的数据丢失。

执行CPU的命令

 

CPU对外设的各种命令通常是以控制代码形式发送到接口电路,暂存于命令寄存器,再经过接口电路进行译码后,形成一系列控制信号去控制外设。

返回外设的状态

 

为便于联络,接口电路需要提供 数据寄存器 “空”,“满”,“准备好”,“忙”,“闲”等状态信号,并再CPU查询时,反馈这些信号。

 

设备选择

 

当CPU 访问外设时,在地址总线上给出外设端口地址,外设接口必需具有自我识别的能力,只有当外设的端口地址处于自己的地址范围内(即被选中)时, 接口才能与CPU交换信息, 否则不允许有任何操作。

实现数据格式的转化

 

CPU与外设交换数据时,传送的是并行数据 ,但有的外设只能接收串行数据,因此i,进行串/并行的转化。

实现信号的转换

 

在信号功能定义,逻辑关系,电平高低,工作时序方面,与计算机总线的信号不兼容。 通过接口进行转换。

中断管理的功能

 

当外设迫切需cpu的服务时,特别在出现故障时,就会要求在接口中设置中断控制器,实现CPU与外设的中断传送。   这样既增加了计算机系统对外界的响应速度,又使 CPU 与外设并行工作,大大提高了CPU的工作效率。

      1. I/O接口的组成

基本电路

 

主要包括 寄存器 及其 控制逻辑。

   寄存器包括: 命令寄存器,译码器,数据缓冲寄存器,状态寄存器。

  接口的控制逻辑用以执行CPU命令,返回状态,传送数据,时接口中的控制核心。

端口地址译码电路

 

对地址总线上的外设端口地址进行译码,用以决定是否选中设备自身。

供选电路

 

由于接口的功能和结构有很大的区别,因此各接口电路中可能选择使用中断控制逻辑,定时器,计数器,移位器等。

    1. 主机与外设交换信息的方式

 

计算机系统的基本功能之一是 能够与其他的外部设备交换信息。

 

 在与外部设备交换信息时,主机有五种控制方式: 程序查询方式,程序中断方式,直接存储器访问方式(DMA),通道方式,输入输出处理及方式.。

      1. 程序查询方式

 

完全靠CPU执行计算机查询程序来实现。

 核心是:   循环测试与等待。

 

程序查询方式是一种天然的同步控制机构,由于总是CPU主动,对于单个设备,所有I/O传送斗鱼程序的执行太严格同步,能够很好的协作。   多个外设时,则需要使用轮询的方式为各个外部设备服务。

 

  缺点是效率低; 优点是: 简单。

      1. 程序中断方式

 

当外设准备好数据时,再以中断请求的方式主动通知CPU 。   不仅使CPU与外设并行工作,而且节省了设备状态查询的时间。

  优点:实时性高

  缺点:实现 复杂和困难;

      1. 直接存储器访问DMA方式

 

中断方式时间开销较大,消耗了大量的CPU时间。

  Direct Memory Access 方式是一种安全由硬件执行I/O交换的工作方式,可使数据的传送不经过CPU,由DMA控制器直接传送。

  在DMA控制器的方式下,存取等操作由DMA控制器硬件实现,效率很高。

 

DMA工作分为三个过程:

  初始化阶段,传送阶段,传送结束阶段。

      1. 通道方式

 

DMA控制器只能对数据输入/输出进行控制,而对输入/输出的其他操作,如信息的变换,装配,拆卸和数码校验等功能的操作仍需CPU来完成。

 

  CPU将部分权力下放给通道。   通道是一个具有特殊功能的处理器,它可以实现对外围设备的统一管理和外围设备与内存之间的数据传送。

 

 

      1. 输入输出处理机方式

 

输入输出处理机 IOP, 也称为 外围处理及PPU, 是通道方式的进一步发展。  它的结构更接近一般处理机,甚至就是微小型计算机。

 

从某种意义上说,具有IOP的系统已变成了分布式的多机系统。

    1. 中断系统

 

中断系统是计算机中实现中断功能的软,硬件总称。

 

  一般在CPU中配置中断机构,在外设接口中配置中断控制器,在软件上设计相应的中断初始化程序和中断服务程序。

      1. 中断的基本概念

 

由于某事的发生,CPU暂时停止正在执行的程序转而对所发生的事件进行处理,当对事件的处理结束后又能回到原来终止的地方,继续执行。

中断源的分类

 

中断源: 由于某种外部原因引起CPU中断的事件或设备。

 

  在很多的中断系统中, 对所有的中断源编码,为其分为一个唯一的代号,称为中断类型号。 

硬中断

 

外部设备和其他CPU外部事件引起的中断。  常见的有: 输入输出请求,实时时钟,计时器,电源故障,设备故障,校验线路等。

软中断

 

CPU内部的指令 或 程序执行中的突发事件所引起的中断。 

  常见的有: 除数为零,运算溢出,指令的单步运行,程序运行至断点等。

中断过程

中断请求

 

外中断: 中断源通过CPU 的中断请求引脚 向CPU发出中断请求信号。  CPU在每条指令执行完后,监测是否有中断请求,有效则转入中断响应阶段。

 内中断: 无需中断请求,直接根据中断类型号转入相应的中断服务程序。

 

该阶段,中断系统索要处理的主要问题是:

  中断屏蔽;

  中断请求信号的传递;

  CPU对中断请求信号的监测;

中断响应

 

CPU首先通过硬件保持程序断点,标志寄存器等,以便中断返回。

该阶段处理的主要问题是:

   中断优先级的盘别;

  中断源的标识;

 

中断服务

 

 CPU转入中断服务程序并执行,进行外设所需要的数据交换。

  解决的主要问题:

    中断嵌套;

中断返回

 

恢复断点及标识。

中断作用

是新啊CPU与多台I/O并行工作

具有处理应急事件的能力

进行实时处理

实现人机通信

实现多道程序运行和分时操作

实现应用程序和操作系统(管态程序)的联系

实现多机系统中处理机之间的联系

      1. 中断请求与判优

中断请求信号的产生与检测

产生

 

一般情况下,计算机都有多个中断源。

  每个中断源向CPU发出的中断请求时随机的,为记录,一般为每个中断源设置一个触发器,称为 中断请求触发器INTR.

  当某个中断源有中断请求时,其相应的总段请求触发器置成“1”状态,该状态一直保存到CPU响应这个中断请求后,才可将其清除。

  多个中断请求触发器构成了一个中断请求寄存器IRR,该寄存器的每一位对应一种中断源。 

监测

 

中断发生是随机的,必需提供一种手段使CPU检测随时可能发生的中断。  一般,CPU在每条指令执行完毕后,通过监测CPU的中断请求引脚是否有效来达到监测目的。

   换言之,对中断的监测是指令级的操作,对其他的任何程序,它是无感知的,换言之也就是实时的。

中断屏蔽

 

中断屏蔽技术能够使 CPU 禁止或 允许某些中断源的中断请求。

  实际上在大部分中断系统中,对应每一个中断源都有设置要给中断屏蔽触发器,以实现对单个中断源的屏蔽控制。

   将中断系统中的所有中断源的屏蔽触发器放在一起,形成一个寄存器,用一个地址对其进行寻址,称为 屏蔽寄存器IMR。

   当外部中断产生后,首先经过屏蔽寄存器屏蔽,然后送入硬件优先级排队电路判优,最后送入CPU的中断引脚。

   在多重中断中,可使用屏蔽技术实现动态改变中断优先级。

中断请求信号的传递

 

中断信号产生后,经 屏蔽和判优 排队后,通过中断请求传送给主机,这是一种典型的单线请求传递方式。

 

  通常,根据中断请求线的数目可分为 公共请求线,独立请求线,以及二维结构。

 

公共请求线

 

各中断源 共用一根公共请求线。

  当CPU接到中断请求后,必需通过软件或硬件的方法来查询哪个设备提出的中断请求, 然后找出该中断服务的入口地址。

   该方式的特点是: 在负载允许的情况下,中断源的数目可随意扩充。

独立请求线

 

各个中断源单独设置中断请求线,将中断请求直接送往CPU。

   该方式的特点是:CPU接到中断请求的同时,也就知道了中断源和中断服务程序的入口地址。 响应速度快,但其硬件代价较大。 CPU所能连接的中断请求线数目有限,中断源难以扩充。

二维结构

 

通常,中断源的数目都大于中断输入线的数目,因此,将中断请求线连成二维结构。

  该方式种,同一优先级别的中断源共享一条中断输入线。   该方法综合了前两种方法的优点,适合于管理数目较多的中断源且具有较快的响应速度。

中断请求的排队判优

 

通常,需要把全部中断源按中断性质 和处理的轻重缓急 分配优先级并进行排队。

  中断优先级是指: 有多个中断同时发生时,CPU对中断源响应的次序。

  一般,把硬件故障引起的中断优先级定为最高,其次是软件故障中断和I/O中断。

  每个中断源均有一个为其服务的中断服务程序,该服务程序有相应的优先级,CPU正在执行的程序也有优先级,只有当某个中断源的优先级高于CPU 中正在执行的程序时,才允许中断。

    同理,当一个中断服务程序正在运行时,又产生了一个中断请求,通过比较,就能判定谁的请求更优先。

软件查询

 

最简单的中断判优方法。 适用于一根公共请求线的情况。

  注意: 软件查询中断 与 程序传送方式的 等待循环 “查询” 是不同的。   对于后者,CPU要花费很多时间不断地查询设备是否“准备好”信号信号进行数据交换,查询所需要的时间,取决于外设的工作速度。 而中断查询是一种中断处理方式。

  优点: 简单,可控,可扩展;

  缺点: 效率低。

硬件排队电路

 

优先级别高的中断请求将自动封锁优先级低的中断请求的处理。   硬件排队电路一旦涉及连接好后,将无法改变其优先级。

串行排队链与向量中断

 

适用于公共请求线连接方式。

  适用于向量中断方式,中断响应信号逐级传送。

  特点: 简单,但优先级固定,取决于固定的硬件连接。

独立请求优先级排队电路

 

二维结构优先排队判优电路

 

中断响应

 

经过中断排队判优后的中断请求必需等待CPU的响应。

CPU响应中断的条件

 

不考虑更高级的请求,CPU的响应中断的条件:

   1.CPU的中断使能触发器开放;

   2.规定时间内,CPU的中断请求引脚有效;

   3.该中断未被屏蔽;

   4.本条指令执行完。

 对某个中断源来说,若要获得CPU的响应,除了满足上诉条件,还需要保证:

  中断请求没有被CPU屏蔽,且优先级最高,且高于CPU现行程序。

CPU中断响应的过程

 

CPU在执行现行指令的最后一个机器周期的最后一个时钟周期时,采用中断输入引脚,若发现有效,则在下一个机器周期进入中断响应周期,以响应中断。

 

  在中断响应周期,CPU执行中断隐指令,之所以称为隐指令,是因为所有操作均由硬件完成,对程序员是透明的。

中断隐指令

关中断

 

当CPU响应中断后,立即自动关中断,禁止接收新的中断,以保证接下来中断隐指令操作不被打断。

保存断点

 

为了在中断服务执行完毕后,能够正确地返回到原来主程序被中断的断点处继续执行,必需把断点保存起来。

 断点包括两方面的值:一是 PC,二是程序状态字PSW。

识别中断源,转入服务程序入口

向量中断

软件查询方式

中断服务与返回

中断服务程序

 

中断服务程序是预先编译好,存放于内存固定位置的一段程序。

预处理部分

中断服务

 

中断服务是 中断处理程序的核心内容,随中断源的不同而不通过。 如是外部设备,则在中断服务程序中传送一个数据。

 

  如:输入设备: 将接口寄存器中的数据读入CPU;

  输出设备,则将数据写入接口寄存器。

恢复部分

 

关中断,为了在恢复现场的重要时间内不允许中断。

中断返回

 

中断返回是由中断服务程序的最后一条指令实现的。

中断服务程序与子程序的区别

 

表面上类似,实际上,它们之间有者本质上的区别。

  *子程序的执行由程序员事先安排好,而中断服务程序的执行则是由随机的中断事件引起。

   *子程序的执行收到主程序及其上层程序的控制,中断服务程序一般与被中断的现行程序毫无关系。

   *不存在同时调用多个子程序的情况,但有可能发生多个I/O设备同时请求CPU为自己服务的情况。

中断嵌套

 

指 CPU在执行某个中断服务程序的过程中,允许再响应更高级别的中断请求,也称为多重中断。

 

 中断嵌套技术的实现,关键是在中断处理程序中必需适时开放中断(STI指令),并且使用堆栈的先进后出特性保证中断的逐级返回。

利用中断屏蔽技术修改中断优先级

 

优先级的确定非常重要,一般由硬件排队电路决定,不便于改动。  但是利用中断屏蔽技术可以巧妙地改变各中断源的优先级,使计算机适应各种场合的需要。

      1. 中断响应
      2. 中断服务与返回
  1. 总线

 

总线是计算机系统中进行数据传送的公共通路;

         总线不但影响计算机系统的结构与连接方式,而且影响计算机系统的性能和效率。

 

    1. 总线的基本概念

 

总线,一般指 通过分时共享的方式,将信息以一个或多个源部件传送到一个或多个目的部件的一组传输线。

  分时 和 共享  是总线的两个基本特征。

  分时:指的是 同一时刻,总线上只能传输一个部件所发出的信息;

     共享: 指的是 多个部件能够连接在同一条总线上,各个部件之间都可以通过这条总线来进行信息的交换。

      1. 总线的特性

 

物理角度来看,总线就是一组电导线;

  只有严格按照总线特性设计的部件或外设接口,才能保证系统给的可靠传输和运行;

电气特性

 

指: 总线上每一根 传输线的信号传递方向 和 有效电平范围。

  通常规定CPU 法出的信号为输出信号,输入CPU的信号为输入信号。

  如: 数据总线对CPU来讲,既有输入又有输出,所以数据总线是双向传输线。

     地址总线是由 CPU输出的,所以地址总线属于输出线;

     控制总线有些是输入线,有些是输出线。

机械特性

 

指: 总线在机械连接方式上的一些特性,包括连接类型,数量,接插件的几何形状和尺寸以及引脚排列顺序等。

  连接类型看,总线可分为电缆式总线,主板式,底板式。

  连接数量看,总线可分为串行总线和并行总线。  一般来说,串行总线用于长距离传输,并行总线用于短距离的数据传输;

功能特性

 

指: 总线中每根传输线的功能。

  如: 地址总线用来发送地址信息,每一根地址线都表示一位地址码;

          数据总线用来传输数据,每一根数据线表示一位数值;

              控制总线用来发送控制信号,或接收请求及状态信息,如CPU发出的存储器读/写,I/O读写信号,接收中断请求信号等。

时间特性

 

指: 总线的每一根传输线在什么时间内有效,以及每一根线产生的信号之间的时序关系。

      1. 总线的分类

连接部件分类

CPU内部总线

 

又称为内总线,是CPU内部各部件之间的信息传送线。如: 在CPU芯片内部,寄存器与ALU之间,寄存器与寄存器之间的传送线就是内部总线。

  内部总线的结构比较简单,距离段,速度极高。

系统总线

 

系统总线通常指连接CPU与主存 或 I/O接口之间的信息传送线,它是连接整机系统的基础。   又称为 外总线。

  分为数据总线,地址总线,控制总线,除此外还有电源线和地线。

   系统总线的连接距离较短,传输速度较快。

通信总线

 

用于计算机系统之间或 计算机与外部设备之间的通信;

  在进行远距离通信时,它需要用调制解调器来一起进行通信。

  典型的有: RS-232,RS-485,IEEE-488,以及现代微机很流行的USB,IEEE-1394通用串行总线。

数据传送方式分类

并行总线

 

采用多根数据线同时传送一个字节或一个字的所有位。

串行总线

 

采用一根数据线一位一位的传送数据。

通信定时分类

同步总线

 

互联的部件或设备,通过统一的时钟进行同步,即所有的互联部件或设备都必需使用同一个时钟,在规定的时钟节拍内进行规定的总线操作,来完成部件或设备之间的信息交换。

异步总线

 

没有统一的时钟而依靠各部件或设备内部定时操作,所有部件或设备是以信号握手的方式进行,即发送设备和接收设备互用请求和确认信号来协调动作,总线操作时序不是固定的。

  比如: Firewire ,IEEE1394,USB2.0

      1. 总线的性能指标

总线宽度

 

即数据总线宽度,指一次总线操作中通过总线传送的数据位数,一般有8,16,32,64位。

 

总线周期

 

指一次总线操作所使用的时间。

总线频率

 

总线的工作频率,单位是MHZ。 工作频率越高,总线工作速度越快,总线带宽越宽。

总线带宽

 

指单位时间内总线上可传送的数据量,用每秒多少兆字节计算。

信号线类型

 

指信号线是专用还是复用。

仲裁方法

 

指集中式裁决还是分布式裁决。

定时方式

 

指同步方式还是异步方式。

    1. 系统总线的结构
      1. 单总线结构

 

用一组总线将计算机系统的各大功能部件连接起来,所有信息都在这组总线上传送。

  单总线系统中,对输入输出设备的操作,完全和主存的操作一样的方法来处理。

  单总线结构一般用于速度要求不高的计算机中。

      1. 双总线结构

 

在单总线的基础上,增加一条CPU和主存之间的高速存储总线,使CPU与主存之间的信息交换通过这条专用存储总线进行。

  主存与外设之间可通过系统总线实现DMA操作。

      1. 多总线结构

 

三总线及其以上的结构称为多总线结构。

  这种结构包括了系统总线,存储总线和I/O总线。

    1. 总线信息的传送方式
      1. 并行传送

 

指: 每一位数据需要1根传输线,多位数据同时传送。

      1. 串行传送

 

按位进行传送,只需一根数据线,一般是发送用一根数据线,接收用一根数据线。

      1. 分时传送

 

一种是采用总线复用,一种是指,共享总线的部件分时使用总线。

    1. 总线仲裁和定时
      1. 总线仲裁

 

总线上可以挂很多设备,但任一时刻只能由一个设备控制和使用总线,称为主设备。

 

 当多个设备同时发出请求,必须由总线控制器按事先规定的原则进行仲裁,确定使用总线的现后顺序,称为总线仲裁。

 

  除CPU外,I/O设备也可以提出总线请求。在多个主设备提出的占用总线请求,一般采用优先级或公平策略进行仲裁。

集中式仲裁方式

 

将总线访问的控制逻辑做在一个控制器中,通过将所有总线请求集中起来,采用一个特定的仲裁算法进行仲裁。

链式查询方式

定时器定时查询方式

独立请求方式

分布式仲裁方式

自举分布式仲裁方式

冲突检测分布式仲裁方式

并行竞争仲裁方式

 

每个主设备都有自己的仲裁号和控制器,如某个设备有总线请求,则将它的仲裁号发送到共享的仲裁器上,每个设备的控制器将接收到的号与自己的仲裁号相比较,如比自己的大,则在仲裁线上撤销自己的仲裁号。

      1. 总线的定时

 

总线的基本任务就是传送信息,总线的一次信息传送过程,大致可分为五个过程:请求总线,总线仲裁,寻址,信息传送,结束阶段。

  为了同步主方,从方的操作,必须制定定时协议。 所谓定时,是指事件出现在总线上的时序关系。

同步定时

 

总线上有一根设备公用的时钟信号线,每个信号出现在总线上的时刻由总线时钟信号来确定。

异步定时

 

后一操作信号出现在总线上的时刻取决于前一操作信号的出现,即建立在应答式或互锁机制基础上。

    1. 实用总线标准
      1. ISA总线

 

Industrial Standard Architecture,1984年IBM公司为PC/AT微型计算机建立的系统总线标准。  

优点:兼容性好

缺点:传输率低,CPU占用率高

      1. EISA总线

 

Extended Industrial Standard Architecture,从CPU中分离了总线控制权,支持多总线主控突发传送方式。

 缺点:速度有限,成本过高

      1. PCI总线

 

Peripheral Component Interconnect,外部设备互连总线,由Intel公司提出的局部总线标准,用来连接高速外设。如: 硬盘控制器,高速网卡和图形显示卡等。

PCI总线主要的总线操作围绕着各种总线事务展开。  总线事务,是指 在总线上进行的,与单个总线请求有关的一组完整的总线操作过程。

      1. PCI Express总线

 

PCI Express 系统中的主要组件包括根复合体,交换开关,端点,端口和PCI Express到PCI/PCI-X的桥。

 

串行的点对点互连

差分信号传送

采用交换开关互连多台设备

PCI Express事务与包

具有更高的数据传输率

PCI Express设备采用层次结构

错误处理

具有优先级的传递

两种中断方式

支持热插拔

      1. RS-232C/RS-485接口总线

 

标准接口总线,主要是解决主机和外设之间的适配问题。

      1. USB接口总线

 

Universal Serial Bus,通用串行总线。

由1.1版升到2.0版后,速率由:12Mbps升级为240Mbps 

随着新2.0标准的提出,USB速度已经能达到480Mbps。

控制传输方式

等时传输方式

中断传输方式

数据块传输方式

      1. IEEE 1394接口总线

 

最初是由苹果计算机公司与1986开发的FireWire规范。  速度很快,能达到800Mbps。

  1. 流水线与并行处理技术

 

为了提高处理机速度,通常可从两方面入手:

   一是: 提高器件的性能,它一直是提高整机性能的重要途径。但是,半导体器件的集成度越来越接近物理极限,使器件速度提高越来越慢。

   二是:改进系统的结构,开发系统的并行性。 器件速度的改进受物理条件约束,不可能超过光速,而开发系统的并行性可以通过时间的重叠和资源的重复来实现。

    1. 流水线原理

 

 

      1. 流水线基本概念

 

  将生产流水线的思想用到计算机的运行上,就引出了计算机流水线的概念。

  通过观察指令的执行过程可以发现,机器的各个部分在某些周期内进行操作,而某些周期内是空闲的。

  流水线是将一个较复杂的处理过程分成m个复杂程度相当,处理时间大致相等的子过程,每个子过程由一个独立的功能部件来完成,处理对象在各子过程连成的线路上连续流动。

  在理想的状态下,流水线始终是负荷饱满而又畅通的情况下,每隔t 就完成了一条指令的执行,平均速度比串行方式提高了6倍。

特点

流水线中流水段划分越多,速度越快

 

流水段和流水段之间传送任务时,必须通过锁存器。

锁存器的添加使得每条指令的执行时间增加了。

一旦流水线划分过细,其时钟周期很小,以至于锁存器引起的附加开销相当时,流水线就失去了作用。

流水线上每个阶段即每道工序的执行时间应尽量相等,否则会引起堵塞和断流

流水线工作阶段可分为建立,满载,排空三个阶段

程序转移指令,存储器供应不上指令和数据等会造成断流

      1. 流水线分类

任务级别分类

操作部件级

 

将复杂的算术逻辑运算按照流水线方式来组织,又称为运算操作流水线。

指令级

 

将整个指令的执行过程划分成多个子过程。

处理机级

 

宏流水线,该种流水线中包括了两个或两个以上的处理机,每个处理机完成某一个专项任务,各处理机处理的结果需要存放在与下个处理机所共享的存储器中。

功能分类

单功能流水线

 

只能实现一种固定的功能,如浮点加法运算流水线专门完成浮点加法运算,而浮点乘法流水线只能完成浮点乘法运算。

多功能流水线

 

可完成多种功能。 允许不同时间甚至同一时间内,在流水线内连接不同流水段的子集,来实现不同的功能。

工作方式分类

静态流水线

 

同一时间内,只能以一种方式工作。

动态流水线

 

允许在同一时间内将不同的功能段连接成不同的功能子集。

连接方式分类

线性流水线

 

从输入到输出,每个功能段只经过一次。

非线性流水线

 

不仅具有串行连接通路,还有反馈回路,在流水过程中,某些功能要反复多次使用。

处理机类型分类

标量流水线

 

标量处理机

 

向量流水线

 

向量处理机,具有向量数据类型和向量指令。

      1. 流水线性能分析

吞吐率

 

单位时间内能处理的任务数或输出结果的数量。

  吞吐率又有最大吞吐率和实际吞吐率之分。

  流水线中延迟时间最大的功能段将称为流水线中的瓶颈。 消除瓶颈的基本方法有两种:

   1.分离瓶颈段。

   2.重复设置瓶颈段。

加速比

 

指采用流水线方式后的工作速度与等效的串行方式的工作速度之比。

效率

 

指流水线中各功能段的利用率。

    1. 流水线相关及处理

 

通常情况下,流水线过程总会出现各种相关现象,使得流水线不断流实现起来非常困难。

      1. 结构相关

 

当指令在重叠执行过程中,不同指令争用同一功能部件产生资源冲突时产生的。

停顿流水线

 

将后续指令推迟一拍进入流水线。

重复设置存储器

 

设置两个独立的存储器,分别存放指令和数据。

采用指令预取技术

 

在CPU中设置指令队列,将指令预先取到指令队列中排队。

      1. 数据相关

 

流水线中的各条指令重叠擦偶走,可能改变对操作数的读写访问舒徐,从而导致了数据相关冲突。

暂停流水线

采用定向技术

 

又称 旁路技术或相关专用通路技术。  主要思想时在运算器中设置一条旁路,不必待某条指令执行结果送回到寄存器,再从寄存器中取出该结果。   而是直接将执行结果通过旁路松岙其他指令所需要的地方。

      1. 控制相关

 

指进入流水线的转移指令,与其后续指令之间存在相关。

猜测法

分支的选择

 

选择发生概率高的那个分支

提高猜测准确率

 

静态方法不考虑转移历史,而动态方法考虑了转移历史 。

现场恢复

 

保证猜错时可恢复分支点到原先的现场,以便流水线的正常执行。

  可采用后援寄存器。

加快和提前形成条件码

 

一是加快单条指令内部条件码的形成。 如 乘除结果是正还是负还是零的条件码可再运算前形成。

二是 再一段程序内提前形成条件码。

加快短循环程序的处理

 

将长度小于指令缓冲器容量的短循环程序整个一次性放入指令缓存内,并暂停预取指令。

采用优化延迟转移技术

 

一种有效的软件手段,以减少由于控制相关而造成的流水线性能下降。

      1. 流水线的中断与处理

 

流水线中对于中断处理的方法有: 不精确断点 和精确断点两种。

 

    1. 流水线的调度方法
      1. 非线性流水线的静态调度技术

 

利用软件对指令执行的顺序进行适时调度,以减少流水线中存在功能段冲突而引起的流水线停顿实践。

      1. 流水线的动态调度技术

 

较早使用的方法,通过硬件重新安排指令的执行顺序,以减少流水的停顿,称为动态调度。

    1. 高级流水线技术

 

一个时钟周期内平均发射的指令条数称为处理机的指令级并行度。

  多发射是指 处理机在一个时钟周期内,发射多条指令。

      1. 超标量流水线技术

 

在标量流水线的基础上,采用资源重复的途径来开发指令流水线的并行性。

结构

调度方法

 

代价很大,包括软件代价和硬件代价

性能

      1. 超流水线技术

 

在1个基本时钟周期内能够 分时发射多条指令的处理机称为超流水线处理机。

      1. 超标量超流水线技术

 

把超标量技术 与 超流水线技术结合在一起,就是 超标量超流水线处理机。  超标量超流水线处理机每个时钟周期总共要发射指令 mn条。

      1. 超长指令字 VLIW技术

 

与 超标量技术 有许多类似之处,但它以 一条长指令来实现 多个操作的并行执行,以减少对存储器的访问实践。

      1. 向量流水线技术

基本特点

 

1.向量元素的计算相互独立,很少发生数据相关,这就允许向量流水线有较深的深度。

2.一条向量指令相当于一个标量循环,从而可降低对指令访问带宽的要求。

3.若向量指令所要访问的向量元素均相邻,则可以在交叉存储体中高速的依次访问他们。

向量处理方式

 

分为横向和纵向。

结构

存储器-存储器型

寄存器-寄存器型

向量访问步长及控制

 

对于二维或多维向量元素,他们的存储必须通过一种映射方式将其存在一维存储器空间中。

增强向量处理性能的方法

多功能部件的并行操作

链接技术

    1. 并行处理技术
      1. 并行处理技术的基本概念

 

计算机系统结构由低向高法阵的过程,就是并行处理技术不断发展的过程。

  并行性包含同时性和并发性两个含义。

  同时性 表示两事件同一时刻发生;

  并发行 表示两事件同一时间段发生。

      1. SIMD阵列处理机

结构

分布式存储器的阵列机

共享存储器的阵列机

特点

 

采用资源重复方法引入空间因素,即在系统中设置多个相同的处理单元开发并行性,这与利用事件重叠的流水线处理机是不一样的。

  它是利用并行性中的同时性,而不是并发性。

  以某一类算法为背景的专用计算机。

  阵列机的研究必须与并行算法研究密切结合。 

  从处理单元来看,由于都是相同的, 因而可将阵列机 看成是 一个同构型并行机。

      1. 多处理机系统

 

指 具有两台以上的处理机,在操作系统控制下通过共享的主存或 输入/输出子系统 或高速通信网络进行通信。

特点

 

1.结构灵活,通用性强;

2.主要开发高层次作业及任务级并行性;

3.需要显式的并行任务派生;

4.存在并发执行的进程之间的同步问题;

5.资源分配和任务调度复杂。

分类

紧耦合多处理机系统

松耦合处理机系统

互连方式

总线互连方式

环型互连方式

交叉开关互连方式

    1. Pentium微处理器的系统结构
      1. PentiumII 微处理器

 

采用 P6核心结构,继承了Pentium Pro 优异的32位处理器性能,同时利用MMX技术加强对对媒体的支持,并对16位代码进行了优化。         

多路分支预测

数据流分析

推测执行

      1. Pentium 4微处理器

 

基于 Intel NetBurst微架构的。

    1. 片上多核处理器架构

 

片上多核处理器的各CPU之间必须可以进行通信。

  目前主流的通信做法:

   1.基于总线共享的Cache结构;

   2.基于片上的互连结构。

      1. Intel Core 微架构
      2. IBM Cell架构

 

高性能分布式计算体系结构。

  • 1
    点赞
  • 0
    评论
  • 7
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值