最新微操作和寄存器传送语言PPT课件

上传人:工**** 文档编号:568633500 上传时间:2024-07-25 格式:PPT 页数:54 大小:1,015.50KB
返回 下载 相关 举报
最新微操作和寄存器传送语言PPT课件_第1页
第1页 / 共54页
最新微操作和寄存器传送语言PPT课件_第2页
第2页 / 共54页
最新微操作和寄存器传送语言PPT课件_第3页
第3页 / 共54页
最新微操作和寄存器传送语言PPT课件_第4页
第4页 / 共54页
最新微操作和寄存器传送语言PPT课件_第5页
第5页 / 共54页
点击查看更多>>
资源描述

《最新微操作和寄存器传送语言PPT课件》由会员分享,可在线阅读,更多相关《最新微操作和寄存器传送语言PPT课件(54页珍藏版)》请在金锄头文库上搜索。

1、微操作和寄存器传送语言微操作和寄存器传送语言微操作:微操作:大部分时序数字系统的基础。大部分时序数字系统的基础。 是更简单的行为。是更简单的行为。 数数据据从从一一个个寄寄存存器器、存存储储器器单单元元或或者者I/OI/O设设 备到另一个的传送备到另一个的传送 修改存储的值修改存储的值 执行算术或逻辑功能执行算术或逻辑功能 修改已存储的值修改已存储的值2 2同时拷贝相同的数据到多个目的地。同时拷贝相同的数据到多个目的地。 考虑考虑 : XY XY,ZYZY 3 3数字系统不能同时往同一寄存器中写入两个不同的值。数字系统不能同时往同一寄存器中写入两个不同的值。 例如:例如: 表示表示 : XY

2、: XY,XZ XZ 无效无效 四、传送常量的有效条件和微操作: X0: X0: X1: X1 实现这两个传送的三种不同方法:实现这两个传送的三种不同方法: 通过两个传送通路装载数据来设置通过两个传送通路装载数据来设置X X的值的值 ( (用一个多路选择器来选择输入的数据用一个多路选择器来选择输入的数据) ) 装载数据与第一个完全相同,但它的数据直接由装载数据与第一个完全相同,但它的数据直接由 信号信号产生。产生。( (用用作为数据输入作为数据输入) ) 为简化硬件可使用寄存器的清除输入功能为简化硬件可使用寄存器的清除输入功能 ( (用用CLRCLR信号信号) )问题:问题:当当和和同时为同时

3、为1 1时,怎么办?时,怎么办?两种解决方法:两种解决方法: 产生产生和和的硬件能保证它们决不会被同时置为的硬件能保证它们决不会被同时置为1 1 修改条件使它们互斥修改条件使它们互斥 : : X0 X0 : : X0 X0 : : X0X0 : : X1 X1 : : X1 X1 : : X1X1五.寄存器之间的多位数据传送1. 1. 同样大小寄存器对应位之间传送数据同样大小寄存器对应位之间传送数据 例如例如: : 当当1 1时,从时,从4 4位寄存器位寄存器Y Y传送数据到传送数据到4 4 位寄存器位寄存器X X。 用符号表示:用符号表示: : XY XY (a) (a) 用直接连接用直接连

4、接 (b) (b) 用总线用总线2. 2. 访问一个寄存器的某一位或位组。访问一个寄存器的某一位或位组。 表示每一位:如表示每一位:如X X3 3或或Y Y2 2。3. 3. 表示位组(用一个域表示)表示位组(用一个域表示) 如:如:X X3 3、X X2 2和和X X1 1可以写成:可以写成:X(3-1)X(3-1)或或X(3:1)X(3:1) : X(3-1)Y(2-0): X(3-1)Y(2-0) : X : X3 3XX2 2 : X(3-0)X(2-0),X : X(3-0)X(2-0),X3 3 (X(2-0,3)X(2-0,3)或或X X3 3XX2 2,X X2 2XX1 1,

5、X X1 1XX0 0,X X0 0XX3 3)六、执行算术运算、逻辑运算和移位运算的微操作1 1一些常用的算术运算和逻辑运算的微操作一些常用的算术运算和逻辑运算的微操作 操操 作作 示示 例例 Add Add XX + Y XX + Y Subtract Subtract XX Y XX Y 或或 XX + Y + 1 XX + Y + 1 Increment Increment XX + 1 XX + 1 Decrement Decrement XX 1 XX 1 And And XX Y XX Y 或或 XXY XXY OR OR XX Y XX Y XOR XOR XX Y XX Y

