1.18k likes | 1.32k Views
绪论. 计算机的基本概念 冯体系:二进制的优势 存储程序的工作方式:(事先编制程序,事先存储程序, 自动连续的执行程序) 硬件系统的组成:五大部件 计算机系统的软硬件组成
E N D
绪论 计算机的基本概念 冯体系:二进制的优势 存储程序的工作方式:(事先编制程序,事先存储程序, 自动连续的执行程序) 硬件系统的组成:五大部件 计算机系统的软硬件组成 硬件的组成:五大部件,总线,接口 CPU 主存 接口 接口 I/O I/O
计算机系统的软件组成: 系统软件:操作系统:处理机调度 存储器的管理 I/O设备的管理 文件管理 作业管理 编译程序,解释程序 各种软件平台 应用软件:应用程序
系统组成的层次 用户程序 语言处理程序及各种软件资源 操作系统 机器语言 指令微操作级 数字逻辑电路
计算机工作的过程: 系统分析 建立数学模型,设计算法 编写应用程序 编译为目标代码 由硬件来执行目标程序 指令执行的过程: 取指和指令分析 读操作数 运算 后继指令地址
计算机的特点和性能指标 程序控制下自动连续的工作 运算速度快 运算精度高 很强的信息存储能力 通用性强,应用领域极其广泛 基本字长 数据通路宽度 运算速度 主存储器的容量 外存容量 系统的软件配置
计算机中的信息表示 数值型数据的进位制和相互转换的方法 带符号数的表示 小数点的表示 字符的表示 指令信息的表示
数值型数据的进位制和相互转换的方法 进位计数制 : 权 基数 计算机中常用的进位制和他们之间的转换 二进制 八进制 十六进制 BCD码 整数部分: 十进制数转化为二进制数:除2取余法 十进制数转化为十六进制数:除16取余法 十进制向X进制转换:除X取余法 小数部分: 十进制数转化为二进制数:乘2取整法 十进制数转化为十六进制数:乘16取整法 十进制向X进制转换:乘X取整法
整数部分和小数部分都一样 二进制转换为十进制:按权相加法 八进制转换为十进制:按权相加法 十六进制转换为十进制:按权相加法
带符号数的表示 真值:正负符号加上绝对值表示的数值 机器数:连同数符一起数码化了的数 +1101 01101 -1101 11101 原码表示法:最高位为符号位,符号位为0表示该数为正,为1表示该位为负;有效数值部分用二进制绝对值表示 例:设机器字长为8位 真值 原码 1011 00001011 -1011 10001011 0.1011 0.1011000 -0.1011 1.1011000 字长:一个字中的位数或字符数,对于CPU来说,是它能直接处理二进制数据的位数
原码中的符号位不是数值的一部分,是人为的约定,所以,用原码进行运算的时候需要将符号位和有效数值部分分开来处理,即取绝对值来进行运算而符号位单独处理。原码中的符号位不是数值的一部分,是人为的约定,所以,用原码进行运算的时候需要将符号位和有效数值部分分开来处理,即取绝对值来进行运算而符号位单独处理。 补码表示法: 补码运算的核心思想是让符号位参与运算,并且花减为加 在有模的运算中,一个负数可以用一个与它互为补数的正数来代替 计算机的运算部件和存储部件都有一定的字长来限制,所以它的运算是一种有模运算 补码规则: 1。正数的补码是原码的本身 2。负数的补码,原码的符号位不变,其余各位变反加1
反码表示法 正数的反码与原码,补码相同 负数的反码规定为:符号位为1,尾数由原码位数按位变反。 数的定点表示与浮点表示 如何固定小数点的位置: 无符号定点整数 带符号定点整数 带符号定点小数 浮点表示法
字符表示 指令信息的表示: 指令格式: 按地址结构指令的分类 三地址指令 二地址指令 一地址指令 0 地址指令 操作码结构: 固定长度操作码 可变长度操作码 单功能型或复合型操作码 OP A OP A1 A2 A3 OP A1 A2 OP A OP
指令字长 变字长指令 固定字长指令
1。立即寻址方式 立即寻址方式用来表示常数,它经常用于给寄存器赋初值,并且只能用于源操 作数字段,不能用于目的操作数字段 MOV AL , 5 MOV AX , 05H 指令 操作数
2。寄存器寻址 MOV AX,BX 指令 寄存器 寄存器号 操作数
3。直接寻址方式 MOV AX,[ 2000H ] 段寄存器 AX 指令 存储器 32000 OP 00 20 段地址 。。。。。。 EA + 操作数 50 30
4。寄存器间接寻址 MOV AX,[ BX ] 段寄存器 指令 寄存器 存储器 20000 21000 段地址 A X 寄存器 EA + 操作数 A0 50
5。直接变址寻址(寄存器相对寻址方式) 指令 段寄存器 存储器 寄存器 寄存器 位移量 段地址 + + 操作数 地址
6。基址变址寻址方式 段地址 基址寄存器 变址寄存器 变址值 + + 操作数 基地址
7。相对基址变址寄存器 基址寄存器 变址寄存器 位移量 段地址 变址值 + + 操作数 基地址
模拟机数据通路结构 地址总线 数据总线 控制总线 MAR MDR 主存 I/O接口 I/O设备 R0 IR D C 微操作信 号发生器 R1 PC ALU R2 PSW 译码器 时序系统 R3 SP Z IR PSW
寄存器: 存放控制信息的寄存器:指令寄存器,程序计数器,程序状态字寄存器 存放所处理数据的寄存器:通用寄存器,暂存器 所有的寄存器都是16位,数据代码输入至D端,由CP端脉冲打入,输出由门控制。PSW的特征位由R,S断置入,系统总线对MDR的输入也是由R,S断置入。 通用寄存器:R0 R1 R2 R3 可编程访问,具有多种功能。本质上只有接受信息,存储信息和发送信息的能力,但通过编程可实现为ALU提供操作数并存放运算结果,也可作为变址寄存器,地址指针和计数器
暂存器:C,D,Z • C用来存放从主存储器中读出的数据,这个数据不能存放在通用寄存器中,否则将破坏原来的内容。 • 由于ALU是单总线结构,所以还要在ALU的输入断设一个暂存器D,用来存放一个操作数,在Z中存放结果。D还可以暂存从主存中读出的数据,并设有左移和右移的功能。 • 暂存器没有分配编号,因此不能编程访问。 • 指令寄存器IR • 存放当前正在执行的一条指令。当执行一条指令的时候,应当将指令从主存中读出到IR中。IR的输出是控制器产生控制信号的主要依据。 • 程序计数器PC • 又叫指令指针IP,它的作用是存放后继指令的地址,一种特殊的情况是转移指令,是由转移指令形成转移地址作为后继地址送往PC。 • 程序状态字寄存器PS • 用来存放现行程序的运行状态和工作方式,其内容是PSW,是参与控制程序执行的重要依据。
堆栈指针SP • 用来指示堆栈栈顶的位置,其内容是堆栈栈顶单元的地址。SP也是可以编程访问的寄存器 • 与主存接口的寄存器MAR,MDR • 地址寄存器MAR用来存放CPU访问主存和接口设备的地址。MAR用来连接总线的输出门是三态门,当微命令EMAR为高电平时,MAR输出送往地址总线。当EMAR为低电平时,MAR输出呈高阻态,与地址总线断开。 • 数据寄存器MDR用于存放CPU与主存或I/O接口设备之间传送的数据,MDR向总线方向的输出也是采用三态门。 • CPU对主存的控制信号有两个,分别是RD和WR,对主存的读操作和写操作 • 运算部件 • ALU的输入端A来自暂存器D,输入端B来自ALU总线,运算结果输出到Z。 • 总线与数据通路结构
ALU总线 • ALU总线是由16根双向数据传送线组成,单总线,CPU中任何两个部件的数据传送都要通过ALU总线,控制比较简单。 • 挂接在ALU总线上的设备都有三态门的设置和打入脉冲的设置。输出门打开,就将寄存器上的信息传送到ALU上,但每次只允许一个部件向ALU总线传送信息,反过来,同时可允许多个部件接受信息。 • 系统总线 • 包括16根数据线,16根地址线和控制总线。控制方式是同步方式 • 控制命令及微命令的形成 • 微命令是基本的控制信号,直接作用于电路门等,可分为脉冲型微命令和电位型微命令。脉冲信号随时间的分布不连续,维持的时间较短,通常利用跳变进行打入;电位信号(电平信号)维持的时间较长。脉冲型微命令包括对寄存器打入的脉冲信号。
控制器 • 控制器的主要部件有:指令寄存器,指令指针,程序计数器,状态字寄存器,时序系统和微操作信号发生器。现在趋向于将控制器和CPU作为整体来加以讨论。 • 微操作信号发生器的输入是IR中的指令经指令译码器后的输出,PSW中的状态位,时序信号及外部的控制信号组成。依据输入产生指令执行需要的微操作信号(控制信号) • 数据传送 • 寄存器之间: R R ALU总线 RI OUT CP RI
主存数据传送到CPU 地址总线 M MAR CPU 数据总线 MDR PC MAR (PCOUT ,CPMAR) M MDR IR (EMAR ,RD ,SMDR)
CPU数据传送主存 MAR MDR M R1 MAR (R1OUT CPMAR) R2 MDR (R2OUT CPMDR) MDR M (EMAR EMDR WR)
执行算术逻辑操作 • 当执行算术和逻辑操作:一个操作数送D • 另一个直接由ALU送到B端 • 结果送Z
时序控制方式 • 指令的执行过程 • 读取指令 分析指令 执行指令 M MDR IR PC 改变PC的内容,使之指向下一条指令地址或紧跟现行指令的立即数或地址码
分析指令的两种方式 • 分析指令 组合逻辑控制器 译码电路译 出IR的内容 产生微操作命令序列 微程序控制器 根据指令的操作码 和标志位转向控制 存储器读取微程序
指令的执行过程 • 执行指令 • 取操作数 • 现行指令可能要从主存中取操作数 • 现行指令可能要从主存中取双操作数 • 现行指令可能是变址寻址方式,则要取操作数之前进行计算 • 执行操作 • 对运算复杂性的估计,分配响应的节拍 • 对计算结果的回送,也需要分配相应的节拍 • 形成下一条指令的地址
指令的衔接方式 • 指令之间的衔接方式 • 串行的顺序安排方式和并行的重叠处理方式 • 目的只有一个:就是为了避免处理器和存储器忙闲不均,主要的技术是预取指令
时序控制方式 • 每条指令的执行可分为几个阶段,每个阶段又可分为若干步操作,每步操作由控制器产生相应的控制信号,所以,每条指令都可分为一个控制信号序列,指令的执行过程就是一定顺序执行一个确定的控制信号序列的过程 • 执行指令有先后的区别,每个控制信号也有长短之分,所以要引入时序信号对它们进行控制 • 同步控制:采用统一的时序信号进行同步控制,这就意味着各个微操作必须是在规定时间完成。同步控制是将操作时间划分成若干长度相等的时间周期(也称为节拍),要求在一定单位的时间周期内完成各个微操作。这就导致了这种时间周期长度的确定只能以最耗时的微操作为准,就不可避免的导致了时间的浪费。 • 同步方式的优点是时序关系简单
同步控制方式实现的多级时序系统 • 同步控制中,通常将时序信号划分成几级 • 指令周期: 是指从取址,分析指令直到指令执行完成所需的时间,不同的指令指令 周期不一样,所以不能将指令周期作为作为时序的一级 • 机器周期: (CPU工作周期或基本周期)是将指令周期划分成几个不同的阶段,取 址周期,存储器读周期,存储器写周期等等 • 节拍: (时钟周期)一个机器周期分为若干时间相等的段落,每个时间段落完 成一步基本操作,一个时间段和一个电平命令对应,称为节拍和或时 钟周期。一条指令对应一段微程序(微指令序列),指令的分步执行 是由执行不同的微指令来实现的,每条微指令的执行时间为一个节拍 • 时钟脉冲信号 节拍的长度确定之后,时钟脉冲信号的频率也就随之确定了。在时序 系统中采用时钟发生器产生时钟脉冲信号,作为时序系统的基本信号, 在节拍的配合下完成将运算结果打入寄存器。(前沿打入结果,后沿实现周期切 换)
三级时序的关系 三级时序之间的关系: 指令周期是一条指令的全过程 机器周期是对指令周期的一种划分 时钟周期对应节拍
频率的获得 • 晶体振荡器的频率叫做主频,经分频后形成CPU时钟频率(时钟脉冲信号) • 启动控制线控制时钟频率的发与不发,形成若干的节拍信号 • ]这就是计数译码电路的构成
模型机的时序系统 • 模型机的时序系统 主 频 周期触发器 时钟发生器 节拍发生器 ON OFF
指令的执行与组合逻辑控制电路 • 组合逻辑控制器产生微命令,控制器一旦制作完成逻辑电路之间的连接关系就固定下来。 • 指令格式 • 寻址方式 • 操作类型
指令格式 操作码12-15 寄存器号9-11 寻址方式6- 8 寄存器号3- 5 寻址方式 0-2 操作码12-15 寄存器号3- 5 寻址方式 0-2 操作码12-15 寄存器号9-11 寻址方式6- 8 - - N Z V C 双操作数指令 单操作数指令 转移指令
可编程寄存器7个:通用寄存器R0-R3:000-011 堆栈指针SP 100 程序状态字寄存器PSW 101 程序计数器PC 111(留有一种编码没用,可扩展) • 寻址方式:模型机的编址按字编址,字长16位,主存每个单元16位采用字长指令格式,指令字长16位,操作数字长16位(这种约定可以使指令计数变得更加的简单) • 立即数寻址 (操作数在指令代码中) • 寄存器寻址 (操作数在寄存器中) • 直接寻址 (操作数在主存中) • 寄存器间址 • 自增型寄存器间址 • 自减型寄存器间址 • 变址寻址
模型机的时序系统 • 工作周期的划分 • 时序信号划分为工作周期,时钟周期(节拍),工作脉冲 • 模型机设置6种工作周期对应6个周期状态触发器,任一时刻只允许一个触发器为1,表明CPU现在所处的工作周期状态,为该阶段的工作提供时间标志与依据
CPU控制流程 FT ST DT ET DMA请求 中断请求 DMAT IT
双操作数指令,两个操作数均在主存中,则经历的工作周期变化为 FT ST DT ET(FT。。。) • 单操作数指令,数在主存中,则经历的工作周期变化为 FT DT ET (FT。。。) • 双操作数指令,数均在CPU寄存器中,则经历的工作周期的变化为 FT ET (FT。。。) • 在每一周期结束前,都要判断下一个周期状态是什么,并为此作好准备,如发出电位信号1---ST。由于DMA周期实现的是高速数据直传,所以让DMA请求优先中断请求。一条指令结束时,首先判断有没有DMA请求,有,插入DMAT。如果一个DMAT结束前又提出新的DMA请求,则允许安排若干的DMA周期。如果没有DMA请求,则判断有无中断请求,有,则进入IT。在IT中完成必要的准备工作之后,转入新的FT,这才是中断服务程序的开始。
工作周期的操作一般要划分成几步来完成,所以将工作周期划分成几个节拍,在模型机中,CPU的操作和主存的操作统一考虑,节拍的宽度是最长微操作所需要的时间,既访问主存的时间。工作周期的操作一般要划分成几步来完成,所以将工作周期划分成几个节拍,在模型机中,CPU的操作和主存的操作统一考虑,节拍的宽度是最长微操作所需要的时间,既访问主存的时间。 • 在同一个工作周期中,不同的指令所需要的节拍数是不一样的,因此模型机设置的节拍发生器产生的节拍数是可变的。节拍发生器有计数器T和节拍译码器组成。 • 工作脉冲 T P 工作脉冲的前沿作为打入寄存器的定时信号标志一次数据通路的完成。P的后沿作为节拍与工作周期的切换定时信号,在此刻对节拍计数器T记数,打入新的工作周期状态
分析和描述指令流程 • 指令流程的分析是重点,是为了在寄存器这一层次分析指令序列的读取和执行过程。通常采用寄存器传送语句的形式描述指令流程 PC OUT T+1 EMAR,RD,SMDR MDROUT PC+1 T=0 1ST 1DT 1ET PCMAR FT0 FT1 CPMAR CPT CPIR CPPC CPT CPST CPDT CPET MMDRIR PC+1PC
MOV 指令流程图 R (R) -(R) I/(R)+ DI X(R) RIC RIMAR RI -1Z RIMAR PCMAR PCMAR MMDRC ZMAR,RI MMDRC MMDRMAR PC+1PC MMDRD PC+1PC MMDRC RI+1Z MMDRC D+RIZ ZRI ZMAR MMARC RJMAR RJ-1Z RJMAR PCMAR PCMAR ZMAR,RJ RJ+1Z MMDRMAR PC+1PC MMDRD PC+1PC ZRJ D+RJZ ZMAR CRJ CMDR MDRM
几个应该注意的问题 • 在ST中得到的源操作数都安排送入C中暂存 • 位移量一般放在D中 • 存储器进行计算后的结果一般放在Z中 • DT和ST没有太大的分别,对于MOV指令而言,则DT周期只需要到取得目的地址为止 • ET周期只需要考虑两个问题:是送入主存还是送入寄存器。 • MOV指令流程图是对MOV指令各种情况的全面分析,具体到某种情况时只需要找出对应的流程分支即可