CPU的主要功能是执行存放在主存储器中的程序即机器指令。CPU是由控制器和运算器。

Slides:



Advertisements
Similar presentations
因数与倍数 2 、 5 的倍数的特征
Advertisements

信息技术:硬件、软件、网络、数据库 计算机技术、多媒体技术、压缩技术...
2017年3月5日 单片机原理与应用 背景知识调查.
第四章 数据的机器运算 计算机的主要功能是对数据进行各种加工和处理,包括加、减、乘、除这些基本的算术运算,与、或、非这些基本的逻辑运算,以及由此构成的其它复杂的运算。运算器则是实现这些运算的主要部件。 无论多么复杂的运算,最终都要分解为加法运算来实现。其中,减法运算通过补码转化为加法来实现 ;乘、除运算可以转换为加减运算、移位操作来实现。加法和移位是计算机中最基本的两种运算操作。
第1章 计算机基础知识 1.4 二进制数的运算及其加法电路 1.4.1二进制数据算术运算规则 (1) 加法运算规则
电子数字计算机 计算机性能 计算机硬件 计算机软件 多级层次结构
分式的乘除.
实验四 利用中规模芯片设计时序电路(二).
第三章 计算机核心部件及其 工作原理.
计算机组成原理 第二十一讲 计算机科学与技术学院 舒燕君.
5.4 顺序脉冲发生器、 三态逻辑和微机总线接口 顺序脉冲发生器 顺序脉冲 计数型 分类 移位型.
第3章 运算器与运算方法 运算器的功能: 1、可以对二进制数据进行各种算术和逻辑运算; 2、是计算机内部数据信息的重要通路。 教学内容:
1.1 计算机系统简介 1.2 计算机的基本组成 1.3 计算机硬件的主要技术指标 1.4 本书结构.
计算机基础知识 丁家营镇九年制学校 徐中先.
第三章 组合逻辑电路 3.1 组合逻辑电路的特点和任务 3.2 组合逻辑电路的分析和设计 3.3 常用组合逻辑电路 第3章 翻页 上页 下页
第2章 汇编语言与汇编程序 ——8086/8088指令系统 mov ax,12h call display Jmp 1234h.
3.7 CPU模型 CPU设计步骤: 一. 拟定指令系统 二. 确定总体结构和数据通路 1. 指令格式 2. 寻址方式 3. 操作类型
总 复 习.
第三章 CPU子系统 运算部件 寄存器 控制部件 运算器 控制器.
第五节 CPU模型 拟定指令系统 确定总体结构 安排时序 拟定指令流程和微命令序列。 形成控制逻辑 CPU设计步骤:
8.1 CPU 的结构 8.3 指令流水 8.2 指令周期 8.4 中断系统.
7.1 机器指令 7.2 操作数类型和操作类型 7.3 寻址方式 7.4 指令格式举例 7.5 RISC 技术.
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
本章主要内容 CPU的功能和组成 控制器控制原理 指令周期(★★★) 时序产生器和控制方式 硬布线控制器 微程序控制器(★★★)
第十章 IDL访问数据库 10.1 数据库与数据库访问 1、数据库 数据库中数据的组织由低到高分为四级:字段、记录、表、数据库四种。
计算机组成原理 The Principle of Computer
第5章 计算机、微型计算机的组成及 工作过程.
时序逻辑电路实验 一、 实验目的 1.熟悉集成计数器的功能和使用方法; 2.利用集成计数器设计任意进制计数器。 二、实验原理
逆向工程-汇编语言
CPU结构和功能.
第3章 CPU子系统.
版权所有,引用请注明出处 第六章、中央控制器 原著 谭志虎 主讲(改编) 蒋文斌.
计算机组成与系统结构 陈泽宇 副教授.
第二章 80x86计算机组织 x86微处理器 2.2 基于微处理器的计算机系统构成 2.3 中央处理机 2.4 存储器
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
移相正弦信号发生器设计 采用直接数字综合器DDS发生器的设计 原理:图1是此电路模型图
第一章 函数与极限.
C语言程序设计 主讲教师:陆幼利.
得技通电子 问题 1.0 、选择题:本大题共15个小题,每小题1分,共15分,在每小题给出的四个选项中,只有一项符合题目要求,把所选项前的字母填在括号内。
微机系统的组成.
第四章 MCS-51定时器/计数器 一、定时器结构 1.定时器结构框图
第9章 位 运 算.
计算机组成原理 课程设计.
(Random Access Memory)
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月13日.
2019/4/29 计算机组成原理 辅导教师:陆明强.
第三章 MCS 51的硬件结构.
第二章 补充知识 2.1 总线和三态门 一、总线(BUS) 三总线结构 数据总线DB(Data Bus)
第4章 Excel电子表格制作软件 4.4 函数(一).
组合逻辑电路 ——中规模组合逻辑集成电路.
实验三 16位算术逻辑运算实验 不带进位控制的算术运算 置AR=1: 设置开关CN 1 不带进位 0 带进位运算;
长春理工大学 电工电子实验教学中心 数字电路实验 数字电路实验室.
实验二 带进位控制8位算术逻辑运算实验 带进位控制8位算术逻辑运算: ① 带进位运算 ② 保存运算后产生进位
第八章 总线技术 8.1 概述 8.2 局部总线 8.3 系统总线 8.4 通信总线.
College of Computer Science & Technology
3.5 运算器及其数据通路 一、一位全加器 1. 概念:两个数的任一位相加,除了本位xi和yi外,还
微机原理与接口技术 ——8086微处理器 西安邮电大学 计算机学院 范琳.
3. 逻辑运算指令 A、简单逻辑操作指令 CLR A. (不影响CY、AC、 OV标志) CPL A
实验目的:掌握数据的顺序存储结构及它们在计算机中的操作。 实验内容:
微机原理与接口技术 西安邮电大学计算机学院 宁晓菊.
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
第一章 微型计算机中的数据类型.
第三节 数量积 向量积 混合积 一、向量的数量积 二、向量的向量积 三、向量的混合积 四、小结 思考题.
第十二讲 密码执行(上).
上节复习(11.7) 1、定时/计数器的基本原理? 2、定时/计数器的结构组成? 3、定时/计数器的控制关系?
第三章 CPU子系统 西南石油大学计算机科学学院 主讲教师 杨 梅 联系电话:
工业机器人入门使用教程 ESTUN机器人 主讲人:李老师
第9章 位 运 算.
DSP技术与应用 电子与信息技术系.
学习目标 1、什么是列类型 2、列类型之数值类型.
Presentation transcript:

