计算机组成原理 - 3 finish
2021-01-11 11:26:41 9 举报
AI智能生成
计组(计算机组成原理)脑图
作者其他创作
大纲/内容
计算机的组成
中央处理器(CPU)的组成
CPU的控制单元的组成
存储器
辅助存储器
概述
磁记录原理
硬磁盘存储器
软磁盘存储器
光盘存储器
1. 存储器分为主存和辅存
主存能直接被CPU访问,辅存需要将信息调到主存中后才能被CPU访问
2. 存储器的基本组成
存储体
存储体由若干个存储单元组成
每个存储单元存一串二进制,这串二进制的位数称为存储字长。存储字长可以是1B(8bit—字节)或字节的偶数倍
每个存储单元都有一个地址号,寻址时以存储单元为单位寻址
MAR
存储器地址寄存器,反映存储单元的个数
例:MAR=10位,表示存储单元个数为1024(2^10)记为1K
例:MAR=10位,表示存储单元个数为1024(2^10)记为1K
MAR长度与PC的长度相等,MAR的位数和地址总线的位数相同
MDR
存储器数据寄存器,可以反映存储字长
例:MDR=8位,表示存储字长为8
例:MDR=8位,表示存储字长为8
MDR的位数和存储字长相等,一般为字节的二次幂的整数倍
MDR的位数和数据总线的位数相同
PS:MAR和MDR是存储器的一部分,但现代CPU中它们被放在CPU中,高速缓存(Cache)也存在于CPU中
CPU
运算器
核心是算术逻辑单元(ALU)
包含:通用寄存器组(GPRs),累加器(ACC),商乘寄存器(MQ),操作数寄存器(X),变址寄存器(LX),基址寄存器(BR),程序状态寄存器/标志寄存器(PSW)
前三个寄存器是必须的
前三个寄存器是必须的
控制器
控制单元(CU)
分析指令,给出控制信号
程序计数器(PC)
存放当前将要执行的指令的地址,+1后指向下一条指令的地址,和MAR之间有一条直接通路
指令寄存器(IR)
存放当前的指令,内容来自MDR
输入输出系统
概述
输入输出系统发展概况
CPU和I/O设备串行工作
程序查询方式
并行工作
中断方式
DMA方式
输入输出系统组成
I/O指令
通道指令
I/O设备于主机的联系方式
编址方式
统一编址
不统一编址
设备选址
传送方式
串行
并行
联络方式
立即响应
异步工作采取应答信号
同步工作采用同步时标
I/O设备于主机的连接方式
辐射式连接
总线连接
I/O设备于主机信息传送控制方式
程序查询方式
程序中断方式
DMA方式
I/O设备
概述
输入输出设备
I/O接口
概述
接口的功能和组成
功能
组成
接口类型
程序查询方式
程序中断方式
DMA方式
一、计算机系统概述
1.1 计算机发展历程
1.1.1 计算机硬件的发展
4代计算机元件:电子管—>晶体管—>中小规模集成电路—>大规模集成电路
原件更新换代
摩尔定律
半导体存储器的发展:容量越来越大
微处理器的发展:32位—>64位(机器字长,计算机进行进行一次整数计算锁能处理的二进制数据的位数)
1.1.2 计算机软件的发展
计算机语言:机器语言,汇编语言,高级语言
操作系统:Windows,UNIX,Linux
1.1.3 计算机的分类和发展方向
通用计算机:巨型机,大型机,中型机,小型机,微型机,单片机
1.2 计算机系统层次结构
1.2.1 计算机系统的构成
软,硬件系统构成完整的计算机系统
1.2.2 计算机硬件的基本构成
1. 冯·诺伊曼机
由运算器,控制器,存储器,输入设备,输出设备组成
以运算器为中心
数据和指令都是二进制代码并被存放在主存储器中
区分的依据:指令周期的不同阶段(取指时获取指令,执行时获取操作数)
CPU的工作就是在重复取指和执行指令
区分的依据:指令周期的不同阶段(取指时获取指令,执行时获取操作数)
CPU的工作就是在重复取指和执行指令
2. 现代计算机的组织结构
组成部分和冯·诺伊曼机一样,但是以存储器为中心
3. 计算机的功能部件
输入,输出设备,运算器,控制器
存储器
存储器分为主存(也称内存)和辅存(也称外存)
主存是通电时才存数据,硬盘是辅存/外存
主存是通电时才存数据,硬盘是辅存/外存
存储体(由若干个存储单元组成),地址寄存器(MAR),数据寄存器(MDR),时序控制逻辑
主存和CPU构成主机,其他设备是外设。辅存算I/O设备的一种。辅存/外存,如硬盘也是外设
冯·诺伊曼结构模型机
1.2.3 计算机软件的分类
1. 软件分类系统软件和应用软件
PS:DBMS是系统软件,DBS不是系统软件
PS:DBMS是系统软件,DBS不是系统软件
2. 三个级别的语言:机器语言,汇编语言,高级语言
1.2.4 计算机的工作过程
计算机工作过程
1. 把程序和数据装入主存储器
2. 将源程序转换成可执行文件
3. 从可执行文件的首地址开始逐条执行指令
1. 从源程序的到可执行文件
以C语言的.c文件为例。预处理,编译,汇编,链接。生成可执行文件被保存在磁盘上
翻译程序:将高级语言源程序转换称机器语言程序的软件
编译程序:将源程序一次全部翻译成目标程序并成成目标可执行文件,只要源程序没改就无需重新编译
解释程序:翻译一句执行一句,不生成目标程序
汇编程序也是翻译软件的一种,将汇编语言源程序翻译为机器语言
编译程序和汇编程序的区别:
编译程序编译的文件是“高级语言”的源文件,目标文件是汇编语言文件或机器语言文件等“低级语言”
汇编程序编译的文件汇编语言文件,目标文件是机器语言
编译程序编译的文件是“高级语言”的源文件,目标文件是汇编语言文件或机器语言文件等“低级语言”
汇编程序编译的文件汇编语言文件,目标文件是机器语言
2. 指令执行过程描述
取指令:PC—>MAR—>M—>MDR—>IR
分析指令:OP(IR)—>CU
执行指令(以取数指令为例):Ad(IR)—>MAR—>M—>MDR—>ACC
每取完一条指令后执行 (PC)+1—>PC
1.2.5 计算机系统的多层次结构
下层是上层的基础,上层是下层的扩展
1.3 计算机的性能指标
1.3.1 计算机的主要性能指标
1. 机器字长
2. 数据通路带宽
3. 主存容量
4. 运行速度
吞吐量和响应时间,主频和CPU时钟周期,CPI,CPU执行时间,MIPS、MFLOPS、FGFLOPS、TFLOPS
常用数量单位
描述容量,文件大小时,K=2^10
描述速率,频率时,K=10^3
1.3.2 几个专业术语
系列机,兼容性,软件可移植性,固件
1.4 本章小结
1. 计算机由哪几部分组成?以哪部分为中心
2. 主频高的CPU一定比主频低的CPU快吗?为什么?
3. 翻译程序、汇编程序、编译程序、解释程序有什么差别?各自的特性是什么?
4. 不同级别的语言编写的程序有什么区别?哪种语言编写的程序能被硬件直接执行?
二、数据的表示和运算
2.1 数值和编码
2.1.1 进位计数制及其相互转换
任意进制转十进制
将任意进制数的各位数码与权值相乘,再把乘积相加
十进制转任意进制:计数乘除法
整数部分:除基取余法
小数部分:乘基取整法
PS:不是每个十进制小数都能准确地用二进制表示,如0.3。但任意一个二进制小数都能用十进制小数表示
2.1.2 真值和机器数
真值:带有‘+’ ‘-’符号的数
机器数:用0表示正,1表示负的数
2.1.3 BCD码
4位二进制表示1位10进制
举例:8421码,余3码,2421码
举例:8421码,余3码,2421码
2.1.4 字符与字符串
1. 字符编码ASCⅡ码
7位二进制表示一个字符,共128个字符
2. 汉字的表示和编码
2.1.5 校验码(用于网络通信,计算机网络中会用到)
1. 奇偶校验码。只能查错不能纠错
2. 海明(汉明)校验码。能发现2位错并纠正1位
3. 循环冗余校验(CRC)码。能纠正1位或多位。传递大量数据的首选校验方式
补充
1. 数据存放方式,小端方案:将最低有效字节存储在最小位置。大端方案相反
2.2 定点数的表示和运算
2.2.1 定点数的表示
1. 有符号数和符号数的表示
2. 机器数的定点表示
定点数的小数点在符号位后,有效数字最高位之前(整数部分为0的定点数)或最低为后(小数部分为0的定点数同时也是整数)
小数点的位置是规定的,并不会真在二进制数据中用某种形式占据某位标识小数点在这个位置
3. 原码、补码、反码、移码
2.2.2 定点数的运算
1. 定点数的移位运算
算数移位——有符号数的移位操作
逻辑移位——无符号数的移位操作
循环移位
2. 原码定点数的加减法运算
3. 补码定点数加减法运算
4. 符号扩展
例:一个8位数和一个32位数进行计算,需要将8位数转换位32位数再计算。这个过程叫做符号扩展
5. 溢出概念和判别方法
6. 定点数的乘法运算
7. 定点数的除法运算
2.2.3 C语言中的整数类型及类型转换
1. 有符号数和无符号数的转换
2. 不同字长整数之间的转换
2.2.4 数据的存储和排列
1. 数据的“大端方式”和“小段方式”存储
将最低有效字节存储在最小位置。大端方案相反
2. 数据按“边界对齐”方式存储
2.3 浮点数的表示和运算
2.3.1 浮点数的表示
1. 浮点数的表示格式
2. 规格化浮点数
3. 浮点数的表示范围(了解即可,考研大纲中已删除)
4. IEEE 754标准
5. 定点、浮点数表示的区别
2.3.2 浮点数的加减运算
1. 对阶
2. 尾数求和
3. 规格化
4. 舍入
5. 溢出判断
6. C语言中的浮点数类型及类型转换
2.4 算数逻辑单元(ALU)
2.4.1 串行加法器和并行加法器
1. 一位全加器
2. 串行加法器
一个全加器。堆数据进行串行计算。可能一个加法计算需要用多次全加器计算,将中间结果又作为输入送进全加器的做法就是串行加法器
3. 并行加法器
多个全加器组成,其位数与机器字长相同,一次能进行与机器字长相同的计算
2.4.2 算数逻辑单元的功能和结构
2.5 本章小结
1. 在计算机中,为什么要采用二进制表示数据?
2. 计算机在字长足够的情况下能够精确地表示每个数吗?若不能,举例说明
3. 字长相同的情况下,定点数和浮点数的表示范围和精度有什么区别?
4. 用移码表示浮点数的阶码有什么好处?
三、存储系统
3.1 存储器概述
3.1.1 存储器的分类
3.1.2 存储器的性能指标
3.2 存储器的层次化结构
3.2.1 多级存储系统
3.3 半导体随机存储器
3.3.1 SRAM和DRAM
3.3.2 只读存储器
3.3.3 主存储器的基本组成
3.4 主存储器与CPU的连接
3.4.1 连接原理
3.4.2 主存容量的扩展
3.4.3 存储芯片的地址分配和片选
3.4.4 存储器与CPU的连接
3.5 双端口RAM和多模块存储器
3.5.1 双端口RAM
3.5.2 多模块存储器
3.6 高速缓冲存储器
3.6.1 程序访问的局部性原理
3.6.2 Cache的基本工作原理
3.6.3 Cache和主存的映射方式
3.6.4 Cache主存块的替换算法
3.6.5 Cache写策略
3.7 虚拟存储器
3.7.1 虚拟存储器的基本概念
3.7.2 页式虚拟存储器
3.7.3 加快地址转换:块表(TLB)
3.7.4 段式虚拟存储器
3.7.5 虚拟存储器与Cache的比较
0 条评论
下一页