6、NOT NOT X/X X/X 或或 XX XX2 2移位微操作移位微操作 线性移位:线性移位:每一位的值依次向左(或右)移位。每一位的值依次向左(或右)移位。 最后最后1 1位被丢弃,空位补入位被丢弃,空位补入0 0值。值。 例如:例如: X X10111011 左移一位:左移一位:01100110 右移一位:右移一位:01010101 循环移位:循环移位:将在线性移位中被丢弃的位循环回来将在线性移位中被丢弃的位循环回来 替代补入的替代补入的0 0值。值。 例如:例如: X X10111011 循环左移:循环左移:01110111 循环右移:循环右移:11011101 算术移位:算术移位:用

7、于带符号数的移位。用于带符号数的移位。算术左移:各位按位左移,最高位向左移出,最低位算术左移:各位按位左移,最高位向左移出,最低位 产生的空位填产生的空位填“0”“0”。算术右移:连同符号位一起向右移一位算术右移:连同符号位一起向右移一位, ,符号位保持不变。符号位保持不变。 例如:例如: X X10111011 算术左移:算术左移:01100110 算术右移:算术右移:11011101 十进制移位:十进制移位:专门用于专门用于BCDBCD表示。十进制移位与线性表示。十进制移位与线性 移位很相似,但它移动移位很相似,但它移动1 1个数字或个数字或4 4位,位, 而不是移动而不是移动1 1位。位

8、。 例如:例如:X X1001 01111001 0111 十进制左移:十进制左移:0111 00000111 0000 十进制右移:十进制右移:0000 10010000 1001 操操 作作 示示 例例 线性左移线性左移 shl(X) shl(X) 线性右移线性右移 shr(X) shr(X) 循环左移循环左移 cil(X) cil(X) 循环右移循环右移 cir(X) cir(X) 算术左移算术左移 ashl(X) ashl(X) 算术右移算术右移 ashr(X) ashr(X) 十进制左移十进制左移 dshl(X) dshl(X) 十进制右移十进制右移 dshr(X) dshr(X)

