第3章 微型计算机的基本工作原理_第1页
第3章 微型计算机的基本工作原理_第2页
第3章 微型计算机的基本工作原理_第3页
第3章 微型计算机的基本工作原理_第4页
第3章 微型计算机的基本工作原理_第5页
已阅读5页,还剩70页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

一个实际的微机的电路结构是相当复杂的。本章内容将从微机的最基本功能出发来讲解其电路原理,在有限的时间内让同学们建立一个较完整的基本概念。微机的基本功能可概括为“三能一快”;能运算、能判别、能决策。但所有这些“能”的过程都是建立在“快”的基础上才能有实际意义。本章将要学习的主要内容通过一个简化的计算机结构学习:简化结构的主要构成指令系统程序设计例行程序控制部件功能扩展控制部件的扩展现代技术在微型计算机中的应用在整个计算机中,信息量是很大的,部件数很多,如何做到各个信息和部件能够“循序渐进、各得其所、有条不紊、快而不乱”?这就是计算机基本工作原理所要解答的问题。第一节微型计算机结构的简化形式简化结构的构成功能简单:加减法内存量小:16X8字长8位:二进制8位显示手动输入:开关输入程序和数据高4位为指令字段,低4位为地址字段。PCIRCON1244488A88ALU88B8888ODLOCLKLBCLKSUEULACLKEACPCLKCLREPLICLKCLREICLKCLRMAR16×8PROM84CLKLMERWCPEPLMERLIEILAEASUEULBLO程序计数器:计数范围:0000~1111。每次运行前,先复位。当取出一条指令后,加1。指令寄存器:共计8位,左4位为最高有效位,称为指令字段;右4位为最低有效位,为地址字段。累加器:用以存储计算机运行期间的中间结果。算数逻辑单元:当SU=0,进行加法.SU=1时,进行减法.输出寄存器。二进制显示器。

控制部件:功能有三:(1)每次运行前,使有关部件清零。(2)有一个同步时钟。(3)发出12位控制字。可编程只读存储器。寄存器:将要与A相加减的数据暂存于此寄存器。存储地址寄存器接收PC的二进制程序号,作为地址码送至PROM去。PCIRCON1244488A88ALU88B8888ODLOCLKLBCLKSUEULACLKEACPCLKCLREPLICLKCLREICLKCLRMAR16×8PROM84CLKLMERWCPEPLMERLIEILAEASUEULBLO累加器,用以存储计算机运行期间的中间结果。算数逻辑单元.当SU=0,进行加法.SU=1时,进行减法.输出寄存器。二进制显示器。可编程只读存储器。寄存器。将要与A相加减的数据暂存于此寄存器。功能分解图CPUMI/OWPC,IR,CON,ALU,A,BMAR,PROMO,D&&&&R0R1R3R2A1A0D3D2D1D0ER1234K00K01K02K03K13K23K33K12K11K10K22K21K20K32K31K30返回4X4PROM原理图本简化结构的特点(1)功能简单:只能做两个数的加减法。(2)内存量小:只有一个16×8PROM(可编程序只读存储器)。(3)字长8位:二进制8位显示。(4)手动输入:用拨动开关输入程序和数据。第二节指令系统指令系统的构成这台微型机有5条指令,即其控制部件能完成一系列例行程序以执行5种命令:LDA——将数据装入累加器A;ADD——进行加法运算;SUB——进行减法运算;OUT——输出结果;HLT——停机。不同型号的微处理机的指令系统不同。构的成指本令计系算统机助记符操作数注释LDAR9

;把R9中的数据存入AADD

RA

;把RA中的数据与A的相加ADD

RB

;把RB中的数据与A的相加ADD

RC

;把RC中的数据与A的相加SUB

RD

;把A中的数据与RD的相减OUT

;输出A中的数据,即结果HLT

;停机①数据处理指令:包括算术运算指令、逻辑运算指令、移位指令、比较指令等。

②数据传送指令:包括寄存器之间、寄存器与主存储器之间的传送指令等。

③程序控制指令:包括条件转移指令、无条件转移指令、转子程序指令等。

