第一章 绪 论 1.1 概述 1.2 计算机中的数制与码制 1.3 微型计算机的基本结构.

Slides:



Advertisements
Similar presentations
质数和合数 中心小学 顾禹 人教版小学五年级数学下册 一、激趣导入 提示:密码是一个三位 数,它既是一个偶数, 又是 5 的倍数;最高位是 9 的最大因数;中间一位 是最小的质数。你能打 开密码锁吗?
Advertisements

1 、谁能说说什么是因数? 在整数范围内( 0 除外),如果甲数 能被乙数整除,我们就说甲数是乙数的 倍数,乙数是甲数的因数。 如: 12÷4=3 4 就是 12 的因数 2 、回顾一下,我们认识的自然数可以分 成几类? 3 、其实自然数还有一种新的分类方法, 你知道吗?这就是我们今天这节课的学.
因数与倍数 2 、 5 的倍数的特征
3 的倍数特征 抢三十

3 的倍数的特征 的倍数有 : 。 5 的倍数有 : 。 既是 2 的倍数又是 5 的倍数有 : 。 12 , 18 , 20 , 48 , 60 , 72 , , 25 , 60 ,
因数与倍数 2 、 5 的倍数的特征 绿色圃中小学教育网 扶余市蔡家沟镇中心小学 雷可心.
2.8 函数的微分 1 微分的定义 2 微分的几何意义 3 微分公式与微分运算法则 4 微分在近似计算中的应用.
第三章 数据在计算机中的表示 进位计数制及相互转换 进位计数制及相互转换 3.2 数据在计算机中的表示 数据在计算机中的表示.
数制 (1) 基数:在一种数制中,只能使用一组固定的数字符号 来表示数目的大小,其使用数字符号的个数,就称为该数 制的基数。其规则是 “ 逢 b 进一 ” ,则称为 b 进制的基数。 十进制( Decimal )的基数是 10 ,,它有 10 个数字符号, 即 0 , 1 , 2 , 3 , 4 ,
三级偏软考点. 第一章必考点 1. 计算机的进位数制 (1) 计算机中所有数据是二进制 0,1 表示 (2) 在现实生活中人们普遍使用十进制 如何把十进制转换成计算机所识别的二 进制?整数是除 2 取余法,小数是乘 2 取 整法.
冀教版四年级数学上册 本节课我们主要来学习 2 、 3 、 5 的倍数特征,同学们要注意观察 和总结规律,掌握 2 、 3 、 5 的倍 数分别有什么特点,并且能够按 要求找出符合条件的数。
练一练: 在数轴上画出表示下列各数的点, 并指出这些点相互间的关系: -6 , 6 , -3 , 3 , -1.5, 1.5.
2 、 5 的倍数特征 集合 2 的倍数(要求) 在百数表上依次将 2 的倍数找出 并用红色的彩笔涂上颜色。
Foundations of Computer Application
信息技术:硬件、软件、网络、数据库 计算机技术、多媒体技术、压缩技术...
2017年3月5日 单片机原理与应用 背景知识调查.
讲授人 何美香 微机原理及应用.
微型计算机中数的编码和字符的表示 1 数的表示与转换方法 2 带符号数的表示方法 3 定点数与浮点数 4 计算机中的编码.
第1章 计算机基础知识 1.4 二进制数的运算及其加法电路 1.4.1二进制数据算术运算规则 (1) 加法运算规则
10.2 立方根.
实验四 利用中规模芯片设计时序电路(二).
微型计算机原理 与应用.
微机原理与接口技术 大家好!.
5.4 顺序脉冲发生器、 三态逻辑和微机总线接口 顺序脉冲发生器 顺序脉冲 计数型 分类 移位型.
第一册第一章 第3节 计算机的基本工作原理 制作者:冯玉珊(广州市番禺区市桥中学).
一、原函数与不定积分 二、不定积分的几何意义 三、基本积分公式及积分法则 四、牛顿—莱布尼兹公式 五、小结
微机原理与通信接口 武汉理工大学信息工程学院 2010年9月.
计算机基础知识 丁家营镇九年制学校 徐中先.
单片机原理及接口技术.
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
实验四 组合逻辑电路的设计与测试 一.实验目的 1.掌握组合逻辑电路的设计 方法 2.学会对组合逻辑电路的测 试方法.
1.1 数制与编码 1.2 计算机中数值数据的表示与运算 1.3 计算机系统的组成 1.4 微型计算机概述
时序逻辑电路实验 一、 实验目的 1.熟悉集成计数器的功能和使用方法; 2.利用集成计数器设计任意进制计数器。 二、实验原理
逆向工程-汇编语言
CPU结构和功能.
若2002年我国国民生产总值为 亿元,如果 ,那么经过多少年国民生产总值 每年平均增长 是2002年时的2倍? 解:设经过 年国民生产总值为2002年时的2倍, 根据题意有 , 即.
C语言程序设计 主讲教师:陆幼利.
学习目标 1、什么是字符集 2、字符集四个级别 3、如何选择字符集.
微机系统的组成.
第四章 MCS-51定时器/计数器 一、定时器结构 1.定时器结构框图
第1章 数制与编码.
线 性 代 数 厦门大学线性代数教学组 2019年4月24日6时8分 / 45.
计算机组成原理 课程设计.
(Random Access Memory)
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月13日.
第三章 MCS 51的硬件结构.
第二章 补充知识 2.1 总线和三态门 一、总线(BUS) 三总线结构 数据总线DB(Data Bus)
1.2 有理数 第1课时 有理数 伏家营中学 付宝华.
第4章 Excel电子表格制作软件 4.4 函数(一).
组合逻辑电路 ——中规模组合逻辑集成电路.
实验三 16位算术逻辑运算实验 不带进位控制的算术运算 置AR=1: 设置开关CN 1 不带进位 0 带进位运算;
长春理工大学 电工电子实验教学中心 数字电路实验 数字电路实验室.
实验二 带进位控制8位算术逻辑运算实验 带进位控制8位算术逻辑运算: ① 带进位运算 ② 保存运算后产生进位
第八章 总线技术 8.1 概述 8.2 局部总线 8.3 系统总线 8.4 通信总线.
第4课时 绝对值.
6×3= 6×30= 60×30= 14×2= 14×20= 140×2= 25×2= 25×20= 250×20= 算一算 18 28
九宫趣味数学──手指关节计算器 上海浦东建平实验小学 王政皓.
分数再认识三 真假带分数的练习课.
正弦、余弦函数的性质 华容一中 伍立华 2017年2月24日.
3. 逻辑运算指令 A、简单逻辑操作指令 CLR A. (不影响CY、AC、 OV标志) CPL A
微机原理与接口技术 西安邮电大学计算机学院 宁晓菊.
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
第四节 向量的乘积 一、两向量的数量积 二、两向量的向量积.
数据表示 第 2 讲.
第一章 微型计算机中的数据类型.
第三节 数量积 向量积 混合积 一、向量的数量积 二、向量的向量积 三、向量的混合积 四、小结 思考题.
微机原理与接口技术 西安邮电大学计算机学院 董 梁.
第九章 存储器和可编程逻辑器件 本章主要内容 半导体存储器 只读存储器 随机存取存储器 存储器容量的扩展 可编程逻辑器件
第一章 绪 论 1.1 概 述 1.2 数制与代码.
Presentation transcript:

第一章 绪 论 1.1 概述 1.2 计算机中的数制与码制 1.3 微型计算机的基本结构

