信息技术基础 主讲:邓以克 浙江大学计算机学院.

Slides:



Advertisements
Similar presentations
信息技术:硬件、软件、网络、数据库 计算机技术、多媒体技术、压缩技术...
Advertisements

2017年3月5日 单片机原理与应用 背景知识调查.
电子数字计算机 计算机性能 计算机硬件 计算机软件 多级层次结构
实验四 利用中规模芯片设计时序电路(二).
第三章 计算机核心部件及其 工作原理.
第6章 存储系统 计算机教学实验中心.
第6章 存储器和高速缓存技术.
Oracle数据库 Oracle 子程序.
1.1 计算机系统简介 1.2 计算机的基本组成 1.3 计算机硬件的主要技术指标 1.4 本书结构.
Cache综合应用案例 某计算机的主存地址空间大小为256 MB,按字节编址。指令Cache和数据Cache分离,均有8个Cache行,每个Cache行大小为64 B,数据Cache采用直接映射方式。现有两个功能相同的程序A和B,其伪代码如下所示: 程序A: int a[256][256]; …… int.
计算机基础知识 丁家营镇九年制学校 徐中先.
第 5 章 存 储 器 中国科学技术大学 何克东.
版权所有,引用请注明出处 第四章、存储系统 原著 谭志虎 主讲(改编) 蒋文斌.
第三章 CPU子系统 西南石油大学计算机科学学院 主讲教师 杨 梅 联系电话:
逆向工程-汇编语言
第四章 典型CPU及指令系统举例.
第2章 汇编语言与汇编程序 ——8086/8088指令系统 mov ax,12h call display Jmp 1234h.
3.7 CPU模型 CPU设计步骤: 一. 拟定指令系统 二. 确定总体结构和数据通路 1. 指令格式 2. 寻址方式 3. 操作类型
总 复 习.
微程序控制器 刘鹏 Dept. ISEE Zhejiang University
存储系统.
第五节 CPU模型 拟定指令系统 确定总体结构 安排时序 拟定指令流程和微命令序列。 形成控制逻辑 CPU设计步骤:
第3章 8086/8088指令系统 mov ax,12h call display Jmp 1234h.
7.1 机器指令 7.2 操作数类型和操作类型 7.3 寻址方式 7.4 指令格式举例 7.5 RISC 技术.
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
本章主要内容 CPU的功能和组成 控制器控制原理 指令周期(★★★) 时序产生器和控制方式 硬布线控制器 微程序控制器(★★★)
第十章 IDL访问数据库 10.1 数据库与数据库访问 1、数据库 数据库中数据的组织由低到高分为四级:字段、记录、表、数据库四种。
computer organization principle
时序逻辑电路实验 一、 实验目的 1.熟悉集成计数器的功能和使用方法; 2.利用集成计数器设计任意进制计数器。 二、实验原理
逆向工程-汇编语言
CPU结构和功能.
版权所有,引用请注明出处 第六章、中央控制器 原著 谭志虎 主讲(改编) 蒋文斌.
计算机组成与系统结构 陈泽宇 副教授.
第3章 MCS-51单片机指令系统 3.1 指令概述 3.2 寻址方式 3.3 MCS-51系列单片机的指令系统.
第二章 80x86计算机组织 x86微处理器 2.2 基于微处理器的计算机系统构成 2.3 中央处理机 2.4 存储器
计算机组成与系统结构 陈泽宇 副教授.
C语言程序设计 主讲教师:陆幼利.
得技通电子 问题 1.0 、选择题:本大题共15个小题,每小题1分,共15分,在每小题给出的四个选项中,只有一项符合题目要求,把所选项前的字母填在括号内。
微机系统的组成.
第四章 MCS-51定时器/计数器 一、定时器结构 1.定时器结构框图
本节内容 随机读取 视频提供:昆山爱达人信息技术有限公司.
计算机组成原理 课程设计.
(Random Access Memory)
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月13日.
工业机器人知识要点解析 (ABB机器人) 主讲人:王老师
第三章 MCS 51的硬件结构.
第二章 补充知识 2.1 总线和三态门 一、总线(BUS) 三总线结构 数据总线DB(Data Bus)
<编程达人入门课程> 本节内容 内存的使用 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群: ,
第4章 Excel电子表格制作软件 4.4 函数(一).
实验三 16位算术逻辑运算实验 不带进位控制的算术运算 置AR=1: 设置开关CN 1 不带进位 0 带进位运算;
本节内容 内存复制指令 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
长春理工大学 电工电子实验教学中心 数字电路实验 数字电路实验室.
《数字电子技术基础》(第五版)教学课件 清华大学 阎石 王红
第八章 总线技术 8.1 概述 8.2 局部总线 8.3 系统总线 8.4 通信总线.
College of Computer Science & Technology
微机原理与接口技术 ——8086微处理器 西安邮电大学 计算机学院 范琳.
单片机应用技术 项目一 循环彩灯装置 第5讲 MCS-51单片机指令系统及指令格式 《单片机应用技术》精品课程组 湖北职业技术学院机电工程系.
本节内容 C语言的汇编表示 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
3. 逻辑运算指令 A、简单逻辑操作指令 CLR A. (不影响CY、AC、 OV标志) CPL A
本节内容 通用寄存器 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
基于列存储的RDF数据管理 朱敏
微机原理与接口技术 西安邮电大学计算机学院 宁晓菊.
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
本节内容 动态链接库 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第4章 指 令 系 统 4.1 指令系统的发展与性能要求 4.2 指令格式 4.3 指令和数据的寻址方式 4.4 典型指令
第十七讲 密码执行(1).
第十二讲 密码执行(上).
上节复习(11.7) 1、定时/计数器的基本原理? 2、定时/计数器的结构组成? 3、定时/计数器的控制关系?
第三章 CPU子系统 西南石油大学计算机科学学院 主讲教师 杨 梅 联系电话:
第九章 存储器和可编程逻辑器件 本章主要内容 半导体存储器 只读存储器 随机存取存储器 存储器容量的扩展 可编程逻辑器件
Presentation transcript:

信息技术基础 主讲:邓以克 浙江大学计算机学院

微程序控制器 微程序是实现一条机器指令功能的程序 设计思想:每条机器指令的功能都用一段对应的微程序来实现。程序由微指令组成,一条微指令含有若干条微命令,一条微命令就完成一个微操作。

微操作:控制器执行指令时,完成的最基本的不能再细分的操作。 微命令:控制器发出的指挥机器执行微操作的命令。 微指令:在一个CPU周期中,一组实现操作功能的的微命令的组合。

例如:加法指令的执行可分为:取指、计算地址、取操作数和加法运算四步,每一步都由一组微操作实现。这一组能同时执行的微操作就构成一条微指令。 不能在一条微指令中将微命令全部发完。 微程序:计算机每条指令的功能均由微指令序列解释完成,这些微指令序列的集合就叫做微程序。

将一条指令分成若干条微指令,按次序执行这些微指令,就可以实现指令的功能。 组成微指令的微操作命令就是微命令。 微命令执行的结果就是完成微操作。

微程序控制器的结构 地址译码 控制寄存器 微地址寄存器 地址转移 逻 辑 S字段 控制字段 OP 指令寄存器 … 状态条件 … 微命令信号

三、微程序控制器原理框图 微程序控制器主要由控制存储器、微指令寄存器和地址转移逻辑三大部分组成,其中微指令寄存器分为微地址寄存器和微命令寄存器两部分 .

1)控制存储器. 控制存储器用来存放实现全部指令系统的所有微程序,它是一种只读型存储器 1)控制存储器. 控制存储器用来存放实现全部指令系统的所有微程序,它是一种只读型存储器 .一旦微程序固化,机器运行时则只读不写.其工作过程是:每读出一条微指令,则执行这条微指令;接着又读出下一条微指令.又执行这一条微指令.读出一条微指令并执行微指令的时间总和称为一个微指令周期.通常,在串行方式的微程序控制器中.微指令周期就是只读存储器的工作周期 .控制存储器的字长就是微指令字的长度,其存储容量视机器指令系统而定,即取决于微程序的数量.对控制存储器的要求是读出周期要短,因此通常采用双极型半导体只读存储器.

微指令寄存器 微指令寄存器用来存放由控制存储器读出的一条微指令信息.其中微地址寄存器决定将要访问的下一条微指令的地址,而微命令寄存器则保存一条微指令的操作控制字段和判别测试字段的信息 . 3)地址转移逻辑 在一般情况下,微指令由控制存储器读出后直接给出下一条微指令的地址,通常我们简称微地址,这个微地址信息就存放在微地址寄存器中.如果微程序不出现分支,那么下一条微指令的地址就直接由微地址寄存器给出,当微程序出现分支时.意味着微程序出现条件转移 .在这种情况下,通过判别测试字段P和执行部件的“状态条件”反馈信息 .去修改微地址寄存器的内容,并按改好的内容去读下一条微指令.地址转移逻辑就承担自动完成修改微地址的任务 . 

