数字逻辑与系统设计 课件 第7章 简易系统设计实践_第1页
数字逻辑与系统设计 课件 第7章 简易系统设计实践_第2页
数字逻辑与系统设计 课件 第7章 简易系统设计实践_第3页
数字逻辑与系统设计 课件 第7章 简易系统设计实践_第4页
数字逻辑与系统设计 课件 第7章 简易系统设计实践_第5页
已阅读5页,还剩135页未读 继续免费阅读

下载本文档

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

文档简介

第7章简易系统设计实践7.1简易微处理器设计7.2简易微处理器系统设计

前面所介绍的电路都是只能实现某种单一的特定功能:因此称为功能部件级电路。由若干这样的数字电路和逻辑部件构成:按一定顺序处理和传输数字信号的设备:称为数字系统。

数字系统从结构上可以划分为数据处理单元和控制单元两部分。

1.数据处理单元

数据处理单元也称为数据通路。它接收控制单元发来的控制信号:对输入的数据进行算术运算、逻辑运算、移位操作等处理:然后输出数据:并将处理过程中产生的状态信息反馈到控制单元。

2.控制单元

控制单元根据外部输入信号及数据处理单元提供的状态信息:决定下一步要完成的操作:并向数据处理单元发出控制信号以控制其完成该操作。

数字系统设计开发过程要重视模块化设计理念和“分析电路功能—制订电路结构及工作波形规格—设计逻辑电路—仿真测试逻辑功能”的开发步骤:其中制订电路结构及工作波形规格是重中之重。

7.1简易微处理器设计

7.1.1功能分析

1.基本结构微处理器的内部典型电路如图7-1所示:它是由算术逻辑运算单元(ALU)、寄存器组、控制器、总线接口单元组成的:其中控制单元包括指令读取子单元、指令译码子单元和逻辑控制子单元。

图7-1微处理器的内部典型电路

2.功能需求

由于流程控制操作需要采用比较等运算所产生的标志来判别是否转移:因此需要保存某些运算操作所产生的标志。通常设置处理器状态寄存器(PSR)来保存处理运算中产生的进位溢出等标志。

微处理器能够完成以下功能:

(1)数据传输。

(2)算术逻辑运算。

(3)流程跳转。

3.操作描述

根据程序设计中常用的数据运算和流程控制操作来设计如表7-1所示的操作。其中Rd为目标/源操作数寄存器:Rn为源操作数寄存器:#为立即数:[Rn]为地址值为Rn值的存储单元:PC为保存待读指令的地址寄存器:PSR为处理器状态寄存器(保存运算产生的标志位)。

4.开发思路

处理器的实质是执行指令的逻辑电路:因此首要任务是明确操作指令:规范指令的操作方式、数据来源及结果去向。

处理器中最核心的功能是运算:故首先设计算术逻辑运算器。从运算器的数据来源和运算结果的去向来分析运算器与寄存器组之间的关系:根据寄存器与外部数据存储器之间的数据传输来设计ALU、寄存器组和数据总线接口单元之间的连接关系。

处理器的工作过程是按照一定的操作流程进行以保证处理过程有序高效:逻辑控制单元完成指令与运算处理之间的衔接:按照规定时序控制各模块协同操作。

7.1.2指令设计

通常把微处理器采用数码来代表一次操作:这个数码称为指令。

设计中所涉及的操作对应的指令如表7-2所示:其中的R0H表示R0寄存器的高4位:R0L表示R0寄存器的低4位。

7.1.3运算器

处理器首先要能够进行数据运算。二进制数的算术运算、移位运算和逻辑运算都可以采用二进制电路实现。由于每次处理只执行一个运算:所以将所有运算电路组合在一起:通过控制信号来选择一个运算电路工作并输出运算结果。该组合在一起的电路称为算术逻辑运算单元(ALU):其典型符号如图7-2所示。ALU有两个运算数据输入端:一个运算结果输出端:还有一个运算类型控制端。

图7-2算术逻辑运算器

ALU支持8种两个8位数S1和S2的数据运算:即加、减、位与、位或、位非、左移1位、右移1位、赋值:但每次只能进行1种运算:通过3位控制信号OP改变运算类型:结果输出DT:同时给出计算标志FLG(进/借位标志CF、溢出标志OF、符号标志SF和结果为零标志ZF)。