一、重点内容提示 1、微型计算机的基本结构及基本工作原理; 2、数制的表示及相互转换; 3、计算机中带符号数的表示方法; 本章重点内容提示及掌握要点 一、重点内容提示 1、微型计算机的基本结构及基本工作原理; 2、数制的表示及相互转换; 3、计算机中带符号数的表示方法; 4、计算机中带小数点的数的表示方法; 5、常用的二进制编码; 6、基本的逻辑门电路和逻辑函数。

二、掌握要点 1、掌握微型计算机的基本结构及原理; 2、掌握各种数制的表示及相互转换; 3、掌握计算机中带符号数的表示方法; 4、掌握计算机中带小数点的数的表示方法; 5、掌握常用的二进制编码。 6、能熟练地运用基本的逻辑门电路和逻辑表达式;

1.1 概述 以来,对人类社会的经济发展和科学技术的发展起 到了巨大的推动作用。 算机,机械计算机,数字计算机等。目前,人们所 1.1 概述 计算机是二十世纪的一个伟大发明,自从问世 以来,对人类社会的经济发展和科学技术的发展起 到了巨大的推动作用。 计算机种类较多,有电子计算机,电子模拟计 算机,机械计算机,数字计算机等。目前,人们所 说的计算机是电子数字计算机,简称:微机。 计算机是一种能够完成数学运算、逻辑运算、 逻辑推理和自动控制的电子装置。因为它具有算逻 运算、逻辑推理、判断等能力。所以,人们称它为 “电脑”。在现代高速发展的电子信息社会,计算机 是人类的万能工具。

过去有句流行语叫: “学好数、理、化,走遍天下都不怕” 可见,学好计算机技术是何等重要。 现在是信息时代,现代的一句流行语叫: “掌握信息化,走遍天涯有财发” 一切尽在一语中 ………… 可见,学好计算机技术是何等重要。

自从1946年美国第一台电子计算机问世以来,已经过五代的发展与变革。大体概括如下: 1.1.1 微型计算机的发展概况 自从1946年美国第一台电子计算机问世以来,已经过五代的发展与变革。大体概括如下: 第一代:于46年在美国问世的巨型电子计算机(ENIAC); 第二代:58年开始采用晶体管取代电子管研制的电子计算机; 第三代:65年开始利用中、小规模集成电路构成的计算机; 第四代:70年开始由大规模集成电路为主体构成的计算机; 第五代:七十年代后期以来,在系统结构上采用超大规模集成 电路和神经网络技术、材料上使用常温超导材料和光 器件组成的微型计算机,其功能、性能日益提高。从4 位、8位、16位、32位到64位机不断扩展,运 算速度从 几兆赫兹到几千千兆赫兹。

微处理器的迅速发展和更新换代,使基于微处理器的微型计算机的功能和性能不断提高。 所谓微处理器,是把运算器和控制器集成在 一个芯片上,又称CPU。 所谓微型计算机是由CPU配上一定容量的半导体随机存储器(RAM)、半导体只读存储器(ROM)及接口电路和外围设备组成的。 所谓微型计算机系统,是指硬件系统和软件系统的总称。硬件系统包括微型计算机、时钟、电源等; 软件系统包括系统软件和应用软件。

微型计算机的发展趋势,一方面向小型化、微型化发展;另一方面向巨型化方向发展,不管是往那个方面发展,都是朝着智能化方向发展。 1.1.2 微型计算机的分类和特点 一、微型计算机的分类 ※ 按照微机的组装形式可分为: 微机 单板机 单片机 ※ 按照微处理器的字长可分为: 4位机 、8位机、16位机、32位机、64位机

1.1.3 微型计算机的字长 二、微机的特点 1、体积小 、重量轻、耗电少 2、价格便宜 3、可靠性高 4、功能强、使用方便 5、维护方便 1.1.3 微型计算机的字长 字节 : (包含八位二进制数码) 字 : (包含两个字节——十六位二进制数码) 双字 : (包含两个字——三十二位二进制数码)

1.2 计算机中各种计数制的表示方法 1.2.1 日常生活中所用的十进计数制和其他计数制 1.2 计算机中各种计数制的表示方法 1.2.1 日常生活中所用的十进计数制和其他计数制 一、十进计数制 在生产、生活中,人们所遇到的数大部分是十进计数制, 所谓“十进制”,就是一种“逢十进一”的计数制。 比如:人民币的单位有元、角、分;计量长度用的单位有丈、尺、寸等,他们之间都是十进制的计数关系。 我们把“十进制”提到理论高度,可归纳如下: 1、所谓“十进制”,就是“逢十进一”的计数制。 2、十进计数制总共有0~9十个不同的数码,任何一个十进制 数都是由这十个数码中的一个或多个组成的。 如:2468,就是由这十个数码中的4个组成的。

3、 我们把“10”叫作十进计数制的“基数”。 什么叫权呢? 基数 既表明了该进位制中数码的个数,也表明了相邻两位数字之间的倍数关系(即个、十、百、千、万……)。 推而广之,逢“几” 进一的“几”,就是基数。 4、在十进制数中,每一位都具有一定的“权”。 什么叫权呢? 如数字:911,在911中有两个数码“1”,在个位上的“1” 只代表“壹”,而在十位上的那个“1”却代表“壹拾”。可见,数码放在不同的位置上,就具有不同的权。“位数”越高,“权”就越大。如 123.45按权展开式为: 123.45 = 1×102+2×101+3×100+4×10-1+5×10-2

任何一个十进制数,都可以写成按权的展开式,十进制各位的权,就是基数10的乘幂。 二、其他计数制 1、十二进制 如:十二支铅笔为“一打”,而十二打又叫“一罗”, 这里的“支” 、“打”、“罗”之间是十二进制计数关系, 即 逢十二就进一。在十二进制中,基数就是12 2、六十进制 我们知道1小时等于60分,1分钟等于60秒, 这秒、分、时之间就是六十进制。基数就是60。

3、十六进制及二十四进制 我国二十世纪七十年代以前用的称计量单位为: 1斤等于16两,也就是十六进计数制,逢十六进一。 在地球围着太阳转的同时,还不停地自转,地球自转一圈就是一天,而1天等于24小时,则小时与天之间就是二十四进制。 从以上例子可知,除了最常用的“十进制”外,还有“十二进制”、“十六进制”、“二十四进制”、“六十进制”等计数制。 那么,基数最小的是几进制呢?显然,基数不能等于0,也不能等于1。也就是说不可能有“逢零进一”和“逢一进一”的计数制。由此可见,基数最小只能是 2 。 基数为2的计数制叫“二进制”,即“逢二进一”

如:两只袜子等于一双袜子,两只鞋子等于一双鞋子。可见,“只”与“双”之间是二进制关系。 三、二进计数制 通过前面的学习我们掌握了各种计数制的关系。 下面我们重点来讨论二进计数制。为什么要重点 讨论二进制数?原因何在? 众所周知,计算机是最“聪明”、最“能干”的。但 它有最“笨”的一面。就是“识字能力”太差,不管是什 么低级或高级的计算机都只认识两个字:“0”和“1”。 所以,不管让计算机进行任何简单或复杂的计算 、处理还是控制,人们只能给计算机提供二进制信 息。因此,凡是学习计算机的人都必须懂得二进制。

1、什么是二进制及二进制的特点 1)、所谓“二进制”,就是“逢二进一”的计数 制。 比如:一个数最低位上是数值0,那么就写“0”, 是数值1就写“1”。 但如果是十进制数的2,用二进制表示时,只用 最低一位就不够了,因为已经满了2 ,需要向高位 进“1”才对。 即 十进制数的2,用二进制表示时应为“10”。 倒过来说,(10)2 =(2)10