微程序设计方式:动态和静态,前者是指可以修改微指令的控制存储器的微程序设计,而后者不能修改 微程序执行过程: 1) 取出读机器指令用的微指令,送入微指令寄存器,从而取出一条机器指令 2)由机器指令操作码通过地址转移逻辑产生对应的入口地址 3)一条条取出微指令执行 4)执行完这段微程序,再返回1)

2.4 指令系统 指令:计算机执行某些操作的命令 指令系统:计算机所有指令的集合 指令的基本格式: 操作码字段 地址码字段

操作码指明了指令的操作性质及功能,地址码则给出了操作数的地址 指令的长度取决于操作码字段的长度,操作数地址的个数及长度。 若指令长度都是相等的,叫定长结构指令字,简单但不够灵活 指令的长度随功能变化,叫变长指令字,灵活但复杂

指令格式:操作码,地址码 一、操作码 固定长度操作码:便于译码,扩展性差 可变长度操作码:能缩短指令平均长度 二、地址码 零地址指令,如NOP, CLR 一地址指令,如INR R1 二地址指令,如ADD R1, R2 三地址指令,如ADD R1, R2, R3

指令扩展 前提:指令长度一定 实质:充分利用指令的各个字段 例2.17 OP A1 A2 A3

1)4位操作码0000~1110定义15条三地址指令,留下1111作为扩展窗口 2)11110000~11111110定义15条二地址指令,留下11111111作为扩展窗口 3)111111110000~111111111110定义15条一地址指令,留下111111111111作为扩展窗口 4)1111111111110000~1111111111111111定义16条零地址指令

寻址技术 寻址的目的是寻址操作数的地址,包括编址地址和寻址地址 编址方式: 1)字编址 2)字节编址 3)位编址

字编址 每执行一条指令,PC加1;从内存中读出一个数据,地址计数器加1. 优点:简单,不浪费地址信息 缺点:不支持非数值应用

字节编址: 1)若指令长度32位,则执行完一条指令,PC加4;若数据字长32位,则写完一个数据字,地址寄存器加4. 2)优点:对非数值应用支持较好 3)缺点:地址信息的浪费 位编址: 地址信息浪费更大

寻址方式 根据指令中的地址码字段寻址真是操作数地址 形式地址 实际地址

立即寻址 指令中包含的是操作数本身,取出了指令,也就取出了可以立即使用的操作数 OP 立即数

1立即寻址 指令码中直接含有所需地址的操作数 MOV A,#30H MOV DPTR,#3000H 注意:#是唯一区别与地址的标志。

直接寻址 地址码字段给出的是操作数的有效地址,即EA=A,操作数S = (A) 直接地址 操作数

2直接寻址 指令码中含有操作数的地址,机器根据地址找到操作数 MOV A,30H 注意:若直接寻址的地址是SFR中的某一个时,可用名称符号 MOV A,TH0 MOV A,8CH

寄存器直接寻址 地址码部分给出一个通用寄存器的编号,而这个指定的寄存器中存放着操作数,操作数与寄存器的关系:S = (R1) 地址码 操作数

3寄存器寻址 所需的操作数在某个工作寄存器中(R0~R7) INC R0

间接寻址 指令中给出的地址A不是操作数的地址,而是存放操作数的内存单元的地址,简称操作数地址的地址 一级间接寻址:首先按指令的地址码从内存中取出有效地址,EA=(A),然后再按此有效地址从内存中读出操作数,S = ((A)) 多级间接寻址:

寄存器间接寻址 指令中的地址码给出某一通用寄存器的编号,在被指定的寄存器中存放操作数的有效地址,而操作数放在内存中 S = ((R1)) 有效地址EA

