冯诺依曼机
由输入设备、输出设备、运算器、控制器和存储器五大部件构成,以运算器为中心,采用“存储程序”的思想,将指令和数据以同等地位存储在存储器中可按地址寻访。指令由操作码和地址码构成,以二进制形式在存储器内按顺序存放。存储程序就是将指令以代码的形式事先存储在存储器中,按其在存储器中的首地址执行程序的第一条指令,之后按程序的规定顺序执行其它指令,直至程序执行结束。
C语言编译过程
预处理:将#include包含的头文件直接拷贝到.c文件中,将#define定义的宏进行替换并将注释部分删除,由.c文件到.i文件
编译:将程序编译为机器语言的文件,如exe,由.i文件到.s文件
汇编:生成可重定位目标程序,.s文件到.o文件
链接:将翻译的二进制与需要用到的库绑定到一块,.o文件到可执行文件
计算机的主要性能指标
1.机器字长:计算机进行一次整数运算所能处理的二进制的位数
2.数据通路带宽:数据总线一次所能并行传送信息的位数
3.主存容量:主存储器所能存储信息的最大容量,等于字数×字长
4.运算速度:吞吐量值系统在单位时间内处理请求的数量,主要取决于主存的存储周期,响应时间是用户向计算机发送一个请求到系统对该请求作出响应并获得所需结果的等待时间,主频是机器内部时钟的频率,CPU时钟周期是主频的倒数,是CPU中最小的时间单位,CPI是执行一条指令所需时钟周期数
数制与编码
1.进制转换
N进制转十进制:位权乘以数位
十进制转N进制:整数位除留余数法由下至上,小数位乘二取整法
2.校验码
奇偶校验:在原码的基础上加一个校验位,检验整个码中1的个数是奇数还是偶数
海明校验:将原码分为若干组,为每组增加一个校验位进行奇偶性测试,产生多位检测信息并得出出错位置
循环冗余校验:在K位信息码后拼接R位校验码,利用模2除法检验编码正确性
3.定点数的表示
符号位:0正1负
当真值为正数时,原码=补码=反码,即符号位为0,数值位与真值相等,当真值为负数时,原码、补码、反码的符号位均为1,数值位:原码数值位=真值,反码数值位=原码数值位求反,补码数值位=原码数值位取反加1=反码数值位加1.移码是在真值上加一个常数,通常是2
4.浮点数
存储系统层次结构
Cache——主存——磁盘——磁带、光盘
Cache——主存:解决CPU与主存速度不匹配问题
主存——辅存:解决存储系统容量问题
存储器分类
1.随机存储器RAM:数据的存取时间和存储位置无关,断电信息丢失,分为SRAM和DRAM
2.只读存储器ROM:存储器的内容只能随机读出而不能写入,其内容断电之后仍可保留
存储器性能指标
存储容量:存储字数×字长
单位成本:总成本/总容量
存储速度:数据宽度/存储周期
SRAM存储器和DRAM存储器
SRAM存储器:主要使用六管静态MOS存储单元电路,利用触发器保存信息只要发送地址和读命令就可以进行数据的读出,写数据时需要传输地址信号和数据信号。
DRAM存储器:遵循电容存取电荷的原理,根据有无电流判断读出的信号是1还是0,需要进行刷新。
读/写时间、读/写周期、存储周期、存储时间
读时间:进行一次存储器读操作的时间
写时间:进行一次存储器写操作的时间
读周期:对芯片两次连续读操作的最小时间间隔
写周期:对芯片两次连续写操作的最小时间间隔
存储周期:读周期+写周期
存储时间:读时间+写时间
DRAM的刷新
由于DRAM采用电容式存储,而电容中存储的电荷不能永久保留,随着时间的流逝会消失(默认2ms),因此每个基本存储单元都需要在2ms内刷新一次,否则会导致电荷流失从而导致存储信息出错。存储体是矩阵形式,每次刷新都是对行进行刷新,若刷新时读写操作一起执行,则刷新一行所需要的时间就是两倍的存储周期,否则默认为一个存储周期。刷新分为集中刷新、分散刷新和异步刷新。集中刷新是将所有的刷新操作集中到一段时间内进行,分散刷新是将刷新操作分散进行,周期性地进行,异步刷新是折中方式,有计划地刷新。
Flash闪存
存储元由MOS管组成,是一种半导体存储器,断电后信息不丢失,采用随机访问方式,可替代计算机外部存储器
提高CPU访存速度
1.采用双端口存储器技术
指同一个存储器有左右两个独立的端口,分别具有两组相互独立的地址线、数据线和读写控制线,允许两个独立的控制器同时异步地访问存储单元,当两个端口的地址不相同时,在两个端口上进行读写操作一定不会发生冲突。
2.采用多模块存储器技术
分为单体多字存储器和多体并行存储器。单体多字存储器中只有一个存储体,每个存储单元存储m个字,总线宽度也为m个字,一次并行读出m个字,地址必须顺序排列并处于同一存储单元,指令和数据在准村内的存储必须是连续存放的。多体并行存储器是由多体模块组成,每个模块都有相同的容量和存取速度,各模块都有独立的读写控制电路、地址寄存器和数据寄存器,既能并行工作又能交叉工作。
Cache
通常由SRAM组成,位于CPU和主存储器DRAM中,规模小速度快,用于提高CPU数据输入输出速率,可以依据局部性原理改善系统性能。CPU访问主存时会将地址同时送给Cache,若命中则直接传送给CPU,若未命中则从主存中读出并送入CPU,同时将该字所在的整个数据块传送给Cache.当Cache存满后,新数据必须替换Cache中的某些旧数据。利用Cache写操作使Cache内容与主存内容保持一致。Cache命中时由逻辑地址转为Cache地址,未命中则从逻辑地址转为物理地址
Cache与主存的映射方式
直接相连映射:主存数据块只能装入Cache中的唯一位置
组相连映射:将Cache分为若干组,一个数据块可以装入指定组内的任一位置
全相联映射:可以将主存数据块装入Cache中的任何位置
虚拟存储器
虚拟存储器是一个逻辑模型,在主存—辅存结构的基础上基于局部性原理在逻辑上扩充了主存的容量,其容量由计算机地址总线的数量来决定。可分为页式虚拟存储器、段式虚拟存储器和段页式虚拟存储器。页式虚拟存储器的基本单位是页,将主存的物理空间划分为与虚拟存储器等长的页,段式虚拟存储器是将主存空间按段进行分配,容易产生外部碎片,段页式虚拟存储器是将程序按逻辑单元分段后将每个段分成固定大小的页,程序对主存的调入调出按页面进行。由于需要到主存中查表后再访存取指,虚拟存储访问主存的次数增加了,因此可以在Cache中放入一个快表,将最活跃的几个页表项复制到快表中,访问页面时先在快表中查找对应页表项,找到了则直接通过页表项查找对应的页面,若未找到则去主存中查找并将此页表项送进快表。
快表、页表、Cache、主存之间的访问关系
程序员给出一个逻辑地址,通过逻辑地址同步查询快表和页表以确定数据是否在主存中,快表命中则页表必然命中,因为快表中放的是页表的子集,若快表、页表都未命中则代表数据不在Cache中,必会导致Cache不命中。假设数据在主存中Cache也不一定命中,因为Cache中的数据只是主存中的一部分。
外存
1.硬盘存储器
记录数据
归零制:“1”通正向脉冲电流,“0”通反向脉冲电流,“0” “1”信号之间驱动电流归零
不归零制:“1”通正向脉冲电流,“0”通反向脉冲电流,只有当相邻信息代码不同时电流才改变方向(见变就翻)
见1就翻:只有记录“1”时电流才改变方向
技术指标
磁道:磁头在磁层上进行读写操作,信息被记录在磁层上,这些信息的轨道被称为磁道
记录密度:单位长度内所存储的二进制信息量
道密度:磁盘沿半径方向单位长度的磁道数
位密度:磁盘所有的磁道记录的信息量一定是相等的,因此圈越大位密度越小,最内圈的位密度即最大位密度
存储容量:外存所能存储的二进制信息总数量,以位或字节为单位。存储容量=盘面数×磁道数×磁道上二进制代码数
平均寻址时间:(最大寻址时间+最小寻址时间)/2+(最大等待时间+最小等待时间)/2
数据传输率:单位时间内磁表面存储器向主机传输数据的位数或字节数,与记录密度和磁盘转动速度有关
误码率:从磁盘中读取N位数据时有M位出错,则误码率为M/N
指令组成
指令由操作码和地址码组成,告诉计算机用户要做什么,对谁操作
指令分类
零地址指令:只给出操作码字段,没有地址码字段,如不需要操作数的指令和堆栈计算机中的零地址运算类指令
一地址指令:地址按字段只有一个,如只有目的操作数的单操作数指令和隐含约定目的地址的双操作数指令
二地址指令:(A)op(B) A为源操作数地址,B为目的操作数地址 访存2次
三地址指令:(A)op(B)->©,AB为源操作数地址,C为目的操作数地址 访存3次
四地址指令:(A)op(B)->©,D=下一条将要执行的指令的地址。访存次数:取指令1+取操作数2+存放结果1=4
指令寻址
顺序寻址:通过程序计数器PC加1,自动形成下一条指令的地址
跳跃寻址:通过转移类指令直接或间接给出下一条指令的地址
数据寻址
隐含寻址:操作数地址不明确给出,隐含在指令中
立即寻址:给出的不是操作数的地址而是操作数本身
直接寻址:直接给出操作数的真实地址
间接寻址:给出操作数有效地址所在存储单元的地址
寄存器寻址:直接给出操作数所在寄存器编号
寄存器间接寻址:给出存有操作数所在主存单元的地址的寄存器编号
相对寻址:程序计数器PC内容加上指令中的形式地址
基址寻址:基址寄存器中的内容加上指令格式中的形式地址
变址寻址:将变址寄存器内容加上指令格式中的形式地址
堆栈寻址:从规定的堆栈中取出操作数
流水线技术
是一种显著提高指令执行速度与效率的技术,将一条指令的解释过程进一步细分为取指、译码、访存、执行和写回五个子过程,指令取指之后,不等该指令完成即可取下一条指令,这种操作可以达成五个部件同时对五条指令的子过程进行操作。
CISC和RISC
CISC:指令数目多,字长不固定,寻址方式多,寄存器数量少,一般微微程序控制
RISC:指令数目少,字长固定,寻址方式少,存储器数量多,一般为组合逻辑控制,采用流水线技术
RISC更能提高计算机的计算速度,便于设计可降低成本,能有效支持高级语言
CPU的基本构成
运算器:对数据进行加工和处理
控制器:发出每条指令对应的操作序列对计算机进行控制
CPU中的主要寄存器
运算器中:暂存寄存器、累加寄存器、通用寄存器组、状态条件寄存器
控制器中:程序计数器、指令寄存器、存储器数据寄存器、存储器地址寄存器
CPU的功能
指令控制:完成程序的顺序控制,完成取指令、分析指令和执行指令的操作
操作控制:管理并产生有内存取出的每条指令的操作信号
时间控制:为每条指令按时间顺序提供应有的控制信号
数据加工:对数据进行算术和逻辑运算
中断处理:对计算机运行过程中出现的异常情况和特殊请求进行处理
指令周期
CPU完成一条指令的时间
取指周期:根据PC中的内容取出指令代码并存放在IR中
间址周期:取操作数有效地址所需的时间
执行周期:根据指令字的操作码和操作数执行相应的操作
中断周期:处理中断请求
指令执行方案
单指令周期:对所有指令都选用相同的执行时间来完成
多指令周期:对不同类的指令选用不同的执行步骤来完成
流水线方案:指令之间可以并行执行的方案
数据通路
数据在功能部件之间传送的路径称为数据通路,建立数据通路是为了实现CPU内部的运算器和寄存器以及寄存器之间的数据交换。数据通路分为CPU内部总线方式和专用数据通路方式。内部总线方式是指将所有寄存器的输入端和输出端都连接到一条或多条公共的通路上,专用通路方式是根据指令执行过程中的数据和地址的流动安排连接线路,避免使用共享的总线,性能高,硬件量大。
硬布线控制器
由复杂的组合逻辑门和一些触发器构成,有硬件给出控制信号
微指令控制器
将每条机器指令设计成一个微程序,由微指令给出控制信号。
总线定义
是一组能为多个部件分时共享的公共信息传送线路,由控制线、数据线和地址线组成
为什么要引入总线
简化系统结构,便于系统设计和制造,大大减少了连线的数目,便于布线,减小体积,提高系统的可靠性,便于接口设计和系统的扩充、更新和灵活配置,便于设备的软件设计,便于故障诊断和维修,降低成本。
总线仲裁
为解决多个设备同时竞争主线控制权问题,采用总线仲裁以某种方式选择一个主设备优先获得总线控制权。仲裁方式分为集中仲裁和分布仲裁。
集中仲裁
链式查询:根据线的连接顺序依次查询每个部件有无请求
计数器定时查询:对每个设备的编号用计算器依次查询
独立请求方式:在总线控制器中排队,按照一定规则批准某个请求
分布仲裁
不需要中央仲裁器,每个潜在的主模块都有自己的仲裁号和仲裁器
总线周期
申请分配阶段:主设备像总线提出使用请求
寻址阶段:通过总线发出本次要访问的从模块的地址及有关命令
传输阶段:主模块和从模块进行数据交换,可单向或双向进行数据传送
结束阶段:将主模块的相关信息从系统总线上撤出,让出总线使用权
总线通信控制
解决通信双方如何获知传输开始和传输结束
同步定时
系统采用一个统一的时钟信号来协调发送和接收双方的传送定时关系,时钟信号由CPU的总线控制器发出,送到总线上所有的部件,要求各模块速度一致
异步定时
不要求各部件速度一致,采用握手的方式,在主从模块之间增加两条应答线,当主模块发出请求信号时,一直等待从模块反馈响应信号再开始通信。异步通信的应答方式又分为不互锁方式、半互锁方式和全互锁方式。不互锁方式中主模块的请求信号和从模块的应答信号是没有制约关系的,主模块不需等待从模块的应答便可撤销请求信号,从模块默认主模块收到应答,不需等待主模块的确认就可以撤销应答信号,半互锁模式中主模块等到从模块的应答消息后才可以撤销请求信号,从模块默认主模块接收到应答,全互锁方式中主模块等到从模块的应答消息后才可以撤销请求信号,从模块也要等到方式主模块需要等待从模块的应答信号。
I/O接口和I/O端口
I/O接口是主机和外设之间传送信息的桥梁,介于主机和外设之间,每一台I/O设备都是通过I/O接口连接到系统总线上的,I/O端口是I/O接口中用于存放命令、数据和状态信息的寄存器。
I/O接口功能
选择设备、传送命令、传送数据、反映I/O设备的工作状态
I/O方式
程序查询方式:测试指令、转移指令、传送指令
程序中断方式:
DMA控制器:
【计算机组成原理汇总】
最新推荐文章于 2023-02-11 20:24:43 发布