按照“逢二进一”的规则,可以把十进制中 0 ~ 16的这些数用二进制表示出来: 十进制数 等值的二进制数 1 2 3 4 5 6 7 10 11 100 101 110 111 等值的二进制数 8 9 10 11 12 13 14 15 16 1000 1001 1010 1011 1100 1101 1110 1111 10000 十进制数

它既表明二进制中只有“0”和“1”两个数码,也 表明相邻两位数之间是2倍的关系, 也即是“逢二进一”的关系。 2)、在二进制数中,只有“0”和“1”两个数码, 换句话说:任何一个二进制数都是由“0”和“1”来组成的, 。例如:十进制中的49,用二进制表示为: (49)10 = (1 1 0 0 0 1)2 3)、在二进制中,基数为“2”, 它既表明二进制中只有“0”和“1”两个数码,也 表明相邻两位数之间是2倍的关系, 也即是“逢二进一”的关系。 4) 、在二进制中,每一位都具有一定的“权”, 这些“权”都是基数 2 的乘幂形式: 即从低位向高位分别为: 2º 、2¹、 2² 、2³ ……

5) 、一个二进制数,左移一位相当该数扩大2倍; 右移一位相当该数缩小1/2。 任何一个二进制数,都可以写成按权展开的形式。 例如:十进制中的35,可以写成二进制形式,并按权展开为: (35)10 =(100011)2 =1×25 + 0×2⁴+0×23 + 0× 22 +1×21+1 ×20 5) 、一个二进制数,左移一位相当该数扩大2倍; 右移一位相当该数缩小1/2。 例如: 110 ——十进制的6,左移一位(相当右边补0)得: 1100 ——十进制的12, 若将 110右移一位,则变为: 11 —— 十进制的3,—— 6的1/2。

2、计算机为什么要采用二进制 首先来看十进制数“23”和“84”用二进制表示出 来: (23)10 =(10111)2 来: (23)10 =(10111)2 (84)10 =(1010100)2 古往今来在生产和生活中人们习惯使用十进制。 是由于人有十个指头,采用十进制计数非常方便。 对于二进制表示的数容易读错和写错。既然如 此,为什么计算机还要采用二进制呢? 这是因为有它的优缺点决定的。

在计算机内部对数据信息的存取、运算、处理和控制等操作,都是由双态元件(数字电路)来实现的。二进制数也正好有“0”和“1”数字符。 1)、二进制数在计算机内易于表示。 在计算机内部对数据信息的存取、运算、处理和控制等操作,都是由双态元件(数字电路)来实现的。二进制数也正好有“0”和“1”数字符。 例如: 信息的有无; 灯泡的亮暗; 开关的通断; 电位的高低;……。 这样就可以用“1”来表示“有”、“亮”、“通”、“高” 这一类状态; 用“0”来表示“无”、“暗”、“断”、“低”另一类状 态。

2)二进制的算术运算非常简单 ①、加法:其运算法则为: 0+0=0 0+1=1 1+0=1 1+1= 1 0 ;逢二进一 1+1= 1 0 ;逢二进一 例: 求23+22=? 23 …………… 10111 + 22 …………… + 10110 45 …………… 101101

0 – 0 = 0 1 – 0 = 1 1 – 1 = 0 0 – 1 = 1 ; 注意:当本位不够减时, ②、减法: 其运算法则为 ②、减法: 其运算法则为 0 – 0 = 0 1 – 0 = 1 1 – 1 = 0 0 – 1 = 1 ; 注意:当本位不够减时, 向高位“借一当二” 例: 求 9 - 5= ? 9 ……………… 1001 — 5 ……………… — 101 4 ……………… 100

0×1=0 1×0=0 1×1=1 ③、乘法: 其运算规则为 例:求 7×5=? 7 ………… 111 ×5 …………× 101 例:求 7×5=? 7 ………… 111 ×5 …………× 101 35 ………… 111 +000 +111 100011 0×0=0 0×1=0 1×0=0 1×1=1 说明两点: 1、当乘数某位为“1”时,它乘以被乘数,得部分积(被乘数本身), 当乘数某位为“0”时,其部分积就是一串“0”. 各部分积相加得最后乘积。

2、计算机做乘法时,并不是真正按照乘法法则去乘的,而是把乘法变成加法和移位来实现的。 ④、除法: 二进制的除法是乘法的逆运算,法则与乘法类似。各位的商不是“0”,便是“1”。 1 1 例: 求 24÷4=? 1 0 0 1 1 0 0 0 6 -1 0 0 4 2 4 1 0 0 2 4 - 1 0 0

说明: 同样,计算机内部也不会真正做除法, 而是把除法变成减法和移位来实现的。 说明: 同样,计算机内部也不会真正做除法, 而是把除法变成减法和移位来实现的。 3)、采用二进制可节省计算机硬件电路 看起来二进制数写出来要比十进制数长,但采用二进制时,计算机中的硬件电路反而简单、节省。 比如:采用十进制来表示 0~99的数,需要两位电路,每位电路又应具有10种状态才能表示 0~9,这样总共需要10×2=20种状态电路。 若采用二进制来表示同样范围的数(0~99), 即二进制数为:0~1100011,可见,只需7位电路,而每位只需两种状态便可实现。即总共只需7×2=14种状态电路。比采用十进制节省6个状态电路。

4)、采用二进制后,可运用逻辑代数这一强有力的工具,对计算机进行分析、设计和应用计算、处理等带来了很大的方便。 以上四个优特点,说明了计算机为什么要采用二进制的根本原因。 计算机内部采用二进制数,而人们习惯用十进制数,因此,学习计算机时,要学会十进制与二进制以及其他进制的互相转换。

1.2.3 各进制之间的转换 1、任意进制数 十进制数 1)、二进制 十进制数 1.2.3 各进制之间的转换 1、任意进制数 十进制数 1)、二进制 十进制数 11001B = 1×24+1×23+0×22+0×21+1×20 = 25 2)、八进制 十进制数 325.7Q = 3×82+2×81+5×80+7×8-1 = 213.125 3)、十六进制 十进制数 4F5.C2H = 4×16 2+15×161+5×16 0+12×16-1+ 2×16-2 =1269.7578

2、十进制数 任意进制 1)、十进制数 二进制数 例: 将( 25.625)10 转换成二进制数。 2 5 余数 2 取整数 1 2 K0=1 2 0.625×2=1.25 k-1=1 0.25×2=0.5 k-2=0 0.5×2=1 k-3=1 6 K1=0 2 2 3 K2=0 1 2 K3=1 K4=1 故 25.625 对应的二进制数为:11001.101B

2)、十进制 八进制 例:将 (213)10 转换成八进制数 2 6 3 8 2 1 3 8 2 6 -1 6 - 2 4 5 3 2)、十进制 八进制 例:将 (213)10 转换成八进制数 2 6 3 8 2 1 3 8 2 6 -1 6 - 2 4 5 3 余数: 2 - 4 8 余数: 5 结果 (213)10 = (325)8 验证:3×82+2×81+5×80 = 213

3)、十进制 十六进制 例: 将 (654)10转换成十六进制数 4 2 16 6 5 4 16 4 0 -6 4 -3 2 余数: 1 4 3)、十进制 十六进制 例: 将 (654)10转换成十六进制数 4 2 16 6 5 4 16 4 0 -6 4 -3 2 余数: 1 4 余数: 8 结果 :(654)10 = (28E)16 验证:2×162+8×161+14×160 =512+128+14 =654