变址寻址 就是把指令中的地址A与变址寄存器Rx的内容相加形成操作数有效地址,EA = A+(Rx) S = (A+(Rx) A 操作数 ALU Rx

基址寻址 将基址寄存器中Rb中的内容与指令中给出的位移量D相加,得到有效地址:EA = (Rb)+D S = ((Rb)+D)

相对寻址 是基址寻址的一种变种,由PC提供基准地址,指令中的地址码作为位移量D,相加后得到有效地址:EA = (PC)+D

二、操作数寻址方式 1. 隐含方式。如ADD A中的累加器 2. 立即数方式。如INT #3 3. 寄存器方式。如INC R1

二、操作数寻址方式(续) 4. 直接寻址。如INC 1000

二、操作数寻址方式(续) 5. 间接寻址。 寄存器间接如INC (R1), 存储器间接如INC (1000)

二、操作数寻址方式(续) 6. 相对寻址 如INC 8(PC)

二、操作数寻址方式(续) 7. 变址和基址寻址 如INC 8(R1) 变址寻址:便于数组访问 基址寻址:可扩大寻址范围,可实现程序浮动

二、操作数寻址方式(续) 8. 复合寻址 如INC 8(PC+R1)、INC (R1)(1000)

指令类型 1)数据传送 2)运算 3)程序控制 4)输入输出

数据传送指令 目的:将数据从源地址传送到目的地址 根据源和目的不同,分为: 1)内存单元之间的传送 mov mem2,mem1 2)内存单元传送到寄存器 即取数据 mov reg,mem

3)从寄存器到内存 即存数据 mov mem,reg 4)寄存器之间的传送 mov reg2,reg1 堆栈操作指令 3)从寄存器到内存 即存数据 mov mem,reg 4)寄存器之间的传送 mov reg2,reg1 堆栈操作指令 分为进栈和出栈两种,一般成对出现 数据交换指令 数据传送是双向的,源和目的交换位置

运算类指令 1)算术运算 2)逻辑运算 3)移位指令 分为算术移位,逻辑移位,循环移位,都可以分为左移,右移

程序控制类指令 1)转移指令 分为无条件转移,条件转移 2)子程序调用和返回指令

输入输出指令 用来实现主机与外设之间的信息交换,包括输入输出数据,主机向外设发控制命令或外设向主机报告工作状态 通常两种方式:独立编址方式和统一编址方式 独立编址使用专门的输入输出指令(IN/OUT),指令中给出外设的编号(端口地址),这些地址与内存地址无关,是独立的地址空间 统一编址就是外设和内存统一编址,不需要专门的I/O指令,就用一般的数据传送指令实现I/O操作

2.5 存储系统 三级存储系统 Cache,主存,辅存 2.5 存储系统 三级存储系统 Cache,主存,辅存 组织成两个独立的二级存储系统,一个由cache和主存组成”cache---主存“存储系统,一个”主存---辅存“存储系统, 三级存储,两级映像

存储器的分类 1)按位置: 内存 容量小,速度快 外存 容量大,速度慢 2)按材料: 磁存储器 半导体存储器 光存储器

3)按工作方式: 4)按寻址方式: 随机存储器 顺序存储器 直接存储器 读写存储器 只读存储器 光存储器 ROM PROM EPROM EEPROM 光存储器 4)按寻址方式: 随机存储器 顺序存储器 直接存储器

技术指标 1)容量 2)存取时间 3)存储周期 4)带宽

主存储器 存储字:若干位组成的二进制数作为一个整体存入或取出 存储单元:存放存储字或存储字节的内存空间 地址:存储单元的编号

图4.1 主存储器与CPU的联系

位扩展指的是用多个存储器器件对字长进行扩充。 (1) 位扩展 位扩展指的是用多个存储器器件对字长进行扩充。 位扩展的连接方式是将多片存储器的地址、片选CS、读写控制端R/W相应并联,数据端分别引出。如图4.18所示 。 (2) 字扩展 字扩展指的是增加存储器中字的数量。静态存储器进行字扩展时,将各芯片的地址线、数据线、读写控制线相应并联,而由片选信号来区分各芯片的地址范围。如图4.19所示 。

图4.18 位扩展连接方式

图4.19 字扩展连接方式

一个小容量存储器与CPU的连接方式如图4.20所示。 (3) 字位扩展 实际存储器往往需要字向和位向同时扩充。一个存储器的容量为M×N位,若使用L×K位存储器芯片,那么,这个存储器共需要M/L×N/K个存储器芯片。 一个小容量存储器与CPU的连接方式如图4.20所示。

图4.20 静态存储器芯片与CPU的连接