9、移位操作和它们的表示法移位操作和它们的表示法 例如:例如:Xshl(X)Xshl(X)和和shl(X)shl(X)是等价的。是等价的。 Yshl(X) Yshl(X) 两个寄存器均需指定两个寄存器均需指定 七、寄存器与存储器之间的数据传送 例如:例如: M55ACM55AC和和ACM55ACM55 寄存器寄存器ACAC与存储器中与存储器中5555号单元之间的数据传送号单元之间的数据传送更好的方法:更好的方法:把地址存入寄存器中,然后由寄存器提供把地址存入寄存器中,然后由寄存器提供 存储器的访问地址。存储器的访问地址。 (地址寄存器,标示为(地址寄存器,标示为ARAR) AR55AR55 MAR

10、AC MARAC或者或者ACMARACMAR( MAC MAC和和ACMACM)5.2.1 数字元件表示 一、第一个例子( D触发器)1. 1. 用用RTLRTL描述描述 LDLD:QDQDD D触发器:触发器:(a)(a)无清无清0 0输入端输入端 (b) (b)有清有清0 0输入端输入端52 用RTL表示数字系统2. 2. 有一同步清有一同步清0 0输入端的输入端的D D触发器触发器 LDLD: QD QD CLR CLR: Q0 Q0 当当D D、LDLD和和CLRCLR都等于都等于1 1时,系统会失败。时,系统会失败。 解决方法:解决方法:改变条件使得两者互斥。改变条件使得两者互斥。

11、CLRLDCLRLD: QD LD QD LD: QD QD CLR CLR: Q0 LDCLR Q0 LDCLR: Q0 Q0 二、第二个例子(一个没有CLR输入端的JK触发器) 用用RTLRTL描述:描述: JKJK: Q0 Q0 JK JK: Q1 Q1 JK JK : QQ QQ三、最后一个例子(一个n位的移位寄存器) Q Qn-1n-1是最高位,是最高位,Q Q0 0是最低位;是最低位; 当当SHLSHL信号为高时,它将其中的数据左移一位;信号为高时,它将其中的数据左移一位; 输入输入S Sinin移进最低位。移进最低位。 移位寄存器:移位寄存器: SHLSHL: QQ(n-2:0)

12、,S QQ(n-2:0),Sinin5.2.2 简单系统的表示与实现 例如:例如: 一个有一个有4 4个个1 1位触发器的系统位触发器的系统 用用RTLRTL代码表示传送代码表示传送 (假设条件(假设条件j j,o o,h h和和n n是互斥的)是互斥的) j: MAj: MA o: AY o: AY h: RM h: RM n: YR , MR n: YR , MR 几种不同的方法实现几种不同的方法实现 1用直接连接实现系统的数据通路 (1)(1) 用直接连接实现的该用直接连接实现的该RTLRTL代码的系统的数据通路代码的系统的数据通路 (2)(2) 用直接连接实现该用直接连接实现该RTLR

13、TL代码的系统的完整设计代码的系统的完整设计 在合适的时间激励触发器的在合适的时间激励触发器的LDLD信号来装载数信号来装载数 据,从而完成传送。据,从而完成传送。 当当j=1j=1(MAMA)或)或n=1(MR) n=1(MR) 时,触发器时,触发器M M 装载数据。装载数据。 在满足单个条件在满足单个条件o o、h h和和n n时,触发器时,触发器A A、R R和和Y Y 装载数据。装载数据。 j:MAo:AYh:RMn:YR,MR2用总线和三态门实现 j:MAo:AYh:RMn:YR,MR 3. 用总线和多路选择器 实现 j:MAo:AYh:RMn:YR,MR5.3.1 模6计数器目的目

14、的: : 设计一个模设计一个模6 6计数器计数器步骤:步骤: 用用RTLRTL表示计数器的功能表示计数器的功能 用数字逻辑实现用数字逻辑实现RTLRTL的代码的代码模模6 6计数器:计数器: 000001010011100101000 000001010011100101000 (0123450) (0123450)53 更复杂数字系统和RTL假设:假设: 输入端输入端U U:控制计数:控制计数 当当U U1 1时,计数器在时钟的上升沿增加它的值。时,计数器在时钟的上升沿增加它的值。 当当U U0 0时,不管时钟的值如何,它都保持当前时,不管时钟的值如何,它都保持当前 值不变。值不变。 输出输

15、出V V2 2V V1 1V V0 0:计数器的值:计数器的值 进位输出:进位输出:C C 状态:状态:S S0 0SS1 1SS2 2SS3 3SS4 4SS5 5SS0 0 (两个另外状态(两个另外状态S S6 6和和S S7 7)模6计数器的状态表和状态图当前状态当前状态U U下一状态下一状态C CV V2 2V V1 1V V0 0 S S0 0 0 0 S S0 0 1 1 000 000 S S0 0 1 1 S S1 1 0 0 001 001 S S1 1 0 0 S S1 1 0 0 001 001 S S1 1 1 1 S S2 2 0 0 010 010 S S2 2 0

16、 0 S S2 2 0 0 010 010 S S2 2 1 1 S S3 3 0 0 011 011 S S3 3 0 0 S S3 3 0 0 011 011 S S3 3 1 1 S S4 4 0 0 100 100 S S4 4 0 0 S S4 4 0 0 100 100 S S4 4 1 1 S S5 5 0 0 101 101 S S5 5 0 0 S S5 5 0 0 101 101 S S5 5 1 1 S S0 0 1 1 000 000 S S6 6 X X S S0 0 1 1 111 111 S S7 7 X X S S0 0 1 1 111 111110一、用RTL

17、表示系统(S0+S1+S2+S3+S4)U:VV+1,C0S5U:V0,C1S6+S7:V0,C1在在条条件件(S S0 0+S+S1 1+S+S2 2+S+S3 3+S+S4 4+S+S5 5)U U 下下,计计数数器器保保持持当当前值与前值与C C值不变。值不变。 可以用两条可以用两条RTLRTL语句表示:语句表示: (S S5 5U U和和S S6 6 + S + S7 7触发相同的微操作)触发相同的微操作)(S0+S1+S2+S3+S4)U:VV+1,C0S5US6S7:V0,C1二、模6计数器RTL代码的两种实现 用一个寄存器用一个寄存器(S0+S1+S2+S3+S4)US5US6S