在实际操作中,用二进制数表示容易出错 ,所以, 通常采用八进制和十六进制,作为一种过渡形式 ,这两种计数制的基数,都是 2 的某个整数次幂。 在实际操作中,用二进制数表示容易出错 ,所以, 通常采用八进制和十六进制,作为一种过渡形式 ,这两种计数制的基数,都是 2 的某个整数次幂。 如:八进制的基数是“8”,而8=23 即: 一位八进制,由三位二进制数编码 八进制的8个数码为:0、1、2、3、4、5、6、7 十六进制的基数是“16”,而16= 24 即: 一位八进制,由四位二进制数编码 十六进制中的16个数码为: 0、1、2、3、4、5、6、7、8、9、A、 B、 C、 D、 E、 F 对应的十进制为: 0、1、2、3、4、5、6、7、8、9、10、11、12、13、14、15

3、二进制、八进制、十六进制之间的转换 例:1100010.110111100B = 142.674Q 1100010.11011110B = 62.DEH 142.674Q = 001100010.110111100B 4F5.C2H = 010011110101.11000010B 各种计数制表示0~16的对应表如下:

十进制 二进制(B) 八进制(Q) 十六进制(H) 0 0 0 0 1 1 1 1 2 10 2 2 3 11 3 3 4 100 4 4 0 0 0 0 1 1 1 1 2 10 2 2 3 11 3 3 4 100 4 4 5 101 5 5 6 110 6 6 7 111 7 7 8 1000 10 8 9 1001 11 9 10 1010 12 A 11 1011 13 B 12 1100 14 C 13 1101 15 D 14 1110 16 E 15 1111 17 F

1.2.4 计算机中的码制表示方法 一、码制的概念 在计算机中表示的数,叫机器数 带符号数 1.2.4 计算机中的码制表示方法 一、码制的概念 无符号数 在计算机中表示的数,叫机器数 带符号数 对于带符号的机器数,是由符号位和数值两部分组成的。 带符号的机器数有三种表示方法: 原码表示法 反码表示法 补码表示法

二、各种码制表示法 1、真值表示法: 例如: X1 = +73 =+1001001 X2 = - 23 = - 0010111 这种用“+”、“-”号表示数的“正”、“负”,用二进制表示数的大小的形式,就是数的原来形式,称为“真值”。 真值计算机是不认识的。

数的最高位表示数的符号,数值部分是数的绝对值,也称真值,这种表示法称为原码表示法。 2、原码表示法 数的最高位表示数的符号,数值部分是数的绝对值,也称真值,这种表示法称为原码表示法。 * 对于正数: 符号位用0表示,数字位同真值。 * 对于负数: 符号位用1表示,数字位同真值。 这种把符号位数字化后的数,叫“机器数” 例: [X1] 原 = 01001001 (+73的原码) [X2] 原 = 10010111 (-23的原码) “0”的表示: [+0]原=00000000B [-0]原=10000000B 对于8位机,原码可表示的数的范围:-127~+127

首先,请同学们记住一句非常重要的话,可达到 对于正数而言,它的原码、反码和补码都一样, 都是它自己。 3、反码表示法: 一个数的最高位表示数的符号,数值部分对于正数同原码,对于负数将按位取反。这叫反码表示法。 首先,请同学们记住一句非常重要的话,可达到 事半功倍的效果,即: 对于正数而言,它的原码、反码和补码都一样, 都是它自己。 例如: [X1]原=00011000 ;正二十四的原码 [X1]反=00011000 ;正二十四的反码

对一个负数,保持其符号位不变,数值位各位取反,即将原码“1”变成“0”,将“0”变成“1”。这就得到 这个负数的反码形式。 例如:[X2]原=10011000 (负二十四的原码) [X2]反=11100111 (负二十四的反码) “0”的表示: [+0]反 = 00000000B [- 0]反 = 11111111B  对于8位机,反码可表示的数的范围:-127~+127

补码的概念非常重要,在计算机中均采用补码 4、补码表示法: 补码的概念非常重要,在计算机中均采用补码 运算。采用补码运算的最大好处是,减法运算可用加 法来实现。 正因为有了补码的概念,计算机硬件节省了减法电路,即计算机本身不会做减法。 为了说明补码的概念,下面举一个表示时钟的例子。 现在的正确时间是北京时间12点整,你带的手表慢了,现在才9点整,为了使你的表拨到与北京时间一样,你可用两种方法来实现。

第一种方法:把针沿顺时针方向拨3格,指向12点。 第二种方法:把针沿逆时针方向倒拨9格,也指向12点 12 12 12 3 9 9 3 9 3 6 6 6 北京时间

在这里,“加3”(顺时针拨3格)和“减9”(逆 时针拨9格)能达到同一效果(指到12点)。 在这里,“加3”(顺时针拨3格)和“减9”(逆 时针拨9格)能达到同一效果(指到12点)。 也就是说,“减9”时可用“加3”来实现。 3和9有一定的关系,即3+9=12(为时钟的满刻 度),这里把“12”称为“模”。而3和9就是以12为模 的互补(互为补码)关系。 下面再看一个例子:求 8-3 = ? 8-3 = 5,也可以把“减3”用“加7”来代替,能达到同一结果,如下所示:

在这个例子中,3和7是以10为模的互补 (互为补码)关系,即:3+7=10(模)。 对n位二进制数,“模” 是 2n。 8 8 +7 -3 1 5 8 -3 5 在这个例子中,3和7是以10为模的互补 (互为补码)关系,即:3+7=10(模)。 同理,二进制中也可以把减去一个数用加上另一个数来代替,只是“模”不相同。 对n位二进制数,“模” 是 2n。 下面我们来看,怎样求得二进制数的补码。

数字位将原码按位取反,再末位加1,便得其补 码。 例2: [y]原=11010011 (负八十三的原码) 1、 对于正数: 符号位用“0”表示,数字位同原码。 例1: [X]原= 01010011 (正八十三的原码) ∴[X]补= 01010011 (正八十三的补码) 2.对于负数: 符号位用“1”表示保持不变, 数字位将原码按位取反,再末位加1,便得其补 码。 例2: [y]原=11010011 (负八十三的原码)  [y]反=10101100 (负八十三的反码) [y]补=10101100+1 (负八十三的反码+1)   =10101101 (负八十三的补码)

三、补码的性质 例 3、 [X]真=-75= -1001011 [X]原= 11001011 符号位用“1”表示 1、正数的原码、反码、补码都相同。 2、负数的补码等于它的反码加1。(符号为“1”)。 3、在补码表示中,“0”的表示是唯一的、一致的。 例如,以 8 位字长为例,则有:

反码形式也不同,但补码形式却是一样的、唯一的。 即: [+0]补 = [-0]补 = 00000000 [+0]原= 00000000 [+0]反= 00000000 正“0”的原码、反码、补码都一样 [+0]补= 00000000 [-0]原= 10000000 [-0]反= 11111111 ;符号不变,其余各位变反 [-0]补= 00000000 ;(反码加1得补码,最高位向前 面进位自动丢失。) 由以上可见,正“0”和负“0”的原码形式不同, 反码形式也不同,但补码形式却是一样的、唯一的。 即: [+0]补 = [-0]补 = 00000000

4、补码的补码等于原码。即:对一个数的原码求补,可得其补码。对这个补码再求一次补,又回到原码。 例1: [X1]原= 00000011 (正3的原码) 求补一次: [X1]补= 00000011 (正3的补码) 再求一次补:[X1]补= 00000011= [X1]原 例2: [X2]原=10000011 (负3的原码) 求补一次: [X2]补=11111101 (得负3的补码) 再求补一次:[[X2]补]补= 10000011 =[X]原 由以上可知,不论正数还是负数,求补码的补码就是原码。

对于8位机,补码可表示的数值范围: 0 ~(+127)10 5、补码所能表示的数值范围 1)、正数的补码数值范围 最小的正数的补码为:00000000,即:十进制的“0”; 最大的正数的补码为:01111111,即:27-1=(127)10 ∴ 正数补码所能表示的数值范围为: 0 ~(+127)10 2)、负数的补码数值范围

在负数范围内,最高位为符号位,其余 7位表示数值。由于“+0”和“-0”的补码均为: 00000000, 在负数范围内,最高位为符号位,其余 7位表示数值。由于“+0”和“-0”的补码均为: 00000000, 所以,最大负数的补码也就是 [-0]补=00000000,而最小的负数的补码为: 10000000=( -128的补码)。 总括起来,若字长为8位,补码所能表示的数值 范围为:+127~-128。

使用机器数要注意: 有符号的数的形式值不等于真正的数值。 特别对于负数的表示形式,原码形式最高位的1表  机器数是二进制数,由于符号位占据一位,因此 有符号的数的形式值不等于真正的数值。 特别对于负数的表示形式,原码形式最高位的1表 示负号,不是数,数值部分是数的真正值; 而反码和补码,就连数值部分也不是数的本身了。 所以,若要计算一个负数的机器数为十进制的多 少时,只有负数的原码的数值部分才可展开按权相加。

四、变补 变补和求补是两个不同的概念。变补的意思是: 如果已知一个数的补码[X]补,若将此补码的每一位 (连同符号位)都变反,然后加1,结果可得到其相 反数的补码[─X]补,即: [X]补 变补 [-X]补 例: 十进制数 X=38 ,它的相反数为-38 ∵ 正数的补码和原码一致, ∴[X]补=[X]原= [38]10=00100110

