1.2-计算机的基本组成
冯·诺依曼计算机的特点
组成
1.计算机由五大部件组成 {
(运算器、控制器、存储器、输入设备、输出设备)
eg:(算盘-->:算盘珠、人、算盘珠、人、算盘珠)
}
2.指令和数据以同等地位存于存储器,可按地址寻访
3.指令和数据用二进制标识 {
为什么使用二进制(电路的通断表示01)
可不可以使用其他进制
}
4.指令由操作码和地址码组成
5.存储程序 *
6.运算器为中心
冯·诺依曼计算机硬件框图
以运算器为中心
缺点
运算器为性能瓶颈
没有层次化
计算机硬件框图
以存储器为中心
缺点
没有层次化
现代计算机硬件框图
运算器 ALU -\
> CPU_
控制器 CU _/ \
> 主机
/- 主存 _/ -\
存储器 < \
\_ 辅存 >硬件
/
输入设备 -\ _/
> I/O设备
输出设备 _/
=====================
系统复杂性管理的方法(3’Y)
- 层次化(Hierachy):将被设计的系统划分为多个模块或子模块
- 模块化(Modularity):有明确的定义(well-defined)的功能和接口
- 规则性(regularity):模块更容易被重用
计算机的工作步骤
- 建立数学模型
- 确定计算方法
- 编制解题程序
程序--运算的全部步骤
指令--每一个步骤
eg: 计算ax^2+bx+c
# 假设 a b c x 已经保存到内存中
- 取x至运算器中([x] -> ACC)
- 乘以x在运算器中([x]*[ACC] -> ACC)
- 乘以a在运算器中([a]*[ACC] -> ACC)
- 存ax^2在存储器中 (ACC -> 内存m)
- 取b至运算器中([b] -> ACC)
- 乘以x在运算器中([ACC]*[x] -> ACC)
- 加ax^2在运算器中([ACC]+[m] -> ACC)
- 加c在运算器中([ACC]+[c] -> ACC)
取数指令举例
# []为取内容
取数 a [a] -> ACC
000001 0000001000
存数 b [ACC] -> b
加 c [ACC]+[c] -> ACC
乘 d [ACC]*[d] -> ACC
打印 o [o] -> 打印机
停机
存储器的基本组成
_____________________
| |
| ____________ |
| | | |
| | 存储体 | |
| |____________| |
| |
| [MAR] [MDR] |
| |
| 主存储器 |
| |
|_____________________|
MAR 存储器地址寄存器
反应存储单元的个数
MDR 存储器数据寄存器
反应存储字长
存储体 - 存储单元 - 存储原件(0/1)
eg: 大楼 - 房间 - 床位 (无人/有人)
=====================
- 存储单元
存放一串二进制代码
- 存储字
存储单元中二进制代码的组合
- 存储字长
存储单元中二进制代码的位数
每一个存储单元赋予一个地址
- 按地址寻访
运算器的基本组成
_______________
[ACC] <--> [MQ]
^
|
v
[ALU]
^
|
[X]
_______________
运算器
=====================
eg:乘法操作过程
指令 [乘][M]
- ACC 被乘数
- [M] -> MQ
- [ACC] -> X
- 0 -> ACC
- [X]*[MQ] -> ACC//MQ
ACC | MQ | X | |
---|---|---|---|
加法 | 被加数、和 | 加数 | |
减法 | 被减数、差 | 减数 | |
乘法 | 乘积高位 | 乘数、乘积低位 | 被乘数 |
除法 | 被除数、余数 | 商 | 除数 |
主机完成一条指令的过程
ax^2+bx+c程序的运行过程
- 将程序通过输入设备送至计算机
- 程序首地址 --> PC
- 启动程序运行
- 取指令 PC->MAR->M->MDR->IR , (PC)+1 -> PC
- 分析指令 OP(IR) -> CU
- 执行指令 Ad(IR) -> MAR -> M -> MDR -> ACC
·
·
·