第2章 微型计算机的基本工作原理
教学重点:8086的操作和时序 教学难点:8086的操作和时序 教学时数:6学时
教学内容:8086指令系统,初级程序设计,8086的操作和时序,控制部件和微型计算机功能的扩展,现代技术在微型计算机中的应用 教学方式:课堂讲授 教学要求:
(1) 了解8086的指令系统,并能理解初级的程序。 (2) 理解指令周期的概念,重点掌握8086指令操作与时序的关系。 (3) 掌握控制部件的构成及其在时序控制下的工作步骤。
微型计算机的基本功能可概括为“三能一快”:能运算(加、减、乘、除)、能判别(大于、小于、等于、真、假)及能决策(根据判别来决定下一步的工作)。但所有这些“能”的过程都必须建立在“快”的基础上才能有实际意义。
2.1 微型计算机结构的简化形式
为了易于分析和理解,我们先来介绍一个简化了的微型计算机,如图2.1(a)所示。其硬件结构特点如下:
(1) 功能简单:只能做两个数的加减法。
(2) 内存量小:只有一个16×8PROM(可编程序只读存储器)。 (3) 字长8位:二进制8位显示。
(4) 手动输入:用拨动开关输入程序和数据。
图2.1 微型计算机的简化结构及功能分解图
1. 程序计数器PC
计数范围由0000~1111(用十六进制可记作由0~F)。
每次运行之前,先复位至0000。当取出一条指令后,PC应加1。 2. 存储地址寄存器MAR
接收来自PC的二进制程序号,作为地址码送至PROM去。 3. 可编程序只读存储器PROM
原理:每条横线与竖线都有一条由开关和二极管串联的电路将它们连接起来。因此,只要拨动开关,即可使该数据位置1或置0,从而达到使每个存储单元“写入”数据的目的。因而称这种ROM为可编程序ROM。PROM实际上同时具有RAM和ROM的功能。
4. 指令寄存器IR
IR从PROM接收到指令字(当LI=1,ER=1),同时将指令字分送到控制部件CON和W总线上去。
指令字是8位的:
×××× ×××× MSB LSB
最高有效位 最低有效位
左4位为最高有效位(高4位),称为指令字段;右4位为最低有效位(低4位),称为地址字段。
5. 控制部件CON 其功能如下:
(1) 每次运行之前,CON先发出CLR=1,使有关的部件清0。此时: PC=0000
IR=0000 0000
(2) CON有一个同步时钟,能发出脉冲CLK到各个部件去,使它们同步运行。 (3) 在CON中有一个控制矩阵CM,能根据IR送来的指令发出12位的控制字: CON=CPEPLMER LIEILAEASUEULBLO
根据控制字中各位的置1或置0情况,计算机就能自动地按指令程序而有秩序地运行。 6. 累加器A
用以储存计算机运行期间的中间结果。它能接收W总线送来的数据(LA=1),也能将数据送到W总线上去(EA=1)。它还有一个数据输出端,将数据送至ALU去进行算术运算。这个输出是双态的,即是立即地送去,而不受E门的控制。
7. 算术逻辑部件ALU
它只是一个二进制补码加法器/减法器。当SU=0,ALU,进行加法A+B;当SU=1,ALU,进行减法A-B,即(A+B′)。
8. 寄存器B
将要与A相加减的数据暂存于此寄存器。它到ALU的输出也是双态的,即无E门控制。 9. 输出寄存器O
计算机运行结束时,累加器A中存有答案。如要输出此答案,就得送入O。此时EA=1,LO=1,则O=A。
典型的计算机具有若干个输出寄存器,称为输出接口电路。这样就可以驱动不同的外围设备,如打印机、显示器等。
10. 二进制显示器D
这是用发光二极管(LED)组成的显示器。每一个LED接到寄存器O的一位上去。当某位为高电位时,则该LED发光。因为寄存器O是8位的,所以这里也由8个LED组成显示器。
这种结构,一般可分成3大部分,如图3.1(b)的功能分解图所示: (1) 中央处理器CPU(包括PC,IR,CON,ALU,A及B); (2) 记忆装置M(MAR及PROM);
(3) 输入/输出I/O(包括O及D,D也可称为其外围设备)。
中央处理器(central processing unit,缩写为CPU)是将程序计数功能(PC)、指令寄存功能(IR)、控制功能(CON)、算术逻辑功能(ALU)以及暂存中间数据功能(A及B)集成在一块电路器件上的集成电路(IC)。实用上的CPU要比这里的图例更为复杂些,但其主要功能是基本一样的。
存储器M(memory)在此图例中只包括存储地址寄存器(MAR)及可编程存储器(实际还包括了地址译码功能),这就是微型计算机的“内存”。实际的“内存”要包括更多的内容(如ROM,RAM及EPROM等)和更大的存储容量。
输入及输出接口(I/O)是计算机实行人机对话的重要部件。本简例中的输入将是人工设定PROM而没有输入电路接口只有输出有接口(O)。实际微型计算机的输入设备多为键盘,输出则为监视器(即电视屏显示器),因而必须有专用的输出接口电路。
2.2 指令系统
指令系统就是用来编制计算程序的一个指令集合。在未编制出计算程序之前,计算机是一堆无价值的电路硬件。
这台微型机有5条指令,即其控制部件能完成一系列例行程序以执行5种命令: LDA——将数据装入累加器A; ADD——进行加法运算; SUB——进行减法运算; OUT——输出结果; HLT——停机。
这5条指令在一起就称为这台计算机的指令系统。
不同型号的微处理机的指令系统是不同的,指令的条数也不相同。
2.3 程序设计
微型计算机并不认识助记符的意义,因此必须将指令清单中每一条指令都翻译成二进制码——机器码。另外,存储器中既要写入计算程序,也要存放参与运算的数据,因此,还得决定存储器中的存储单元应如何分配,这称为存储空间分配。
总之,程序设计中要包括:(1) 编制汇编语言写的程序;(2) 助记符的翻译;(3) 存储器的分配等几部分。下面就来介绍一下程序设计的步骤。
2.3.1 先要有一个操作码表
这是由计算机制造厂提供的翻译表,它是每个助记符与二进制码的相应对照表。由于我们的计算机很简单,只有5个助记符,列成对照表,比较简单易记。但如果指令系统很庞大的话,此表也就很大而不易记忆,因而就必须有特殊的方法才能迅速可靠地使用它。
2.3.2 存储器分配
在本微型机中就是要把PROM中的16个存储单元分配成两个区:程序存放区(指令区)和数据存放区(数据区)。
2.3.3 将源程序翻译成目的程序
方法是:根据助记符与二进制的对照表(操作码表)将每条指令的助记符译成二进制码,并将存储单元符号写成地址码(即R0→0000,R1→0001,…,R9→1001)。
2.3.4 程序及数据的输入方法
相关推荐: