王道考研复习-计算机组成原理-计算机系统概述(一)
考纲
- 发展路程
- 层次结构
- 性能指标:
## 计算机发展历程 - 根据物理期间来分大致可以归为4类,
- 电子管时代: 电子管,机器语言编程,磁带(bug诞生),主存用盐池县或磁鼓传递信息,容量小,体积大,成本高,bug多(穿卡孔,纸袋),-> 运算效率低
- 晶体管时代: 逻辑元件使用晶体管, 磁心存储器,软件开始使用高级语言,FORTRAN
- 中小规模集成电路时代: 半导体(介于导电和非导电之间,电子特性比较容易改变,方边进行电容存储及门电路涉及), SiO2,取代磁芯管,语言发展顺序,高级语言迅速发展,开始有了分时操作系统 (***)
- 超大规模集成电路, 产生了微处理器(CPU),并行,流水线,高缓存和虚拟存储器应用
- 标志
- 摩尔定律: 发展进度 18 -> 翻杯,性价比实惠, 逻辑元件迅速发展的修饰
- 半导体的发展: 从单芯片 1KB .... 1GB (4幂) 11代,逻辑元件的集成度越来越高
- 微处理器的发展: 1971 Intel发展地一个微处理器 Intel 4004至今, 经历了 8位,.... 64位,64位表示机器字长,是计算机进行一次证书运算所能处理的二进制数据的位数。
计算机软件的发展
- 大小分类
- 巨型,大型,中,小,微,单片及 6类。价格一次低,复杂度依次降低
- 指令分类
- 单指令流和单数据流系统 SISD (sigle instruction sigle data) 传统 冯*诺依曼体系
- SIMD 整列处理器和向量处理器系统
- MISD 实际不存在 ***
- MIMD 多处理器多计算机系统
计算机系统层次结构
prym研究EDVAC机提出
存储程序
概念,奠定了计算机的基本结构
硬件系统组成
- 组成: 运算器,存储器,控制器,输入,输出
- 指令和数据以同等地位存储在存储器中,并可按地址寻访
- 指令和数据均用二进制代码表示
- 指令由操作码和地址码组成,操作码用来表示操作的性质,地址码来表示操作数在存储器中的位置
- 指令在存储器内按顺序存放,同常指令是按准许执行的
- 早期的pruma机以运算器为中心, 现代计算机以存储器为中
输入设备
- I: input,声光热电力以某种传感介质转化为电信号,再转化计算机能识别的二进制输入到电脑, 人脑的神经原其实也是通过电信号传导的
- O: output, 同上,反向操作
- 存储器: 计算CPU指令常用
- MAR: 地址寄存器(memory address register),接受存储地址(当前主存储器的单元号)
- MDR: 数据寄存器(memory data register),存储从主存储器中取出的数据,
- 时序控制逻辑: 从MAR获取地址单元编号,从存储体中获取到数据,放到 MDR(数据寄存器)中
- MAR: 地址寄存器(memory address register),接受存储地址(当前主存储器的单元号)
- 运算器: 计算机的执行部件,包括算数运算如 加减乘除,逻辑运算 ,~,!,=,>>,<<
- 包括若干个通用寄存器:
- ACC: 累加器, accumulator, AC + cumulator
- MQ: 乘商寄存器, Multiplier-Quotient Register;
- X: 操作数寄存器
- IX: 变址寄存器, index reigster
- BR: 基地址寄存器, Base address register
- PSW: 程序状态寄存器, program status register,也成为标志寄存器,用于存放ALU
- 核心是逻辑单元
- ALU(Arithmetic and Logical unit),用于存储ALU运算得到的一些标志信息或处理机的状态信息
- 如结构是否溢出,有无生产进位或错位,结果是否为负数
- 包括若干个通用寄存器:
- 控制器
- 指挥中心,指挥各部件协调运行,
- 组成
- PC:(program counter)程序计数器
- IC:(instruction register)指令计数器
- CU:(control unit)控制单元
- PC用来存放当前欲执行的指令的地址,可以自动加1以形成下一条指令的地址它与MAR(memory address regiser)之间有一条直接通路
- IR: 用来存储当前执行的指令,其内容来自于贮存的MAR,指令OP(IR)中的操作码发送至CU,用来
分析指令
并发出各种微操作命令
,而地址码Ad(IR)则被送往MAR,用以取操作数。 (注意: IR被拆分为2部分, OP和AD分别送到CU和MAR)
CPU的组成
- 一般将运算器和控制器集成到同一个CPU上,称为中央处理器
- prym模型中,CPU包含ALU,通用寄存器组GPRs,标志寄存器,控制器,指令寄存器IR,程序计数器PC,存储地址寄存器MAR和存储数据寄存器MDR。
- CPU和主存储之间通过一组总线相连,总线中有地址,控制和数据3组信号线。MAR中的地址信息会直接送到地址总线上,用于指向读写操作的主存存储单元,控制线中有读/写信号线。
CPU运行图解
- TODO:
计算机软件的分类
- 软件功能分类
- 系统软件和应用软件,系统软件是一组保证计算机系统高效,正确运行的基础组建,通常作为系统资源提供给用户使用,系统软件主要有操作系统,数据库管理系统DBMS,语言处理程序,分布式软件系统,网络软件系统,标注库程序系统,服务性程序等
- 注意: DBMS, DBS是有区别的,DBMS是用于用户和操作系统之间一层数据管理软件,是系统软件,而DBS是引入数据后的系统,一般由数据库,DBMS和DBA(data base admin)组成。
- 三个级别的语言
- 机器语言,二进制
- 汇编语言,二进制的助记符,用英文单词或其缩写替代二进制的指令代码,更容易被理解。使用汇编语言编写的程序,必须经过一个称为汇编程序的系统软件编译,将其转化为计算机机器语言后, 才能在计算机的硬件系统上执行
- 高级语言,高级语言(如C,C++,Java等)是为了方便程序设计人员写出解决问题的处理方案和解题过程的程序。
## 计算机工作过程
- 把程序和数据装入主存储器中
- 将源程序转化成为可执行文件
从可执行文件的首地址开始逐条执行指令
从源程序到可执行文件
- 预处理阶段: 查找替换,处处一个以
.i
为扩展名的源文件hello.i
. - 编译阶段: 编译器 ccl对预处理后的源程序进行编译,生成一个汇编语言程序
hello.s
- 汇编阶段: 汇编起(as)将hello.s翻译成机器指令,并把这些指令打包成一个成为可重定位目标文件
hello.o
,它是一种二进制文件 - 链接阶段: 连接器(ld)将多个可重定位目标文件和标准库函数合并为一个可执行目标文件,或简称为可执行文件。如教程示例中
hello.o
和prinft
所在的可重定位目标模块文件prinft
合并生成可执行文件hello
,最终生成的可执行文件被保存在磁盘上。
replace(.i) -> cll(.s) -> as (.o) -> ld(.exe)
- 预处理阶段: 查找替换,处处一个以
指令执行过程的描述
- 程序中第一台哦指令的地址置于PC中,根据PC取出第一条指令,经过译码,执行步骤等,控制器计算机各功能部件协同下运行,完成这条指令功能,并计算下一一条指令的地址,用心得到的指令地址急促读取第二条指令并执行,知道程序结束为止。
取指令: PC -> MAR -> M(主存储) -> MDR -> IR
- 根据PC取指令到指令寄存器,将PC的内容送往MAR,根据数据编号从M中取出指令方法哦MDR中,然后再传入到IR中
分析指令: OP(IR) -> CU
- 指令译码并送出控制信号。控制器根据IR中指令的操作码,生成相应的控制信号,送到不同的执行部件。IR中是取数指令,因此读控制信号被送到总线的控制信号上
执行指令: Ad(IR) -> MAR -> M -> MDR -> ACC
- 取数操作,将IR中指令的地址码送到MAR, MAR中的内容容地址线,
同时控制器将读信号送读/写信号线,从主存指令存储单元独处操作数
,并通过数据线传送至MDR,再传送数据至MDR,然后传送至ACC中,执行家法运算。
- 取数操作,将IR中指令的地址码送到MAR, MAR中的内容容地址线,
计算机多层次结构
- 层级 4个
- 微程序机器层: 它是一个实在的硬件层,他是由机器硬件直接执行的微指令。
- 传统机器语言层: 它也是一个实际的机器层,由微程序解析机器指令系统
- 操作系统层: 它由操作系统实现,操作系统程序是由机器指令和广义指令组成,这些广义指令也是为了扩展机器功能而设置的,它是由操作系统定义和解释的软件指令,所以这一层也称混合层。
- 汇编语言层: 它为用户提供了一种符号话的语言,一层由汇编程序支持和执行
- 高级语言层: 面向用户的,是为了方便用户编写应用程序而设置的,该层由各种高级语言编译程序支持和执行。
- 裸机
- 第3层和5层成为虚拟机,软件实现的机器
计算机的性能指标
- 机器字长: 计算机进行一次整数运算(即定点整数运算)所能处理的二进制数据的位数。通常与CPU寄存器的位数,加法器有关。选定字长为8的整数倍
- 数据通路带宽: 数据通路带宽是指数据总线一次所能并行传送的信息位数,(注 这里所说的数据通路带宽是只外部数据总线的宽度,与CPU内部数据总线的宽度,内部寄存器的大小可能有所不同,各子系统通过数据总线连接形成的数据传送路径成为数据通路)。
- 主存容量: MAR的位数反应存储单元的个数,MAR的位数反应可寻址范围的最大值(不一定是实际存储器的容量)
- 若MAR为16位,则它的寻址范围是 2的16次方 = 65536
- 运算速度
- 吞吐量: 单位时间内处理的请求数量
- 响应时间: 指用户向计算机发送一个请求,到系统对该请求作出响应的的时间
- 主频和时钟周期:
- 主频: CPU的时钟周期,每秒脉冲信号执行次数
- CPU时钟周期: CPU的最小时间单位,1秒除以主频
- CPI: (Clock cycle Per instruction),即执行一条指令所需的时钟周期数
- CPU执行时间: 指运行一个程序所花费的时间
- CPU执行时间 = CPU时钟周期/主频 = (指令条数 * CPI)/主频
- MIPS,MFLOPS,GFLOPS,TFLOPS
- Million Instructions Per Second, 106
- Million Floating-point Operations Per second,
计算机专业术语
- 固件: 将程序固定在ROM中组成的部分成为固件,固件是用具有软件特性的硬件,性能指标介于硬件和软件之间,吸收了软件和硬件的优点,执行速度快于软件,灵活性优于软件,是软硬件的结合产物,例如目前操作系统已经实现了部分固化,通过只读存储器将一些固定常用的指令存储在只读存储器中。