微型计算机的基本工作原理

上传人:无*** 文档编号:195841374 上传时间:2023-03-22 格式:PPT 页数:53 大小:1.87MB
返回 下载 相关 举报
微型计算机的基本工作原理_第1页
第1页 / 共53页
微型计算机的基本工作原理_第2页
第2页 / 共53页
微型计算机的基本工作原理_第3页
第3页 / 共53页
点击查看更多>>
资源描述
2004-3-41第3章微型计算机的基本工作原理2004-3-42本章教学目的n本章以一个简化了的计算机作为分析对象,逐步讲述一般计算机的各种基本功能,从而概括出微型计算机的基本工作原理。2004-3-43本章 学习要求1.掌握掌握p模型机的简化形式;p模型机各部件的功能与作用;p基于模型机的编程过程。p位(Bit)、字(Word)、字节(Byte)、中央处理单元(CPU)等名词术语。2.理解理解p指令的意义;指令周期;控制字的含义。3.了解了解p程序设计步骤;控制部件的构成及其工作原理,模型机的功能扩展,现代技术在微型集中的应用。2004-3-44本章 主要外语词汇nPROM:Programmable Read Only Memory,可编程只读存储器nCM:Control Matrix,控制矩阵nBit:位nByte:字节nWord:字2004-3-45主要内容2004-3-463.1 微型计算机结构的简化形式n微型计算机的基本功能微型计算机的基本功能 能运算、能判别及能决策能运算、能判别及能决策;速度快速度快n模型机模型机n简化了的微型计算机简化了的微型计算机n可以根据模型机理解各个基本电路和部件之间的信可以根据模型机理解各个基本电路和部件之间的信息流通过程,指令系统的意义,程序设计的步骤,息流通过程,指令系统的意义,程序设计的步骤,控制部件的功能及其结构,还有控制矩阵产生控制控制部件的功能及其结构,还有控制矩阵产生控制字的过程等等字的过程等等2004-3-47模型机的结构特点n 功能简单:只能做两个数的加减法。功能简单:只能做两个数的加减法。n 内存量小:只有一个内存量小:只有一个168PROM(可编程序只读存储可编程序只读存储器器)。n 字长字长8位:二进制位:二进制8位显示。位显示。n 手动输入:用拨动开关输入程序和数据手动输入:用拨动开关输入程序和数据2004-3-48模型机的硬件结构12004-3-49模型机的硬件结构2计数范围由00001111(0F)。每次运行之前,先复位至0000。当取出一条指令后,PC应加1。接收来自PC的二进制程序号,作为地址码送至PROM去。2004-3-410模型机的硬件结构3n可编程序可编程序ROM,每条横线与竖线都,每条横线与竖线都有一条由开关和二极管串联的电路有一条由开关和二极管串联的电路将它们连接起来。因此,只要拨动将它们连接起来。因此,只要拨动开关,即可使该数据位置开关,即可使该数据位置1或置或置0nPROM同时具有同时具有RAM和和ROM功能。功能。n右图是右图是44PROM的电路图的电路图n168PROM的横线应为的横线应为16条条(R0R15),竖线为,竖线为8条条(D7D6D0),地址码线应为,地址码线应为4条条(A3A2A1A0)2004-3-411模型机的硬件结构4IRIR从从PROMPROM接收指令字接收指令字(当当L LI I=1=1,E ER R=1)=1),同时将指令字分送到,同时将指令字分送到控制部件控制部件CONCON和和W W总线上去。总线上去。指令字是指令字是8 8位的:位的:MSBMSBLSBLSB左左4 4位为最高有效位位为最高有效位(高高4 4位位),称为指令字段;,称为指令字段;右右4 4位为最低有效位位为最低有效位(低低4 4位位),称为地址字段。,称为地址字段。(1)(1)每次运行前,每次运行前,CONCON先发出先发出CLR=1CLR=1,使有关的部件清,使有关的部件清0 0。此时:。此时:PC=0000 PC=0000 IR=0000IR=000000000000(2)CON(2)CON能发出同步脉冲能发出同步脉冲CLKCLK到各个部件去,使它们同步运行。到各个部件去,使它们同步运行。(3)(3)在在CONCON中有控制矩阵中有控制矩阵CMCM,能根据,能根据IRIR送来的指令发出送来的指令发出1212位的控制位的控制字:字:CON=CCON=CP PE EP PL LM ME ER RL LI IE EI IL LA AE EA AS SU UE EU UL LB BL LO O根据控制字中各位的置根据控制字中各位的置1 1或置或置0 0情况,计算机就能自动地按指令程序运行情况,计算机就能自动地按指令程序运行2004-3-412模型机的硬件结构5n用以储存计算机运行期间的中间结果。它能接收用以储存计算机运行期间的中间结果。它能接收W总线送来的数据总线送来的数据(LA=1),也能将数据送到,也能将数据送到W总总线上去线上去(EA=1)。它还有一个数据输出端,将数据。它还有一个数据输出端,将数据送至送至ALU去进行算术运算。这个输出是双态的,去进行算术运算。这个输出是双态的,即是立即地送去,而不受即是立即地送去,而不受E门的控制。门的控制。n它只是一个二进制补码加法器减法器它只是一个二进制补码加法器减法器(参见图参见图1.9)。n当当SU=0,ALU,进行加法,进行加法A+B;当;当SU=1,ALU,进行减法进行减法A-B,即,即(A+B)。n将要与将要与A相加减的数据暂存于此寄存器。它到相加减的数据暂存于此寄存器。它到ALU的输出也是双态的,即无的输出也是双态的,即无E门控制。门控制。2004-3-413模型机的硬件结构6n计算机运行结束时,累加器计算机运行结束时,累加器A中存有答案。如要输中存有答案。如要输出此答案,就得送入出此答案,就得送入O。此时。此时EA=1,LO=1,则,则O=A。n典型的计算机具有若干个输出寄存器,称为输出接典型的计算机具有若干个输出寄存器,称为输出接口电路。这样就可以驱动不同的外围设备,如打印口电路。这样就可以驱动不同的外围设备,如打印机、显示器等。机、显示器等。n这是用发光二极管这是用发光二极管(LED)组成的显示器。每一个组成的显示器。每一个LED接到寄存器接到寄存器O的一位上去。当某位为高电位时,的一位上去。当某位为高电位时,则该则该LED发光。因为寄存器发光。因为寄存器O是是8位的,所以这里位的,所以这里也由也由8个个LED组成显示器。组成显示器。2004-3-414模型机的硬件结构7n总体来说,模型机可以如下划分总体来说,模型机可以如下划分n中央处理器中央处理器CPU(包括包括PC,IR,CON,ALU,A及及B);n记忆装置记忆装置M(MAR及及PROM);n输入输出输入输出IO接口接口(包括包括O及及D)2004-3-415模型机的硬件结构8n中央处理器中央处理器(central processing unit,CPU)将程序计数功能将程序计数功能(PC)、指令寄存功能、指令寄存功能(IR)、控制功能、控制功能(CON)、算、算术逻辑功能术逻辑功能(ALU)以及暂存中间数据功能以及暂存中间数据功能(A及及B)集成在一块电路集成在一块电路器件上的集成电路器件上的集成电路(IC)。n存储器存储器M(memory)此图例中只包括存储地址寄存器此图例中只包括存储地址寄存器(MAR)及可编程存储器及可编程存储器(实际还实际还包括了地址译码功能包括了地址译码功能),这就是微型计算机的,这就是微型计算机的“内存内存”。实际的。实际的“内存内存”要包括更多的内容要包括更多的内容(如如ROM,RAM及及EPROM等等)和更大和更大的存储容量。的存储容量。n输入及输出接口输入及输出接口(IO)是计算机实行人机对话的重要部件。实际微型计算机的输入设备是计算机实行人机对话的重要部件。实际微型计算机的输入设备多为键盘,输出则为监视器多为键盘,输出则为监视器(即电视屏显示器即电视屏显示器),因而必须有专用,因而必须有专用的输出接口电路的输出接口电路。2004-3-4163.2 指令系统n微型机有微型机有5条指令条指令nLDA将数据装入累加器将数据装入累加器A;nADD进行加法运算;进行加法运算;nSUB进行减法运算;进行减法运算;nOUT输出结果;输出结果;nHLT停机。停机。n不同型号的微处理机的指令系统是不同的,指令的条不同型号的微处理机的指令系统是不同的,指令的条数也不相同。例如,数也不相同。例如,Z80型的指令系统可达型的指令系统可达158条,条,M6800型有型有72条,条,6502型则有型则有56条指令,而条指令,而Intel 80386则为则为152条。条。2004-3-417指令系统2例如一个计算程序的格式如下:例如一个计算程序的格式如下:助记符操作数注释助记符操作数注释LDA R9 ;把;把R9中的数据存入中的数据存入AADD RA ;把;把RA中的数据与中的数据与A的相加的相加ADD RB ;把;把RB中的数据与中的数据与A的相加的相加ADD RC ;把;把RC中的数据与中的数据与A的相加的相加SUB RD ;把;把A中的数据与中的数据与RD的相减的相减OUT ;输出;输出A中的数据,即结果中的数据,即结果HLT ;停机;停机2004-3-418指令系统3n指令执行结果指令执行结果(A)=(R9)+(RA)+(RB)+(RC)-(RD)(D)=(A)是指被括上的寄存器或存储单元的内容。是指被括上的寄存器或存储单元的内容。如如(A)是指累加器是指累加器A中的内容,中的内容,(D)是指显示器显示出的是指显示器显示出的数据,数据,(R9)是存储单元是存储单元R9中的数据,等等。中的数据,等等。(MAR)呢?呢?nHLT指令,使时钟脉冲停发,计算机停止运行,但电源指令,使时钟脉冲停发,计算机停止运行,但电源未切断,显示器仍继续显示计算结果未切断,显示器仍继续显示计算结果2004-3-4193.3 程序设计n程序设计中要包括:程序设计中要包括:n(1)编制汇编语言写的程序;编制汇编语言写的程序;n(2)助记符的翻译;助记符的翻译;n(3)存储器的分配。存储器的分配。n指令清单是程序设计的重要步骤指令清单是程序设计的重要步骤n上面讲的微型计算机并不认识助记符的意义,因此必上面讲的微型计算机并不认识助记符的意义,因此必须将指令清单中每一条指令都翻译成二进制码须将指令清单中每一条指令都翻译成二进制码机机器码。器码。n存储器中既要写入计算程序,也要存放参与运算的数存储器中既要写入计算程序,也要存放参与运算的数据,因此,需要决定存储器中的存储单元应如何分配,据,因此,需要决定存储器中的存储单元应如何分配,这称为存储空间分配。这称为存储空间分配。2004-3-420程序设计2n3.3.1 操作码表操作码表这是由计算机制造厂提供的翻译表,它是每个助记符与二进制码的相这是由计算机制造厂提供的翻译表,它是每个助记符与二进制码的相应对照表。由于我们的计算机很简单,只有应对照表。由于我们的计算机很简单,只有5个助记符,列成对照表个助记符,列成对照表助记符助记符 操作码操作码LDA 0000ADD 0001SUB 0010OUT 1110HLT 1111n3.3.2 存储器分配存储器分配 在本微型机中就是要把在本微型机中就是要把PROM中的中的16个存储单元分配成两个区:个存储单元分配成两个区:程序程序存放区存放区(指令区指令区)和和数据存放区数据存放区(数据区数据区)。指令区数据区存储单元R0R7R8RF二进制地址00000111100011112004-3-421源程序源程序 目的程序存储单元目的程序存储单元指指LDALDAR R9 9 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 (R0 0 0 0 (R0 0)ADDADDR RA A 0 0 0 1 1 0 1 0 0 0 0 1 1 0 1 0 0 0 0 1 (R0 0 0 1 (R1 1)令令ADDADDR RB B 0 0 0 1 1 0 1 1 0 0 0 1 1 0 1 1 0 0 1 0 (R0 0 1 0 (R2 2)ADDADDR RC C 0 0 0 1 1 1 0 0 0 0 0 1 1 1 0 0 0 0 1 1 (R0 0 1 1 (R3 3)区区SUBSUBR RD D 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 1 0 0 (R0 1 0 0 (R4 4)OUTOUT 1 1 1 0 1 1 1 0 0 1 0 1 (R0 1 0 1 (R5 5)HLTHLT 1 1 1 1 1 1 1 1 0 1 1 0 (R0 1 1 0 (R6 6)数数161610 10 0 0 0 1 0 0 0 00 0 0 1 0 0 0 0 1 0 0 1(R9)1 0 0 1(R9)202010 10 0 0 0 1 0 1 0 00 0 0 1 0 1 0 0 1 0 1 0(RA)1 0 1 0(RA)据据242410 10 0 0 0 1 1 0 0 00 0 0 1 1 0 0 0 1 0 1 1(RB)1 0 1 1(RB)282810 10 0 0 0 1 1 1 0 00 0 0 1 1 1 0 0 1 1 0 0(RC)1 1 0 0(RC)区区323210 10 0 0 1 0 0 0 0 00 0 1 0 0 0 0 0 1 1 0 1(RD)1 1 0 1(RD)3.3.3 将源程序翻译成目的程序将源程序翻译成目的程序根据助记符与二进制的对照表根据助记符与二进制的对照表(操作码表操作码表)将上节例题中的每将上节例题中的每条指令的助记符译成二进制码,并将存储单元符号写成地址条指令的助记符译成二进制码,并将存储单元符号写成地址码码(即即R00000,R10001,R91001)2004-3-422 3.3.4 程序及数据的输入方法2004-3-423程序及数据的输入方法2nPROMPROM分成两区,指令区一旦存入指令,就不许再改分成两区,指令区一旦存入指令,就不许再改(除非要计算除非要计算的公式改变了的公式改变了)。数据区是可以随时存入要参与运算的数据,并。数据区是可以随时存入要参与运算的数据,并在计算过程中可以取出来在计算过程中可以取出来n将将PROMPROM的每个数据位的开关拨向置的每个数据位的开关拨向置0 0或置或置1 1的位置输入的位置输入n在前面例题的计算程序设计好,并输入至在前面例题的计算程序设计好,并输入至PROMPROM之后,就可以开始之后,就可以开始执行程序了。程序执行的第一步必须先使计算机复位,此时控制执行程序了。程序执行的第一步必须先使计算机复位,此时控制器先发出一个器先发出一个CLRCLR为高电位的脉冲,同时时钟脉冲开始工作,即为高电位的脉冲,同时时钟脉冲开始工作,即发出脉冲电压系列到各个部件去。发出脉冲电压系列到各个部件去。执行执行LDALDA 9H9H后后A=0001A=00010000000016(10)16(10)执行执行ADDADD AHAH后后A=0010A=0010010001003636(10)(10)执行执行ADD ADD BHBH后后A=0011A=0011110011006060(10)(10)执行执行ADDADD CHCH后后A=0101A=0101100010008888(10)(10)执行执行SUBSUB DHDH后后A=0011A=0011100010005656(10)(10)执行执行OUTOUT 后后 D=0011 1000D=0011 10005656(10)(10)执行执行HLTHLT 后后D=0011D=00111000(1000(不变不变)2004-3-4243.4 执行指令的例行程序n在程序和数据装入之后,启动按钮将启动信号传在程序和数据装入之后,启动按钮将启动信号传给控制部件给控制部件CON,然后控制部件产生控制字,以,然后控制部件产生控制字,以便取出和执行每条指令。便取出和执行每条指令。n一个机器周期一个机器周期为执行一条指令的时间。机器周期为执行一条指令的时间。机器周期又可分为取指周期和执行周期。取指过程和执行又可分为取指周期和执行周期。取指过程和执行过程机器都得通过不同的机器节拍。在这些节拍过程机器都得通过不同的机器节拍。在这些节拍内,每个寄存器内,每个寄存器(PC,MAR,IR,A,B,O等等)的内容可能发生变化。的内容可能发生变化。2004-3-425执行指令的例行程序2环形计数器及机器节拍环形计数器及机器节拍 各位输出端各位输出端Q0Q5的电位就是机器节拍的电位就是机器节拍T0T5的电位,由于时的电位,由于时钟脉冲是经过反相器再接到环形计数器钟脉冲是经过反相器再接到环形计数器(图中的图中的“汽泡汽泡”表示非表示非门门)的的CLK端的,所以各节拍之间的转换是在时钟脉冲的负边缘端的,所以各节拍之间的转换是在时钟脉冲的负边缘开始的。开始的。环形计数器的输出看做是一个字环形计数器的输出看做是一个字T,则:,则:T=T5T4T3T2T1T0下图是一个下图是一个6位的环形字,用以控制位的环形字,用以控制6条电路,使它们依次轮流为条电路,使它们依次轮流为高电位,高电位,T0,T1,T2,T3,T4和和T5称为称为机器节拍机器节拍。2004-3-426执行指令的例行程序执行指令的例行程序3取指周期取指周期取出指令的过程需要取出指令的过程需要3个机器节拍,在清零和启动之后第个机器节拍,在清零和启动之后第1个节拍为个节拍为T0。取指周期,对任何一条指令都是一样的。因为任何。取指周期,对任何一条指令都是一样的。因为任何一条指令都是沿着这个程式而将指令取出来,再将其高一条指令都是沿着这个程式而将指令取出来,再将其高4位送入控位送入控制部件去进行分析,决定下面应如何执行制部件去进行分析,决定下面应如何执行(1)地址节拍地址节拍(T0=1)在在T0=1时,应将时,应将PC的内容的内容(即第即第1个地址码个地址码)送入送入MAR(并通过并通过MAR而达到而达到PROM),所以,此时应有:,所以,此时应有:EP=1,即,即PC准备放出数据准备放出数据LM=1,即,即MAR准备接收数据准备接收数据(2)储存节拍储存节拍(T1=1)在在T1=1时,应将时,应将PROM中由中由PC送来的地址送来的地址码所指定的存储单元中的内容送到码所指定的存储单元中的内容送到IR,同时,同时IR立即将其高立即将其高4位送位送至控制部件。因此,在此节拍到来之前,即应准备好:至控制部件。因此,在此节拍到来之前,即应准备好:ER=1即即PROM准备放出数据准备放出数据LI=1即即IR准备接收数据准备接收数据(3)增量节拍增量节拍(T2=1)在在T2=1时,应使时,应使PC加加1,做好下一条指令的,做好下一条指令的取指准备。因此,取指准备。因此,CP=1,即命令,即命令PC计数。计数。2004-3-427执行指令的例行程序执行指令的例行程序4执行周期执行周期也需要也需要3拍拍(T3,T4,T5),这种程序是由厂家编好,这种程序是由厂家编好了的,所以称为了的,所以称为例行程序例行程序。以。以LDA例行程序例行程序为例,考查一为例,考查一下在此下在此3节拍中,各个寄存器的内容应有何变化节拍中,各个寄存器的内容应有何变化(4)T3=1时,时,IR已将从已将从PROM来的指令码的高来的指令码的高4位送至控制部件进位送至控制部件进行分析。此高行分析。此高4位是与位是与LDA相应的二进制码相应的二进制码“0000”,控制部件经,控制部件经过分析后就发出命令:过分析后就发出命令:EI=1,将,将IR的低的低4位送至位送至W总线;总线;LM=1,MAR接收此低接收此低4位数作为地址并立即送至位数作为地址并立即送至PROM;例题中,;例题中,送至送至PROM的地址就是的地址就是R9的二进制码地址的二进制码地址(1001)。也就是说,。也就是说,第第1次访问次访问PROM的是其指令区,第的是其指令区,第2次访问的是其数据区次访问的是其数据区。(5)T4=1应将应将PROM的数据区的存储单元的数据区的存储单元(如如R9,即,即1001)的内容送的内容送入累加器入累加器A,即:,即:ER=1,PROM准备放出数据;准备放出数据;LA=1,A准备接收准备接收数据;数据;(6)T5=1因为因为T4=1时,已将数据存放入时,已将数据存放入A中,所以,中,所以,LDA的例行程的例行程序就已完成,序就已完成,T5节拍就变成节拍就变成空拍空拍2004-3-4283.5 控制部件n控制部件是使计算机能够成为自动机的关键部件。控制部件是使计算机能够成为自动机的关键部件。它包括下列主要部件:它包括下列主要部件:n环形计数器环形计数器(RC);n指令译码器指令译码器(ID);n控制矩阵控制矩阵(CM);n其他控制电路。其他控制电路。n环形计数器、指令译码器、控制矩阵称为环形计数器、指令译码器、控制矩阵称为控制器控制器。2004-3-4293.5.1 指令译码器n指令寄存器指令寄存器IR高高4位被送入控制部件位被送入控制部件n这高这高4位就是各种控制动作的代码,比如:位就是各种控制动作的代码,比如:0000代表代表LDA的的控制动作;控制动作;0001代表代表ADD的控制动作;的控制动作;0010代表代表SUB的控的控制动作;制动作;1110代表代表OUT的控制动作;的控制动作;1111代表代表HLT的控制的控制动作。动作。n一个控制动作相当于一条控制线,就要使该控制线为一个控制动作相当于一条控制线,就要使该控制线为高电位。高电位。n这个由这个由4个位组成的编码,必须被译成一个信号,即译为某一个位组成的编码,必须被译成一个信号,即译为某一控制线为高电位,这就是译码器的任务。控制线为高电位,这就是译码器的任务。译码器译码器可以由与门可以由与门和非门组成,下图就是一个和非门组成,下图就是一个4位译码器。位译码器。4位应该可以有位应该可以有16种种编码的可能,由于我们的模拟机功能简单,只有编码的可能,由于我们的模拟机功能简单,只有5条指令,所条指令,所以只要以只要5个与门就够了。个与门就够了。2004-3-4302004-3-4313.5.2 控制矩阵n控制矩阵就是要决定控制字的输出电平高低控制矩阵就是要决定控制字的输出电平高低n一般每一节拍大都要求两个控制字位为高电位,有的可一般每一节拍大都要求两个控制字位为高电位,有的可能只有一位为高电位的能只有一位为高电位的(如如 CP=1),也可能是,也可能是3位为高位为高电位。电位。n控制矩阵是控制部件的核心部件控制矩阵是控制部件的核心部件n下图是一个控制矩阵下图是一个控制矩阵(CM)电路图电路图n控制字有控制字有12位,每一指令要执行位,每一指令要执行6拍,每拍均有不同的拍,每拍均有不同的位为高电位,下图是本模型机中控制矩阵的电路图:位为高电位,下图是本模型机中控制矩阵的电路图:2004-3-432控制矩阵控制矩阵2004-3-433控制矩阵2n电路组成电路组成n环形计数器环形计数器,使,使T0至至T5的的6根横线轮流为高电位;根横线轮流为高电位;n指令控制信号线指令控制信号线为中间为中间4根横线,它们的电位高低由指令根横线,它们的电位高低由指令译码器决定译码器决定n控制字输出控制字输出CON,最下面部分是由,最下面部分是由19个与门和个与门和6个或门个或门组成一个逻辑电路。这个电路共有组成一个逻辑电路。这个电路共有12个输出端,就是控个输出端,就是控制字制字CON:CON=CPEPIMERLIEILAEASUEULBLOn 控制矩阵的初始化控制矩阵的初始化n开机前使开机前使CLR为高电位,则此时环形计数器复位至为高电位,则此时环形计数器复位至T0=1,其他各位为其他各位为0。这就是说,每一节拍都是从。这就是说,每一节拍都是从T0开始的。开始的。2004-3-4343.5.3 其他控制电路n 时钟脉冲发生器,包括时钟振荡器及射极跟随器,输出CLKn 运行停车触发器,其输出去启动时钟振荡器n“启动”和“清除”按钮,由人直接操作的主令电器,命令都是由此开始的2004-3-435 3.6 微型计算机功能的扩展n模型机的不足模型机的不足n硬件过于简单,尤其是控制部件只能接受硬件过于简单,尤其是控制部件只能接受5条条指令而产生相应的例行程序。指令而产生相应的例行程序。n软件开发问题,即如何利用现有的指令系统,软件开发问题,即如何利用现有的指令系统,经过灵活的编程以解决更多更复杂的问题。经过灵活的编程以解决更多更复杂的问题。n扩展扩展模型机模型机的功能的功能n中央处理器中央处理器n控制器控制器n算术逻辑部件算术逻辑部件(ALU)n寄存器的个数、性能等寄存器的个数、性能等2004-3-436算术逻辑部件及控制器算术逻辑部件及控制器的功能有相当的扩展,的功能有相当的扩展,这样,就既可能进行逻这样,就既可能进行逻辑运算,也有跳转和循辑运算,也有跳转和循环运算的功能。环运算的功能。控制器的增强,指令系控制器的增强,指令系统已扩大到统已扩大到28条指令条指令增加的部件增加的部件子程序计数器子程序计数器SC变址寄存器变址寄存器X随机存取存储器随机存取存储器RAMMDR输入寄存器输入寄存器2004-3-437微型计算机功能的扩展5本机共有本机共有28条指令,可分为条指令,可分为3类:类:n1.访问存储器指令访问存储器指令(memory reference instruction,MRI)与存储器的读写有关,其地址字段必须为与存储器的读写有关,其地址字段必须为8位位(256个地址个地址)。n特点:由指令寄存器分出来的地址字段特点:由指令寄存器分出来的地址字段(8位的地址字段位的地址字段)必定必定进入进入MAR(存储器地址寄存器存储器地址寄存器),这就能够识别出,这就能够识别出MRI这类指这类指令。令。助记符操作码操作数意义LDA0000nn将地址nn的内容装入AADD0001nn将地址nn的内容与A相加SUB0010nn将地址nn的内容与A相减STA0011nn将A中内容存入地址nn中LDB0100nn将地址nn的内容装入BLDX0101nn将地址nn的内容装入X2004-3-438微型计算机功能的扩展6n2.转移指令转移指令可用以改变程序的顺序,可以在规定的某种条件下将程序进可用以改变程序的顺序,可以在规定的某种条件下将程序进程向前转移或向后转移,也可跳过若干条指令语句或去执行程向前转移或向后转移,也可跳过若干条指令语句或去执行某个子程序之后再回至下一条指令语句。某个子程序之后再回至下一条指令语句。n特点:由指令寄存器特点:由指令寄存器IR分出来的地址段分出来的地址段(8位位)将进入程序将进入程序计数器计数器PC(即即LP=1),或子程序计数器,或子程序计数器(LS=1)。助记符操作码操作数意义JMP0110nn无条件转移至程序nnJAM0111nn(A)=负则转移至程序nnJAZ1000nn(A)=0则转移至程序nnJIM1001nn(X)=负则转移至程序nnJIZ1010nn(X)=0则转移至程序nnJMS1011起始地址转至子程序的起始地址2004-3-439微型计算机功能的扩展7n3.逻辑运算指令逻辑运算指令控制器只要接到控制器只要接到1111的高的高4位,即知为运算指令,然位,即知为运算指令,然后控制器再辨认选择码以确定进行什么样的运算。后控制器再辨认选择码以确定进行什么样的运算。n这类指令的特点是与存储器及程序计数器都无关,这类指令的特点是与存储器及程序计数器都无关,而是与而是与ALU、A及及B寄存器有关。由于这些运算都是寄存器有关。由于这些运算都是在在ALU和和A,B之间进行的,所以不需地址码。低之间进行的,所以不需地址码。低4位可以不置数,由其随机存在,并不产生任何影响。位可以不置数,由其随机存在,并不产生任何影响。2004-3-440微型计算机功能的扩展8助记符操作码选择码低4位意义NOP11110000随意空操作CLA11110001累加器A清零XCH11110010累加器A与变址器X内容交换DEX11110011变址器X内容减1INX11110100变址器X内容加1CMA11110101累加器A内容取反CMB11110110累加器B内容取反LOR11110111A和B各位进行或运算AND11111000A和B各位进行与运算NOR11111001A和B各位进行或非运算NAN11111010A和B各位进行与非运算XOR11111011A和B各位进行异或运算BRB11111100由子程序返回主程序INP11111101输入:外部数据装入I再装入AOUT11111110输出:A的内容装入OHLT11111111停机:CLK停发2004-3-4413.7 初级程序设计举例初级程序设计举例n利用上节提供的指令系统,可以据此进行程序设计。利用上节提供的指令系统,可以据此进行程序设计。n初级程序主要包括下列的程序模式:初级程序主要包括下列的程序模式:n简单程序简单程序程序一统到底,中间没有任何分支和跳转。程序一统到底,中间没有任何分支和跳转。n分支程序分支程序程序进行中,根据判断程序执行的不同结果而分程序进行中,根据判断程序执行的不同结果而分别跳转至其他子程序去。别跳转至其他子程序去。n循环程序循环程序程序进行过程中,在某一循环体进行若干次循环程序进行过程中,在某一循环体进行若干次循环运行,然后再继续前进。运行,然后再继续前进。n调用子程序调用子程序程序进行至某一阶段,调用存储于某存储区中程序进行至某一阶段,调用存储于某存储区中的某个子程序,然后返回至主程序继续运行下去。的某个子程序,然后返回至主程序继续运行下去。2004-3-442初级程序设计举例初级程序设计举例2【例例3.13.1】分支程序分支程序指指R R0 0LDALDA6H6H令令R R1 1SUBSUB7H7H 区区R R2 2JAMJAM5H5H R R3 3JAZJAZ5H5H R R4 4JMPJMP1H1H R R5 5HLTHLT数数R6R62525(10)(10)据据区区R7R79 9(10)(10)根据程序清单,分析程序执行的顺根据程序清单,分析程序执行的顺序及结果序及结果A-(6H)A-(A)-(7H)(A)0开始开始(A)=0HLTYYNN2004-3-443初级程序设计举例初级程序设计举例4【例例3.23.2】循环程序循环程序利用变址寄存器可以设计一个利用变址寄存器可以设计一个循环程序:循环程序:R R0 0LDXLDX 5H5HR R1 1DEXDEXR R2 2JIZJIZ 4H4HR R3 3JMPJMP 1H1HR R4 4HLTHLT停机停机R R5 53 3(10)(10)n分析程序运行的过程分析程序运行的过程X-(R5)X-(X)-1(X)=0开始开始HLTYN2004-3-444初级程序设计举例初级程序设计举例6【例例3.33.3】乘法计算的程序乘法计算的程序n利用循环程序可作乘法计算,例如要求利用循环程序可作乘法计算,例如要求1212(10)(10)8 8(10)(10),就是要求将,就是要求将1212(10)(10)连加连加8 8次。次。这就可以利用循环程序,让它进行这就可以利用循环程序,让它进行8 8次次循环。循环。程序如下:程序如下:R R0 0NOPNOPR R1 1LDXLDXAHAHR R2 2CLACLAR R3 3DEXDEXR R4 4ADDADD9H9H7 7次返回次返回R R5 5JIZJIZ7H7HR R6 6JMPJMP3H3HR R7 7OUTOUT转出循环转出循环 R R8 8HLTHLT R R9 91212(10)(10)R RA A8 8(10)(10)X-(AH)A-0X-(X)-1(X)=0开始开始OUTYNA-(A)+(9H)OUTOUTHLT2004-3-445初级程序设计举例初级程序设计举例7【例例3.43.4】逻辑运算的例子逻辑运算的例子设计一个程序,用以测试某个来自接口电路的输入数设计一个程序,用以测试某个来自接口电路的输入数I0(12I0(12位位),以确定该数是否为奇数。如以确定该数是否为奇数。如I0I0为奇数为奇数(即最后一位为即最后一位为1)1),则,则显示一个显示一个1111 11111111 111111111111;如如I0I0是偶数是偶数(最后一位为最后一位为0)0),则,则显示一个显示一个000000000000 0000 00000000。程序清单如下:程序清单如下:R R0 0INPINP ;将;将I I0 0装入累加器装入累加器A AR R1 1LDBLDB9H9H;将;将(R(R9 9)装入寄存器装入寄存器B BR R2 2ANDAND ;将;将(B)(B)与与(A)(A)进行进行“与与”运算运算R R3 3JAZJAZ6H6H;(A)=0(A)=0,则转移至,则转移至R R6 6R R4 4LDALDAAHAH;将;将(R(RA A)装入累加器装入累加器A AR R5 5JMPJMP7H7H;无条件转至;无条件转至R R7 7R R6 6LDALDABHBH;将;将(R(RB B)装入累加器装入累加器A AR R7 7OUTOUT ;输出;输出(A)(A)至显示器至显示器R R8 8HLTHLT ;停机;停机R R9 90 0 0 00 0 0 00 0 0 00 0 0 00 0 0 10 0 0 1(掩码掩码)R RA A1 1 1 11 1 1 11 1 1 11 1 1 11 1 1 11 1 1 1奇数标志奇数标志R RB B0 0 0 00 0 0 00 0 0 00 0 0 00 0 0 00 0 0 0偶数标志偶数标志2004-3-446初级程序设计举例初级程序设计举例8【例例3.53.5】子程序设计子程序设计设计一个计算设计一个计算x x2 2+y+y2 2+z+z2 2=?=?的计算程序。由于的计算程序。由于x x2 2,y y2 2和和z z2 2在形式上都是在形式上都是一样的,是求一个数的平方值,可将一样的,是求一个数的平方值,可将x x2 2做成一个子程序而存于存储做成一个子程序而存于存储器中一个固定的区域中,用到时,即可将其调出使用。将此子程序器中一个固定的区域中,用到时,即可将其调出使用。将此子程序存于以存于以R RF2F2为起始地址为起始地址(其地址为其地址为F2HF2H,即,即1111 00101111 0010的存储单元的存储单元)的的一个区域中,则可设计其程序如下:一个区域中,则可设计其程序如下:R RF2F2STASTACAHCAH;将;将(A)(A)暂存于暂存于R RCACAR RF3F3LDXLDXCAHCAH;将;将(RCA)(RCA)装入装入X XR RF4F4CLACLA ;累加器;累加器A A清零清零循环程序循环程序R RF5F5DEX DEX ;(X)(X)减减1 1循环体循环体R RF6F6ADDADDCAHCAH;将;将(RCA)(RCA)与与(A)(A)相加相加x x个个x x相加的过程相加的过程R RF7F7JIZJIZF9HF9H;(X)=0,(X)=0,则转移到则转移到RF9RF9R RF8F8JMPJMPF5HF5H;无条件转移至;无条件转移至RF5RF5R RF9F9BRBBRB ;返回主程序;返回主程序RC6RC6R RC6C6x xR RC7C7y y;被运算的数据;被运算的数据R RC8C8z zR RC9C9R RCACA ;运算过程暂存地址;运算过程暂存地址2004-3-4473.8 控制部件的扩展2004-3-448以以LDA指令为例,该指令的操作码指令为例,该指令的操作码(0000),如有一个操作数为,如有一个操作数为nn(8位位),则形成的指令为,则形成的指令为LDA nn。设此指令存于。设此指令存于RAM的指令区的第一个的指令区的第一个存储单元存储单元(其地址为其地址为0000 0000),nn是指参与运算的数据在是指参与运算的数据在RAM的数的数据区中所在的存储单元的地址据区中所在的存储单元的地址(n代表一个代表一个4位二进制数位二进制数),如下图所示:,如下图所示:2004-3-4493.9 现代技术在微型计算机中的应用n16微型计算机与微型计算机与8位微型机相比的优点位微型机相比的优点n更多的寄存器更多的寄存器n存储器寻址范围增加存储器寻址范围增加n更大的指令系统更大的指令系统n更高的速度更高的速度n新型体系结构新型体系结构n存储器管理的改进存储器管理的改进2004-3-450一般微计算机的组成、位(Bit)、字(Word)、字节(Byte)、中央处理单元(CPU)等名词术语。模型机的简化电路、指令系统和程序设计。微型机的控制部件的结构。模型机的功能扩展。现代技术在微型机中的应用。本章小结本章小结2004-3-451课后作业:课后作业:P70:思考题思考题练习:练习:概念概念:命令字、例行程序、机器周期、取指周期、执行周期:命令字、例行程序、机器周期、取指周期、执行周期在微型计算机的简化形式中,环形计数器用于产生机器节拍,在微型计算机的简化形式中,环形计数器用于产生机器节拍,取出指令的过程需要取出指令的过程需要T0、T1和和T2三个节拍,三个节拍,T0称为称为_节节拍,拍,T1称为储存节拍,称为储存节拍,T2称为称为_节拍。节拍。1.举例说明模型机中用到了那些寄存器,并说明每种寄存器的作举例说明模型机中用到了那些寄存器,并说明每种寄存器的作用。用。2004-3-452参考文献参考文献郑学坚,周斌.微型计算机原理及应用(第三版).北京:清华大学出版社,2001姚燕南,薛钧义.微型计算机原理.西安:西安电子科技大学出版社,1994邹逢兴.微型计算机接口原理与技术.长沙:国防科技大学出版社,1993幸云辉.16位微型计算机原理与应用.北京:北京邮电学院出版社,1991张钧良.计算机组成原理.北京:清华大学出版社,2003John D Carpinelli.李仁发,彭曼曼译.计算机系统组成与体系结构.北京:人民邮电出版社,2003
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 压缩资料 > 基础医学


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!