计算机组成原理
基础的,重要的
计算机课程中唯一一门讲授计算机硬件的逻辑实现的课程
- 讲授内容
- 基本不见的结构和组织方式
- 基本运算的操作原理
- 基本部件和单元的设计思想
- 特色
- 计算机组成的一般原理,不以具体机型为依托
- 采用自顶向下的方式、层层细化
本课程在课程体系中的地位
计算机系统结构:
1、分析+评测–知其所以然
2、并行计算机系统结构入门
计算机组成原理
- 如何实现
- 具体实现
- 一一知其然
课程内容的组织
第 1 篇 概论
第 2 篇 计算机系统的硬件结构
第 3 篇 CPU
第 4 篇 CU
第 1 章 计算机系统概论
1.1计算机系统简介
计算机的系统:
-
硬件
-
软件:
- 系统软件
- 应用程序
计算机系统的层次结构
软件
- 虚拟机器M4----用汇编程序翻译成汇编语言程序
- 虚拟机器M3----用汇编程序翻译成机器语言程序
- 虚拟机器M2----用机器语言解释操作系统
硬件
- 实际机器M1----用伪指令解释机器指令
- 微程序机器M0----有硬件直接执行微指令
计算机体系结构
程序员缩减到的计算机系统的属性,概念性的结构与功能特性
(指令系统.数据类型,寻址技术.I/O机理)
计算机组成
实现计算机体系结构所体现的属性
(具体指令的实现)
1.2 计算机的基本组成
一丶冯诺依曼计算机的特点
1–计算机有五大部分组成
2–指令和数据以同等地位存于存储器,可按地址寻访
3–指令和地址用二进制表示
4–指令由操作码和地址码组成
5–存储程序
(具有存储程序的这些特称的机器都被称为冯诺依曼机)
6–以运算器为中心
(数据的输出和存储都需经过运算器,进行算数运算和逻辑运算)
冯诺依曼机的硬件框图
- 存储器
- 运算器
- 控制器
- 输入设备
- 输出设备
二丶计算机硬件框图
1–以存储器为中心的计算机的硬件框图
2–现代计算机的硬件框图
系统复杂性管理的方法(3Y)
- 层次化(Hierarchy) : 将被设计的系统划分为多个模块或子模块
- 模块化(Modularity) : 有明确定义的功能和接口
- 规则性(regularity) : 模块更容易被重用
三丶计算机的工作步骤
1–上机前的准备
- 建立数学模型
- 确定计算方法
- 编制解题程序
计算ax^2+b x+c 程序清单
2–计算机的解题过程
(1)存储器的基本组成
主存储器{
存储体;
MAR; 存储器地址寄存器,反应存储单元的个数(单元个数为2^n,例如 n=4, 可以从 0000 --> 1111 )
MDR; 存储器数据寄存器,反应存储字长
}
例如 MAR=4位,MDR=8位
则:存储单元 2^4=16
存储字长8
存储体----存储单元----存储元件(0/1)
大楼 ----房间 ----床位(有人/无人
存储单元 存放遗传二进制代码
存储子 存储单元中二进制代码的组合
存储字长 存储单元中二进制代码的位数,每个存储单元赋予一个地址
按地址寻访
运算器的结构,功能,工作原理
(2)运算器的基本组成及操作过程
ACC | MQ | X | |
---|---|---|---|
加法 | 被加数/和 | 加数 | |
减法 | 被减数/差 | 减数 | |
乘法 | 乘积高位 | 乘数/乘积低位 | 被乘数 |
除法 | 被除数/余数 | 商 | 被减数 |
乘除法,改变位数
乘除法,可以根据加减法,类似
MQ乘数存储器,乘和商的缩写
加 | 减 | 乘 | 除 | |
---|---|---|---|---|
指令 | 加 M | 减 M | 乘 M | 除 M |
初态 | ACC 被加数 | ACC 被减数 | ACC 被减数 | ACC 被减数 |
[M]–>X | [M] - - >X | [M] - - > MQ | [M] - - > X | |
[ACC]+[X]->ACC | [ACC] - [X] - - >ACC | [ACC]–>X | [ACC] ÷ [X] - - >MQ | |
0–>ACC | 余数保存在ACC中 | |||
[X] X [MQ] -->ACC//MQ | ||||
[ACC] - [X] - - >ACC |
乘法中 : 只有ACC中传给X后,才能清0
(3)控制器的基本组成
控制器的基本结构
控制器的功能
- 解释指令
- 保证指令的按序执行
完成一条指令{
取指令 PC
分析指令 IR
执行指令 CU
}
PC存放到当前与执行指令的地址
具有计数功能 (PC) + 1 --> PC
IR存放当前欲执行的指令
(4)主机完成一条指令的过程 , 以取数指令为例
取指令:PC–>MAR–>存储体–>MDR–>IR
分析指令:IR–>CU控制单元
执行指令:CU–>执行部件
取数指令的功能:
把保存在内存单元M中的数据取到ACC中
IR–>MAR–>存储体–>MDR–>ACC
以存数指令为例
取指令:PC–>MAR–>存储体–>MDR–>IR
分析指令:IR–>MAR–>存储体;ACC–MDR;MDR–>存储体
执行指令:CU–>执行部件
(5)ax^2+b x+c程序的运行过程
- 将程序通过输入设备送至计算机
- 成俗首地址–>PC
- 启动程序运行
- 取指令:PC–>MAR–>M–>MDR–>IR , (PC) + 1 -->PC
- 分析指令OP(IR)–>CU
- 执行指令Ad(IR)–>MAR–>M–>MDR–>ACC
- …
- 打印结果
- 停机
1.3 计算机硬件的主要技术指标
1、机器字长
CPU一次能处理数据的位数
与CPU中的寄存器位数有关
一般来说,机器的字长越长,机器的性能越好
2、运行速度{
主频
核数,每个核数支持的线程数
吉普森法
CPI 执行一条指令所需的时钟周期
(IPC 一个时钟周期能完成的多少指令)
MIPS 每秒执行百万条指令
FLOPS 每秒浮点运算次数
}
3、存储容量
存放二进制信息的总位数
{
主存量{
存储单元个数 X 存储字长
MAR X MDR
字节数
}
辅存容量
1、机器字长
CPU一次能处理数据的位数
与CPU中的寄存器位数有关
一般来说,机器的字长越长,机器的性能越好
2、运行速度{
主频
核数,每个核数支持的线程数
吉普森法
CPI 执行一条指令所需的时钟周期
(IPC 一个时钟周期能完成的多少指令)
MIPS 每秒执行百万条指令
FLOPS 每秒浮点运算次数
}
3、存储容量
存放二进制信息的总位数
{
主存量{
存储单元个数 X 存储字长
MAR X MDR
字节数
}
辅存容量
}