ALU电路共有8种运算:每次只能进行1种运算:可以视为从8种运算结果中选择1个输出。因此:该电路有8个运算电路和1个8选1输出电路:输出哪个运算结果由控制信号来决定。

其电路结构如图7-3所示。图7-3算术逻辑运算器的内部结构

功能仿真波形如图7-4所示:图中数值均为十六进制数。图7-4算术逻辑运算器的功能仿真波形

7.1.4寄存器组

寄存器用来存储运算中所用的暂时数据。若多个寄存器构成寄存器组:则它们的输入线并接在一起共享输入。每个寄存器都有锁存使能信号:只有某个寄存器的使能信号有效时:该寄存器才将输入的数据锁存起来。

由于指令中设计了对寄存器R0的高4位和低4位操作:因此需要有信号来指明是对R0的8位或高4位或低4位进行操作。

寄存器组电路如图7-5所示:包含4个通用寄存器R0~R3、1个状态寄存器PSR、1个通用寄存器锁存译码器。

图7-5寄存器组电路

简易处理器能够实现“写R0、写R1、写R2、写R3、不写”这5种操作:因此功能逻辑表如表7-3所示。

7.1.5通道选择

参加运算的数据来源于寄存器:故需要采用选择器从多个寄存器的输出中选出一组作为输出:因此需要两个用于寄存器值选择的数据选择器。某个操作数有时可能是立即数:因此再采用一个用于立即数和寄存器数选择的数据选择器。通道选择电路如图7-6所示:其中S0

是需要存储的寄存器值:S1

和S2

分别是ALU的输入。其功能如表7-4和表7-5所示。

图7-6通道选择电路x

7.1.6数据存储

运算中需要读取指令或存读大量数据:这些指令和数据保存在存储器中。通常存储单元的地址是通过ALU计算出来的:存储单元的地址可以由一个寄存器与另一个寄存器或常数相加得到。

微处理器中产生读写存储器的信号时序的电路称为总线接口单元。微处理器执行访问存储器指令时:逻辑控制单元将计算后的地址、数据和控制代码发送给总线接口单元:总线接口单元负责按照规定的时间顺序输出地址和控制信号:同时输出待写数据或输入待读数据。

存储器含有地址总线、数据总线和读写控制线:通常数据总线是双向的。总线接口单元必须能够适应存储器的访问需求:因此总线接口单元产生能够连接存储器及其他外部设备的总线信号。通常将微处理器与存储器及外部设备之间的总线称为系统总线。

总线接口单元最简单的结构如图7-7所示:它主要完成外部双向数据线和外部读写信号的产生。

图7-7总线接口单元结构图

总线操作必须满足一定时序。读操作时:先输出地址:再输出读使能:最后锁存数据;写操作时:先输出地址和数据:再输出写使能。存储访问操作总线的时序如图7-8所示。

图7-8存储访问操作总线的时序图

7.1.7指令读取

指令保存在存储器中:用来读取指令存储器的总线信号合称为指令总线。读取指令时:将指令所在地址输出到指令总线的地址总线上:存储器会自动将该地址上存储单元的值输出到指令总线的数据总线上。

程序执行通常是按顺序逐一读取指令的:因此默认每读取一次指令其读取地址自动递增:相当于是一个加法计数器。因此:指令地址是程序计数器的输出:保存指令地址的PC寄存器本身是程序计数器的一部分:程序计数器的内部电路结构及指令读取电路如图7-9所示。

图7-9程序计数器及指令读取电路

7.1.8指令译码

指令译码是用指令代码生成操作信号:即对输入的8位指令值的IC进行译码产生用于控制其他部件的22位信号OPRC:指令译码电路如图7-10所示。图7-10指令译码电路

所有指令的译码功能表如表7-6所示:输出OPRC与控制信号的对应关系及信号值如表7-7所示。指令译码只是产生各信号值:是否输出到具体的信号线则由逻辑控制来决定。

7.1.9逻辑控制

整个系统由逻辑控制单元来调度:它将指令译码所产生的信号按照不同操作规程进行时序控制。逻辑控制连接所有信号:按照一定时序来输出相应的控制信号。

逻辑控制单元的主要功能:控制程序计数器更新;使能锁存当前指令;对译指产生的信号进行时序分配以完成相应操作。

