导图社区 计算机组成原理
考研党的福利来啦!计算机的知识十分复杂,下图从 计算机系统概论 、运算方法和运算器 、 多层次的存储器 等方面对计算机组成原理的知识进行详细的概括与总结,条理清晰,抓得住重点知识,考研轻松上岸!
编辑于2020-01-30 03:38:48计算机组成原理
计算机系统概论
计算机的分类
电子模拟计算器
跟计算机相似,来模拟计算的装置,如电表。。。
数字计算机
专用计算机
通用计算机
分为六类: 超级计算机,大型机,服务器,PC机,单片机,多核机,六类
划分
根据计算机的效率,速度价格,运行的经济性,和适应性来划分 通用:都可用 专用:只能在具体的环境中如嵌入在冰箱里的计算机
区别
数字计算机:用0/1,数字计数,程序控制,精度高,储存量大,逻辑判断能力强 模拟计算机:电压, 计算方式:电压组合和测量值, 控制方式:盘上连线 精度:低,储存小,,无逻辑判断
计算机的发展简史
计算机的五代变化
第一代:电子管计算机 第二代:晶体管计算机 第三代:中小规模集成电路计算机 第四代:大规模和超大规模集成电路计算机 第五代:巨大规模集成电路计算机
半导体存储器的发展
微处理器的发展
计算机的性能指标
计算机的硬件
硬件组成要素
运算器
功能:进行加减乘除等算数运算
存储器
保存或记忆解题的原始数据和解题步骤
控制器
是发号施令的部件,通过从内存中取出解题步骤,分析然后进行执行操作
适配器与输入输出设备
计算机的软件
软件的组成与分类
系统程序
应用程序
软件的发展演变
从手编程序-》汇编程序-》源程序
计算机系统的层次结构
多级组成的计算机系统
软件与硬件的逻辑等价性
运算方法和运算器
数据与文字的表示方法
数据格式
定点数的表示方法
浮点数的表示方法
十进制数串的表示方法
数的机器码表示
原码表示
反码表示
移码表示
原码反码补码的转换
首先,正数的原码,反码,补码都是相同的。 所以,这里讨论负数的原码,反码,补码的相互转化问题。 1. 负数原码和反码的相互转化 负数原码转化为反码:符号位不变,数值位按位取反。 如: 原码 1100 0010 反码 1011 1101 负数反码转化为原码:符号位不变,数值位按位取反。 反码 1011 1101 原码 1100 0010 2. 负数原码和补码的相互转化 负数原码转化为补码:符号位不变,数值位按位取反,末尾加一。 原码 1100 0010 反码 1011 1101 //符号位不变,数值位按位取反 补码 1011 1110 //末尾加1 负数补码转化为原码:符号位不变,数值位按位取反,末尾加1。 补码 1011 1110 1100 0001 //符号位不变,数值位按位取反 原码 1100 0010 //末尾加1 3.负数反码和补码的相互转化 负数反码转化为补码:末尾加1。 反码 1011 1101 补码 1011 1110 负数补码转化为反码:末尾减1(注意,此处的反码是指原码的反码)。 补码 1011 1110 原码的反码 1011 1101 //减法 借位 4.总结 正数的原码、反码和补码都相同。 负数原码和反码的相互转换:符号位不变,数值位按位取反。 负数原码和补码的相互转换:符号位不变,数值位按位取反,末位再加1。
字符与字符串的表示方法
用ASCII编码字符和字符串:有128个元素,编码7位加上一个奇偶校验位
汉字的表示方法
校验码
为了防止元件故障,噪声等,引入奇偶校验码 在有效信息位的后面增加冗余位,使得它具有检错纠错的能力。
奇偶校验
不带奇偶校验的内存每个字节只有8位,如果其某一位存储了错误的值,就会导致其存储的相应数据发生变化,进而导致应用程序发生错误。而奇偶校验就是在每一字节(8位)之外又增加了一位作为错误检测位
CRC校验及实现
CRC校验的基本原理:奇偶校验码和海明校验码都是采用奇偶检测为手段检错和纠错的(奇偶校验码不具有纠错能力),而循环冗余校验则是通过某种数学运算来建立数据位和校验位的约定关系的 模2运算 crc的编码方法
海明校验及实现
海明校验:目前还被广泛采用的一种很有效的校验方法,是只要增加少数几个校验位,就能检测出二位同时出错、亦能检测出一位出错并能自动恢复该出错位的正确值的有效手段,后者被称为自动纠错 原理:是在k个数据位之外加上r个校验位,从而形成一个k+r位的新的码字,使新的码字的码距比较均匀地拉大。把数据的每一个二进制位分配在几个不同的偶校验位的组合中,当某一位出错后,就会引起相关的几个校验位的值发生变化,这不但可以发现出错,还能指出是哪一位出错,为进一步自动纠错提供了依据。
定点数的加法,减法运算
补码加法
例如: x=+10010 y= -10101 求x+y 步骤: 1。找x,y的补码 2.补码相加 3.再次进行求补码 x补码= 010010 y 补码=101011 x补码+y 补码=111101 x+y=-00011
补码减法
[x补-y补】=x补-y补=x补+【-y补] y的补码-》-y的补码的方法: 从右向左扫描,遇到1之前的直接输出,之后的取反输出,就可以的到-y补了 例如,y补=10011 -y补=01101
溢出概念与检测方法
概念
结果超出了数据类型的表示范围
检测方法
方法1
对操作数和运算结果的符号位进行检测 当结果的符号位与操作数的符号不相同时,就说明发生了溢出
方法2
对最高数据进位和符号进位进行检测
方法3
变形补码 采用双符号位,进行补码运算后,如果两个值不一样,就说明发生了溢出。
基本的二进制加法/减法器
定点乘法运算
原码并行乘法
人工算法与机器算法的同异性
刚开始机器的乘法是通过“加法,移位”来实现的:方法是符号位异或运算,数值位相乘。
不带符号的阵列乘法器
n×n 位运算的不带符号阵列乘法器需要__________个全加器和__________与 门。P33 需要n(n-1)由于最后一位结果运算不需要全加器 需要n*n个与门来实现。
直接补码并行乘法
补码与真值的转换公式
一般化的全加器形式
直接补码阵列乘法器
定点除法运算
原码除法算法原理
并行除法器
可控加法/减法CAS单元
不恢复余数的阵列除法器
定点运算器的组成
逻辑运算
逻辑非运算
逻辑加运算
逻辑乘运算
逻辑异运算
多功能算术/逻辑运算单元(alu)
基本思想
逻辑表达式
算术逻辑运算的实现
两极先行进位的alu
内部总线
定点运算器的基本结构
单总线结构的运算器
双总线结构的运算器
三总线结构的运算器
浮点运算方法和浮点运算器
浮点数的表示
基本格式
规格化
规定尾数的最高数位必须是一个有效值
表示范围
IEEE754标准
浮点数加法,减法运算
浮点数加减法
1.运算步骤 假设浮点数的阶码和尾数均用补码表示,在浮点加减运算时,为便于浮点数尾数的规格化处理和浮点数的溢出判断,阶码和尾数均采用双符号位表示。 ①对阶,小阶向大阶对齐 两个浮点数进行加减运算时,首先要使两个数的阶码相同,即小数点的位置对齐。若两个数的阶码相同,表示小数点的位置是对齐的,就可以对尾数进行加减运算。反之,若两个数的阶码不相同,表示小数点的位置没有对齐,此时必须使两个数的阶码相同,这个过程称为对阶。 要对阶,首先应求出两个浮点数的阶码之差,即 ΔE=[Ex]补-[Ey]补=[Ex]补+[-Ey]补 若ΔE=0,表示两个浮点数的阶码相等,即[Ex]补=[Ey]补;若ΔE>0,表示 [Ex]补>[Ey]补;若ΔE<0,表示[Ex]补<[Ey]补。 当ΔE≠0时,要通过浮点数尾数的算术左移或算术右移来改变阶码,使两个浮点数的阶码相等。理论上讲,既可以通过移位[Mx]补以改变[Ex]补来达到[Ex]补=[Ey]补,也可以通过移位[My]补以改变[Ey]补来达到[Ex]补=[Ey]补。但是,由于浮点数的尾数在算术左移的过程会改变尾数的符号位,同时,尾数在算术左移的过程中还会使尾数的高位数据丢失,造成运算结果错误。因此,在对阶时规定使小阶向大阶看齐,通过小阶的尾数算术右移以改变阶码来达到[Ex]补=[Ey]补,尾数每右移一位,阶码加1,其数值保持不变,直到两个浮点数的阶码相等,右移的次数等于ΔE的绝对值。 ②尾数进行加法或减法运算 对阶结束后,即可对浮点数的尾数进行加法或减法运算。不论是加法运算还是减法运算,都按加法进行操作,其方法与定点加减运算完全一样。 ③结果规格化并进行舍入处理 根据规格化浮点数的定义,当尾数用二进制补码表示时,规格化浮点数的尾数形式为00.1××…××或11.0××…××。若浮点数的尾数不是这两种形式,则称之为非规格化浮点数,需进行浮点数的规格化。 若浮点数的尾数形式为00.0××…××或11.1××…××,应利用向左规格化使其变为规格化浮点数,尾数每算术左移1位,阶码减1,直到浮点数的尾数变成规格化形式。 若浮点数的尾数形式为01.××…××或10.××…××,表示尾数求和的结果发生溢出,应利用向右规格化使其变为规格化浮点数,尾数算术右移1位,阶码加1,此时浮点数的尾数就变成了规格化形式。 在对阶或向右规格化时,尾数都要进行算术右移操作,为了保证运算结果的精度,运算过程中需保留右移中移出的若干位数据,称为保护位。在运算结果进行规格化后再按照某种规则进行舍入处理以去除这些数据。舍入处理就是消除保护位数据并按照某种规则调整剩下的部分,舍入处理总要影响到数据的精度。舍入处理的方法通常选用“0舍1入”法。 ④判断溢出 浮点数尾数的溢出可通过规格化进行处理,而浮点数运算结果的溢出则根据运算结果中浮点数的阶码来确定。若阶码未发生溢出,则表示运算结果未发生溢出;若阶码溢出,则需进行溢出处理。 若阶码用双符号位补码表示,判断溢出的方法为:若阶码的双符号位相同,表示结果未发生溢出;若阶码的双符号位不相同,表示结果发生溢出。
例子
[例1]设两浮点数x=2(001)×(0.1101),y=2(011)×(-0.1010),在浮点数的表示格式中阶码占3位,尾数占4位(都不包括符号位)。阶码和尾数均采用含双符号位的补码表示,运算结果的尾数取单字长(含符号位共5位),舍入规则用“0舍1入”法,用浮点运算方法计算x+y、x-y。 解:[x]浮=00001,00.1101 [y]浮=00011,11.0110 ①对阶,小阶向大阶对齐 ΔE=[Ex]补-[Ey]补=[Ex]补+[-Ey]补=00001+11101=11110 x的尾数[Mx]补右移2位,阶码[Ex]补加2 [x]浮=00011,00.0011(01) 其中(01)表示[Mx]补右移2位后移出的最低两位数。 ②尾数进行加法、减法运算 即[x+y]浮=00011,11.1001(01) [x-y]浮=00011,00.1101(01) ③结果规格化并进行舍入处理 和的尾数左移1位,阶码减1,采用“0舍1入”法进行舍入处理后,得 [x+y]浮=00010,11.0011 差已为规格化浮点数,采用“0舍1入”法进行舍入处理后,得 [x-y]浮=00011,00.1101 ④判断溢出 和、差的阶码的双符号位均相同,故和、差均无溢出。 所以x+y=2010×(-0.1101) x-y=2011×(0.1101) 参考https://blog.csdn.net/xingqingly/article/details/18981671
浮点数乘法除法运算
浮点乘法除法运算规则
浮点乘法除法运算步骤
浮点数流水线
流水线原理
流水线浮点加法器
浮点运算器实例
cpu之外的浮点运算器
cpu之内的浮点运算器
多层次的存储器
存储器概述
存储器的分类
存储器的分级
存储系统分级结构:高速缓存cashe、主存、辅存。主存—辅存层 次: 主要解决容量问题。cache--主存层次: 主要解决速度问题。
主存储器的技术指标
存储器存储容量与地址、数据线个数有关: 芯片的存储容量=存储单元数×存储单元的位数=2 M×N M:芯片的地址线根数,N:芯片的数据线根数
SRAM存储器
基本的静态存储元阵列
基本的SRAM逻辑结构
读/写周期波图形
DRAM存储器
DRAM存储元的记忆原理
DRAM芯片的逻辑结构
读/写周期,刷新周期
集中刷新
集中刷新:指在规定的一个刷新周期内,对所有存储单元集中一段时间逐行进行刷新。
分散刷新
分散刷新:指对每行存储单元的刷新分散到每个存取周期内完成。
异步刷新
指不规定一个固定的刷新周期,将每一行分来来看,只要在2ms内对这一行刷新一遍就行。
存储容量的扩充
字长位数扩展
字存储容量扩展
存储器模块条
高级的DRAM结构
DRAM读/写的正确性校验
只读存储器和闪存存储器
只读存储器ROM
掩模ROM
可编程ROM
FLASH存储器
FLASH储存元
FLASH存储器的基本操作
FLASH存储器的阵列结构
并行存储器
双端口存储器
多模块交叉存储器
cache存储器
cache基本原理
在一段时间内,对局部范围内的存储器频繁访问,而对其它区域很少访问的现象称为程序访问的局部性。 大量典型程序运行情况分析结果表明,程序访问具有局部性。 根据程序访问的局部性特点,如果在主存和CPU之间设置一高速容量较小的存储器,将当前正在执行的程序和数据放在其中,将会大大提高整个程序运行的速度。这个高速小容量存储器就是cache。
主存于cache的地址映射
主存地址按某种规律(函数)映象到cache中。 cache保存的只是主存内容的一部分。为了在cache中能够寻找相应地址的主存内容,cache中必须设置标志以说明存放内容是主存的哪些块。
全相联映射
全相联映射方式:主存中的每一个块映射到cache中的任何一个行中。需在cache的一行中增加标记部分,存放该行内容的主存块的块号。 全相联映射方式的检索过程(P95图3.33b) :CPU发出内存地址的块号部分(s位)与cache中所有行中的标记部分同时比较,若某行的标记与要访问的块号相同,命中,则再根据块内地址(b位)从该行中读取相应字;否则,未命中,则按内存地址从主存中读取一个字。 优点:灵活,cache可以得到充分利用。但当行数较多时要实现所有行中的标记部分同时参与比较,电路实现困难。 全相联映射方式一般用于小容量cache。
直接映射方式
直接映射方式:一个主存块只能复制到cache的一个特定行中。如设cache中有m行,则主存的第0块,第m块,第2m块,…,第2S-m块只能映射到cache的第0行,主存的第1块,第m+1块,第2m+1块,…,第2S-m+1块只能映射到cache的第1行。  主存的地址: s-r 位 r位 b位 标记 | 行号 |块内地址 检索过程:根据地址中的r位行号找到cache的相应行,然后将该行中所存的标记部分与内存地址的高s-r位比较,判断是否命中。 特点:硬件实现简单,成本低。但每个主存块只有一个固定的行可以存放。当cache的行数较少时发生冲突的可能性很大,频繁的置换会使cache的效率下降。 直接映射方式一般用于大容量的cache中。
组相连映射
组相联映射方式:是全相联映射方式和直接映射方式的折衷方案。即:将cache的2r(m个)行分成2d组,每组有2r-d行,那么主存的第0块,第m块,第2m块,…,第2S-m块可以映射到cache的第0组中的任意行,主存的第1块,第m+1块,第2m+1块,…,第2S-m+1块只能映射到cache的第1组的任意行。也即组间直接映射,组内全相联映射。 主存的地址划分: s-d位 d位 b位 标记 | 组号 | 块内地址 检索过程:根据地址中的d位组号找到cache的相应组,然后将该组中所有行的标记部分与内存地址的高s-d位同时比较,判断是否命中。 特点:组内有一定的灵活性,而且因组内行数的减少,比较的硬件电路比全相联方式简单些。 组相联映射的每组的行数v一般取值较小,典型值为2,4,8,16。为强调比较器的规模和存放的灵活性,常称组相联为v路组相联
替换策略
最不经常使用(LFU)算法
LFU算法:又称最不经常使用算法。一定时间内不经常使用的被替换。 实现方法:将每行设置一个计数器。新行建立后从0开始,每访问一次被访问行的计数器加1。替换时将计数值最小的行换出,同时将这些特定行(全相联是所有行,组相联是组内各行)的计数值清零。 特点:计数周期限定在对这些特定行的两次替换之间的间隔内,因此不能严格反映近期访问情况。
近期最少使用(LRU)算法
LRU算法:近期最少使用算法。 每行也设置一个计数器,但它是在cache命中时,将被访问行计数器清零,其他行计数器加1。当需要替换时,将特定行中计数值最大的换出。这样保护了刚拷贝到cache中的新数据,提高命中率。 对于两路组相联来说,替换只能是组内两行选其一,因此不需要设置计数器,只需要一个状态位。规定A行拷入新数据将状态位置1,B行拷入置0。当需要替换时,检查状态位,为0替换A,为1替换B,很简单。奔腾CPU内的2路cache就采用这种算法。
随机替换
从特定行中随机选取一个行进行替换。 硬件容易实现,且速度比前两种快;但可能降低cache的命中率和工作效率。 研究表明,随着cache容量增大随机替换的功效只是稍逊于前两种策略。
cache的写操作策略
Pentium4的cache组织
使用多级cache减少缺失损失
虚拟存储器
虚拟存储器的基本概念
实地址与虚地址
虚存的访问过程
cache与虚存的异同
虚拟存储器要解决的问题
页式虚拟存储器
段式虚拟存储器
段页式虚拟存储器
虚存的替换算法
奔腾系列机的虚存组织
指令系统
指令系统是计算机硬件的语言系统,也叫机器语言,指机器所具有的全部指令的集合,它是软件和硬件的主要界面,反映了计算机所拥有的基本功能。
指令系统
指令系统的发展
指令系统的性能要求
低级语言与硬件结构的关系
指令格式
一条指令的结构可以表示为: 操作码字段op | 地址码字段A
操作码
操作码表示该指令应进行什么类型的操作。
地址码
根据一条指令中有几个操作数地址可将该指令称为几操作数指令或几地址指令。一般的操作有被操作数,操作数,及操作结构这三种数。 操作数指出指令执行的操作所需要数据的来源。操作数是汇编语言指令的一个字段。例如:Mov AX 5678H 操作数(AX 5678H)。在操作数这个字段中可以放操作数本身,也可以放操作地址,还可以放操作地址的计算方法。 很多指令有两个操作数,其中写在左边的是目的操作数,右边被称为源操作数。源操作数为寄存器寻址方式,目的操作数是指令操作结果的操作数,两个操作数都有各自的寻址方式。该指令中目的操作数是存储器寻址方式中的直接寻址方式。
0地址指令
零地址指令可能是一些控制操作,如暂停指令,不需要操作数;也有些是操作数隐含。如INTEL8086CPU的指令系统中的CBW指令,其操作数隐含在累加器中。
1地址指令
2地址指令
RR型指令
寄存器-寄存器(RR)型指令:需要多个通用寄存器或个别专用寄存器,从寄存器中取操作 数,把操作结果放到另一寄存器中。机器执行这种指令的速度很快,不需要访问内存。
SS型指令
存储器-存储器(SS)型指令:参与操作的数都放在内存里,从内存某单元中取操作数,操 作结果存放至内存另一单元中。因此机器执行这种指令需要多次访问内存。
RS型指令
寄存器-存储器(RS)型指令:两个操作数一个在寄存器中,另一个在存储器中(由变址寄存器和偏移量决定) 执行此类指令,既要访问内存单元,又要访问寄存器。
3地址指令
指令字长度
指令字长度:指令字包含的二进制的位数。 机器字长:计算机CPU直接处理数据的二进制位数。 指令字长度一般为字节的整数倍。 单字长指令:指令字长与机器字长相同。 半字长指令:指令字长是机器字长的一半。 双字长指令:指令字长与机器字长的一倍。
指令助记符
指令格式举例
操作数类型
一般的数据类型
Pentium数据类型
Power PC数据类型
指令和数据的寻址方式
什么是寻址方式? 谓寻址方式,通常是指某一个CPU指令系统中规定的寻找操作数所在地址的方式, 或者说通过什么的方式找到操作数。
指令的寻址方式
顺序寻址方式
按照指令在内存中的先后顺序,取一条执行一条。
跳跃寻址方式
跳跃寻址方式中要执行的指令的地址不是按程序顺序排列的下一条,而是跳到别的指令进行执行。采用跳跃寻址实现程序的转移或构成循环程序。
操作数基本寻址方式
操作数的寻址方式:寻找操作数位置的方式。
隐含寻址
指令的操作数的位置没有明显给出,而是隐含的。 如8086CPU中,MUL BL,只给出一个操作数,另一个隐含在AX寄存器中。
立即寻址
指令的地址码字段不是操作数的地址,而是操作数本身。 如单字节的移位指令的格式为: OP(移位) | F | D 其中:D是参加操作的数。F为标志位,当F=1时,表示右移,F=0时表示左移。 特点:指令执行时间短(与存储器操作数的寻址方式相比)。 书p123页
直接寻址
指令的地址字段直接给出操作数在内存中的地址。即形式地址就是有效地址。
间接寻址
指令的地址码字段的形式地址D不是操作数的真正地址,而是操作数地址的位置。然后通过操作数地址找到操作数。
寄存器寻址
操作数在寄存器中时,指令的地址字段给出寄存器的编码 
寄存器间接寻址
指令中的地址字段的寄存器中的内容不是实际的操作数,而是操作数(在内存中)的地址。 
偏移寻址
段寻址方式
段寻址:形式地址是逻辑地址,由段寄存器和逻辑地址组合形成要访问的存储器的物理地址。 
堆栈寻址方式
相对寻址
在程序计数器PC的内容上加上指令格式中的形式地址形成操作数的有效地址 
变址寻址
把变址寄存器的内容(通常是首地址)与指令地址码部分给出的地址(通常是位移量)之和作为操作数的地址来获得所需要的操作数就称为变址寻址。 E=(R)+D,变址寻址
基址间接寻址
E=((R1)+D), D=0,基址间接寻址
基址寻址
E=(R1)+D,基址寻址 基址寻址,将CPU中基址寄存器的内容,加上指令格式中的形式地址而形成操作数的有效地址。
寻址方式举例
Pentium的寻址方式
Power PC寻址方式
典型指令
指令的分类
数据传送指令
算术运算指令
程序控制指令
输入输出指令
字符串处理指令
特权指令
其他指令
基本指令系统的操作
在测试后发现,最常用的是一些最简单的指令,仅占指令总数的20%,在程序中出现的频率却占80%。
精简指令系统
精简指令系统的最大特点是: ①指令条数少,且所选指令是使用频率较高的简单指令 ②指令字长固定,且指令格式种类少 ③只有取数和存数指令可以访问存储器,其他指令只能对寄存器操作,因此,内部寄存器数量较多。
ARM汇编语言
中央处理器
CPU的组成和功能
CPU的功能
指令控制
程序的顺序控制称为指令控制
操作控制
时间控制
数据加工
CUP的基本组成
控制器
由程序计数器、指令寄存器、指令译码器、时序产生器和操作控制器组成,它是发布命令的“决策机构”,即完成协调和指挥整个计算机系统的操作。 主要体现在三个方面:指令控制,操作控制,时间控制三个方面。 主要功能有:
cache
运算器
CPU中的主要寄存器
不同的cpu中寄存器可能有不同,但是至少需要有六类寄存器
数据缓冲寄存器DR
作为alu运算结果和通用寄存器之间信息传送中时间上的缓冲 补偿cpu和内存,外围设备之间在操作速度上的差别
指令寄存器IR
用来保存当前正在执行的一条指令 当计算机的某一计算循环开始时,先根据地址寄存器的地址,从内存储器中读出一条指令,存入指令寄存器中。指令寄存器的相应位送入指令译码器(操作码译码、变址译码等)。根据译码结果产生相应的控制信号,完成指令规定的运算、传送数据等动作
程序计数器PC
为了使程序能执行,需要程序的地址 在程序执行前,必须把程序的起始地址送到pc寄存器,然后在执行的时候cpu将自动修改pc的内容,指向下一条要执行的指令
数据地址寄存器AR
保存当前cpu所访问的数据cache存储器中单元的地址 由于内存和CPU之间存在着速度上的差别,所以必须使用地址寄存器来保存地址信息,直到内存读/写操作完成为止。
通用寄存器R0-R3
为alu执行算术或逻辑运算的时候,为alu提供一个工作区(记录运算的值)
状态寄存器PSW
状态寄存器用来存放两类信息:一类是体现当前指令执行结果的各种状态信息(条件码),如有无进位(CF位)、有无溢出(OF位)、结果正负(SF位)、结果是否为零(ZF位)、奇偶标志位(P位)等;另一类是存放控制信息(PSW:程序状态字寄存器),如允许中断(IF位)、跟踪标志(TF位)等。有些机器中将PSW称为标志寄存器FR(Flag Register)。
操作控制器与时序产生器
指令周期
指令周期的基本概念
机器取出指令,并执行的这个过程叫做指令周期
LAD指令的周期
ADD指令的周期
STO指令的周期
JMP指令的周期
用方框图语言表示指令的周期
时序产生器和控制方式
时序信号的作用和体制
时序信号产生器
控制方式
微程序控制器
微程序控制原理
微命令和微操作
计算机可以分为两部分---控制部件和执行部件。而控制部件和执行部件的关系是通过控制线,控制部件向执行部件发送各种控制命令,而通常把控制命令称为微命令。 把执行部件接收微命令后所进行的操作称为 微操作。
微指令和微程序
微指令:是指在机器的一个CPU周期中,一组实现一定操作功能的微命令的组合 微程序:一条机器指令的功能是许多条微指令组成的序列来实现的,这个微程序序列叫做微指令。
微程序控制器原理框图
微程序控制器主要由控制存储器,微指令寄存器(微地址寄存器,微命令寄存器),地址转移逻辑三部分组成。 控制存储器:用来存放实现全部指令系统的所有微程序,它是一种只读型存储器 .一旦微程序固化,机器运行时则只读不写。 微指令寄存器:用来存放由控制储存器读出的一条微指令命令,其中微地址寄存器决定要访问的下一条微指令的地址,而微命令寄存器则保存一条微指令的操作控制字段和判别测试字段的信息。 地址转移逻辑:当微指令出现分支时,意味着微程序出现了转移条件,这种条件下通过判别字段p和执行部件的“状态条件”反馈信息,去修改微地址的内容。地址转移逻辑就承担自动完成修改微指令地址的任务。
微程序举例
cpu周期与微指令周期的关系
微指令周期:是取出微指令并且加上执行该条微指令的时间。 一条微指令的保持时间就是一个cpu周期的时间。
程序指令与微指令的关系
微程序设计技术
微命令编码
微地址的形成方法
微指令格式
水平型微指令
一次能定义并执行多个并行操作微命令的微指令叫做水平微指令。 格式: 控制字段 | 判别字段 |下地址字段
垂直型微指令
指令中设置微操作码字段,采用微操作码编译法,由微操作码规定指令的功能,称为垂直型微指令。
动态微程序设计
硬连线控制器
基本思想
指令执行流程
微操作控制信号的产生
流水CPU
并行处理技术
并行性: 时间并行性:让多个处理过程在时间上相互错开,轮流重叠的使用一套硬件设备的各个部分,以加快硬件周转时间。 空间并行性:指资源重复,就是增加处理器。 现在采用的是 时间并行性+空间并行性。是最好的。
流水cpu的结构
流水cpu的系统组成
由指令部件,指令队列,执行部件组成。
流水cpu的时空图
流水线中的主要问题
资源相关
数据相关
控制相关
奔腾cpu
RISC CPU
RISC机器的特点
RISCCPU实例
动态流水线调度
总线系统
总线的概念和结构形态
总线的基本概念
总线(Bus)是计算机系统中多个功能部件之间进行信息传送的公共通路
总线的连接方式
总线的内部结构
中线结构实例
总线接口
信息传送方式
总线接口的基本概念
总线的仲裁
具有总线控制能力的功能模块称为主模块,没有总线控制能力的功能模块称为从模块。每次总线上的数据传送过程都是由主模块启动,并由从模块配合完成的。 现在的计算机系统中,总线上通常有多个主模块,但是,总线一次只能由一个主模块控制,因此,当出现多个主模块同时提出总线请求时,就需要按一定的规则确定这些主模块使用总线的次序,这项工作称为总线仲裁,用来完成总线仲裁的逻辑电路称为总线仲裁器(或总线控制器)。 总线仲裁方式有两种:集中式仲裁和分布式仲裁
集中式仲裁
集中式仲裁采用统一的总线仲裁器。集中式仲裁的实现方式有:链式查询方式、计数器定时查询方式和独立请求方式三种。
链式查询方式
 采用链式查询方式时,总线上各主模块与总线仲裁器之间的连接方式如上图所示。 总线授权信号bg一个接一个查,如果到模块1时有io请求,就不再往下查了,就意味着模块1获得了总线的控制器 链式查询方式的优点是仲裁电路简单,容易扩充设备;缺点是响应速度慢,对授权线路的故障很敏感。此外,固定的优先级关系可能使优先级低的主模块长时间无法使用总线。 (菊花链)