现将[X]补= 00100110的每一位(包括符号位) 一起变反,得:11011001 然后加1,得:11011010 (这个数便是-38 的补码。 可用求补的方法验证。 已知 [-38]原= 10100110 所以:[-38]补= 11011010 (反码+1得补码) 可见,从[38]补 变补 得到[-38]补是一致的 。

五、补码的运算 补码运算要注意3点: 第一、符号位也当作数一样参加运算; 第二、相加时若符号位对前面还有进位“1”,则 将这个进位丢弃不要; 第三、补码运算的结果还是补码,要想得到原码 再求一次补即可。(即:补码的补码为原码) 下面以8位机器数为例,即: 模为28 = 256

1、补码的加法运算(法则): 补码加法规则:[X+Y]补=[X]补+[Y]补 例1: X= 72 Y= 43 求 : X+Y=? 解: [X]补= [X]原=01001000 [Y]补= [Y]原=00101011 72 01001000 …… [X]补 + 43 + 00101011 …… [Y]补 115 01110011 …… [X+Y]补 结果得符号为“0”,表示正数,是对的。

例2: X = 96 Y = -19 求:X+Y=? 解: [X]补= [Y]原= 01100000 [Y]原= 10010011 [Y]补= 11101101 96 01100000 ……[X]补 + (-19) +11101101 [Y]补 77 1 01001101 [X+Y]补 本例符号位相加后,向高位有进位,该进位将 自动丢失。和数符号位为正,说明结果正确。

(-42) 11010110 ………[X]补 +(-11) 11110101 ………[X]补 例3、已知 X=-42 Y= -11 求X+Y =? [Y]原= 10001011 [Y]补= 11110101 解: [X]原=10101010 [X]补=11010110 (-42) 11010110 ………[X]补 +(-11) 11110101 ………[X]补 —53 1 11001011 ………[X+Y]补 此题结果:向高位有进位,并丢弃。符号位为“1”, 表示负数。要想得到原码,需再求补。即: [X+Y]原=[ [X+Y]补]补=(10110101)2 = (—53)10

2、补码的减法运算(法则) ∵ X–Y=X+(–Y) ∴ [X–Y]补 = [X+(–Y)]补 = [X]补+[–Y]补 解: [X]补=[X]原= 00100010 [Y]补=[Y]原= 00011011 变补 [–Y]补=11100101 34 00100010 ……… [X]补 –27 +11100101 ……… [–Y]补 7 1 00000111 ……… [X–Y]补

例2: 已知 X = 91 Y = –29 求: X –Y=? 解:∵ [X]补=[X]原=01011011 又 ∵ [Y]原=10011101 [Y]补=11100011 求补 变补 [–Y]补= 00011101 ∴ 91 01011011 ………[X]补 – ( – 29) 00011101 ………[– Y]补 + 120 01111000 ………[X– Y]补 本题结果:X-Y=91–( – 29)=120,正确

例3:已知 X= – 36 Y= –24 求:X –Y=? 解: [X]原=10100100 [X]补=11011100 求补 [Y]原=10011000 [Y]补=11101000 求补 变补 [–Y]补=00011000 – 36 11011100 ……… [X]补 –(–24) + 00011000 ……… [– Y]补 – 12 11110100 ……… [X– Y]补 ∵结果为负,需再求补才得原码,即: [X–Y]原=[[X–Y]补]补=10001100=(–12)10

从以上可知,不论加法还是减法,最后都归纳为补码的加法运算。这样就实现了在设计计算机时,只要设计一套加法电路就可以了,这就是补码概念的重要性和运用补码带来的好处。

1.2.5 计算机中数的小数点表示方法 在计算机中如何表示带小数的二进制数?由此,将引出“浮点数”的概念。 1.2.5 计算机中数的小数点表示方法 在计算机中如何表示带小数的二进制数?由此,将引出“浮点数”的概念。 一个二进制带小数可以写成多种等价形式。 如: ±1011.011可以写成下列形式: ±1011.011=±1.011011×2+3 ;小数点左移三位 ±1011.011=±0.1011011×2+6 ;小数点左移四位 ±1011.011=±101101.1×2–2 ;小数点右移二位 由此,可得出任意一个二进制数N带小数点的通式:

N = ± S × 2 ± J S----尾数 , 表示数 N 的全部有效数字。 阶符 阶码 尾符 尾数

如果阶码 J 可以取不同的值,则把这种表示称为数的浮点表示,这样的数称为浮点数,采用这种表示法的机器叫浮点计算机。 注意:浮点数的正负号是由尾数的正负号决定的, 而阶码的正负号只决定小数点的位置。即决定浮点数的绝对值大小。

1. 定点表示 小数,其表示的格式为: 小数点的位置在符号位与尾数部分最高位之间。 在定点计算机中,参与运算的数的绝对值必须小于1。 若定点计算机的阶码J=0,则该定点数只能是 小数,其表示的格式为: 数符. 数值 小数点的位置在符号位与尾数部分最高位之间。 在定点计算机中,参与运算的数的绝对值必须小于1。 若为8位机,其能表示的数的范围: -0.1111111B~+0.1111111B 即 -(1-2-7) ≤ X ≤1- 2-7

还以 8 位机为例, 若定点计算机的阶码J=7,则 该定点数只能是整数,其表示的格式为: 数符 数值 . 小数点的位置在符号位与数值位之后。 8位机能表示的数的范围: -1111111B ~ +1111111B 即 -(27-1) ≤ X ≤27-1

阶符 尾数 计算机存储一个浮点数的常用格式如下: 阶码 尾符 · “0”——阶码正 在一个字长中,有一位阶符: “1”——阶码负 2. 浮点机器数的表示法 计算机存储一个浮点数的常用格式如下: 阶符 阶码 尾符 尾数 · “0”——阶码正 在一个字长中,有一位阶符: “1”——阶码负 有若干位阶码,阶码为正整数; “0”——尾数为正 有一位尾符: “1”——尾数为负 有若干位尾数,尾数为纯小数; 浮点数由阶码和尾数两部分组成,均有各自的符号。

例1: 设字长为16位,其中,阶符1位,阶码4位, 尾符1位,尾数10位。要求把X= – 101101.0101写成规格 化的浮点补码数,阶码和尾码均用补码表示。 解:首先把X值写成规格化的浮点真值数: X= – 0.1011010101×2+6 则规格化的浮点补码数为: 0110 1 0100101011 阶符 阶码 尾符 尾 数 注:本题规格化的浮点补码数的尾数由X值小数部分变补所得。

例2: 设阶码用原码表示,尾数用补码表示,求下面浮点机器数的真值。 0010 1 0010011001 阶符 阶码 尾符 尾数 解: 真值 = – 0.1101100111×2+2 3、浮点数的数值范围 “数值范围”是指机器数所能表示的真值范围。 在定字长条件下,浮点数所能表示的真值范围比定点数大,而且分配给阶码的位数越多,所能表示的数的范围越大。

例:设字长为 16 位,其中阶符 1 位,阶码 5 位, 尾符 1 位, 尾数 9 位。 1、当阶码和尾数均用补码表示时,数值范围是多大? 2、当阶码和尾数都用原码表示时,数值范围是多大? 11111 111111111 阶码正最大,尾数正最大 补码表示 真值最大 = +(1–2–9)×2J 11111 1 000000000 阶码正最大,尾数负最大 真值最小 = – 1×2J 所以,数值范围= –1×2J~+(1–2–9)×2J [式中:J=25–1]

11111 111111111 阶码正最大 尾数正最大 原码表示 真值最大= +(1–2–9)×2J 11111 1 111111111 阶码正最大 尾数负最大 真值最小= –(1–2–9)×2J 所以,数值范围= –(1–2–9)×2J~+(1–2–9)×2J [式中:J= 25–1] 若阶码是m位,数码是n 位,阶码和数码各有一个符号位,则所能表示数的范围为: 2–(2 m –1)×2 –1 ~2(2 m–1 )×(1–2 – n)

浮点计算机通用性强,但结构复杂;定点 计算机结构简单,但使用不太方便。 通常,微型计算机多为定点计算机,而且 是整数型,即小数点固定在数的末尾。 如要进行浮点运算,需附加浮点运算电路(协处理器)。

1.2.6 常用的二进制编码 在计算机中,所有信息都采用二进制代码, 因而,计算机中表示的数、字符、符号等都是以特定的二进制代码来表示,即二进制编码。这些二进制编码虽是以0和1形式出现,但他们是非数值数据,不是真正的二进制数。 一、BCD码(二进制编码的十进制数) 一位十进制数用4位二进制编码来表示。常用的一种编码是8421 BCD码。 如: (12)10 = (00010010)BCD 由上可见, BCD码不是二进制数。

注意:BCD码与二进制数之间的转换,不 能直接进行,要先将BCD码转换成 十进制后,再转换为二进制数。 反之亦然。 BCD码转换表如书中14页所示。

在计算机应用中,各种字符采用二进制编码, 如:26个英文字母、10个阿拉伯数字、运算符号、标 点符号以及一些特殊的控制符,如换行、换页、回车 二、ASCII码(二进制编码的符号) 在计算机应用中,各种字符采用二进制编码, 如:26个英文字母、10个阿拉伯数字、运算符号、标 点符号以及一些特殊的控制符,如换行、换页、回车 等。微机中最常用的一种编码是ASCII码。ASCII码是 一种美国信息交换标准代码。 采用7位二进制码对一个字符进行编码,可表示128 个字符,每个ASCII码在机器中占1个字节,最高位为 0。 当作符号的数字0~9的ASCII码:30H~39H 字母A~Z的ASCII码:41H~5AH 字母a~z的ASCII码:61H~7AH 详见附录1—— 471页

1.2.7 基本逻辑电路与逻辑运算 逻辑,表示输入与输出的一种因果关系。表达这种因果关系的运算推理的方法称为逻辑代数/布尔代数/开关代数。其逻辑表达式如下: 逻辑函数:Y = F(A,B,C,D) 逻辑运算关系的特点: 1、变量取值只有0和1,无大小之意,仅代表事物的两种性质,即“有”和“无”、“真”与“假”、“开”和“关”等。 2、函数值也只有两种可能:“成立”和“不成立”、 “发生”与“不发生”等。

3、各种逻辑运算关系只有三种基本关系: 即:逻辑加(“或”运算)、逻辑乘(“与”运算)和 逻辑否定(逻辑“非”运算或逻辑“反”运算)。 一、基本逻辑门电路 能实现“与”、“或”、“非”等逻辑运算的电路叫逻辑 门电路。通常以高电平表示逻辑“1”,低电平表示逻辑 “0”(称正逻辑)。 下面分别讨论各种逻辑门电路与之对应的逻辑函数式关系。

1、“与”门 实现: Y=A·B =A∧B=AB=A×B 实现: Y=A+B=A∨B A A Y & Y B B 2、“或”门 A A Y ≥1 B B 实现: Y=A+B=A∨B

3、“非”门 A Y A 1 Y 实现: Y = A 4、“异或”门 A A Y ⊕ Y B B 实现:Y=A⊕B=A∨B=AB+AB

5、“与非”门 任何复杂的逻辑电路都可以由“与”、“或”、“非”等电路组合而成。而“与非”门就是由与门和非门组合而成的。如下所示。 A A Y & Y B B Y = A·B 6、“或非”门 “或非”门是由“或”门和“非”门组合而成,如下图所示:

1、多位逻辑“或”运算规则 (运算符:∨) A A ≥ 1 Y Y B B Y = A+B 二、多位逻辑运算 按位进行逻辑运算,不存在进位或借位问题。 1、多位逻辑“或”运算规则 (运算符:∨) 例: 1011 ∨) 1001 1011

例: 1011 ∧)1001 ∨)1001 2、多位逻辑“与”运算规则 (运算符:∧) 1001 3、多位逻辑“异或”运算规则(运算符:∨) 例: 1011 ∧)1001 1001 3、多位逻辑“异或”运算规则(运算符:∨) 例: 1011 ∨)1001 0010

1.3 微型计算机的基本结构

1.3.1 微型计算机的总体结构 微型计算机系统是由计算机硬件系统、软件系统以及通信网络系统组成的;硬件主要由输入设备、输出设备、运算器、存储器和控制器等五部分组成。如下图所示: 运算器 输出设备 输入设备 存储器 控制器

一、微型机各组成部分的功能 1. 运算器 运算器是完成算术或逻辑运算的部件。运算器由累加器、暂存寄存器和算术逻辑单元(ALU)组成,其结构框图所示: 数据总线 暂存器 累加器 标志寄存器 锁存器 ALU

累加器: 既能接受来自内部总线的二进制信息作为参加运算的一个操作数,并输送给算术逻辑单元(ALU),又能存储从总线送来的由ALU运算的结果,累加器与总线之间的数据传送是双向的。 暂存寄存器: 用于暂存由总线送来的另一个操作数。 锁存器: 为 防止ALU 的输出通过累加器又返馈到ALU的输入端而设置的。