CPU的主要功能是执行存放在主存储器中的程序即机器指令。CPU是由控制器和运算器。

本章概述 本章重点在于:CPU基本组成与指令流程。这涉及到建立整机概念的核心问题:CPU如何执行指令,计算机如何存储信息,如何控制输入/输出。 1。CPU的的基本组成 2。拟定指令流程

1、CPU的的基本组成 在理解CPU的组成时需要抓住以下几点: (1)ALU部件,以及它的输入与输出方式。 (2)用于运算的一组寄存器R0-R3或暂存器C、D、Z (3)用于控制的一组寄存器:指令寄存器IR、程序计数器PC、程序状态字寄存器PSW (4)与访存相关的一组寄存器:存储器地址寄存器MAR,存储器数据状态字寄存器MDR,堆栈指针SP (5)内部总路线的连接方式,如何向它发送信息,它又如何输出信息 (6)CPU如何通过系统总路线与主存、I/O设备连接

2、拟定指令流程 指令流程体现了计算机工作原理中一个核心内容:CPU怎样执行程序指令?考核方式是给出一条特定的指令,以模型机CPU内部组成为背景,用指令语句描述其读取与执行流程。关键是要熟练掌握几种基本寻址方式的实现过程,分清谁是源地址、谁是目的地址,操作码是什么? 例如:拟出指令MOV -(SP),X(R0)读取与执行流程。

学习内容: 3.1 算术逻辑运算部件ALU 3.2 运算方法 3.3 CPU模型的组成及其数据通路 3.4 时序控制方式 3.2 运算方法 3.3 CPU模型的组成及其数据通路 3.4 时序控制方式 3.5 指令的执行与组合逻辑控制器 3.6 微程序控制器

学习目标: 理解全加器的逻辑式和结构,并行加法器及所采用的进位链、多功能算术逻辑运算部件SN74181的功能。 掌握初码定点加减运算、移位操作,理解浮点加减运算、十进制加法运算,掌握无符号整数一位乘法并了解其逻辑实现,掌握无符号整数一位除法,了解浮点乘除运算。

学习目标: 掌握模型机的基本组成、数据通路及数据传送,掌握微命令的基本形式。 理解控制器的功能,掌握指令流程及组合逻辑控制器的工作原理。 掌握微型程序控制的概念,了解微指令的编码方式和顺序控制方式,了解微指令的格式。

重点难点: 补码定点加减运算、无符号整数一位乘法和除法。(难点) 模型机的基本组成、数据通路及数据传送,微命令的基本形式。 指令流程及组合逻辑控制器的工作原理。(重点)

课时安排: 9课时。 媒体使用: 使用多媒体投影,主要采用PowerPoint准备的电子教案。

§ 3.1 算术逻辑运算部件ALU ALU是一种功能较强的组合逻辑电路,有时被称为多功能函数发生器。 ALU的核心是加法器。

§ 3.1.1 加法单元 全加器与半加器: An An-1…Ai…A2 A1 A0 Bn Bn-1…Bi …B2 B1 B0 + Cn Cn-1…Ci …C2 C1 C0 全加器为考虑三个输入的加法单元,半加器为考虑两个输入的加法单元。 低位送进来的进位Ci 输入量 输出量 全加和Σi+向高位的进位Ci

Σi=AiOBiOCi 用半加器构成全加器 (1)半加求和可用异或门实现: 半加和=AiOBi (半加器的逻辑式) 半加器又称为异或门 (2)全加器=两个半加,其逻辑式: Σi=AiOBiOCi C i+1=AiBi+(AiOBi)Ci 因逻辑门电路均存在延迟时间,全加器电路是一个延迟部件,其特性将影响全加器的速度。 + + + + +