逻辑控制电路与其他部件之间的信号连接如图7-11所示。

图7-11逻辑控制电路的信号连接

其操作流程如下:

(1)取指:即从指令存储器中读取指令并保存至指令寄存器IR中:同时程序计数器值自动增1。

(2)译指:即将指令寄存器所存的指令代码译成相应的操作电平信号。

(3)执行:即完成数据选择和算术逻辑运算并输出运算结果。

(4)读存:即存储器读操作:使能存储器读信号:使相应存储单元的数据输出至总线上。

(5)回写:即保存计算结果数据至寄存器或保存寄存器数据至存储器。

操作流程是一个周而复始的过程:其工作周期为:取指→译指→执行→读存→回写。

操作信号的输出时序总体分布如图7-12所示。

图7-12操作信号的输出时序图

操作控制主要有三类操作:

1.PC操作

对PC进行赋值操作主要有两种操作:取指后PC自动增1和运算结果赋给PC。

取指与PC赋值操作时序如图7-13所示。取指时IFEN使能寄存器IR锁存:PCEN使能程序计数器值增1。若对PC进行赋值:则在回写阶段将PCLE置高:PC锁存内部数据线D的值:在后续的取指阶段使用新值作为指令地址去获取指令。

图7-13PC操作控制时序

2.通用寄存器操作

通用寄存器之间主要是完成各种运算:其操作时序如图7-14所示。在整个操作过程中:MRD信号一直为无效:确保寄存器回写的数据来源于运算器的输出DT。

图7-14通用寄存器操作控制时序

3.存储器操作

存储器访问包括写操作和读操作。对于存储器的访问操作:在执行阶段由ALU计算地址并输出至地址总线。若为读操作:则在读存阶段输出读使能信号至控制总线:使存储器将相应存储单元的数据输出至数据总线:在回写阶段将数据总线的值锁存至寄存器;若为写操作:则在回写阶段输出写使能信号至控制总线:使寄存器数据输出至数据总线:存储器又将数据总线的值锁存至相应的存储单元。存储器访问操作的控制时序如图7-15所示。

图7-15存储器访问操作控制时序

逻辑控制电路的实质是一个模5计数器:每个状态分别代表一个阶段:如图7-16所示:即取指、译指、执行、读存、回写。控制器周而复始地按这个顺序执行:在不同状态时输出每个控制信号的电平来完成一个具体操作。图7-16逻辑控制电路的时序状态转移图

7.1.10整体电路

将各个单元连接在一起构成一个简易的微处理器:其基本构架如图7-17所示。图7-17微处理器的整体电路

仿真波形如图7-18所示。图7-18仿真结果

7.2简易微处理器系统设计

7.2.1功能分析

1.基本结构微处理器由处理器(MPU)、系统总线、存储器(ROM和RAM)和外部设备(简称外设)构成:如图7-19所示。

图7-19微处理器系统框图

2.功能规格

ROM地址为0x00~0xFF:共256字节。所以:ROM一直处于读操作:片选使能nCE始终接地。

假定RAM为128B:其内部地址线为7条:可访问地址为0000000~001111111。

假定GPIO内部只有两个寄存器用于接收MPU发来的数据和锁存外部输入数据:其内部访问地址分别为0x0和0x1。

RAM和GPIO一起占用0x00~0xFF。RAM地址设计为0x00~0x7F:GPIO访问地址设计为0x80和0x81。因此:当地址总线值为0x00~0x7F时:RAM被访问:需要外部产生一个有效电平来驱动RAM的片使能端nCE。当地址总线值为0x80和0x81时:GPIO被访问:需要外部产生一个有效电平来驱动GPIO的片选端nCS。

7.2.2存储器设计

RAM容量为128B:有7根地址线AB:8根数据线DB:1根片使能线nCE:1根读有效线nRD:1根写有效线nWR。其工作波形如图7-20所示。

图7-20RAM的工作波形

7.2.3外设设计

GPIO采用两个寄存器与MPU进行数据交换。寄存器ODR为输出数据寄存器:寄存器IDR为输入数据寄存器:这两个片内寄存器只能通过片上地址线A0来选择。GPIO有一组8条外部输入线GPI和一组8条输出线GPO。GPI线上的值被锁存在IDR中:GPO线上输出ODR的值。

当对

温馨提示

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

评论

0/150

提交评论