520 likes | 720 Views
第 3 章 微型计算机的工作原理. 以一个简化了的微型计算机作为分析对象,逐步讲述一般计算机的各种基本功能,从而概括出微型计算机的基本工作原理。. 本章 学习要求. 1. 掌握 模型机的简化形式; 模型机各部件的功能与作用; 基于模型机的编程过程。. 2. 理解 指令的意义;指令周期;控制字的含义。. 3. 了解 程序设计步骤;控制部件的构成及其工作原理,模型机的功能扩展,现代技术在微型机中的应用。. 本章 主要外语词汇. PROM : Programmable Read Only Memory ,可编程只读存储器
E N D
第3章 微型计算机的工作原理 • 以一个简化了的微型计算机作为分析对象,逐步讲述一般计算机的各种基本功能,从而概括出微型计算机的基本工作原理。 微机原理及接口技术 高林
本章 学习要求 • 1.掌握 • 模型机的简化形式; • 模型机各部件的功能与作用; • 基于模型机的编程过程。 • 2.理解 • 指令的意义;指令周期;控制字的含义。 • 3.了解 • 程序设计步骤;控制部件的构成及其工作原理,模型机的功能扩展,现代技术在微型机中的应用。 微机原理及接口技术 高林
本章 主要外语词汇 • PROM:Programmable Read Only Memory,可编程只读存储器 • CM:Control Matrix,控制矩阵 • Bit:位 • Byte:字节 • Word:字 微机原理及接口技术 高林
主要内容 • 微型计算机结构的简化形式 • 指令系统 • 控制部件 • 程序设计及执行指令的例行程序 • 微机功能扩展 • 初级程序设计举例 • 现代技术在微机中的应用 微机原理及接口技术 高林
3.1 微型计算机结构的简化形式 • 模型机 • 简化了的微型计算机 • 可以根据模型机理解各个基本电路和部件之间的信息流通过程,指令系统的意义,程序设计的步骤,控制部件的功能及其结构,还有控制矩阵产生控制字的过程等等 微机原理及接口技术 高林
模型机的结构特点 • 功能简单:只能做两个数的加减法。 • 内存量小:只有一个16×8PROM(可编程序只读存储器)。 • 字长8位:二进制8位显示。 • 手动输入:用拨动开关输入程序和数据 微机原理及接口技术 高林
模型机的硬件结构1 微机原理及接口技术 高林
模型机的硬件结构2 1. 程序计数器PC 计数范围由0000~1111(0~F)。 每次运行之前,先复位至0000。当取出一条指令后,PC应加1。 2. 存储地址寄存器MAR 接收来自PC的二进制程序号,作为地址码送至PROM去。 微机原理及接口技术 高林
模型机的硬件结构3 • 可编程序只读存储器PROM • 右图是4×4PROM的电路图 • 16×8PROM的横线应为16条(R0~R15),竖线为8条(D7D6…D0) ,地址码线应为4条(A3A2A1A0) 微机原理及接口技术 高林
模型机的硬件结构4 • 4. 指令寄存器IR IR从PROM接收指令字(当LI=1,ER=1),同时将指令字分送到控制部件CON和W总线上去。 指令字是8位的: ×××××××× MSBLSB 微机原理及接口技术 高林
模型机的硬件结构5 • 5. 控制部件CON (1) 每次运行前,CON先发出CLR=1,使有关的部件清0。 (2) CON能发出同步脉冲CLK到各个部件去,使它们同步运行。 (3) 在CON中有控制矩阵CM,能根据IR送来的指令发出12位的控制字: CON=CPEPLMERLIEILAEASUEULBLO 微机原理及接口技术 高林
模型机的硬件结构6 6. 累加器A • 用以储存计算机运行期间的中间结果。 7. 算术逻辑部件ALU • 它只是一个二进制补码加法器/减法器(参见图1.9)。 8. 寄存器B • 将要与A相加减的数据暂存于此寄存器。 微机原理及接口技术 高林
模型机的硬件结构7 9. 输出寄存器O • 计算机运行结束时,累加器A中存有答案。如要输出此答案,就得送入O。此时EA=1,LO=1,则O=A。 10. 二进制显示器D • 这是用发光二极管(LED)组成的显示器。 微机原理及接口技术 高林
模型机的硬件结构8 • 总体来说,模型机可以如下划分 • 中央处理器CPU(包括PC,IR,CON,ALU,A及B); • 记忆装置M(MAR及PROM); • 输入/输出I/O接口(包括O及D) 微机原理及接口技术 高林
3.2 指令系统 指令系统就是用来编制计算程序的一个指令集合。这台微型机有5条指令,即其控制部件能完成一系列例行程序以执行5种命令: LDA——将数据装入累加器A; ADD——进行加法运算; SUB——进行减法运算; OUT——输出结果; HLT——停机。(halt) 这5条指令在一起就称为这台计算机的指令系统。 微机原理及接口技术 高林
实例: 助记符 操作数 注释 LDAR9 ; 把R9中的数据存入A ADDRA ; 把RA中的数据与A的相加 ADDRB ; 把RB中的数据与A的相加 ADDRC ; 把RC中的数据与A的相加 SUBRD ; 把A中的数据与RD的相减 OUT ; 输出A中的数据,即结果 HLT ; 停机 微机原理及接口技术 高林
3.3 程序设计 • 程序设计中要包括: • (1) 编制汇编语言写的程序; • (2) 助记符的翻译; • (3) 存储器的分配。 微机原理及接口技术 高林
程序设计2 • 3.3.1 操作码表 • 3.3.2 存储器分配 微机原理及接口技术 高林
源程序 目的程序 存储单元 指 LDAR9 → 0 0 0 0 1 0 0 10 0 0 0 (R0) ADDRA → 0 0 0 1 1 0 1 00 0 0 1 (R1) 令 ADDRB → 0 0 0 1 1 0 1 10 0 1 0 (R2) ADDRC → 0 0 0 1 1 1 0 00 0 1 1 (R3) 区 SUBRD → 0 0 1 0 1 1 0 10 1 0 0 (R4) OUT → 1 1 1 0 ×××× 0 1 0 1 (R5) HLT → 1 1 1 1 ×××× 0 1 1 0 (R6) 数 1610 →0 0 0 1 0 0 0 01 0 0 1 (R9) 2010 →0 0 0 1 0 1 0 01 0 1 0 (RA) 据 2410 →0 0 0 1 1 0 0 01 0 1 1 (RB) 2810 →0 0 0 1 1 1 0 01 1 0 0 (RC) 区 3210 →0 0 1 0 0 0 0 01 1 0 1 (RD) 3.3.3 将源程序翻译成目的程序 微机原理及接口技术 高林
3.3.4 程序及数据的输入方法 微机原理及接口技术 高林
3.4 指令的执行过程 • 执行一条指令的时间为一个机器周期。 • 机器周期又可分为取指周期和执行周期。 • 取指过程和执行过程机器都得通过不同的机器节拍。 • 机器节拍是由环形计数器(P27)来控制的。 微机原理及接口技术 高林
环形计数器及机器节拍 微机原理及接口技术 高林
取指周期和执行周期 • 取指周期取出指令的过程需要3个机器节拍,在清零和启动之后第1个节拍为T0。取指周期,对任何一条指令都是一样的。 • 执行周期也需要3拍(T3,T4,T5),不同指令执行过程各不相同。 • 以LDA指令执行为例说明 微机原理及接口技术 高林
(1)地址节拍(取指周期) • 首先,清零PC=0000; 地址节拍(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计数。所以,此时: CON= CPEPLMERLIEILAEASUEULBLO = 1 0 0 00 0 0 0 0 0 0 0 微机原理及接口技术 高林
(4) (执行周期) T3=1时,IR已将从PROM来的指令码的高4位送至控制部件进行分析。此高4位是与LDA相应的二进制码“0000”,控制部件经过分析后就发出命令: EI=1,将IR的低4位送至W总线; LM=1,MAR接收此低4位数作为地址并立即送至PROM; 微机原理及接口技术 高林
(5) (执行周期) T4=1应将PROM的数据区的存储单元(如R9,即1001)的内容送入累加器A,即: ER=1,PROM准备放出数据; LA=1,A准备接收数据; 微机原理及接口技术 高林
(6) (执行周期) T5=1因为T4=1时,已将数据存放入A中,所以,LDA的例行程序就已完成,T5节拍就变成空拍 固定周期的计算机。 微机原理及接口技术 高林
3.5 控制部件 • 控制部件是使计算机能够成为自动机的关键部件。它包括下列主要部件: • 环形计数器(RC); • 指令译码器(ID); • 控制矩阵(CM); • 其他控制电路。 • 环形计数器、指令译码器、控制矩阵称为控制器。 微机原理及接口技术 高林
3.5.1 指令译码器 • 指令寄存器IR高4位被送入控制部件 • 一个控制动作相当于一条控制线,就要使该控制线为高电位。 微机原理及接口技术 高林
3.5.2 控制矩阵 • 控制矩阵就是要决定控制字的输出电平高低 • 控制矩阵是控制部件的核心部件 • 下图是一个控制矩阵(CM)电路图 微机原理及接口技术 高林
控制矩阵 微机原理及接口技术 高林
控制矩阵2 • 电路组成 • 环形计数器 • 指令控制信号线 • 控制字输出CON • CON=CPEPIMERLIEILAEASUEULBLO • 控制矩阵的初始化 • 开机前使CLR为高电位,则此时环形计数器复位至T0=1,其他各位为0。这就是说,每一节拍都是从T0开始的。 微机原理及接口技术 高林
3.5.3 其他控制电路 时钟脉冲发生器,包括时钟振荡器及射极跟随器,输出CLK 运行/停车触发器,其输出去启动时钟振荡器 “启动”和“清除”按钮,由人直接操作的主令电器,命令都是由此开始的 微机原理及接口技术 高林
3.6 微型计算机功能的扩展 • 模型机的不足 • 硬件过于简单,尤其是控制部件只能接受5条指令而产生相应的例行程序。 • 软件开发问题,即如何利用现有的指令系统,经过灵活的编程以解决更多更复杂的问题。 微机原理及接口技术 高林
算术逻辑部件及控制器的功能有相当的扩展,这样,就既可能进行逻辑运算,也有跳转和循环运算的功能。算术逻辑部件及控制器的功能有相当的扩展,这样,就既可能进行逻辑运算,也有跳转和循环运算的功能。 • 控制器的增强,指令系统已扩大到28条指令 微机原理及接口技术 高林
微型计算机功能的扩展5 本机共有28条指令,可分为3类: • 1. 访问存储器指令(memory reference instruction, MRI) 与存储器的读/写有关,其地址字段必须为8位(256个地址)。 微机原理及接口技术 高林
微型计算机功能的扩展6 • 2. 转移指令 可用以改变程序的顺序,可以在规定的某种条件下将程序进程向前转移或向后转移,也可跳过若干条指令语句或去执行某个子程序 微机原理及接口技术 高林
微型计算机功能的扩展7 • 3. 逻辑运算指令 控制器只要接到1111的高4位,即知为运算指令,然后控制器再辨认选择码以确定进行什么样的运算。 微机原理及接口技术 高林
微型计算机功能的扩展8 微机原理及接口技术 高林
3.7 初级程序设计举例 • 利用上节提供的指令系统,可以据此进行程序设计。 • 初级程序主要包括下列的程序模式: • 简单程序 • 分支程序 • 循环程序 • 调用子程序 微机原理及接口技术 高林
开始 A<--(6H) A<-(A)-(7H) Y (A)<0 N Y (A)=0 HLT N 初级程序设计举例2 【例3.1】除法程序 指 R0LDA6H 令 R1SUB7H 区 R2JAM5H R3JAZ5H R4JMP1H R5HLT 数 R625(10) 据 区 R79(10) 根据程序清单,分析程序执行的顺序及结果 微机原理及接口技术 高林
开始 X<--(R5) X<-(X)-1 Y (X)=0 N HLT 初级程序设计举例4 【例3.2】循环程序 利用变址寄存器可以设计一个循环程序: R0LDX5H R1DEX R2JIZ4H R3JMP1H R4HLT 停机 R53(10) • 分析程序运行的过程 微机原理及接口技术 高林
开始 X<--(AH) A<-0 X<-(X)-1 A<-(A)+(9H) Y (X)=0 N OUT OUT OUT HLT 初级程序设计举例6 【例3.3】乘法计算的程序 程序如下: R0NOP R1LDXAH R2CLA R3DEX R4ADD9H7次返回 R5JIZ7H R6JMP3H R7OUT 转出循环 R8HLT R912(10) RA8(10) 微机原理及接口技术 高林
初级程序设计举例7 【例3.4】逻辑运算的例子 设计一个程序,用以测试某个来自接口电路的输入数I0(12位),以确定该数是否为奇数。如I0为奇数(即最后一位为1),则显示一个1111 11111111;如I0是偶数(最后一位为0),则显示一个00000000 0000。 程序清单如下: R0INP ;将I0装入累加器A R1LDB9H ;将(R9)装入寄存器B R2AND ;将(B)与(A)进行“与”运算 R3JAZ6H ;(A)=0,则转移至R6 R4LDAAH ;将(RA)装入累加器A R5JMP7H ;无条件转至R7 R6LDABH ;将(RB)装入累加器A R7OUT ;输出(A)至显示器 R8HLT ;停机 R90 0 0 00 0 0 00 0 0 1(掩码) RA1 1 1 11 1 1 11 1 1 1 奇数标志 RB0 0 0 00 0 0 00 0 0 0 偶数标志 微机原理及接口技术 高林
初级程序设计举例8 【例3.5】子程序设计 设计一个计算x2+y2+z2=?的计算程序。可将x2做成一个子程序而存于存储器中一个固定的区域中,用到时,即可将其调出使用,则可设计其程序如下: RF2STACAH ;将(A)暂存于RCA RF3LDXCAH ;将(RCA)装入X RF4CLA ;累加器A清零 循环程序RF5DEX ;(X)减1 循环体RF6ADDCAH;将(RCA)与(A)相加 x个x相加的过程 RF7JIZF9H ;(X)=0,则转移到RF9 RF8JMPF5H ;无条件转移至RF5 RF9BRB ;返回主程序 RC6 RC6x RC7y ;被运算的数据 RC8z RC9 RCA ;运算过程暂存地址 微机原理及接口技术 高林
3.8 控制部件的扩展 微机原理及接口技术 高林