§ 3.1.2 并行加法器与进位链结构 并行加法器:是用n位全加器实现两个n位操作数各位同时相加,其中的全加器的位数与操作数的位数相同。 并行加法器的最长时间是由进位信号的传递时间决定的,而每位全加器本身的求和延迟是次要的因素。所以,加快进位的产生和传递是提高其速度的关键。 进位链:并行加器中传递进位信号的逻辑线路,称为~

(1)串行进位的并行加法器是将n个全加器串接起来,就可进行两个n 个位数相加。 1. 基本进位公式: C i+1=AiBi+(AiOBi)Ci 2. 并行加法器的串行进位: (1)串行进位的并行加法器是将n个全加器串接起来,就可进行两个n 个位数相加。 (2)串行进位方式:是指相加的进位逐级形成的,每一级的进位直接依赖于前一级的进位。称为~(行波进位) + Gi为进位产生函数 Pi为进位传递函数

(3)串行进位的延迟时间较长。 (4)串行进位的逻辑表达式:见教材P61。 3. 并行进位(先行进位,同时进位) (1)定义:同时形成各级进位信号的方法,称为~。 (2)采用并行进位的加法器的运算速度较快,但是以增加硬件逻辑线路为代价的。

§ 3.1.3 ALU举例 1. SN74181外特性 2. SN74181内部结构 3. SN74181功能表 4. 用SN74181构成多位的ALU

§ 3.2 运算方法 § 3.2.1 定点加减运算 1. 原码加减运算: 原码的加减法较复杂,很少使用,其原因: § 3.2 运算方法 § 3.2.1 定点加减运算 1. 原码加减运算: 原码的加减法较复杂,很少使用,其原因: (1)原码的加减运算,因计算机的实际操作取决于指令中的操作码和两个操作数的符号; (2)运算结果的符号判断也较复杂。

两个相加的数无论正负,只要是以补码的形式表示的,则可按二进制规则相加。 符号位作为数的一部分直接参与运算。 2.补码加减运算: (1)补码加法运算: [X]补+[Y]补=[X+Y]补 两个相加的数无论正负,只要是以补码的形式表示的,则可按二进制规则相加。 (2)补码的减法运算: [X-Y]补=[X+(-Y)]补=[X]补+[-Y]补 为[Y]补的机器负数

由[Y]补求[-Y]补(机器负数)的方法 定点小数: [-Y]补= [Y]补+2-n 例: [Y]补 =0.01011 [-Y]补=1.10100+0.00001=1.10101 定点整数: [-Y]补= [Y]补+1 例: [Y]补 =1001011 [-Y]补=0110100+1=0110101

(3) 补码的运算规则: 参加运算的操作数和运算结果均用补码表示; 符号位作为数的一部分直接参与运算; 若指令操作码为加,则两个数按二进制规则相加; 若指令操作码为减,则被减数+减数的机器负数。 机器负数的求法见上张幻灯片。

3. 溢出判别 溢出:指计算机的运算结果超出其所能表示的范围,而发生错误。 溢出的分类: 正溢出:运算结果为正且大于所能表示的最大正数。 负溢出:运算结果为负且大于所能表示的最小正数(绝对值最大的负数)。

即:当两个同号数相加,若所得结果与两数符号不同,则表示溢出。 (2)采用最高有效位的进位判断: 以下各判断逻辑式见教材P66-67) 溢出判断的方法: (1)采用一个符号位判断: 即:当两个同号数相加,若所得结果与两数符号不同,则表示溢出。 (2)采用最高有效位的进位判断: 即:两正数相加,最高有效位有进位,符号位无进位,表明运算结果溢出; 两负数相加,最高有效位无进位,符号位有进位,表明运算结果溢出;

(3)采用变形补码 将符号位扩充为两位,称为变形码。 采用变形祉码表示的运算结果,可根据两个符号位是否一致来判断是否溢出。 双符号位的含义: 00——结果为正,无溢出; 01——结果为正溢出; 10——结果为负溢出; 11——结果为负,无溢出。 CPU内设的一个状态寄存器,其中的溢出位V是用来记录溢出是否发生。

§ 3.2.2 移 位 移位操作的分类: 按性质分:逻辑~、循环~、算术~ 按被移位数据长度分:字节、半字节、多倍字节 § 3.2.2 移 位 移位操作的分类: 按性质分:逻辑~、循环~、算术~ 按被移位数据长度分:字节、半字节、多倍字节 按每次移位的位数分:移1位、移n位(n ≤被移位数据长度)

定义:将一组无数值意义的二进制代码进行移位。 移位规则:左移时低位补0,右补移时高位补0。 2.循环移位: 1. 逻辑移位: 定义:将一组无数值意义的二进制代码进行移位。 移位规则:左移时低位补0,右补移时高位补0。 2.循环移位: 定义:在闭合移位环路中,在被子移位数据的最高位与最低位之间有移位通路。 移位规则: 循环左移时最高位移到最低位,其余各位依次左移; 循环右移时最低位移到最高位,其余各位依次右移;

3. 算术移位: 定义:带符号数的移位,移位后数的符号不变而数值变化。 移位规则: (1)原码移位规则 (2)补码右移规则 见教材P68页 (3)补码左移规则