3.5 cache存储器 3.5.1 cache基本原理 1.cache的功能      cache是介于CPU和主存之间的小容量存储器,存取速度比主存快。它能高速地向CPU提供指令和数据,加快程序的执行速度。它是为了解决CPU和主存之间速度不匹配而采用的一项重要技术(图3。36) 2. cache的基本原理     CPU与cache之间的数据交换是以字为单位,而cache与主存之间的数据交换是以块为单位。一个块由若干定长字组成的。当CPU读取主存中一个字时,便发出此字的内存地址到cache和主存。此时cache控制逻辑依据地址判断此字当前是否在 cache中:若是,此字立即传送给CPU;若非,则用主存读周期把此字从主存读出送到CPU,与此同时,把含有这个字的整个数据块从主存读出送到cache中。由始终管理cache使用情况的硬件逻辑电路来实现LRU替换算法(图3。37)

主存与cache的地址映射 cache的容量很小,它保存的内容只是主存内容的一个子集,且cache与主存的数据交换是以块为单位。   地址映射即是应用某种方法把主存地址定位到cache中。   址映射方式有全相联方式、直接方式和组相联方式三种

1.全相联映射方式  主存中一个块的地址与块的内容一起存于cache的行中,其中块地址存于cache行的标记部分中。   这种方法可使主存的一个块直接拷贝到cache中的任意一行上,非常灵活。   它的主要缺点是比较器电路难于设计和实现,因此只适合于小容量cache采用。   全相联映射的示意图演示(3.38) 2.直接映射方式   这也是一种多对一的映射关系,但一个主存块只能拷贝到cache的一个特定行位置上去。   cache的行号i和主存的块号j有如下函数关系: i=j mod m  (m为cache中的总行数)   直接映射方式的示意图演示(3.39)

3.组相联映射方式   这种方式是前两种方式的折衷方案。它将cache分成u组,每组v行,主存块存放到哪个组是固定的,至于存到该组哪 一行是灵活的,即有如下函数关系: m=u×v     组号 q=j mod u    组相联映射的示意图演示(3.40) 组相联映射方式中的每组行数v一般取值较小,这种规模的v路比较器容易设计和实现。而块在组中的排放又有一定的灵活性,冲突减少。

3.5.3.替换策略 对直接映射的cache来说,只要把此特定位置上的原主存块换出cache即可。 ★最不经常使用(LFU)算法     LFU算法将一段时间内 被访问次数最少的那行 数据换出。每行设置一 个计数器。从0开始计数, 每访问一次, 被访行的 计数器增1。当需要替换时, 将计数值最小的行换出,同时将这些行的计数器都清零。   这种算法将计数周期限定在对这些特定行两次替换之间的间隔时间内,不能严格反映近期访问情况。

★近期最少使用(LRU)算法     LRU算法将近期内长久未被访问过的行换出。每行也设置一个计数器,cache每命中一次,命中行计数器清零,其它各行计数器增1。当需要替换时,将计数值最大的行换出。   这种算法保护了刚拷贝到cache中的新数据行,有较高的命中率。 ★随机替换   随机替换策略从特定的行位置中随机地选取一行换出。在硬件上容易实现,且速度也比前两种策略快。  缺点是降低了命中率和cache工作效率。 3.5.4 cache的写操作策略 CPU对cache的写入更改了 cache的内容。可选用写操 作策略使cache内容和主存 内容保持一致。

★写回法  当CPU写cache命中时,只修改cache的内容,而不立即写入主存;只有当此行被换出时才写回主存。  这种方法减少了访问主存的次数,但是存在不一致性的隐患。 实现这种方法时,每个cache行必须配置一个修改位,以反映此行是否被CPU修改过。 ★全写法 当写cache命中时,cache与主存同时发生写修改,因而较好地维护了cache与主存的内容的一致性。   当写cache未命中时,直接向主存进行写入。cache中每行无需设置一个修改位以及相应的判断逻辑。  缺点是降低了cache的功效。 ★写一次法   基于写回法并结合全写法的写策略,写命中与写未命中的处理方法与写回法基本相同,只是第一次写命中时要同时写入主存。这便于维护系统全部cache的一致性。

CACHE的基本运行原理 读过程为例 ADDR DATA MEMORY 地址总线 数据总线 比较选 一单元 译码选 一单元 CPU CACHE CONTROL 译码选 一单元 MEMORY

全相联方式 有效位 标志 主存储器 数据 数据 比较 CACHE 地址 译码 C P U

直接映射方式 有效位 CACHE 标志 主存储器 数据 数据 比较 译码 页 内 地 址 页 号 地址 译码 C P U

两路组相联方式 有效位 标志 主存储器 数据 比较 译码 CACHE 数据 地址 比较 译码 译码 C P U

图4.22 多体交叉存储

Thank You! See you next time…