④输入-输出指令:包括各种外围设备的读、写指令等。有的计算机将输入-输出指令包含在数据传送指令类中。

⑤状态管理指令:包括诸如实现置存储保护、中断处理等功能的管理指令。

第三节程序设计操作码表的概念目标程序的生成程序及数据的输入方法

程序设计中要包括:编制汇编语言写的程序助记符的翻译存储器的分配1.操作码表由计算机制造商提供的翻译表,它是每个助记符与二进制码的相应对照表。助记符操作码LDAADDSUBOUT0000HLT00010010111011112.存储器的分配在本微型机中就是要把PROM中的16个存储单元分配成两个区:程序存放区(指令区)和数据存放区(数据区)。区域作用指令区数据区存储单元二进制地址十六进制地址R0~R7R8~RF0000~01111000~11110H~7H8H~FH3.将源程序翻译成目标程序指令区

源程序目的程序存储单元LDAR9→00001001

0000(R0)ADDRA→00011010

0001(R1)ADDRB→00011011

0010(R2)ADDRC→00011100

0011(R3)SUBRD→00101101

0100(R4)OUT→1110××××

0101(R5)HLT→1111××××

0110(R6)3.将源程序翻译成目标程序数据区

源程序目的程序存储单元

1610→00010000

1001(R9)2010→00010100

1010(RA)2410→00011000

1011(RB)2810→00011100

1100(RC)3210→00100000