§ 3.2.3 浮点加减运算 运算规则及硬件实现 (1)对阶操作。(重点是对阶的规则P65) (2)实现尾数的加(减)运算 § 3.2.3 浮点加减运算 运算规则及硬件实现 (1)对阶操作。(重点是对阶的规则P65) (2)实现尾数的加(减)运算 (3)结果规格化和判断溢出 左规 右规 (4)余入操作

§ 3.2.4 十进制加减运算 1. 进制转换 2. 直接进行十进制运算: 采用BCD码表示,运算由BCD码运算指令完成。 § 3.2.4 十进制加减运算 1. 进制转换 2. 直接进行十进制运算: 采用BCD码表示,运算由BCD码运算指令完成。 两种方法:见教材P71页。 3. BCD码的加法运算 “加六校正”

§ 3.2.5 定点乘除运算 乘除法运算是计算机的基本运算之一。因乘除法运算 需要更多的硬件支持,并不是所有的计算机都配置这种硬件,但是所有的计算机都能做乘除法运算。 实现乘除法运算大致有三种方案。 本节只讨论无符号整数一位乘法和除法。

实现乘除法运算大致有三种方案: (1)采用软件实现乘除法运算。 即用原有的运算器设备,运用基本运算指令编制实现乘除法运算的子程序。这种方法适用于小型机、微型机。 (2)在原有运算器基础上增加一些硬件设备来实现乘、除法操作。 (3)设置专用的乘除法器。使设备处理设备专用化,目的是加快运算速度。一般适用于大、中型计算机。

1.无符号整数一位乘法 1101 被乘数B ×1011 乘数C 1101 0000 + 1101 10001111 乘积 1101 10001111 乘积 1101 ×1011 00001101 B共4次右移 0001101 B共3次右移 00000 B共2次右移 + 01101 B共1次右移 10001111 乘积

实现无符号整数一位乘法 规则:将n位乘转换为n次“累加与移位”,即每一步只求一位乘数所对应的新部分积,并与原部分积作一次累加,然后右移一位。 流程图:见教材P73页,图3-8 B—存放被乘数、C—存放乘数、 A—初值为0,存放部分积,最后存放乘积高位。 用A和C寄存器联合右移以存放逐次增加的部分积,并且使每次操作依据的乘数位始终在C的最低位。乘法完成时,A、C存放的是最后乘积,其中C的内容是乘积的低位部分。 硬件逻辑原理图:图3-9

例:P73,图3-8(无符号整数一位乘算法流程框图) 开 始 n位被除数—B n位乘数—C,0—A N Y C0=1? A+0—A A+B—A A,C右移一位 N C0=1? Y 结 束

例3-11:1101×1011的运算过程: B 1101 (被乘数) 初始状态 第一节拍 第二节拍 第三节拍 第四节拍 乘积 A\B\C三个寄存器 例3-11:1101×1011的运算过程: B 1101 (被乘数) Ca 0 A 0000 C 1011 (乘数) 0 0000 C0=1 +B 1101 1011 0 1101 0 0110 1101 C0=1 +B 1101 1 0011 0 1001 1110 C0=0 +0 0000 0 1001 0 0100 1111 C0=1 +B 1101 1 0001 0 1000 1111 初始状态 第一节拍 第二节拍 第三节拍 第四节拍 乘积

2.无符号整数一位除法 由手算法可知:决定商是“1”还是“0”,根据部分被除数或余数减去除数是否够减。 计算机是实现除法运算,就是要解决如何判断够减与否的问题。方法如下: 用逻辑线路进行比较判别 恢复余数法——(改进)不恢复余数法或加减交替法。(见教材P75页)

恢复余数法: 将被除数或余数减去除数,若所得余数符号位为0(即正)表明够减,上商1;若余数符号位为1(即负)表明不够减,上商0加上除数(即恢复余数法) 即:先做减法,若余数为正,上商1;若余数为负,上商0,必须恢复原来的余数(加上除数)。

不恢复余数法(加减交替法): 此法的特点是在运算过程中如出现不够减,则不必恢复余数,可根据符号,继续向下运算。这样运算时步数固定,控制简单。 规则: 当余数为正时,商为1,余数左移一位,减除数; 当余数为负时,商为0,余数左移一位,加除数

运算初始时,除数— B,被除数—A和C(其中A—高位、C—低位) 除法完成后商放在C寄存器中,余数放在A寄存器中。 无符号整数不恢复余数除法流程图: 见教材P75页,图3-11 运算初始时,除数— B,被除数—A和C(其中A—高位、C—低位) 除法完成后商放在C寄存器中,余数放在A寄存器中。 A寄存的最高位作为运算中的符号位,用于指示余数的正负。 注意:例3-12中第一步 A-B=[A]原-[B]原=[A]初-[B]初= [A]初+[-B]初 B的机器负数:[-B]初=[B]初+1 B求反

00.1101 + + 作业第10页 + +

§ 3.2.6 浮点乘除运算 1. 浮点乘法运算 阶码相加并判断溢出 尾数相乘 规格化处理 2. 浮点除法运算 预置 尾数调整 求阶差 § 3.2.6 浮点乘除运算 1. 浮点乘法运算 阶码相加并判断溢出 尾数相乘 规格化处理 2. 浮点除法运算 预置 尾数调整 求阶差 尾数相除