2. 存储器 种信息的存储和交流中心。计算机中的存储器包括内 存储器、外存储器和只读存储器等。内存储器又叫主 2. 存储器 存储器是用来存放程序和数据的,是计算机各 种信息的存储和交流中心。计算机中的存储器包括内 存储器、外存储器和只读存储器等。内存储器又叫主 存储器或随机存储器,简称内存。内存是按地址存取 数据的,若地址总线共有20条(A0~A19),则可形 成220=1048576个地址,即1兆地址(1K=1024, 1M=1024K)。 下面是把1M存储器分成4块的示意图,其目的是为了适应扩充容量所需要的寻址方式。

上图中把1M内存分成4块,每块对应256K 地址,由地址线A0~A17共18位决定,地址A18 和A19通过块地址译码得到4个片选端,它们分 四 译码器 二 A18 A19 上图中把1M内存分成4块,每块对应256K 地址,由地址线A0~A17共18位决定,地址A18 和A19通过块地址译码得到4个片选端,它们分 别连接各存储块。

3. 控制器 为了进一步扩充主存容量,还可以将外存 储器作为主存的辅助,给用户提供比主存大得 多的逻辑存储容量,这就是所谓的“虚拟存储 器” 3. 控制器 控制器用来实现微型计算机本身程序的自动执行。在控制器控制下,从输入设备输入程序和数据,并自动存放到存储器中,然后由控制器指挥各部件协同工作、执行程序,最后将结果打印输出。

4. 输入设备 输入设备用来输入原始数据,输入的信息包括数字符、字母和控制符号等,输入设备主要有键盘、鼠标、磁性设备阅读机,光学阅读机,激光扫描仪等。 5.输出设备 输出设备用来输出计算机的处理结果,这些结果可以是数字、字母、图形和表格等。输出设备有打印机和绘图仪等,显示终端也可视为输出设备。

二、微型机各组成部分之间的连接方式 微型计算机硬件之间的连接线路可分为网状结构和总线结构,下面简要介绍常用的两种总路线结构。 在微型计算机的五个组成部分中,通常把运算器和控制器合起来,并且用大规模或超大规模集成电路技术集成在一块芯片上,称为中央处理单元,简称CPU。 微型计算机硬件之间的连接线路可分为网状结构和总线结构,下面简要介绍常用的两种总路线结构。

1. 单总线结构 下图所示为单总线结构。这种结构将I/O 设备、CPU以及内存储器都连接到同一总线 上。单总线结构简单,增减设备方便,目前大 1. 单总线结构 下图所示为单总线结构。这种结构将I/O 设备、CPU以及内存储器都连接到同一总线 上。单总线结构简单,增减设备方便,目前大 多数微机采用这种结构。 内存 CRT CPU 磁盘 键盘 打印机

2. 三总线结构 微型计算机的三总线结构如下图所示: AB DB CPU CB DMA I/O接口 存储器 外设 外设

1.3.2 微处理器的基本结构 微型计算机中的核心部件——微处理器, 也叫CPU,它仅仅是把运算器和控制器组合起 1.3.2 微处理器的基本结构 微型计算机中的核心部件——微处理器, 也叫CPU,它仅仅是把运算器和控制器组合起 来,集成在一块大规模或超大规模集成电路芯 片内,显然,这种微处理器本身并没有构成一 个完整的系统,所以,它不能进行独立工作和 执行程序。

一、微处理器的结构特点 微处理器由于制造工艺技术和生产成本 等方面的原因,在集成封装工艺上对管脚 数、芯片面积和器件工作速度等方面都受到限 制。 为了解决这些矛盾,在对微处理器结构 设计上采取了一系列的特殊措施。如: 采用单总线分时切换多用技术、数据双向 传送技术、累加器结构技术、管脚功能复用技 术以及三态电路技术等。

比如:为了节省封装面积采取了单总线结构设计。 单总线结构的特点是: * 结构简单、增减设备方便、可同时连接一 个或多个设备和功能器件; * 可实现A/D总线分时切换复用; 如:8086微处理器把地址总线和数据总线使用同 一组总线,其中地址总线A0~A15与数据总线D0 ~ D15共用管脚, A16~A19与4条状态线共用管脚; * 分时复用总线又可节约管脚;

设计了一条“读/写”控制线。当这条线为高电平时 表示数据总线处于输出状态,即: CPU内部数据 由数据总线输出到外部设备。为低电平时表示数 * 采用三态电路能抑制和隔离单总线上多个 设备在工作时引起相互干扰和发生冲突等现象。所谓三态,除了通常的逻辑“0”和逻辑“1”外,还有第三种状态,即高阻状态,相当于开路一样。 * 为解决数据总线双向传送问题,微处理器中 设计了一条“读/写”控制线。当这条线为高电平时 表示数据总线处于输出状态,即: CPU内部数据 由数据总线输出到外部设备。为低电平时表示数 据总线处于输入状态,即外部数据通过数据总线 输入到CPU内部。 以上措施对运行速度有所降低。

二、微处理器的基本结构 一种典型的单总线结构的微处理器逻辑结构图。 控制电路 SP AR ±i PC 累加器 通用寄存器 暂存器 标志 指令译码 PC 指令寄存器 累加器 通用寄存器 暂存器 标志 锁存器 专用寄存器 ALU

图中的累加器、暂存器、锁存器、ALU和标志寄存器组成算术逻辑部件,其他部分 包括程序计数器、指令寄存器、指令译码器和操作控制器等组成了控制器。 一条指令在微处理器中的执行过程, 包括一系列微操作,具体过程如下: ※ 程序计数器PC指出当前指令地址,并且把指 令地址放到地址总线上,然后PC←PC+i(i为当前指 令长度的字节数)。为取下一条指令或数据做好准 备;

※由数据总线将指令码从存储器中取出,送至指令寄存器,经指令译码,控制电路产生完成该指令的各种控制信号; ※取出该指令所需的操作数地址和数据( 它们可以从存储器、累加器或其他部件送来) ※执行该指令的操作,这些操作可能是一次内存读/写操作,或是一次算术/逻辑运算操作,也可能是一次输入/输出操作; ※检查有无其他控制信号(如中断请求信号等),并作出相应的处理;

※提供指令处理状态的标志信号、控制信号及定时信号等。 下面介绍各功能部件的功能作用: 1、算术逻辑部件的主要功能 (1)执行各种算术运算,给出运算结果值及相应的标志位。 (2)执行各种逻辑运算,并进行逻辑测试。 通常,一个算术操作产生一个运算结果,而一个逻辑操作则产生一个判决。

当一条指令对数据进行操作时,被操作的数据可能是一个,也可能是两个。如果是前者, 那么操作数一般在累加器中;若是后者,则一个数在累加器中,另一个数在寄存器或存储器中,并在操作前该数一定要送到暂存器中保存。 暂存器和累加器、锁存器的设立是为了适应微处理器内部采用的单总线结构。 由于ALU没有寄存功能,每次操作结果会立即送到内部总线上,从而占用了内部总线。所以当需要对两个数进行操作时,累加器存放一个,另一个送暂存器。操作后,累加器保存操作结果。

锁存器的设立,是为了防止ALU的输出通过累加器反馈到ALU的输入端。 标志寄存器用来保存运算结果标志: * 进位标志(C); * 运算结果溢出标志(O); * 运算结果为零标志(Z); * 运算结果的奇偶性标志(P) ; * 还有其他标志。 这些标志可作为外界对操作结果进行分的 依据,也可以用来判断程序是否要转移的条件。

2、主要寄存器 微处理器中的主要寄存器除上面提到的标志寄存器外,还有程序计数器、指令寄存器、地址寄存器、通用寄存器、专用寄存器、累加器、堆栈指针等。 (1)程序计数器(PC):存放要执行的指令的存储地址,所以,PC又称为指令计数器。 (2)指令寄存器(IR):用来保存当前正在执行的一条指令。 (3)地址寄存器(AR):用来保存当前CPU所要访问的内存单元的地址。

