计算机系统是由“硬件”和“软件”组成。程序员
衡量一台计算机性能的优劣是根据多项技术指标综合肯定的,既包括硬件的各类性能指标,又包括软件的各类功能。数据库
计算机系统由硬件和软件两部分组成。缓存
计算机系统性能由硬件和软件共同决定。网络
微程序机器、传统机器、操做系统机器、汇编语言机器、高级语言机器dom
微程序机器和传统机器是物理机,其余是虚拟机。异步
计算机由运算器、存储器、控制器、输入设备和输出设备五大部分组成;性能
指令和数据存储在存储器中,并能够按地址访问;学习
指令和数据均以二进制表示;编码
指令由操做码和地址码构成,操做码指明操做的性质,地址码表示操做数在存储器中的位置;spa
指令在存储器内按顺序存放,一般按自动的顺序取出执行;
机器以运算器为中心,I/O设备与存储器交换数据也要经过运算器。(后来有以存储器为中心的计算机结构)
存储单元:存储一个存储字并具备特定存储地址的存储单位;
存储字:一个存储单元中存放的全部的二进制数据,按照某个地址访问某个存储单元获取的二进制数据。
存储字长:存储字中二进制数据的位数,即按照某个地址访问某个存储单元获取的二进制数据的位数;
存储体:由多个存储单元构成的存储器件。
MAR:存储地址寄存器,保存须要访问的存储单元地址。反映存储单元的个数。
MDR:存储数据寄存器,缓存读出/写入存储单元的数据。反映存储字长。
存储器的最大容量由MAR寄存器的位数和MDR寄存器的位数决定。
机器字长:CPU一次可以处理的二进制数据的位数。
存储字长:按照某个地址访问某个存储单元获取的二进制数据的位数。
硬件
软件
系统软件
应用软件
本身下载的普通软件
机器数正0负1真值:符号位加绝对值
余三码:在8421码的基础上,把每一个编码都加上0011格雷码:任何两个相邻编码只有1个二进制位不一样,而其他3个二进制位相同
8421码
权值从高到低为八、四、二、1
算术运算时,需对运算结果进行修正。 方法:若是小于、等于(1001)2,不须要修正;不然加6修正
(1)原码表示:
X为正数时,符号位为0;X为负数时,符号位为1。
其余位置上与真值同样
0存在两种表示形式
特色:
值+0,-0的原码分别为00000、10000,形式不惟一;
正数的原码码值随着真值增加而增加,负数的原码码值随着真值增加而减小
n+1位原码表示定点整数范围-(2n-1)-----(2n-1)
n+1位原码表示定点小数范围 -(1-2-n)------(1-2-n)
运算:绝对值相加减,由数值大小决定运算结果符号
(2)反码表示:
正数的反码、补码与原码相同
负数的反码,按位取反,符号位取反
特色:
数值零的反码表示不惟一
正数反码码值随着真值增大而增大,负数反码码值随着真值增大而增大
n+1位反码所表示定点整数范围- (2n-1)-----2n-1,n+1位反码所表示定点小数范围-(1-2-n)-----1-2-n
运算:知足[X+Y]反=[X]反+[Y]反,[X-Y]反=[X]反+[-Y]反
(3)补码表示:
从X求[X]补:
X为正数时,[X]补=X
X为负数时,①按位求反(符号位不变),②末尾加1
从[X]补求X:
从[X]补求补:
特色:
数值零的补码表示惟一
正数补码码值随着真值增大而增大,负数补码码值随着真值增大而增大
n+1位补码所表示定点整数范围- 2n----2n-1,n+1位补码所表示定点小数范围-1---1-2-n
结论:
负数的补数=模+负数
互为补数的绝对值相加=模
在补数中,减法运算即加法运算
运算:[X+Y]补=[X]补+[Y]补,[X–Y]补=[X+(–Y)]补=[X]补+[–Y]补
(4)移码表示:
[X]补的符号位取反,即得[X]移
为了从码值直接判断对应真值的大小,因此引进移码
特色:
最高位是符号位,1表示正,0表示负
数据0有惟一的编码
移码码值随着真值增大而增大
n+1位移码所表示定点整数范围- 2n——2n-1, n+1位移码所表示定点小数范围-1——1-2-n
计算机中,移码经常使用于表示阶码,故只执行加、减运算
计算机中,移码运算公式须要对结果进行修正
运算:
移码定义:[X]移=2的n次方+X
补码定义:[X]补=2的n+1次方+Y
阶码求和公式
[X]移+[Y]补=[X+Y]移 mod2的n+1次方
[X]移+[-Y]补=[X-Y]移
(5)补、反、原、移码的相互转换
反码----->原码
方法:符号位不变,正数不变,负数数值部分取反。
补码----->原码
方法1:正数不变,负数数值部分求反加1。
方法2:串行转换
从最后开始数,遇到第一个“1”,除第一个“1”不变,前面数字分别取反
移码----->原码
方法:移码转换为补码,再转换为原码
(6)定点数和浮点数
定点数:
小数点固定在某个位置上的数据
32位定点小数、定点整数补码的范围
32位定点小数-1~1-2-31
32位定点整数-231~231-1
浮点数:
根据IEEE754国际标准,经常使用的浮点数有两种格式
Nmax=Mmax2的Emax
Nmin=Mmin2的Emax
单精度(32位)=8位阶码+24位尾数
双精度(64位)=11位阶码+53位尾数
为了保证数据精度,尾数一般用规格化形式表示:当R=2,且尾数值不为0时,其绝对值应大于或等于(0.5)10小数点位置能够浮动的数据。
左规
右规
计算机中存储形式
Ms+Es+E(n位)+M(m位)
阶码E,通常为整数,用补码或者移码表示;
尾数M,通常为规格化的定点小数,用补码表示;
定点原码一位乘法
两个原码数相乘,其乘积的符号为相乘两数符号的异或值,数值则为两数绝对值之积
[X·Y]原=[X]原·[Y]原=(X0⊕Y0)|(X1X2…Xn) · (Y1Y2…Yn)
定点补码一位乘法
表达式:[X·Y]补=[X]补·(-Y0+Y1·2-1+….Yn·2-n)
注意:此处为双符号位,当最后乘积高位为负数时,须要补充加上[-|x|]补的操做
加减交替法:当余数为正时,商上1,求下一位商的办法是,余数左移一位,再减去除数;当余数为负时,商上0,求下一位商的办法是,余数左移一位,再加上除数。此方法不用恢复余数,因此又叫不恢复余数法。但若最后一次上商为0而又需获得正确余数,则在这最后扔需恢复余数
(1)浮点数的加减法运算
1.对阶操做
求出△E,再对小的进行移位
2.尾数的加减运算
3.规格化操做
规则简化是符号位和数值最高位不一样,即00.1xxxx或11.0xxxx
4.舍入
超出表示范围的高位为1舍入
5.检查阶码是否溢出
(2)浮点数的乘除法运算
1.浮点数阶码运算(移码)
[X+Y]移=[X]移+[Y]补
[X–Y]移=[X]移+[–Y]补
2.按照一位乘或加减交替除运算
先肯定符号,在列式子计算
ABC寄存器做业
定点运算部件
浮点运算部件
由阶码运算部件和尾数运算部件组成
码距:
任意两个合法码之间不相同的二进制位数的最小值
要具备差错能力,则码距>1
合理增大码距,就能提升发现错误的能力
鉴定方法:
有无差错能力
是否能合理增大码距
(1)奇偶校验码
能发现数据代码中一位或奇数个位出错状况的编码
实现原理是使码距由1增长到2
步骤1:在字节高位补充一位,即校验位
步骤2:依据图3.10电路造成原始数据D8…D1的校验位值
步骤3:将9位数据写入主存
步骤4:读出该数据时,读取数据D8…D1经过图3.10断定合法性
结论:
(1)奇偶校验码只能发现一位或奇位错,且不能肯定出错位置
(2)奇偶校验码的码距=2
(2)海明校验码
海明码位号和校验位位号的关系
Pi的位置在2的i-1次方,可是除了最高位
海明码码距为4
纠一位错,查一位错
2∧r≥k+r+1
纠一位错,查两位错
2∧(r–1)≥k+r
(3)循环冗余校验码(CRC)
CRC码能够发现并纠正信息存储或传送过程当中连续出现的多位错误
CRC码通常是指k位信息码以后拼接r位校验码
模2运算
模2加减
模2乘除
异或逻辑
CRC的译码与纠错
更换不一样的待测码字能够证实:余数与出错位的对应关系是不变,只与码制和生成多项式有关
图
计算机对存储器的要求是:一要存取速度快,二要存储容量大。
存储器按构造分为磁心存储器、半导体存储器、磁盘、磁带等多种,按与中央处理机的关系可分为内存储器和外存储器两类。
1)能够分为随机存储器、只读存储器、顺序存储器和直接存储器;
2)随机存储器和只读存储器属于随机存储器,即存取时间与物理地址无关;
3)顺序存储器(典型的如磁带)和直接存储器(典型的如磁盘)属于串行存储器,即存取时间与物理地址有关。
1)速度、容量、位价格。
2)寄存器速度最快,主存最便宜
1)缓存-主存层次:用来缓解CPU和主存速度不匹配的问题,由硬件来完成,对全部的程序员彻底透明。
2)主存-辅存层次:用来解决主存容量不够的问题,由操做系统和硬件共同完成,对应用程序设计者透明,对系统程序设计者不透明。
主存容量
64×8等等
计算机可寻址的最小信息单元是一个存储字
主存储器存储单元的总数
存取速度:由存储器存取时间和存储周期表示
存储器存取时间:启动一次存储器操做(读/写)到完成该操做所经历的时间
存储周期:连续启动两次独立的存储器操做所间隔的最小时间
CPU经过使用AR(地址寄存器)和DR(数据寄存器)和主存进行数据传送
若AR为K位字长,DR为n位字长,则容许主存包含2∧k个可寻址单元
CPU与主存采起异步工做方式,以ready信号表示一次访存操做的结束
随机存储器(RAM)按存储元件在运行中可否长时间保存信息分为静态存储器和动态存储器
静态存储器,利用触发器保存信息,只要不断电,信息就不会丢失
电路简图
MOS静态存储结构图
动态存储器,利用MOS电容存储电荷来保存信息,须要不断给电容充电才能使信息来保存信息
电路简图
16K×1位动态存储器框图
再生
集中式
分散式
时间小于或等于2ms
行读出再生
RAM(random access memory)即随机存储内存,可读可写,断电时将丢失其存储内容,故主要用于存储短期使用的程序。
ROM(Read-Only Memory)即只读内存,只能读不能写,在掉电的状况下,依然保存原有的数据。
存储器容量扩展
位扩展:用多个存储器芯片对字长进行扩充
字扩展:增长存储器中字的数量,提升存储器的寻址范围
字位扩展,假设一个存储器的容量为M×N位,若使用L×K位存储器芯片,那么,这个存储器共须要(M/L)×(N/K)个存储器芯片
提升访存速度的方式
采用高速器件
采用层次结构
调整主存结构
计算机中大容量的主存可由多个存储体组成,每一个存储体都具备本身的读写线路,地址寄存器和数据寄存器,称为"存储模块"。这种多模块存储器能够实现重叠与交叉存取
第i个模块M的地址编号应按下式给出:M×j+i
连续地址分布在相邻的不一样模块内,而同一模块内的地址都是不连续的
1)采用高速元器件;
2)采用存储层次结构:cache-主存结构;
3)调整主存结构:包括单体多字,多体并行两种方式。
20世纪70年代末人们提出了便于VLSI实现的精简指令系统计算机,简称RISC,同时将指令系统愈来愈复杂的计算机称为复杂指令系统计算机,简称CISC。
(1)结构(操做码+地址码)
操做码
操做数的地址
操做结果的存储地址
下一条指令的地址
(2)地址码
零地址指令
一地址指令
寻址范围 224 = 16 M
2次访存
二地址指令
寻址范围 212 = 4 K
4 次访存
三地址指令
多地址指令
寻址范围 26 = 64
4 次访存
(3)指令字长
取决因素
操做码的长度
操做数地址的长度
操做数地址的个数
指令字长 固定
指令字长 可变
对准边界存放
不连续存放数据
按字节编址
a.半字地址最低位恒为0
b.字地址最低两位恒为0
c.双字地址的最低三位恒为0
减小访存次数,浪费存储空间
不 对 准 边 界 存 放
连续存放数据
节约存储器空间,但增长访存次数,对多字节数据存在调整高 低字节位置的问题
(4)寻址方式
①分类:
当即寻址:执行速度快,不能被修改,当即数大小受长度限制,灵活性较差。
寄存器间接寻址:又快又灵活,被普遍使用。
直接寻址:不须要作寻址运算,简单直观,受地址码字长限制。
间接寻址:灵活,能扩大寻址范围,速度慢。
变址寻址:修改地址方便,无需修改指令,只需修改地址便可。
基址寻址:大型计算机采用的一种技术,将用户的逻辑地址转换为主存的物理地址。
②指令系统类型:
CISC(复杂):数量多,使用频率差异大,可变长格式;适用于小型机。
RISC(简单):数量少,使用频率接近,定长格式;适用于大型机。
(5)指令操做码的扩展技术
指令操做码的长度决定了指令系统中完成不一样操做的指令数
若某机器的操做码长度固定为K位,则它最多只能有2^K条不一样指令
固定格式
优势:对于简化硬件设计,减小指令译码时间很是有利
缺点:指令少,浪费地址
可变格式(分散地放在字的不一样字段)
优势:指令多,缩短指令平均长度,减小程序总位数,增长指令字所能表示的操做信息
缺点:译码复杂,控制器的设计难度增大
拓展方法的一个重要原则
指令系统的兼容性
保持系统向上兼容
加电----->产生reset信号----->执行程序----->停机----->停电
产生reset信号的任务
任务一:使计算机处于初始状态
任务二:从PC中取出指令地址
控制器做用是协调并控制计算机各部件执行程序的指令序列
(1)控制器的功能
取指令
分析指令
(1)对操做码译码产生操做相应部件的控制信号
(2)根据寻址方式造成操做数地址
执行指令
(1)根据分析指令后产生控制信号、操做数地址信号序列,经过CPU及输入输出设备的执行实现每条指令的功能
(2)结果回送存储器
(3)造成下条指令的地址
控制程序和数据的输入和结果输出
对异常状况和某些请求的处理
异常状况的处理:例如算术运算的溢出、数据传送奇偶错
某些请求的处理
“中断请求”信号
DMA请求信号
(2)控制器的组成
程序计数器(PC):即地址寄存器,用来存放当前正在执行的指令地址或即将要执行的下一条指令地址
指令寄存器(IR):用以存放当前正在执行的指令,以便在指令执行过程当中控制完成一条指令的所有功能
指令译码器或操做码译码器:对指令寄存器中的操做码进行分析解释,产生相应的控制信号
脉冲源及启停线路:脉冲源参数必定评率的脉冲做为整个机器的时钟脉冲,是机器周期和工做脉冲的基准信号,在机器刚加电时,还应产生一个总清信号(reset)
时序控制信号造成部件
当程序启动后,在CLK时钟做用下,根据当前正在执行的指令的须要,产生相应的时序控制信号,并根据被控制功能部件的反馈信号调整时序控制信号
控制存储器
微指令寄存器
控制字段+下址
周期概念
指令周期:完成一条指令所需的时间,包括取指令、分析指令、执行指令
机器周期:也称为CPU周期,是CPU从内存中读取一个指令的时间,一般等于取指周期
时钟周期:称为节拍脉冲或T周期,是基准脉冲信号
三条假设
程序是存放在主存中的,当执行完一条指令后才从主存中取下一条指令(非流水线)
指令的长度是固定的,并限制了寻址方式的多样化
在程序运行前,程序和数据都已存在主存中
(3)指令执行过程(运算器和控制器配合)
组成控制器的基本电路
具备记忆功能的触发器以及由它组成的寄存器,计数器和存储单元
没有记忆功能的门电路及由它组成的加法器,算术逻辑运算单元(ALU)和各类逻辑电路
控制器的功能就是按每一条指令的要求产生所需的控制信号
产生控制信号的方法
微程序控制
硬布线控制
(1)基本概念
微指令
微命令
微程序
控制存储器
微程序通常是存放在专门的存储器中的,因为该存储器主要存放控制命令(信号)与下一条执行的微指令地址(简称下址)
存储单元内容
(1)微指令的控制信号——控制位
(2)下条微指令的地址——下址字段
存储芯片:ROM
执行一条指令实际上就是执行一段存放在控制存储器中的微程序
(2)实现微程序控制的基本原理
控制信号(23条)
书上P123页为加法的过程
微指令格式:控制字段+下址字段
23个控制位,12个下址位——>容量为4K
取址微指令的操做对全部指令都是相同的,因此是一条公用的微指令,其下址由操做码译码产生
(3)微程序控制器
时序信号及工做脉冲的造成
停机和停电的区别
停机
电压:稳定
存放内容:保持
重启PC内容:断点指令地址
停电
电压:消失
存放内容:RAM的内容消失
重启PC内容:第一条指令地址
(1)如何缩短微指令字长
①直接控制法(容量过小)
编译方法:每一位表明一个控制信号,直接送往相应的控制点
优势:控制简单
缺点:微指令字长过大
②字段直接编译法
选出互斥的微指令
每一个字段都要留出一个代码,表示本段不发出任何指令(000)
优势:节省微指令的字长
缺点:增长了额外的硬件开销
③字段间接编译法
指令之间相互联系的状况
举例:A为0-7,B为0-3,若是是直接编译——3+2=5,若是是间接编译——3+1=4
编码方法:在字段直接编译法中,译码输出端要兼由另外一字段中的某些微命令配合解释
优势:减小了微指令长度
缺点:可能削弱微指令的并行控制能力,同时增长硬件开销
④常熟源字段E(了解)
(2)如何减小微指令长度
①现行微指令/微地址
现行微指令:当前正在执行的指令
现行微地址:存放现行微指令的控制器存储单元
②后继微指令/微地址
后继微指令:下一条要执行的微指令
后继微地址:存放后继微指令的控制器存储单元
③增量与下址字段结合产生后继微指令的方法
下址字段分红:转移控制字段BCF和转移地址字段BAF
BCF:控制微程序的转移状况
BAF:转移后的微指令所在地址
BAF有两种状况
与uPC的位数相等——转移灵活,但增长微指令长度
比uPC短——转移地址收到限制,但可缩短微指令长度
优势
微指令的下址字段很短,仅用于选择输入uPC计数器的某条线路有效
缺点
微程序转移不灵活,使得微程序在控存中的物理空间分配有困难
④多路转移方式
一条微指令存在多个转移分支的状况称为多路转移
⑤微中断
1.微中断请求信号是由程序中断请求信号引发的
2.在完成现行指令的微程序后响应该微中断请求
3.由硬件产生对应微中断处理程序在控存中的入口地址
(3)如何提升微程序的执行速度
①微指令格式
水平型微指令:直接控制,字段编译(直接、间接)
特色:在一条微指令中定义并并行执行多个微命令
垂直型微指令:采用微操做码编译法,由操做码规定微指令的功能
特色:不强调实现微指令的并行控制功能
②微程序控制存储器
通常采用ROM存储器
也可采用RAM,为防止断电后内容消失,则必须开机后将外存中存放的微程序调入控存RAM,而后才能执行程序。
当前为了能不断扩展指令系统,一般采用ROM+RAM
③动态微程序设计
定义:能根据用户要求改变微程序
优势:是计算机能更灵活、有效的适应于各类不一样的应用目标
④控制存储器的操做(P136)
串行方式
并行方式——比串行多了微指令寄存器
微周期=max(取微指令时间,执行微指令时间)
因为取微指令、执行微指令同时进行,故对于某些后继微地址的产生根据处理结果而定的微指令,则延迟一个微周期再取微指令
(1)结论
每条指令的执行时间不变
每条指令处理结果的时间缩短
流水线处理速率最高时=流水线处于满载的稳定状态
流水线处理速率最低时=流水线未满载状态
为了知足在重叠时间段不一样指令的机器周期可以完成指定的操做,将时间段=操做完成的最长时间
为了保证一个周期内流水线的输入信号不变,相邻时间段之间必须设置锁存器或寄存器
除了指令执行流水线,还有运算操做流水线
(2)相关问题
流水线阻塞
数据相关产生
假设第二条指令须要的操做数是第一条指令运算的结果,那么出现了数据相关
指令执行时间不一样产生
程序转移的影响
异常状况响应中断
(3)流水线计算公式
公式:Nt+(K-1)t (N表示段,K表示多少指令,t表示时间)
cache->主存->辅存
cache:提升CPU数据输入输出的速度
①cache的工做原理
局部性原理
主存地址和cache地址
块长:块长通常取一个主存周期所能调出的信息长度(通常为16个字)
cache的容量和块的大小是影响cache的效率的重要因素
命中率:CPU所要访问的信息是否在cache中的比率,而将所要访问的信息不在cache中的比率称为失败率
一致性策略
标志交换方式(写回法)
经过式写入(写通法)
写操做直接对主存进行,而不写入cache
cache的存取时间:平均存取时间=h*tc+(1-h)(tc+tm)
最好替换策略:按照被替换的字块是下一段时间最少使用的,由替换部件实现
②cache组织
地址映像
直接映像
cache中许多空的位置被浪费
主存地址:主存字块标记+cache字块地址+字块内地址
存储管理部件(MMU)
现代计算机通常都有辅助存储器,但具备辅存的存储系统不必定是虚拟存储系统
虚拟存储系统的特色
容许用户程序用比主存大的多的空间来访问主存
每次访存都要进行虚实地址的转换
半导体存储器可随机访问任一单元,而辅助存储器通常为串行访问存储器。
磁表面存储器
数字式磁记录
模拟式磁记录
录音、录像设备
光存储器
光盘
顺序存取存储器
直接存取存储器
存储密度
定义:单位长度或单位面积磁层表面磁层所存储的二进制信息量
道密度:沿磁盘半径方向单位长度的磁道数称为道密度,单位为道/英寸tpi或道/毫米tpmm
位密度或线密度:单位长度磁道所能记录二进制信息的位数叫位密度或线密度,单位为位/英寸bpi或位/毫米bpmm
每一个磁道所存储的信息量是同样的
存储容量:C = n × k × s
寻址时间:平均寻址时间Ta=平均找道时间Ts+平均等待时间Tw
辅存的速度
寻址时间
磁头读写时间
数据传输率:Dr = D × V
误码率
价格
固定磁头和移动磁头
可换盘和固定盘
温彻斯特磁盘简称温盘
磁盘存储器由驱动器(HDD),控制器(HDC)和盘片组成
最外面的同心圆叫0磁道,最里面的同心圆假设称为n磁道
驱动器的定位驱动系统实现快速精准的磁头定位
主轴系统的做用是带动盘片按额定转速稳定旋转
数据控制系统的做用是控制数据的写入和读出,包括寻址,磁头旋转,写电流控制,读出放大,数据分离
磁盘控制器有两个方向的接口
与主机的接口
与驱动器(设备)的接口
采用光存储技术
利用激光写入和读出
第一代光存储技术
第二代光存储技术
采用磁性介质
可擦写
光盘的存储原理
只读型和只写一次型
可擦写光盘
热磁效应
实现主机和外部设备之间的数据传送
实现数据缓冲,以达到主机同外部设备之间的速度匹配
接受主机的命令,提供设备接口的设备,并按照主机的命令控制设备
统一编址:用取数、存数指令
不统一编址:有专门的 I/O 指令
①辐射式链接
每台设备都配有一套
控制线路和一组信号线
不便于增删设备
②总线链接
便于增删设备
(1) 保护现场
(2) 中断服务
(3) 恢复现场
(4) 中断返回
中断返回指令
单重 中断
多重 中断
容许级别更高 的中断源
中断 现行的 中断服务程序
主存和 I/O 之间有一条直接数据通道
CPU 和 I/O 并行工做
DMA 的三种工做方式
(1) CPU暂停方式
(2) CPU周期窃取方式
(3)直接访问存储器
DMA 接口功能
(1) 向 CPU 申请 DMA 传送
(2) 处理总线 控制权的转交
(3) 管理 系统总线、控制 数据传送
(4) 肯定 数据传送的 首地址和长度,修正 传送过程当中的数据地址和长度
(5) DMA 传送结束时,给出操做完成信号
DMA 传送过程
预处理、数据传送、后处理
注:本文整理于网络及课后笔记,供你们学习参考。