§ 3.3 CPU模型的组成及其数据通路 CPU的组成: 控制器:完成取指令、分析指令、执行指令的操作。 运算部件:实现指令所指定的各种算术逻辑运算操作。 各种寄存器:用于存放指令、指令地址、操作数及运算结果。 CPU内部数据通路:用以连接CPU内部各部件,为信息提供通路。

§ 3.3.1 基本组成 1. 寄存器: 存放控制信息的寄存器,如指令寄存器、程序计数器和程序状态字寄存器。 § 3.3.1 基本组成 1. 寄存器: 存放控制信息的寄存器,如指令寄存器、程序计数器和程序状态字寄存器。 存放所处理的数据的寄存器,如通用寄存器和暂存器。

寄存器的种类: (1)通用寄存器: 4个:R0、R1、R2、R3 一组可编程访问、具有多种功能的寄存器。 指令系统为其分配编号,即寄存器地址。 其本身在逻辑上只有接收信息、存储信息和发送信息的功能,但通过编程与运算部件的配合可实现多种功能。

(2)暂存器: 3个:C、D、Z C用来暂存从主存储器读出的数据 D设置在ALU的输入端,用来存放一个操作数,还可暂存从主存储器读出的数据,并设有左移和右移的功能。 Z设置在ALU的输出端,用来存放运算结果。 指令系统中没有为其分配编号,故不能编址访问。

(3)指令寄存器IR: 指令寄存器IR——用来存放当前正在执行的一条指令。IR的输出是控制器产生控制信号的主要逻辑依据。 (4)程序计数器PC: 程序计数器又称为指令计数器或指令指针IP。 作用是提供指令的地址。 具有加1计数功能,并可编程访问。

(5)程序状态字寄存器PS: 程序状态字寄存器又称为标志寄存器。 作用:用来存放现行程序的运行状态和工作方式,其内容称为程序状态字PSW。 PSW是参与控制程序执行的重要依据。 (6)堆栈指针SP: SP用来指示堆栈栈顶的位置,其内容是栈顶单元的地址。 SP也是可编程访问的寄存。

(7)与主存接口的寄存器MAR、MDR: 地址寄存器MAR用来存放CPU访问主存或I/O接口的地址。MAR连接地址总线的输出门是三态门。 数据寄存MDR用来存放CPU与主存或I/O接口之间传送的数据。 CPU对主存的控制信号有两个: 读信号RD—控制对主存的读操作 写信号WR—控制对主存的写操作

2. 运算部件: 控制ALU运算的控制信号有: ADD SUB AND OR XOR 加+ 减 -- 与 或 异 COM NEG A+1 求负 求反 A加1 A减1 B加(减)1

3. 总线与数据通路结构: (1)ALU总线 CPU内部采用单总线结构,即设置一组由16根双向数据传送组成的ALU总线(CPU内总线),ALU和所有的寄存器通过这组公共总线连接起来。 在单总线结构中,CPU的任何两个部件间的数据传送都必须通过这组总线,控制较简单,但传送速度受到限制。

(2)系统总线:16根地址总线、16根数据总线,以及控制总线。 CPU通过控制总线向主存或I/O设备发出(或接收)有关控制信号。 CPU通过MAR向地址总线提供访问主存单元或I/O接口的地址 地址总线 数据总线 控制总线 总线 CPU 主存 接口 接口 CPU通过MDR向数据总线发送或接收数据,以完成与主存单元或I/O接口之间的数据传送。 I/O设备 I/O设备 常见计算机硬件系统结构

4. 控制器及微命令的基本形式: (1)微命令的基本形式 微操作命令:是最基本的控制信号,是指直接作用于部件或控制门电路的控制信号,简称微命令。 微命令的两种形式: ①电位型微命令:见教材P81页 ②脉冲型微命令:各寄存器均采用同步打入脉冲将ALU总线上的数据打入其中。 其种类有:CPR0, CPR1, CPPC, CPIR, CPSP, CPMAR, CPMDR等…..……………

(2)控制器 控制器:基本功能就是执行指令,即根据指令产生控制信号序列以命令相应部件分步完成指定的操作。 传统控制器的主要部件包括:指令寄存器IR、指令译码器、程序计数器PC、状态字寄存器PSW、时序系统和微操作信号发生器。

计算机的组成框图: 控制器 存贮器 输入设备 运算器 输出设备 CPU 计算机的基本工作原理——冯诺依曼原理 存取命令 控制信号 指 令 指 令 输入命令 存取数据 操作命令 数据信号 输出命令 结果 数据 输入设备 运算器 输出设备 程序 计算机的基本工作原理——冯诺依曼原理

§ 3.3.2 数据传送 1.寄存器之间的数据传送:直接通过ALU总线传送数据,具体传送由输出门和打入脉冲控制。 § 3.3.2 数据传送 1.寄存器之间的数据传送:直接通过ALU总线传送数据,具体传送由输出门和打入脉冲控制。 2. 主存数据传送到CPU:通过系统总线传送数据。 3. CPU数据传送到主存 4. 执行算术或逻辑操作 见教材P82页

§ 3.4 时序控制方式 计算机中的一条指令的执行过程需要分成读取指令、读取操作数、运算、存放结果等步骤。每一步操作则是由控制器产生相应的一些控制信号实现的,每条指令都可分解为一个控制信号序列。 指令的执行过程就是依次执行一个确定的控制信号序列的过程。 时序控制方式就是指微操作与时序信号之间采取保种关系,它不仅直接决定时序信号的产生,也影响到控制器及其它部件的组成,以及指令的执行速度。

§ 3.4.1 指令执行过程 1. 指令的分段执行过程 (1)取指令 (2)分析指令 (3)执行指令 取操作数 执行操作 形成下条指令地址

2. 指令之间的衔接方式: 名称 定义 特点 是指在一条指令执行完毕后才开始取下条指令 这种方式控制简单,但在时间上不能充分利用部件。 串行的顺序安排方式 是指在一条指令执行完毕后才开始取下条指令 这种方式控制简单,但在时间上不能充分利用部件。 并行的重叠处理方式 是在对现行指令系统运算操作时提前从主存取出下条指令,而不必等当前指令全部执行完。 能有效提高设备利用率和运算速度,但若程序需要转移,预取下条指令失败。

§ 3.4.2 时序控制方式 时序控制方式就是指微操作与时序信号之间采取保种关系,它不仅直接决定时序信号的产生,也影响到控制器及其它部件的组成,以及指令的执行速度。 本节介绍: 同步控制方式 同步控制方式的多级时序系统

1. 同步控制方式: 定义:指各项操作由统一的时序信号进行同步控制,这就意味着各个微操作必须在规定时间内完成,到达规定时间就自动执行后继的微操作。 基本特征:是将操作时间分为若干长度相同的时钟周期(也称节拍),要求在一个或几个时钟周期内完成各个微操作。 采用范围:CPU内部、CPU、主存、各I/O接口之间. 优点:时序关系简单、结构上易于集中,相 应的设计和实现较方便。 缺点:对时间少的微操作,存在时间上的浪费

2. 同步控制方式的多级时序系统: 在CPU中为实现同步控制,必须设置一时序系统,以产生统一的时序信号对各种操作进行定时控制。 (1)多时序概念:指在同步控制方式中,通常将时序信号划分几级(其中包括指令周期),称为多级时序。 在组合逻辑控制器中,是依靠不同的时间标志使CPU分步执行指令,其时序信号常划分为3级:机器周期、节拍、时钟脉冲。 在微程序控制器中,一条指令对应一段微程序(微指令序列),其时序信号划分为2级:节拍、时钟脉冲。

CPU每出并执行一条指令,都要完成一系列的操作,这一系列操作所需要的时间通常叫做一个指令周期。简单地说,指令周期是取出并执行一条指令的时间。 取指令 开始 分析指令 执行指令 取指令——执行指令序列

时序信号划分为3级: 机器周期: 在组合逻辑控制器中,通常将指令周期划分为几个不同的阶段,每个阶段所需的时间,称为机器周期,又称为CPU工作周期或基本周期。 节拍(时钟周期): 将一个机器周期划分若干相等的时间段,其间仅完成一步基本操作,这个时间段用一个电平信号宽度对应,称为~。 节拍长度由CPU内部的操作的需要 在时序系统中设置节拍发生器,用以产生节拍信号。 时钟脉冲:时序系统的基本定时信号。

(2)多级时序信号之间的关系: 见教材P86页,图3-14三级时序信号之间的关系。 (3)时序系统的组成: 见教材P87页,图3-15时序系统框图。

§ 3.5 指令的执行与组合逻辑控制器 按产生控制信号的方式不同控制器可分:组合逻辑控制器和微程序控制器。 组合逻辑控制器:是指产生控制信号即微命令的部件,是用组合逻辑线路来实现。 微程序控制器:即将机器指令的操作(从取指令到执行)分解为若干个更基本的微操作序列,并将有关的控制信息(微命令)以微码形式编成微指令,输入控制存储器中。 它是早期设计计算机的一种方法,这种方法 是把控制部件看作为产生专门固定时序控制信号的逻辑电路,而逻辑电路以使用最少元件和取得最高操作速度为设计目标。一旦控制部件构后,除非重新设计和物理上对它重新接线,否则要想增加新的控制功能是不可能的。

§ 3.5.1 模型机的指令系统 1 . 指令格式: (1)双操作数指令 (2)单操作数指令 (3)转移指令 可编程寄存器7个,编号如下: 1 . 指令格式: (1)双操作数指令 (2)单操作数指令 (3)转移指令 可编程寄存器7个,编号如下: 通用寄存器R0~R3 000~011 堆栈指针SP 100 程序状态字PSW 101 程序计数器PC 111 (留有一种编码未用,可扩展110)

2 . 寻址方式 采用定字长指令格式,指令字长16位,操作数字长16位。 (1)立即数寻址,操作数紧跟着指令,即在指令代码之中; (2)操作数在寄存器中,即寄存寻址方式 (3)操作数在主存中,相应的寻址方式有: 直接寻址方式,地址紧跟指令给出; 寄存器间址方式,地址在寄存器中; 自增型寄存器间址方式; 自减型寄存器间址方式: 变址方式。 教材P89页介绍了模型机寻址方式简表(表3-3)

模型机寻址方式简表

3. 操作类型: (1)传送指令 MOV——传送,操作码0000 MOV指令可用预置寄存器或存储单元内容,还可用进行I/O操作,不再专门设置显示I/O指令。 (2)双操作数算逻指令: ADD——加,操作码0001(带进位) SUB——减,操作码0010(带进位) AND——逻辑与,操作码0011 OR——逻辑或,操作码0100 EOQ——异或,操作码0101

(3)单操作数算逻指令 COM——求反,操作码0110 NEG——求补,操作码0111 INC——加1,操作码1000 DEC——减1,操作码1001 SL——异或,操作码0101 SR——右移,操作码1011 (4)程序控制类指令 转移指令JMP,操作码1100 返回指令RST,操作码1100 转子指令JSR,操作码1101

§ 3.5.2 模型机的时序系统 时序信号划分为3级: 工作周期:在组合逻辑控制器中,通常将指令周期划分为几个不同的阶段,每个阶段所需的时间,称为机器周期,又称为CPU工作周期或基本周期或机器周期。 节拍(时钟周期):将一个机器周期划分若干相等的时间段,其间仅完成一步基本操作,这个时间段用一个电平信号宽度对应,称为~。 工作脉冲(时钟脉冲):时序系统的基本定时信号。

1. 工作周期划分: 模型机设置了6种工作周期,分别利用6个周期状态触发器来表示它们的状态。任一时刻只允许一个触发器为1,表明CPU现在所处的工作周期状态,为该阶段的工作提供时间标志与依据。 6种工作周期: 取指周期FT、源周期ST、 目的周期DT、执行周期ET、 中断响应周期IT、DMA传送周期DMAT

(1)取指周期FT:完成取指所需的操作,与指令操作码无关的公共性操作,但FT结束后将转向哪个工作周期,与FT中取出的指令类型有关。 (2)源周期ST:在ST中将依据指令寄存器IR的源地址字段信息进行操作,形式源地址,读取源操作数。 (3)目的周期DT:依据指令寄存器IR的目的地址字段信息进行操作。 (4)执行周期ET:依据IR中的操作码执行相应操作。

(5)中断响应周期IT: CPU在响应中断请示之后,进入中断响应周期IT。在IT中将直接依靠硬件进行关中断、保存断点、转服务入口等操作。 (6)DMA传送周期DMAT:在DMAT中,CPU交出系统总线的控制权,改由DMA控制器控制系统总线,实现主存与外设之间的数据直接传送。 DMA即直接访存方式,其基本思想是在主存储器和I/O设备之间建立直接的数据传送通路。 DMA请求的优先级高于中断请求。

2. 节拍(时钟周期): 节拍宽度为最长微操作所需的时间,即访问主存操作所需的时间。 在时序系统中设置节拍发生器,用以产生节拍信号。节拍发生器由计数器T与节拍译码器组成。 3. 工作脉冲: 工作脉冲:时序系统的基本定时信号。 模型机在每个节拍的未尾发出一个工作脉冲P,作为各种同步脉冲的来源。

控制器

§ 3.5.3 指令流程 1.取指周期FT: (1)进入FT的条件 初始化置入FT: 程序计数器PC置0(为开机后的第一条指令地址) 开放时钟,开始执行取指操作。

程序运行过程中,同步打入FT 进入FT,D置1 产生同步脉冲CPFT 将1打入 FT 结束FT,D置0 产生同步脉冲CPFT 将0打入FT Q S R FT C D 总清 1--FT CPFT 图3—19 取指周期状态触发器

有3种情况可采用同步方式进入新的取指周期: 当一条指令系统完毕,即在执行周期FT中,如果不响应DMA请求与中断请求,程序正常执行,接着就转入新的FT,开始执行下一条指令。 在中断周期IT这一过渡阶段操作结束后,就应转入中断服务程序,即进入FT。 在DMA周期完成一次DMA传送后,如果没有新的DMA请求,也没有中断请求,则恢复执行被暂停的程序,也应进入FT。

(2)取指流程:(取指流程图) FT0 FT1 在FT0中先指令地址由PC送入MAR。 在FT1中从主存M读出指令代码到MDR再送到指令寄存器IR中,因PC的计数功能,所以可同时修改程序计数器PC内容,让PC+1,则修改后的PC指向紧跟现行指令的下一单元。 PC——MAR M——MDA——IR,PC+1——PC

实现取指流程的每步基本操作与转入下一步操作所需的微命令(包括控制电位和脉冲) (3)微操作时间差 实现取指流程的每步基本操作与转入下一步操作所需的微命令(包括控制电位和脉冲) 在FT0中要完成PC—MAR操作,则应发控制信号PCOUT和 CPMAR,由它们控制将PC的内容送ALU总线打入MAR中,控制信号T+1,CPT控制转入下一个节拍FT1。 在FT1中要完成M—MDR——IR与PC+1—PC操作。控制信号EMAR、RD、SMDR控制从主存中读一个字(指令)置入MDR,由MDROUT、CPIR将MDR将内容打入IR中。控制信号PC+1,CPPC将PC内容加1计数。

2. MOV指令 MOV指令流程图包含了各种寻址方式的组合,流程分支的逻辑依据就是指令的寻址方式字段代码。 (1)取指周期FT:完成取指所需的操作,与指令操作码无关的公共性操作,但FT结束后将转向哪个工作周期,与FT中取出的指令类型有关。 FT0 PC——MAR FT1 M——MDA——IR,PC+1——PC

