计算机组成原理——计算机系统概述
文章目录
一 计算机的发展历程
第一代计算机——电子管时代
第二代计算机——晶体管时代
第三代计算机——中小规模集成电路时代
第四代计算机——超大规模集成电路时代
二 计算机系统层次结构
1 组成
计算机系统由硬件系统和软件系统完整的构成
硬件——有形的物理设备
软件——在硬件上运行的程序和相关的数据及文档
2 硬件
2.1 冯诺依曼体系
提出“存储程序”的思想,是以存储器为核心
指令与数据以同等地位存储在存储器中,均用二进制表示
2.2 部件
(1)输入设备
如键盘,鼠标,扫描仪等
(2)输出设备
如显示器,打印机等
(3)存储器
分为主存储器(内存)和辅助存储器(外存,比如磁盘)
MAR——地址寄存器,位数反应了存储单元的个数,通过MAR来找到数据的存放位置
MDR——数据寄存器,位数等于存储字长,通过MDR来传输数据
可以根据以上信息计算出内存的大小
同时还有时序控制逻辑用于产生存储器操作所需的各种时序信号
(在现代计算机中MAR,MDR以及高速缓存都存在CPU中)
(4)运算器
用于进行算术运算和逻辑运算
算术运算——加减乘除
逻辑运算——与,或,非,异或,比较,移位等
ALU——算术逻辑单元
ACC——累加器
MQ——乘商寄存器
X——操作数寄存器
IX——变址寄存器
BR——基址寄存器
PSW——程序状态(标志)寄存器,用于判断是否溢出,有无进位或错位,结果是否为否
(5)控制器
PC——程序计数器,取一条指令地址后自动加1,与MAR直连,取指令
IR——指令寄存器,存放当前指令,内容来自MDR,分析指令
CU——控制单元,执行指令
CPU与主存之间还有总线来进行连接,下面是完成一条指令的简略过程
3 软件
软件分为系统软件和应用软件
语言按等级分类:机器语言,二进制代码
汇编语言,缩写代替二进制的指令代码
高级语言,如C++,C,java等
为将高级语言翻译为机器语言,有三种翻译程序:汇编程序,解释程序,编译程序
对某一功能来说,既可以通过硬件,又可以通过软件来实现,则硬件和软件在功能上是等价的,这被称为软硬件逻辑功能的等价性,但是通常硬件的性能优于软件。
4 计算机系统的层次结构
以下为某一种分层方式
计算机组成原理主要讨论硬件的原理和设计思想。
5 计算机系统的工作原理
5.1 ”存储程序“工作方式
取指令——指令译码,PC+1——取数并执行——送结果——取指令
5.2 源程序——可执行文件
预处理——编译——汇编——链接
hello.c——hello.i——hello.s——hello.o——hello
5.3 指令执行过程
取指令:PC—>MAR—>M—>MDR—>IR
分析指令:OP(IR)—>CU
执行指令:Ad(IR)—>MAR—>M—>MDR—>ACC
M就是存储体,(PC)指的是PC里面存放的内容,而PC是程序计数器
三 计算机的性能指标
1 字长
计算机进行一次整数运算所能处理的二进制数据的位数,一般等于内部寄存器大小
2 数据通路带宽(外部数据总线)
数据总线一次所能并行传送信息的位数
3 主存内量
字数*字长
4 吞吐量和响应时间
系统在单位时间内处理请求的数量。
用户向计算机发送一个请求,到系统对该请求做出响应并获得所需结果的等待时间。
5 主频 cpu时钟周期 CPI MIPS
主频,以Hz为单位,1Hz表示每秒一次
时钟周期就是主频的倒数 = 1 / 主频
CPI,执行一条指令所需的时钟周期数
CPU执行时间=时钟周期/主频=(指令条数*CPI)/主频
MIPS,每秒执行多少百万条指令
MIPS=指令条数/(执行时间x106)=主频/(CPIx106)