1101(RD)4.程序及数据的输入方法&&&&R0R1R3R2A1A0D3D2D1D0ER1234K00K01K02K03K13K23K33K12K11K10K22K21K20K32K31K304.程序及数据的输入方法R0R1R4R5R6R7R8R9RARBRCRDRERFR2R3指令区数据区LDAR9ADDRAADDRBADDRCSUBRDOUTHLT(16)(20)(24)(28)(32)D7D6D5D4D3D2D1D0第四节执行指令的例行程序机器节拍的概念取指周期及执行周期指令执行过程CONALUOCPUBMARCLRIR0000PCADD32C28B24A209166HLT5OUT4SUBRD3ADDRC2ADDRB1ADDRA0LDAR9MemoryCONALUOCPUBMARCLRIR0000PCADD32C28B24A209166HLT5OUT4SUBRD3ADDRC2ADDRB1ADDRA0LDAR9Memory1.机器节拍执行一条指令的时间为一个机器周期。机器周期又可分为取指周期和执行周期。取指过程和执行过程机器都得通过不同的机器节拍。什么是机器节拍?Q5Q4Q3Q2Q1Q0T0T1T2T3T4T5CLKCLRQ3D3CLRQ2D2CLRQ1D1CLRQ0D0PRCLRCLK0001Q3D3CLRQ2D2CLRQ1D1CLRQ0D0PRCLRCLK0010CLKQ0Q1Q2Q30001Q3D3CLRQ2D2CLRQ1D1CLRQ0D0PRCLRCLK0100CLKQ0Q1Q2Q3Q3D3CLRQ2D2CLRQ1D1CLRQ0D0PRCLRCLK1000CLKQ0Q1Q2Q3Q3D3CLRQ2D2CLRQ1D1CLRQ0D0PRCLRCLK0001CLKQ0Q1Q2Q32.取指周期及执行周期取指周期及执行周期都须三个机器节拍取指周期与例行程序空拍的作用固定周期的计算机PCIRCON1244488A88ALU88B8888ODLOCLKLBCLKSUEULACLKEACPCLKCLREPLICLKCLREICLKCLRMAR16×8PROM84CLKLMERWCPEPLMERLIEILAEASUEULBLO地址节拍(T0=1)EP=1,LM=1011000000000PCIRCON1244488A88ALU88B8888ODLOCLKLBCLKSUEULACLKEACPCLKCLREPLICLKCLREICLKCLRMAR16×8PROM84CLKLMERWCPEPLMERLIEILAEASUEULBLO地址节拍(T0=1)ER=1,LI=1000110000000储存节拍(T1=1)PCIRCON1244488A88ALU88B8888ODLOCLKLBCLKSUEULACLKEACPCLKCLREPLICLKCLREICLKCLRMAR16×8PROM84CLKLMERWCPEPLMERLIEILAEASUEULBLO地址节拍(T0=1)CP=1100000000000储存节拍(T1=1)增量节拍(T2=1)PCIRCON1244488A88ALU88B8888ODLOCLKLBCLKSUEULACLKEACPCLKCLREPLICLKCLREICLKCLRMAR16×8PROM84CLKLMERWCPEPLMERLIEILAEASUEULBLO地址节拍(T0=1)储存节拍(T1=1)增量节拍(T2=1)取指周期PCIRCON1244488A88ALU88B8888ODLOCLKLBCLKSUEULACLKEACPCLKCLREPLICLKCLREICLKCLRMAR16×8PROM84CLKLMERWCPEPLMERLIEILAEASUEULBLO第四节拍(T3=1)EI=1,LM=1001001000000PCIRCON1244488A88ALU88B8888ODLOCLKLBCLKSUEULACLKEACPCLKCLREPLICLKCLREICLKCLRMAR16×8PROM84CLKLMERWCPEPLMERLIEILAEASUEULBLO第四节拍(T3=1)ER=1,LA=1000100100000第五节拍(T4=1)PCIRCON1244488A88ALU88B8888ODLOCLKLBCLKSUEULACLKEACPCLKCLREPLICLKCLREICLKCLRMAR16×8PROM84CLKLMERWCPEPLMERLIEILAEASUEULBLO第四节拍(T3=1)空拍000000000000第五节拍(T4=1)第六节拍(T5=1)PCIRCON1244488A88ALU88B8888ODLOCLKLBCLKSUEULACLKEACPCLKCLREPLICLKCLREICLKCLRMAR16×8PROM84CLKLMERWCPEPLMERLIEILAEASUEULBLO第四节拍(T3=1)第五节拍(T4=1)第六节拍(T5=1)执行周期例行程序第五节控制部件环形计数器(RC)指令译码器(ID)控制矩阵(CM)其它控制电路(otherCC)1.指令译码器2.控制矩阵输出端即控制字的输出环形计数器指令控制信号及信号线LDA5条指令的控制电路就这么复杂了有上百条指令的机器,控制电路会怎么样呢?用逻辑电路的方法来实现控制字的方法称为硬件方法在指令系统较大,控制字较长(即位数很多)的情况下,常用软件方法来实现——这就是所谓微程序法3.其它控制电路为了实现控制动作,还需要下述几个电路时钟脉冲发生器第六节微型计算机功能的扩展功能扩展访问存储器指令转移指令逻辑运算指令我们所介绍的这个模型机,有用吗?功能过于简单的原因是什么呢?硬件过于简单——控制部件只能接受5条指令而产生相应的例行程序软件开发——如何利用现有的指令系统,解决更多更复杂的问题。PCIRCON1244488A88ALU88B8888ODLOCLKLBCLKSUEULACLKEACPCLKCLREPLICLKCLREICLKCLRMAR16×8PROM84CLKLMERWCPEPLMERLIEILAEASUEULBLO子程序计数器SC,它不由CLR来清零,而可由LS门来置数。一旦置数,即为其子程序的开始地址。程序计数器PC,PC增加了一个LP门,这就使得PC可以接收跳转地址。这样扩大了计算机的功能,PC可以不从00H开始计数了。用RAM作为主存储器。RAM的存储单元为256个,字长为12位。控制部件CON,此CON可产生一个28位的控制字:

LSCSESLP

CPEPLMWE

MELDEDLI

EILNENLA

EAS3S2S1

S0EULBLX

INXDEXEXLO算术逻辑部件ALU控制端为S=S3S2S1S0,即有4位。4位则有16种可能的组合,本机只用其中的10种,得到3种算术运算和7种逻辑运算。ALU的运算功能运算助记符s=s3s2s1s0空运算NOP0000加法运算ADD0001减法运算SUB0010累加器求反CMA0011

B寄存器求反CMB0100或运算LOR0101与运算AND0110或非运算NOR0111与非运算NAN1000异或运算XOR1001变址寄存器X它可以用指令使其加1或减1:INX——加1指令助记符,其控制端符号为INX;DEX——减1指令助记符,其控制端符号为DEX。算术逻辑部件ALU控制端为S=S3S2S1S0,即有4位。4位则有16种可能的组合,本机只用其中的10种,得到3种算术运算和7种逻辑运算。指令寄存器IR一个12位的寄存器,其指令字段和地址字段的位数不是固定不变的。访问存储器指令转移指令运算指令扩展模型机的指令系统访问存储器指令(memoryreferenceinstruction)助记符操作码意义LDAADDSUBSTA0000LDB0001001000110100LDX0101将地址nn的内容装入A将地址nn的内容与A相加将地址nn的内容与A相减将A中的内容存入地址nn中将地址nn的内容装入B将地址nn的内容装入X扩展模型机的指令系统转移指令助记符操作码意义JMPJAMJAZJIM0110JIZ0111100010011010JMS1011无条件转移至程序nn(A)=负则转移至程序nn(A)=0则转移至程序nn(X)=负则转移至程序nn(X)=0则转移至程序nn转至子程序的起始地址逻辑运算指令助记符操作码选择码意义

NOP11110000空操作

CLA11110001累加器A清零

XCH11110010累加器A与变址器X内容交换

DEX11110011变址器X内容减1

INX11110100变址器X内容加1

CMA11110101累加器A内容取反

CMB11110110累加器B内容取反

LOR11110111A和B各位内容进行或运算

AND11111000A和B各位内容进行与运算

NOR11111001A和B各位内容进行或非运算

NAN11111010A和B各位内容进行与非运算

XOR11111011A和B各位内容进行异或运算

BRB11111100由子程序返回主程序

INP11111101输入:外部数据装入I再入A

OUT11111110输出:A的内容装入O

HLT11111111停机:CLK停发第七节初级程序设计简单程序设计分支程序设计循环程序设计子程序设计3.1分支程序R0

LDA

6H把(R6)装入A去R1

SUB

7H从(A)减去(R7)R2

JAM

5H

(A)=负,则转移至R5R3

JAZ

5H

(A)=0,则转移至R5R4

JMP

1H无条件转移至R1R5

HLTR6

25(10)R7

9(10)3.2循环程序R0

LDX

5H将(R5)装入变址器XR1

DEX命(X)减1R2

JIZ

4H

(X)=0,则转移至R4R3

JMP

1H无条件转移至R1R4

HLT停机R5

3(10)

(R5)=3(10)(数据)3.3乘法计算的程序R0

NOP

R1

LDX

AH

R2

CLA

R3

DEXR4

ADD

9H

R5

JIZ

7HR6

JMP

3HR7

OUT

R8

HLT

R9

12(10)

RA

8(10)3.4逻辑运算的例子——判断奇偶数R0

INP;将I0装入累加器A

R1

LDB

9H;将(R9)装入寄存器B

R2

AND;将(B)与(A)进行“与”运算R3

JAZ

6H;(A)=0,则转移至R6

R4

LDA

AH;将(RA)装入累加器A

R5

JMP

7H

;无条件转至R7

R6

LDA

BH

;将(RB)装入累加器A

R7

OUT;输出(A)至显示器R8

HLT;停机R9

0000

0000

0001

(掩码)

RA

1111

1111

1111奇数标志RB

0000

0000

0000偶数标志3.5子程序设计设计一个计算x2+y2+z2=?的计算程序。由于x2,y2和z2在形式上都是一样的,因此可将x2做成一个子程序而存于存储器中一个固定的区域中,用到时,即可将其调出使用。3.5子程序设计RF2STACAH;将(A)暂存于RCARF3LDXCAH;将(RCA)装入XRF4CLA;累加器A清零RF5DEX;(X)减1RF6ADDCAH;将(RCA)与(A)相加RF7JIZF9H;(X)=0,则转移到RF9RF8JMPF5H;无条件转移至RF5

RF9BRB;返回主程序RC6xRC7y;被运算的数据RC8zRC9RCA;运算过程暂存地址用子程序求X2+y2+z2=42+62+82=?R00

LDA

C6HR01

JMS

F2HR02

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论