(1)取指周期FT: (2)源周期ST:从主存中读取源操作数,将依据指令寄存器IR的源地址字段信息进行操作,形式源地址,读取源操作数。 (3)目的周期DT:从主存中读取目的地址或目的操作数,将依据指令寄存器IR的目的地址字段信息进行操作。 (4)执行周期ET:依据IR中的操作码执行相应操作,实现操作码要求的传送操作。

MOV指令流程图 注意:DR表示目的采用寄存器寻址方式,若不是寄存器寻址方式,则以DR表示。

例3-14:拟出指令MOV(R0),-(R1)的读取与执行流程。 FT0 PC—MAR FT1 M—MDR—IR,PC+1—PC ST0 R1-1—Z ST1 Z—MAR ST2 M—MDR—C DT0 R0—MAR ET0 C—MDR ET1 MDR—M

MOV指令流程图 例3-14:拟出指令MOV(R0),-(R1)的读取与执行流程。P98 取指周期FT FT0 PC—MAR FT1 M—MDR—IR,PC+1—PC ST0 R1-1—Z ST1 Z—MAR ST2 M—MDR—C DT0 R0—MAR ET0 C—MDR ET1 MDR—M 取指周期FT MOV指令流程图 源周期ST 目的周期DT 注意:DR表示目的采用寄存器寻址方式,若不是寄存器寻址方式,则以DR表示。 执行周期ET

3. 双操作数指令共有5条:ADD、SUB、AND、OR、EOR。

4. 单操作数指令共有6条: COM求反、NEC求补、INC加1、DEC减1、SL左移、SR右移

5. 转移指令JMP/返回指令RST 寄存器寻址方式,从指定寄存器中读取转移地址; 自增型寄存器间址(R)+,比上一种寻址方式增加一步修改指针Ri的操作; 返回指令RST,其寻址方式固定为(SP)+,即从堆栈中读取返回地址,然后修改指针SP; 相对寻址X(PC),以PC内容为基准进行转移地址计算。 主要任务是获得转移地址或返回地址,安排在执行周期ET中完成,因此,在FT中读得指令并修改PC后,直接进入ET。

转移类型: 转移不成功(NJP): PC型:转移地址段中的寻址方式所指定的寄存器若是通用寄存器、堆栈指针SP、而非PC。 PC型:转移地址段中的寻址方式所指定的寄存器若是PC(程序计数器)。 转移成功(JP)

6. 转子指令JSR: 见教材P101,图3-25转子指令流程图 7. 中断响应周期IT: 当外部有中断请示信号送入CPU是若允许响应,则在一条指令的招待周期ET的最后一拍,向请求源发中断响应回答信号INTA,并在ET结束时将IT置1,即转入中断响应周期。 8. DMA周期: 9. 键盘操作

§ 3.6 微程序控制器 § 3.6.1 微程序控制概念 1. 微程序控制方式的基本思想: § 3.6 微程序控制器 § 3.6.1 微程序控制概念 1. 微程序控制方式的基本思想: 将机器指令分解为基本的微命令序列,用二进制代码表示这些微命令,并编成微指令,多条微指令再形成微程序。 一条微指令包含的微命令,控制实现一步(一个节拍)操作;若干条微指令组成的一小段微程序解释执行一条机器指令。

2. 微程序执行过程的描述: 见教材P104页 3. 基本概念和术语: (1)微命令和微操作 (2)微指令和微周期 (3)微程序与微程序设计 (4)工作程序与微程序,主存储器与控制存储器。

本章小结: 在运算方法部分,要求掌握补码定点加减运算和移位操作,掌握无符号整数一位乘法和除法运算。 本章CPU模型的重点内容是:模型机各类指令的分步执行流程。要求能熟练地拟出具体一条指令的读取和执行流程。这也是本章或全书的重点内容之一。

第一次作业:《第三章》 教材P111页。 T3,(1)、(3) T4,(2)、(4) T6,(1)、(2) T7,(1)、(3) 作业请在下周日(10月21日)上交。

第二次作业:《第三章》 教材P112页。 T11、T12、T13、T14 作业本于下周四发还 本次作业于下周日(10月28日)上交。

本章小结 1.并行加法器和进位链的概念 p60 2.进位产生函数和进位传递函数的概念 p60

7.程序计数器PC的作用 8.指令寄存器的作用 9.结合图3-13了解在模型机中数据传送的过程。要求当给出源操作数寻址方法,目的操作数寻址方法后(包括寄存器寻址、寄存器间址、自增型寄存器间址、自减型寄存器间址、变址寻址),可以写出传送指令“MOV(R1),—(R2)、减法指令“SUB(R3 )+,R0”、 逻辑与指令“AND R1,X(R2)”、逻辑或指令“OR ­(R3 ),(R0)”的读取与执行流程。 p82、p83、p98例3-14

10.掌握同步控制方式的概念和基本特征,CPU内部采用的控制方式。 P84 p85 13.掌握微程序控制的基本概念(包括采用微程序控制的目的,微程序控制器的基本组成、每个部件的作用,微指令的顺序控制字段的作用等)。 P103 p104 p105