计算机组成原理——第一章计算机系统概论
文章目录
1.1 计算机系统简介
一、计算机软硬件概念
1.计算机系统
- 硬件计算机实体
- 主机
- 外设
- ……
- 软件由具有各类特殊功能的信息(程序)组成
- 系统软件用来管理整个计算机系统
- 语言处理程序
- 操作系统
- 服务性程序
- 数据库管理系统
- 网络软件
- ……
- 应用软件按任务需要编制成的各种程序
- 系统软件用来管理整个计算机系统
二、计算机系统的层次结构
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-apGj59Jf-1583478946183)(https://raw.githubusercontent.com/Thooooor/NoteImg/master/image-20200304152829204.png)]
三、计算机体系结构和计算机组成
1. 计算机体系结构
计算机系统的属性,概念性的结构与功能特性可见的
- 指令系统
- 数据类型
- 寻址技术
- I/O机理
2.计算机组成
实现计算机体系结构所体现的属性
- 具体指令的实现
1.2计算机的基本组成
一、冯·诺依曼计算机的特点
-
计算机由五大部件组成
-
运算器:算术运算+逻辑运算
-
控制器:指挥控制程序运行
-
存储器:存放数据和程序
-
输入设备:将信息转换成机器能识别的信息
-
输出设备:将结果转化为人们熟悉的形式
-
-
指令和数据以同等地位存于存储器,可按地址寻访
-
指令和数据用二进制表示
-
指令由操作码和地址码组成
-
存储程序
-
以运算器为中心
冯·诺依曼计算机硬件框图
二.计算机硬件框图
-
以存储器为中心的计算机硬件框图
-
现代计算机硬件框图
三.计算机的工作步骤
1.上机前的准备
- 建立数学模型
- 确定计算方法
- 编制解题程序
- 程序——运算的全部步骤
- 指令——每一个步骤
指令格式:操作码+地址码
2.计算机的解题过程
(1) 存储器的基本组成
-
存储体 存储单元 存储元件 (0/1)
- 存储元件:用来存放一位二进制信息
- 存储单元: 存放一串二进制代码(字长)
- 存储体:许多个存储单元可组成存储矩阵
- 存储字:存储单元中二进制代码的组合,可表示
- 数值
- 指令
- 地址
- 逻辑数……
- 存储字长: 每个存储单元中二进制代码的位数
- 按地址寻访
-
MAR 存储器地址寄存器 (A-Address)
- 反应存储单元的个数
-
MDR 存储器数据寄存器(D-Data)
- 反应存储字长
(2)运算器的基本组成及操作过程
基本组成
操作过程
ACC | MQ | X | |
---|---|---|---|
加法 | 被加数&和 | 加数 | |
减法 | 被减数&差 | 减数 | |
乘法 | 乘积高位 | 乘数&乘积低位 | 被乘数 |
除法 | 被除数&余数 | 商 | 除数 |
-
加法操作过程
-
减法操作过程
-
乘法操作过程
-
除法操作过程
(3)控制器基本组成
-
PC——程序计数器
- 存放当前欲执行指令的地址
- 具有计数功能
-
IR——指令寄存器
- 存放当前欲执行的指令
-
功能
- 解释指令
- 保证指令的按序执行
(4)主机完成一条指令的过程
取数指令
- 取指令1-4
- 指令地址从PC放入MAR
- 指令地址由MAR送至存储体
- 指令被存储体送入MDR
- 指令由MDR送至IR
- 分析指令5
- 指令由IR送至CU进行分析
- 执行指令6-9
- 数据地址由IR传到MAR
- 数据被存储体送到MDR
- 数据被MDR送到ACC
存数指令(执行指令不同)
(5) 程序的运行过程
-
将程序通过输入设备送至计算机
-
程序首地址**PC**
-
启动程序运行
-
取指令 PCMARMMDRIR, (PC) + 1PC
-
分析指令OP(IR)CU
-
执行指令Ad(IR)MARMMDRACC
……
-
打印结果
-
停机
1.3 计算机硬件的主要技术指标
- 机器字长CPU一次能处理数据的位数
- 通常与CPU的寄存器位数有关
- 运算速度
- 主频
- 核数 每个核支持的线程数
- 吉普森法
- CPI $\to $ 执行一条指令所需时钟周期数(平均值)
- MIPS $\to $ 每秒执行百万条指令(还取决于指令复杂程度)
- FLOPS 每秒浮点运算次数
- 存储容量存放二进制信息的总位数
- 主存容量
- 存储单元个数×存储字长
- MAR10,MDR8 1K×8位
- MAR16,MDR32 64K×32位
- 字节数
- 存储单元个数×存储字长
- 辅存容量
- 字节数
- 主存容量
疑难点
-
三个字长
字长 定义 存储字长 每个存储单元中二进制代码的位数 机器字长 CPU一次能处理数据的位数 与CPU的寄存器位数有关 指令字长 一条指令的位数(操作码+地址码) 与指令寄存器位数有关 -
如何区分存放在存储器中的指令和数据
完成一条指令有三个步骤,其中需要两次访问内存,可依此分为两个阶段:取指阶段取出指令、执行阶段取出操作数,CPU根据阶段的不同可以判断取出的是指令还是数据: