计算机组成原理学习笔记(更新中)
计算机组成原理
文章目录
计算机的基本组成
冯·诺依曼计算机的特点
其中五大部件分别为:运算器、存储器、控制器、输入设备和输出设备。
冯·诺依曼计算机硬件框图
- 计算机硬件框图
实线:数据线 虚线:控制线和反馈线
运算器:算术运算、逻辑运算
存储器:存放数据和程序
控制器:指挥控制程序的运行
输入设备:将信息转换成机器能识别的形式
输出设备:将结果转换成人们熟悉的形式
-
以存储器为中心的计算机硬件框图
3. 现代计算机硬件框图
- ALU:Arithmetic Logic Unit,算术逻辑单元
- CU:Control Unit,控制单元
- CPU:中央处理器
4. 系统复杂性管理的方法(3’Y)
-
层次化(Hierarchy):将被设计的系统划分为多个模块或子模块
-
模块化(Modularity):有明确定义(well-defined)的功能和接口
-
规则性(regularly):模块更容易被重用
计算机的工作步骤
上机前的准备
-
建立数学模型
-
确定计算方法
-
编制解题程序
-
程序 ——运算的全部步骤
-
指令 ——每一个步骤
指令格式举例 ACC(累加器)
取数 α [α]→ACC
000001 0000001000
操作码 指令码
存数 β [ACC]→β
加 γ [ACC]+[γ]→ACC
乘 θ [ACC][θ]→ACC*
打印 φ [φ]→打印机
-
计算机的解题过程
存储器的基本组成
- MAR:存储器地址寄存器,反映存储单元的个数
- MDR:存储器数字寄存器,反映存储字长
- M:存储体
运算器的基本组成
运算器的核心是ALU
MQ:乘商寄存器
操作过程
操作符 | 指令 | 初态 | 具体操作 |
---|---|---|---|
加法 | 加 M | ACC 被加数 | [M]→X,[ACC] + [X] →ACC |
减法 | 减 M | ACC 被减数 | [M]→X,[ACC] - [X] →ACC |
乘法 | 乘 M | ACC 被乘数 | [M]→MQ,[ACC]→X,0→ACC,【X】【MQ】→ACC//MQ |
除法 | 除 M | ACC 被除数 | [M]→X,[ACC]÷[X]→MQ |
注: []表示地址M的内容;//表示两个寄存器之间的连接
控制器的功能和基本组成
控制器的功能
- 解释指令
- 保证指令的按序执行
PC:程序计数器
IR:指令寄存器
控制器的基本组成
- PC:存放当前欲执行指令的地址,具有计数功能(PC)+1→PC
- IR:存放当前欲执行的指令
- CU:发出各种控制信号
主机完成一条指令的过程
- 以取数操作为例
- 以存数指令为例
- 无论是取数还是存数,都进行了1-4步
- 几乎每一步都在CU控制单元作用下完成
- 起点均为PC,它存放当前欲执行指令的地址
ax²+bx+c程序的运行过程
-
将程序通过输入设备送至计算机
-
程序首地址→PC
-
启动程序执行(此处以程序的第一步——取x为例)
-
取指令 PC→MAR→M→MDR→IR ,(PC)+1→PC
-
分析指令 OP(IR) →CU
-
执行指令 Ad(IR)→MAR→M→MDR→ACC
.
.
.注:OP()表示取操作码部分,Ad()表示取地址码部分
计算机硬件的主要技术指标
机器字长
-
定义:CPU一次能处理数据的位数,与CPU中的寄存器位数有关(相等)
某CPU能够对两个八位二进制数做加法,结果还是一个八位二进制数,则该CPU一次能处理的位数为八位
-
影响:一般来说,机器字长越长,机器的性能越好
运算速度
- 主频
- 核数,每个核支持的线程数
- 吉普森法 (采用加权平均的方法计算指令平均运行时间)
- CPI :执行一条指令所需时钟周期数
- MIPS:每秒执行百万条指令
- FLOPS:每秒浮点运算次数(较以上最为合理)
存储容量
- 定义:存放二进制信息的总位数
计算机的发展及应用
计算机的发展史
- 世界上第一台电子计算机ENIAC(1946)
- 冯·诺依曼结构的计算机
- IBM System/360 系列产品
- 微型计算机的出现和发展(1970)
目前,芯片上可集成超过30亿个晶体管
Moore定律:微芯片上集成的晶体管数目每三年翻两番
——Intel公司的缔造者之一Gordon Moore提出
软件技术的兴起和发展
各种语言
系统软件
- 语言处理程序:汇编程序 编译程序 解释程序
- 操作系统: DOS、UNIX、Windows、Linux、Kylin Linux
- 服务性程序:装配 调试 诊断 排错
- 数据库管理系统: 数据库和数据库管理软件
- 网络软件:使计算机与网络连接
软件发展的特点
- 开发周期长
- 制作成本昂贵
- 检测软件产品质量的特殊性
软件是程序以及开发、使用和维护程序所需要的所有文档
计算机的应用
-
科学计算和数据处理
-
工业控制和实时控制
-
网络技术:
电子商务 网络教育 敏捷制造 -
虚拟现实
-
办公自动化和管理信息系统
-
CAD/CAM/CIMS
-
多媒体技术
-
人工智能
计算机的展望
-
计算机具有类似人脑的一些超级智能功能 要求计算机的速度要足够快
-
芯片集成度的提高受以下三方面的限制:
①芯片集成度受物理极限的制约 ②按几何级数递增的制作成本 ③芯片的功耗、散热、线延迟 -
?替代传统的硅芯片:
①光计算机:利用光子取代电子进行运算和存储
②DNA生物计算机:通过控制DNA分子间的生化反应
③量子计算机:利用原子所具有的原子特性
计算机中数的表示和运算
数据的表示方法
无符号数和有符号数
无符号数
- 寄存器的位数反映无符号数的表示范围
有符号数
- 真值:带符号的数
- 机器数:符号数字化的数
没有专门的硬件用于存储小数点,其都是以约定俗成的方式存在
原码表示法
-
整数定义
-
小数定义
正数的原码符号位为0;数值位为其真值
负数的原码符号位为1;数值位为其真值
-
原码的特点
- 简单直观
- 但是用原码做加法时,会出现以下问题:
补码表示法
- 整数定义
-
小数定义
正数的补码符号位为0;数值位为其真值
负数的补码符号位为1;数值位为其真值对应位求反后末位加1
反码表示法
- 整数定义
-
小数定义
正数的补码符号位为0;数值位为其真值
负数的补码符号位为1;数值位为其真值对应位求反
三种机器数的小结
-
最高位为符号位,书写上~~用“,”(整数)~~或“.”(小数)将数值部分和符号位隔开
-
对于正数,原码=补码=反码
-
对于负数,符号位为1,其数值部分原码除符号位外每位按位取反末尾加1→补码 不加一→反码
-
表示范围
tips:[y]补 连同符号在内,每位取反,末位加1,即得[-y]补
数的定点表示和浮点表示
定点表示
- 定义:小数点按约定方式标出
浮点表示
- 浮点数的一般形式:N=S×r的j次方
在计算机中,S是小数、可正可负;j是整数、可正可负
-
表示范围