18、7 用一个计数器(简单)用一个计数器(简单)U(V2+V1V0)V2V1+V2V0U5.3.2 收费站控制器1. 两个外部传感器 C C显示车辆是否在收费站中显示车辆是否在收费站中 当车在时,当车在时,C C1 1,否则,否则C C0 0。 显示硬币是否已经投到收费站的收集篮中以及显示硬币是否已经投到收费站的收集篮中以及 硬币的面值。硬币的面值。没有硬币投入没有硬币投入 I I1 1I I0 00000 投入五分硬币投入五分硬币 I I1 1I I0 00101 投入一角硬币投入一角硬币 I I1 1I I0 01010 投入投入2525分硬币分硬币 I I1 1I I0 011112. 两个

19、输出指示灯和一个警报灯 当一辆汽车驶入收费站时,红灯(当一辆汽车驶入收费站时,红灯(R R)亮,)亮, 直到司机投入直到司机投入3535分硬币,此时红灯熄灭,绿灯分硬币,此时红灯熄灭,绿灯 (G) (G)亮,绿灯保持亮着直到汽车离开收费站;亮,绿灯保持亮着直到汽车离开收费站; 当绿灯灭时,红灯又亮了。当绿灯灭时,红灯又亮了。 如果没有付足够的通行费,汽车离开,红灯一直如果没有付足够的通行费,汽车离开,红灯一直 保持亮着且警报(保持亮着且警报(A A)响。)响。 警报维持到另一辆汽车驶入收费站;然后停止。警报维持到另一辆汽车驶入收费站;然后停止。一、控制器的状态表和状态图状态状态条条件件RGAS

20、NOCAR车站中无车车站中无车100S0站中有车,未付费站中有车,未付费100S5站中有车,已付费站中有车,已付费5分分100S10站中有车,已付费站中有车,已付费10分分100S15站中有车,已付费站中有车,已付费15分分100S20站中有车,已付费站中有车,已付费20分分100S25站中有车,已付费站中有车,已付费25分分100S30站中有车,已付费站中有车,已付费30分分100SPAID站中有车,已付足过路费站中有车,已付足过路费010SCHEAT未付足过路费就离开车站未付足过路费就离开车站101当当 前前 状状态态CI1I0下下一一状态状态RGA当当 前前状态状态CI1I0下下 一一状

21、态状态RGASNOCAR1XXS0100S150XXSCHEAT101SPAID0XXSNOCAR100S15101S20100SCHEAT1XXS0100S15110S25100S00XXSCHEAT101S15111SPAID010S0101S5100S200XXSCHEAT101S0110S10100S20101S25100S0111S25100S20110S30100S50XXSCHEAT101S20111SPAID010S5101S10100S250XXSCHEAT101S5110S15100S25101S30100S5111S30100S25110SPAID010S100XXSCH

22、EAT101S25111SPAID010S10101S15100S300XXSCHEAT101S10110S20100S30101SPAID010S10111SPAID010S30110SPAID010S30111SPAID010 状状态态T RG ASNOCAR 0000 1 0 0S0 0001 1 0 0S5 0010 1 0 0S10 0011 1 0 0S15 0100 1 0 0S20 0101 1 0 0S25 0110 1 0 0S30 0111 1 0 0SPAID 1000 0 1 0SCHEAT 1001 1 0 1Unused 1010-1111 1 0 0收费站控制器

