计算机组成原理概记
Contents
- 概论
- 计算机系统硬件结构
- CPU
- 系统总线
- 存储器
- I/O
- CPU
- CPU的结构和功能
- 运算器(核心是ALU)
- 计算机中数的表示
- 计算机中的运算方法和运算器
- 控制器(核心是CU)
- 指令系统
- 控制单元的涉及
- 寄存器
- CPU内部互连
- CU
- 排队逻辑
- 寄存器和解码器
- 控制存储器
概述
计算机系统简介
- 计算机系统由硬件&软件组成
- 软件:
- 系统软件:语言处理程序,操作系统,服务型程序,数据库管理系统,网络软件
- 应用软件:顶层个性化服务程序
- 计算机系统的层次功能:
- 高级语言:用编译程序翻译成汇编语言程序
- 汇编语言:用汇编程序翻译成机器语言程序
- 操作系统:用机器语言解释操作系统
- 机器语言:用微指令解释机器指令
- 微指令系统:由硬件直接执行微指令
- 计算机体系结构:程序员所见到的计算机系统的属性概念性的结构和功能特性(指令系统,数据类型,寻址技术,I/O机理)
- 计算机组成:实现计算机体系结构所体现的属性(具体指令的实现)
计算机的基本组成
- 冯诺依曼计算机:
- 计算机由五大部件组成
- 指令和数据以同等地位存于存储器,按地址寻访
- 指令和地址用二进制表示
- 指令由操作码和地址码组成
- 存储程序
- 以运算器为中心
- 硬件
- 主机
- CPU
- ALU
- CU
- 主存
- CPU
- I/O设备
- 辅存
- 输入设备
- 输出设备
- 主机
- 存储器的基本组成
- 存储体(大楼)——存储单元(房间)——存储元件(床位)
- 存储字:存储单元中二进制代码的组合
- 存储字长:存储字的位数
- MAR:存储器地址寄存器,反应存储单元个数
- MDR:存储器数据寄存器,反应存储字长
- 运算器的基本组成:
- ALU,X寄存器,ACC寄存器,MQ乘商寄存器
- 四则运算
四则 ACC MQ X 加法 被加数&和 加数 减法 被减数&差 减数 乘法 乘积高位 乘数&乘积低位 被乘数 除法 被除数&余数 商 除数
- 控制器的基本组成:
- CU,IR,PC
- 完成一条指令:取指(PC),分析指令(IR),执行指令(CU)
计算机硬件的主要技术指标
- 机器字长:CPU一次能处理的位数,和CPU的寄存器位数有关
- 速度
- 主频:指令周期由若干个机器周期组成,而机器周期又包含若干个时钟周期,基本总线周期由4个时钟周期组成
- 核心数,每个核支持的线程数
- 吉普森法:计算机所有指令按照调用频率求加权平均
- CPI:执行一条指令所需要的时钟周期数
- IPC:一个时钟周期能完成多少条指令
- MIPS:每秒能执行多少百万条指令
- FLOPS:每秒浮点运算次数
- 存储容量:
- 主存容量:存储单元个数×存储字长
- 地址总线决定了CPU可以寻址的最大存储空间范围。较宽的地址总线可以支持更大的寻址范围。
- 数据总线决定了CPU和内存传输数据的并行度,反映的是传输速度,与每个存储单元的大小无关。无论数据总线多宽,存储器的基本单元仍然是字节。数据总线只是可以并行传输多个字节,而不会改变存储单元是字节这个事实。
- 辅存容量:磁盘容量
- 主存容量:存储单元个数×存储字长
计算机的发展史
- ENIAC:没有存储器,布线接法
- IAS:典型的冯诺依曼结构计算机,以运算器为中心
- IBM System 360:相同指令系统的系列机
- 定义了计算机的软硬件接口交界面,缩短计算机设计周期
- 提出了计算机体系结构和指令集架构的概念,通过这些概念实现了软硬件分离,出现了兼容机和系列机
- 微型计算机:采用微处理器的大规模集成电路,面向个人用户的体积小重量轻价格低的计算机
- 微处理器芯片和存储器芯片得到快速发展
- Moore定律:芯片上集成的晶体管数量,18到24个月,翻一番
- 软件技术的发展:
- 语言技术:
- 机器语言:面向机器
- 汇编语言:面向机器
- 高级语言:面向问题
- 系统软件:
- 语言处理程序:汇编程序,编译程序,解释程序
- 操作系统:DOS,UNIX,Windows,Linux,
- 服务性软件:装配,调试,诊断,排错
- 数据库管理系统:MySQL,SQL Server
- 网络软件
- 软件是程序以及开发、使用和维护程序所需要的所有文档
- 语言技术:
计算机的应用和展望
- 应用
- 科学计算和数据处理
- 工业控制和实时控制
- 网络技术
- 虚拟现实
- 办公自动化和管理信息系统
- CAD/CAM/CIMS
- 多媒体技术
- 人工智能
- 展望
- 芯片集成度的提高受以下三方面的限制
- 物理极限的限制
- 按几何级数递增的制作成本
- 芯片的功耗,散热,线延迟
- 替代传统的硅芯片?
- 光计算机
- DNA计算机
- 量子计算机
- 芯片集成度的提高受以下三方面的限制
计算机系统硬件结构
总线
- BUS:计算机内各个部件共享的传输介质
- 单总线:系统总线
- 以CPU为核心的双总线:I/O总线+存储总线
- 以内存为核心的双总线: 系统总线+存储总线
- 加上通道的双总线:主存总线+I/O总线+通道
- 加上DMA的三总线:主存总线+I/O总线+DMA总线
- another三总线:局部总线+系统总线+扩展总线
- 四总线:局部总线+系统总线+高速总线+扩展总线
- 分类:
- 片内总线:CPU内部的总线
- 系统总线:计算机各部件之间(CPU,内存,I/O设备)的总线
- 数据总线:双向,和机器字长,存储字长相关
- 地址总线:单向,和内存地址和I/O地址有关
- 控制总线:双向,有出有入
- 通信总线:计算机和计算机之间进行通信的总线,可串可并
- 总线特性:
- 机械特性:尺寸,形状,管脚数,排列顺序
- 电气特性:传输方向,有效电平
- 功能特性:地址,数据,控制
- 时间特性:信号时序
- 性能指标:
- 总线宽度:数据线的根数
- 标准传输率:每秒最大字节数
- 时钟同步/异步
- 总线复用:地址线和数据线的复用(例:8086处理器)
- 信号线数:地址线,数据线,控制线的总和
- 总线控制方式:突发,自动,仲裁,逻辑,计数
- 总线标准:ISA,ESA,VESA,PCI,AGP,RS-232,USB
- 总线仲裁判优控制:主设备控制总线,从设备响应控制
- 集中式:链式查询,计数器定时查询,独立请求方式
- 分布式
- 总线通信的四种方式:
- 同步通信:统一时钟控制数据传送
- 异步通信:采用应答方式,无时钟标准
- 半同步通信:同步,异步结合
- 分离式通信:充分利用总线每个瞬间
存储器
- 存储器分类:
- 按照存储介质:半导体,磁表面,磁芯,光盘
- 按照存取方式:随机访问(RAM,ROM),串行访问(磁带,磁盘)
- 按在计算机中的作用:主存(RAM,ROM),Cache,闪存,辅存
- 层级结构:用户需要高速,大容量,价格低的存储设备,所以使用软硬件相结合的方式把多种存储设备连接成一个存储体系
- 寄存器-缓存-主存-磁盘-光盘-磁带
- 两个层次:缓存-主存层次:解决速度问题;主存-辅存层次:解决容量问题
主存储器
-
CPU和主存的连接:地址总线,地址总线,读写控制总线
-
主存中存储单元的地址分配:大端和小端
- 按字节寻址和按字寻址,可访寻的地址数目是不同的
-
主存的技术指标:
- 容量:可存放二进制位数
- 速度:存取时间,存取周期
- 带宽:位/秒
-
半导体存储芯片
- 基本结构:译码驱动,存储矩阵,读写电路,地址线,数据线,控制线(片选线,读写控制线)
- 译码驱动方式:线选法,重合法
-
随机存取存储器:RAM
- SRAM:触发器,集成度低,引脚多,功耗大,价格高,速度快,无需刷新
- DRAM:电容,集成度高,引脚少,功耗小,价格低,速度慢,需要刷新
-
只读存储器:ROM:MROM,PROM,EPROM,EEPROM,Flash Memory
-
存储器和CPU的连接:
- 存储器容量的扩展:位扩展,字扩展,字位扩展
- 存储器和CPU的连接
-
存储器的校验:
- 奇偶校验
- 汉明码:校验和纠错
-
提高访存速度的措施:
- 采用高速器件
- 采用层次结构:Cache-主存
- 调整主存结构:单体多字系统,多体并行系统(高位交叉vs低位交叉)
- 高位交叉:存储器容量扩展
- 低位交叉:存储器带宽,访问速度提升
- 高性能存储芯片:SDRAM,RDRAM,带Cache的DRAM
高速缓存Cache
- 为什么用Cache:CPU和主存(DRAM)的速度差异。理论依据来自程序访问的局部性原理
- Cache工作原理
- 主存和缓存编址:主存和缓存按块存储,块的大小相同,缓存块的标记中保存了主存和cache的对应关系
- 命中&未命中
- 命中率:和cache的容量和块长有关,块长取决于一个存取周期从主存调出的信息长度
- Cache-主存系统的效率:和命中率正相关
- Cache基本结构:主存Cache地址映射变换机构;Cache替换机构;Cache存储体;CPU,主存
- Cache读写操作
- 读:是否命中?Cache是否有空位?
- 写:需要解决Cache和主存的一致性问题:Write-Through;Write-Back
- Cache改进:增加Cache级数,统一Cache和分立Cache
- Cache主存地址映射
- 直接映射:Cache利用率低,速度快,不灵活
- 全相联映射:Cache利用率高,速度慢,成本高
- 组相联映射:折中
- 替换算法
- FIFO先进先出:并不能很好践行程序的局部性原理
- LRU最近最少使用:比较好的体现了程序的局部性原理
- 现代CPU的三级缓存方案(Intel Core i5-4285U):
辅助存储器
- 磁记录原理:写:电流方向正向反向导致磁场变化得到0/1之分;读:磁盘旋转方向正向反向之分得到0/1之分
- 硬磁盘存储器:
- 软磁盘存储器:
- 光盘存储器:激光
I/O
数据传输的三种控制方式:
- 程序查询方式
- 在I/O未准备就绪的情况下会出现踏步等待的情况
- 程序中断方式
- I/O工作分为两部分:自身准备阶段和与主机交换信息阶段,程序中断方式是在I/O自身准备的时候把CPU解放出来,使得CPU和I/O能进行部分的并行工作
- 程序查询方式和程序中断方式都是以CPU为计算机系统的核心,数据的输入输出都必须经过CPU,内存和I/O无法直接交换数据
- DMA方式
- 进一步将CPU从I/O过程中解放出来,内存和I/O之间有一条直接数据通路
- 实现原理:不需要中断现行程序,采用周期挪用的方式(在挪用的这些个存取周期中,CPU虽然不能使用系统总线,不能访问内存,但是仍然能够执行其他任务)
- 周期挪用:CPU将定期让出一定时间的总线使用权给DMA控制器。在这段时间内,DMA控制器可以自由使用总线进行数据传输。CPU让出的这段时间称为DMA时间窗或者DMA时间槽。DMA控制器可以在DMA时间窗内完成多个数据传输周期
ALU
无符号数和有符号数
- 无符号数
- 有符号数
- 机器数&真值:机器数是符号数字化的二进制表示;真值是带符号的树
- 原码:把真值的符号位换成0/1
- 使用原码进行加减操作的时候,既要做加法又要做减法,能否只做加法呢?这就引申除了补码(找到一个与负数等价的正数来代替这个负数)
- 补码:一个负数加上“模”即得到该负数的补数,等价于:两个互为补数的正负数的绝对值之和等于“模”;这也就激素解释了为什么:正数的补码就是正数本身,负数的补码是取反加一
- 反码:除符号位外取反不加一
- 移码:把补码的符号位取反即可
数的定点表示和浮点表示
- 定点表示:小数点按约定方式标出(小数定点机,整数定点机)
- 浮点表示:数符,尾数,阶符,阶码,基数
- 浮点数存在上溢区,下溢区
- 浮点数的规格化依照基数的不同,规格化形式不同
- 机器零:尾数为0;阶码小于或等于它所能表示的最小数
- IEEE754标准:
- 数符+阶码(含阶符)+尾数:1+8+23 or 1+11+52
- 尾数规格化表示
- 非0的有效位最高位为1(隐含)
定点运算
浮点运算
算数逻辑单元ALU
CU
机器指令
- 指令系统是计算机中的软硬件接口
- 指令的一般格式:操作码字段+地址码字段
- 操作码分为长度固定(RISC)和长度可变(CISC)
- 指令字长取决于:操作码长度,地址码长度,地址码个数
- 长度可变的操作码通过“扩展操作码技术”来实现
- 操作码的位数随地址数的减少而增加:三地址指令操作码,二地址指令操作码。
- 为了使计算机能识别操作码位数,在操作码的扩展过程中必须要遵守一个原则:短操作码不能是长操作码的前缀
- 地址码:
- 四地址:A1第一操作数地址;A2第二操作数地址;A3结果地址;A4下一条指令地址:4次访存
- 三地址:A1第一操作数地址;A2第二操作数地址;A3结果地址:PC代替A4,4次访存,寻址范围扩大
- 二地址:A1第一操作数地址;A2第二操作数地址:A1或A2代替A3,4次访存,寻址范围扩大(若把结果存在ACC,只需要3次访存)
- 一地址:A1第一操作数;第二个操作数和结果都在ACC寄存器,2次访存,寻址范围扩大
- 零地址:只对寄存器中数据进行操作,或者对栈进行操作,1次访存
操作数类型和操作类型
- 操作数类型:地址,数字,字符,逻辑数
- 数据在存储器中的存放方式:
- 从任意位置开始:不浪费存储资源,读写控制复杂
- 从一个存储字的起始位置开始访问:浪费存储资源,读写控制简单
- 边界对准方式:按地址的整数倍存储,既保证了一个存储周期能进行数据访问,空间浪费也不严重
- 操作类型:数据传送,算数逻辑操作,移位操作,转移,输入输出
寻址方式
- 为什么在指令中要设置多种寻址方式?
- 寻址方式:确定本条指令的操作数地址(数据寻址) 和 下一条要执行的指令的指令地址(指令寻址)
- 指令寻址:
- 顺序寻址:PC+1——>PC(1表示一个指令字长)
- 跳跃寻址:由转移指令指出
- 数据寻址:指令真实结构(操作码+寻址特征+形式地址)假设:指令字长=存储字长=机器字长
- 有效地址=形式地址+寻址特征
- 立即寻址:形式地址A就是操作数
- 直接寻址:有效地址由形式地址直接给出(1次访存)
- 隐含寻址:操作数地址隐含在操作码中:例如ACC
- 间接寻址:有效地址由形式地址间接提供(n次访存),可扩大寻址范围,便于编程修改操作数地址
- 寄存器寻址:有效地址是寄存器编号
- 寄存器间接寻址:有效地址在寄存器中
- 基址寻址:采用专用寄存器/专用寄存器作为基址寄存器
- 变址寻址:变址寄存器的值由用户给定
- 相对寻址:相对于当前指令地址的位移量
- 堆栈寻址:硬堆栈(多个寄存器);软堆栈(指定的存储空间);栈顶地址由SP给出 备注:基址寻址用来实现多道程序的并发执行,变址寻址用来扩充可寻址的数据的容量
指令格式
RISC技术
- RISC:精简指令集计算机
- 选用使用频率较高的一些简单指令,复杂指令的功能由简单指令来组合
- 长度固定,指令格式种类少,寻址方式少
- 只有LOAD/STORE指令访存
- 一般使用通用寄存器
- 采用流水技术,一个时钟周期完成一条指令
- 采用组合逻辑实现控制器
- CISC:复杂指令集计算机
- 系统指令复杂庞大,各种指令的使用频度相差大
- 长度不固定,指令格式种类多,寻址方式多
- 访存指令不受限制
- CPU中有很多专用寄存器
- 大多数指令需要多个时钟周期执行完毕
- 采用微程序控制器
- 二八定律:典型程序中的80%的语句仅仅处理机中的20%的指令
CPU
CPU的结构
- 控制器的功能:
- 指令控制:取指(PC,IR等寄存器)
- 操作控制:分析指令(CU时序电路)
- 时间控制:执行指令(CU时序电路)
- 处理中断控制:控制程序输入及结果输出,总线管理,处理异常情况和特殊请求(中断系统)
- 运算器的功能:
- 数据加工能力:实现算数运算和逻辑运算(ALU寄存器)
- CPU的结构框图:
- CPU和系统总线:通过控制总线(双向),数据总线(双向),地址总线(单向)和其他设备进行通信
- CPU中的寄存器:
- 用户可见的寄存器:
- 通用寄存器:存放操作数;可作某种寻址方式所需的专用寄存器
- 数据寄存器:存放操作数;两个寄存器拼接存放双倍字长数据
- 地址寄存器:存放地址
- 条件码寄存器:存放条件码(作程序分支的依据)
- 控制和状态寄存器:
- 控制寄存器:PC——>MAR——>M——>MDR——>IR,PC用户可见,其余3个不可见
- 状态寄存器:反应了指令执行结果的情况或计算机软硬件状态,例如:条件码寄存器,PSW程序状态字寄存器
- 用户可见的寄存器:
- 控制单元CU和中断系统
- CU:产生全部指令的微操作命令序列
- 组合逻辑设计:硬连线逻辑
- 微程序设计:存储逻辑
- 一些名词:
- 微程序:实现一条机器指令功能的微指令序列
- 微指令:若干微命令的集合
- 微操作:微命令和微操作是一一对应的,微命令是微操作的控制信号;微操作是微命令的执行过程
- 中断系统:后面
- CU:产生全部指令的微操作命令序列
指令周期
- 取出并执行一条指令所需的全部时间,分为
取值分析阶段(取址周期)
和指令阶段(执行周期)
,如果是具有间接寻址的指令周期,中间还有一个间址周期
,如果机器支持中断,在执行周期结束的时候要判断是否由中断,如果有的话还有一个中断周期 - CPU工作周期的标志
- CPU访存的4种性质:(通过触发器对四种周期进行标识)
- 取指令:取值周期
- 取地址:间址周期
- 存操作数或结果:执行周期
- 存程序断点:中断周期
- CPU访存的4种性质:(通过触发器对四种周期进行标识)
- 指令周期的数据流:
- 取指周期的数据流:
- PC——>MAR——>地址总线——>存储器
- CU——>控制总线——>存储器——>数据总线——>MDR——>IR
- CU——>PC(+1)
- 间址周期的数据流:
- MDR——>MAR——>地址总线——>存储器
- CU——>控制总线——>存储器——>数据总线——>MDR
- 执行周期的数据流:(不同指令的执行周期的数据流差异很大)
- 后面做介绍
- 中断周期的数据流:(两种方式:程序断点存入0地址 & 程序断点入栈)
- CU——>MAR——>地址总线——>存储器
- CU——>控制总线——>存储器
- PC——>MDR——>数据总线——>存储器(这三步是保存断点)
- CU——>PC(中断服务程序的入口地址是由CU给出:硬件向量法 & 程序查询法)
- 0——>EINT(允许中断触发器置0)
- 取指周期的数据流:
指令流水
- 指令流水线技术能提高机器速度
- 能提高机器速度的几种方式:
- 提高访存速度:高速芯片,Cache,多体并行
- 提高I/O和主机之间的传送速度:程序控制,中断,DMA,通道,I/O处理机
- 提高运算器速度:高速芯片,改进算法,快速进位链
- 改进机器系统结构,开发系统的并行性
- 系统的并行性:
- 并发&并行
- 并行级的等级:
- 过程级:粗粒度:软件实现
- 指令级:细粒度:硬件实现
- 指令流水原理:
- 若一个包含取指周期和执行周期的指令串行执行,若采用指令的二级流水,能将速度提高一倍(理想情况下)
- 影响指令流水效率加倍的因素:
- 执行时间>取指时间
- 条件转移指令对指令流水的影响:必须 等上条ing指令执行结束,才能确定下条指令的地址,影响指令流水的顺畅执行,造成时间损失
- 影响指令流水线性能
- 结构相关:不同指令争用同一功能部件产生资源冲突
- 数据相关:不同指令因重叠操作,可能改变操作数的读写访问顺序
- 控制相关:转移指令
- 流水线性能
- 吞吐率:单位时间内流水线完成指令的数量
- 加速比:采用流水线的速度和不采用流水线的速度之比
- 效率:流水线中各功能段的利用率(流水线具有建立时间和排空时间导致各功能段设备不可能一直处于工作状态)
- 流水线的多发技术:
- 超标量技术:每个时钟周期多条独立指令分别进入每一个流水线
- 超流水线技术:在每一个时钟周期内再分段(3次),一个时钟周期内一个功能部件使用多次(3次)
- 超长指令字技术:编辑器挖掘出指令间潜在的并行性,将多个可并行的指令组合成一条具有多个操作码字段的超长指令字
- 流水线结构:
- 指令流水线结构:分6段,每段一个时钟周期(取指,指令译码,地址形成,取操作数,操作执行,回写结果),每个段之间需要加上锁存器,用于保存前面的提供后面的
- 运算流水线结构:
- 浮点加减:三段流水线(对阶,尾数求和,规格化)
中断系统
- 引发中断的各种因素:
- 人为设置的中断
- 程序性事故
- 硬件故障
- I/O设备
- 外部事件:键盘中断现行程序
- 中断系统需解决的问题
- 中断源如何向CPU提出请求?每个中断源设置一个触发器标记,组成了中断请求标记寄存器
- 中断源同时提出怎么办?中断判优逻辑:硬件实现排队器;软件实现程序查询
- 如何寻找中断服务程序入口地址?硬件向量法;软件查询法
- CPU什么条件,什么时间,以什么方式响应中断?响应中断的条件是CPU中的允许中断触发器EINT=1;响应中断的时间是指令执行周期结束时由CPU发出查询信号;
- 中断隐指令(不属于计算机具体某条指令的硬件操作):保护程序断点到特定位置;寻找服务程序入口地址;硬件关中断(EINT=0)
- 如何保护现场?中断隐指令保存断点(实际上就是PC寄存器里的内容);中断服务程序保存寄存器内容(PUSH)
- 如何恢复现场?如何返回?中断服务程序完成(POP)
- 处理中断过程中又出现新的中断怎么办?新的中断比老的中断的优先级更高,就会进行多重中断
- 实现多重中断的条件:EINT需要提前被打开;优先级高的中断源有权中断中断优先级低的中断源
- 中断屏蔽技术:屏蔽触发器的作用是使某个中断源无法向CPU提出中断服务请求,也不能参加中断优先排队。屏蔽触发器对应的值就是屏蔽字。屏蔽技术可以改变中断处理的优先级(响应优先级不可变)
- 多重中断的断点保护:断点进栈;断点存入0地址;假设有三个断电都存入0地址就会丢失之前的断点,此时可以使用堆栈来实现
操作命令的分析
- 微操作命令的分析(完成一条指令的4个工作周期)
- 取指周期:从给定内存单元取出指令
- 间址周期:数据寻址方式为间接寻址
- 执行周期:读取和操作
- 非访存指令:取指周期,执行周期
- CLA:ACC清零
- COM:ACC按位取反
- SHR:ACC算术右移
- CSL:ACC循环左移
- STP:停机指令
- 访存指令:取指周期,执行周期,如果是间接访存有间址周期
- ADD X:ACC寄存器的数+X地址对应的数—>ACC寄存器
- STA X:ACC寄存器的数—>内存地址X中
- LDA X:内存地址X中的数—>ACC寄存器中
- 转移指令:取指周期,执行周期,如果是间接访存有间址周期
- JMP X:X地址送到PC中(无条件转移)
- BAN X:ACC中的上次计算结果为负,就把X地址转到PC中(负条件转移)
- 非访存指令:取指周期,执行周期
- 中断周期:保存断点,形成中断服务程序的入口地址;硬件关中断
控制单元的功能
- 输入:指令寄存器,标志,时钟信号,来自系统总线的控制信号
- 输出:CPU内部的控制信号,到熊总线的控制信号
- 机器周期:所有指令执行过程中的一个基准时间(以最复杂的时间为准),一般来说,取值周期就是一个机器周期
- 时钟周期:一个机器周期内可完成若干个微操作,这些微操作需要由更小的时间单位来控制,时钟周期就是控制计算机操作的最小单位时间
- 微操作命令序列的时序控制方式:
- 同步控制方式:定长的机器周期;不定长的机器周期;中央控制和局部控制相结合
- 异步控制方式:无基准时标信号;采用应答方式
- 联合控制方式:同步和异步相结合
- 人工控制方式
组合逻辑设计
- 安排微操作时序的原则:
- 微操作的先后顺序不得随意更改
- 被控对象不同的微操作尽量安排在一个节拍完成
- 占用时间短的微操作尽量安排在一个节拍内完成,并允许由先后顺序
- 组合逻辑设计步骤:
- 哪些指令在哪些工作周期(机器周期),什么节拍,什么状态条件下要执行某个微操作通过表格列举出来
微程序设计
- 一条机器指令对应一个微程序
- 微程序由很多条微指令构成,存储在控制器存储器上
- 每条微指令定义了一部分的微操作