计数器定时查询方式
采用计数器定时查询方式时,总线上各主模块与总线仲裁器之间的连接方式如下图所示  可以通过改变计数策略,来改变各主模块的优先级;在扩充设备方面,受到模块地址线的位数限制,且硬件电路及控制也较复杂。
独立请求方式
采用独立请求方式时,总线上各主模块与总线仲裁器之间的连接方式如下图所示。  独立请求方式的最大优点是总线授权无需查询,响应速度快。此外,独立请求方式可以通过软件设置,实现非常灵活的优先级控制,如固定优先级、循环优先级、指定优先级等;也可以通过软件设置,屏蔽某个(或某几个)主模块的总线请求。 相对前两种方式而言,独立请求方式的总线仲裁器较为复杂,且受BR和BG端数的限制,扩充设备也比较困难。
分布式仲裁
分布式仲裁方式不设置统一的总线仲裁器,而是在各主模块的接口中都设计了总线仲裁逻辑, 由各主模块自主判断是否有权使用总线。 
总线的定时和数据传送模式
总线的定时
总线的一次信息传送过程分为五个阶段:请求总线、总线仲裁、寻址目的地址、信息传送、状态返回。为同步主方、从方的操作,必须制定定时协议。有同步定时,和异步定时两种方式
同步定时
事件出现在总线上的时刻由总线时钟信号来确定;
异步定时
采用应答方式进行总线传输控制。
中线数据 传送模式
HOST总线和PCI总线
多总线结构
PCI总线信号
总线周期类型
总线周期操作
总线仲裁
InfiniBand标准
InFiniBand的体系结构
InfiniBand的通信协议
外存与I/o设备
外围设备概述
外圈设备的一般功能
外圈设备的分类
磁盘存储设备
磁记录原理
磁性材料的物理特性
磁表面存储器的读写原理
磁盘的组成和分类
磁盘驱动器和控制器
磁盘上信息的分布
磁盘存储器的技术指标
存储密度
存储容量
平均存取时间
平均存取时间(Average Access Time),是指磁头找到指定数据的平均时间。通常它是硬盘平均寻道时间和平均等待时间之和。平均存取时间最能代表硬盘找到某一数据所用的时间,数值越小越好。
数据传输率
磁盘存储设备的技术发展
磁盘cache
磁盘阵列RAID
可移动存储设备
磁带存储设备
光盘和磁光盘存储设备
光盘存储设备
磁光盘存储设备
显示设备
显示设备的分类与有关概念
字符/图形显示器
图像显示设备
VESA显示标准
输入设备和打印设备
输入设备
打印设备
输入输出系统
外围设备的书读分级与信息交换方式
外围设备的速度分级
信息交换方式
程序查询方式
程序中断方式
程序中断是指计算机执行现行程序的过程中,出现某些急需处理的异常情况和特殊请求,cpu暂时终止现行程序,而转去对随机发生的更紧迫的事件进行处理,在处理完毕后,cpu将自动返回原来的程序继续执行。
中断的基本概念
程序中断方式的基本I/O接口
单级中断
多级中断
中断控制器
Pentium中断机制
DMA方式
Direct Memory Access,直接内存存取 它允许不同速度的硬件装置来沟通,而不需要依赖于 CPU 的大量中断负载
DMA的基本概念
DMA(直接存取方式)是一种完全由硬件执行I/O交换的工作方式,而不用中断cpu
DMA传送方式
停止cpu访问内存
当外围设备要求传送一批数据时,由DMA控制器发一个停止信号给CPU,要求CPU放弃对地址总线、数据总线和有关控制总线的使用权。DMA控制器获得总线控制权以后,开始进行数据传送。在一批数据传送完毕后,DMA控制器通知CPU可以使用内存,并把总线控制权交还给CPU。 优点: 控制简单,它适用于数据传输率很高的设备进行成组传送。 缺点: 在DMA控制器访内阶段,内存的效能没有充分发挥,相当一部分内存工作周期是空闲的。这是因为,外围设备传送两个数据之间的间隔一般总是大于内存存储周期,即使高速I/O设备也是如此。例如,软盘读出一个8位二进制数大约需要32us,而半导体内存的存储周期小于0.5us,因此许多空闲的存储周期不能被CPU利用。
周期挪用
当I/O设备没有DMA请求时,CPU按程序要求访问内存;一旦I/O设备有DMA请求,则由I/O设备挪用一个或几个内存周期。
DMA与CPU交替访内
如果CPU的工作周期比内存存取周期长很多,此时采用交替访内的方法可以使DMA传送和CPU同时发挥最高的效率。
基本的DMA控制器
DMA控制器的基本组成
DMA数据传送过程
选择型和多路型DMA控制器
选择型DMA控制器
多路型DMA控制器
通道方式
通道的功能
通道是一个特殊功能的处理机,减少 cpu的工作,提高cpu的速度 有五种功能: 1.接受cpu的I/O指令,按指令与外围设备进行通信 2.从存储器选取属于该通道程序的通道指令,译码后向I/O控制模块发出各种命令
通道的类型
选择通道
多路通道
分为数组多路通道,字节多路通道
通道结构的发展
通用I/O标准接口
并行I/O标准接口SCSI
船型I/O标准接口IEEE
I/O系统设计
并行组织与结构
体系结构中的并行性
并行性的概念
提高并行性的技术途径
单片机系统中的并行性
多处理机系统中的并行性
并行处理器的体系结构类型
并行处理器的组织和结构
多线程与超线程处理机
从指令级并行到线程级并行
同时多线程结构
超线程处理结构
多处理机
多处理机系统的分类
SMP的基本概念
SMP的结构
多核处理机
多处理机的优势
多核处理机的组织结构
多核处理机的关键技术
多核处理机实例
ARM多核处理机
英特尔酷睿多核处理机
英特尔至强融核众核处理机
龙芯多核处理机