23、状态赋值收费站控制器状态赋值二、将状态表转换成RTL语句1. 1. 当控制器状态为当控制器状态为S SNOCARNOCAR且且C C1 1,它转换到状态,它转换到状态S S0 0, 此状态值为此状态值为00010001。 (假设状态值存于(假设状态值存于4 4位寄存器位寄存器T T中)中) S SNOCAR NOCAR C C: T0001 T0001 如果我们想在每次传送后设置输出值,此状如果我们想在每次传送后设置输出值,此状 态不得不包含微操作态不得不包含微操作R1R1,G0G0和和A0A0。2. 2. 状态状态S SPAIDPAID和和S SCHEATCHEAT各仅有一个转移情况。各仅有

24、一个转移情况。 S SPAIDPAIDCC: T0000 T0000 S SCHEATCHEATC C : T0001 T00013. 3. 状态状态S S0 0在状态表中有四种可能的转移情况。在状态表中有四种可能的转移情况。 S S0 0C : T1001C : T1001 S S0 0CICI1 1II0 0 : T0010: T0010 S S0 0CICI1 1I I0 0 : T0011 : T0011 S S0 0CICI1 1I I0 0 : T0110: T01104. 4. 对于其他状态,可以用同样的方法得到其对于其他状态,可以用同样的方法得到其RTLRTL代码。代码。 5.

25、 5. 最终的入口是所有的无用状态均无条件转移到状态最终的入口是所有的无用状态均无条件转移到状态 0000 0000。 6. 6. 整个控制器除输出之外的代码整个控制器除输出之外的代码 SNOCARC:T0001 S15CI1I0:T0101SPAIDC:T0000S15CI1I0:T0110SCHEATC:T0001S15CI1I0:T1000S0C:T1001S20C:T1001S0CI1I0:T0010S20CI1I0:T0110S0CI1I0:T0011S20CI1I0:T0111S10CI1I0:T1000S30CI1I0:T1000S15C:T1001T3(T2+T1):0000S

26、0CI1I0:T0110S20CI1I0:T1000S5C:T1001S25C:T1001S5CI1I0:T0011S25CI1I0:T0111S5CI1I0:T0100S25CI1I0:T1000S5CI1I0:0111S25CI1I0:T1000S10C:T1001S30C:T1001S10CI1I0:T0100S30CI1I0:T1000S10CI1I0:T0101S30CI1I0:T1000三、扩展RTL代码产生输出SPAIDC:R1,G0SCHEATC:R1,G0,A0SNOCARC:R1,G0,A0S0C:A1S5C:A1S10C:A1S10CI1I0:R0,G1S15C:A1 S

27、15CI1I0:R0,G1S20C:A1S20CI1I0:R0,G1S25C:A1S25CI1I0:R0,G1S25CI1I0:R0,G1S30C:A1S30CI1I0:R0,G1S30CI1I0:R0,G1S30CI1I0:R0,G1T3(T2+T1):R1,G0,A0四、收费站控制器的完整RTL代码(S0+S5+S10+S15+S20+S25+S30)C:T1001SPAIDC:T0000(SNOCAR+SCHEAT)C:T0001S0CI1I0:T0010S0CI1IO:T0011S0CI1I0:T0110S5CI1I0:T0011S5CI1IO:T0100S5CI1I0:T0111 S

28、10CI1I0:T0100S10CI1IO:T0101S10CI1I0:T1000S15CI1I0:T0101S15CI1IO:T0110S15CI1I0:T1000S20CI1I0:T0110S20CI1IO:T0111S20CI1I0:T1000S25CI1I0:T0111 S25CI1:T1000S30C(I1+I0):T100T3(T2+T1):T0000SPAIDC:R1,G0(SNOCAR+SCHEAT)C:R1,G0,A0(S0+S5+S10+S15+S20+S25+S30)C:A1(S10+S15+S20+S25+S30)CI1I0:R0,G1(S25+S30)CI1I0:R0,G1S30CI1I0:R0,G1T3(T2+T1):R1,G0,A0

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号