辑部件提供一个工作区,它可以保存一个操作 数,当运算完毕,其结果送回累加器,而累加 器中原有的内容将被破坏,在累加器中的数 (4)通用寄存器:通常这是一组寄存器,可由程序员指定为各种用途,通用寄存器可以是单独使用,也可以把两个寄存器连起来使用。 (5)累加器(AC):其功能是为算术逻 辑部件提供一个工作区,它可以保存一个操作 数,当运算完毕,其结果送回累加器,而累加 器中原有的内容将被破坏,在累加器中的数 据还可以在指令的控制下实现算术左、右移, 循环左、右移等。累加器是所有寄存器中最忙 碌的一个。

这么重要的东西,究竟是个什么东西呢?其实堆栈就是由一组寄存器或指定的一组存储单元组成的。前者称硬堆栈,后者称软堆栈。 3、堆栈和堆栈指针(SP) 堆栈是一个很抽象的名词,也是一个很重要的概念。堆栈为实现计算机的中断处理、中断服务是绝不可无的。 这么重要的东西,究竟是个什么东西呢?其实堆栈就是由一组寄存器或指定的一组存储单元组成的。前者称硬堆栈,后者称软堆栈。 所谓硬堆栈:就是由微处理器芯片中的一组寄存器组成的, 所谓软堆栈:是由系统中的RAM来实现的。

先进后出 或 后进先出 堆栈的作用是用来存放数据信息的,这些数据信息包括有: 1、中断断点保护和现场保护信息;(自动保护) 2、过程调用断点和现场保护信息;(自动保护) 3、程序员认为需要保护的有关信息; 特别注意!!:堆栈对保护信息的存取操作不同于存储器的存取操作,堆栈存取数据的操作规则是: 先进后出 或 后进先出

把数据压入堆栈的指令是:PUSH 把数据从堆栈中弹出的指令是:POP 将数据压入堆栈和从堆栈中弹出数据都是在栈顶进行。栈顶的地址由堆栈指针(SP)给定,并自动进行管理,即对地址指针是自动修改操作。 注意!:压入操作是先修改指针, 再 压入 数据; 弹出操作是先弹出数据, 再修改指针。

4、操作控制器及时序产生器 时序产生器由时钟信号源、节拍发生器及微操作电路组成。 控制电路可由组合逻辑电路组成,也可由微程序控制逻辑组成。微程序控制是指将机器指令的操作,分解为若干个更基本的微操作序列,并将有关的控制信息(微指令),以微码形式编成微指令,输入控制存储器中。这样,每条机器指令与一段微程序相对应,取出微指令就产生微命令,实现机器指令要求的信息传送和加工。现在大多数微处理器都用微程序控制技术。

控制器产生的控制信号包括运算器、输入/输出接口和存储器之间的同步信号,指令的读取、译码和执行信息,还有通过有关控制总线和外界进行通信的信号等。 1.3.3 总线 总线是一组信号线的集合,是一种在各模块之间传送信息的公共通道。在微型计算机系统中,利用总线实现芯片内部、印刷电路板各部件之间、机箱内各插件板之间、主机与外部设备之间或系统与系统之间的连接与通信。

总线是构成微型计算机应用系统的重要技术,总线设计好坏会直接影响整个微机系统的性能、可靠性、可扩展性和可升级性。由于总线在系统中的重要地位,微机系统的设计和开发人员先后推出许多种总线标准。如IBM PC/AT机上使用的ISA总线、PCI总线以及STD BUS等。

一、总线规范的基本内容 ※ 数据线 、地址线、读/写控制逻辑线、时钟线和电源线、地线等; (1)机械结构规范 : 规定模块尺寸,总线插头、边沿连接器等的规格。 (2)功能结构规范 : 确定引脚名称与功能,及相互作用的协议;功能结构规范是总线的核心;总线功能结构规范包括内容为: ※ 数据线 、地址线、读/写控制逻辑线、时钟线和电源线、地线等; (3)电气规范 规定信号逻辑电平、负载能力及最大额定值、动态转换时间等。

二、总线分类 按在系统的不同层次位置上分类,总线可分为4类。 1、片内总线 2、在板局部总线 片内总线在集成电路芯片内部,用来联结各功能单元的信息通路,例如CPU芯片中的内部总线,它是ALU、寄存器和控制器之间的信息通路。 2、在板局部总线 在印刷电路板上连接各芯片之间的公共通路,如CPU及其支持芯片与其局部资源之间的通道。

3、系统总线 系统总线又称为内总线,这是指模块式微 型计算机机箱内的底板总线,用来连接构成微 型机的各插件板。 4、通信总线 通信总线又称为外总线,它用于微机系统与系统之间、微机系统与外部设备或微机系统和仪器仪表之间的通信通道。这种总线数据传输方式可以是并行(如打印机)或串行。

就是逐条执行指令序列的过程。执行每一条指 令,都包括取指令和执行指令两个基本阶段。 1.3.4 微型计算机的工作过程 微机的工作过程就是执行程序的过程,也 就是逐条执行指令序列的过程。执行每一条指 令,都包括取指令和执行指令两个基本阶段。 取指令 指令1 指令译码 指令2 程序 取操作数 执行指令

应当指出的是,指令通常包括操作码和操作数两部分。操作码表示计算机执行什么具体操作,而操作数表示参加操作的数或操作数所在的地址。

1.3.5 一个程序执行过程 来看一个5+8等于多少的简单程序,先要编写 一段5+8的源程序,然后,通过汇编、连接得 到机器码,如下所示: 1.3.5 一个程序执行过程 为了进一步说明微机的工作过程,下面 来看一个5+8等于多少的简单程序,先要编写 一段5+8的源程序,然后,通过汇编、连接得 到机器码,如下所示: 10110000 00000101 MOV AL,5 00000100 00001000 ADD AL,8 11110100 HLT

该程序的机器码存放在存储器中如下所示: 地 址 指 令 代 码 0000 0000 1011 0000 0000 0001 0000 0101 0000 0010 0000 0100 0000 0011 0000 1000 1111 0100 MOV AL,5 ADD AL,8 HTL 开始执行时,PC=00H ,指向第一条指令的首址。 然后进入第一条指令的取指阶段,如下图所示:

PLA 1011000 ② +i i1 i2 ID 1011000 PC AL 00000000 IR 1011000 ① ⑦ 00000000 AR 10110000 DR ⑥ 00 1011 0000 01 0000 0101 02 0000 0100 03 0000 1000 04 1111 0100 ⑤ ③ ④ 读

② PLA +i I D PC AL 0000 0001 I R 0000 0101 ⑦ ① 0000 0001 AR 00000101 DR ⑥ 00 1011 0000 01 0000 0101 02 0000 0100 03 0000 1000 04 1111 0100 ⑤ ③ ④ 读

② PLA 00000100 +i I D PC 00000100 AL 0000 0010 I R 00000100 ① ⑦ 0000 0010 AR 00000100 DR ⑥ 00 1011 0000 01 0000 0101 02 0000 0100 03 0000 1000 04 1111 0100 ⑤ ③ ④ 读

② PLA +i I D PC ⑧ ⑦ AL 0000 0011 I R ⑨ 0000 1000 ① 0000 0011 AR 00001000 DR ⑥ 00 1011 0000 01 0000 0101 02 0000 0100 03 0000 1000 04 1111 0100 ⑤ ③ ④ 读