TEC-2机微程序设计
了解TEC-2机的结构和基本的指令知识很重要,不理解而只知一味地照抄是学不到知识的。建议先阅读课件,再结合例子进行理解。以下例子只供参考,有些地方可以合并,具体的操作仍需见仁见智。理解并学会使用微指令分析器是解决问题的关键。
总体思路:
设计微程序→将微码存放于内存中→将微码加载到微控制存储器中→输入程序,运行新指令,以检验微程序的正确性
补充知识:
指令格式: 操作码 条件码 目的寄存器(DR) 源寄存器(SR)
||
唯一指定一条指令
例:第一题: D4 2 0
PC:存放内存单元的地址。(随着指令运行时递增)
反汇编得到指令的具体格式。
14号命令:与/CC条件无关,顺序执行,即执行紧跟在本条微指令后面的那条微指令,由μPC提供微地址。
3号命令:条件转移。/CC=1时,顺序执行,否则按当前微指令下地址字段中地址D转移。
D数据来源可分为:
①16个钮子开关,用于手拨方式输入的数据或地址②运算器的16位输出;③外部数据总线传送来的数据;④中断向量寄存器的输出;⑤状态寄存器(C-进/借位、Z-运算结果、V-溢出、S-符号 4个标志位及中断优先级);⑥指令寄存器的低位字节。
第一题:
将内存单元数据DATA减去用绝对地址ADDR表示的内存单元的内容,结果保存到由DR内容指定的内存单元中
1.指令格式
|
指令格式: |
D4 |
DR |
X |
|
ADDR |
|||
|
DATA |
|||
2.指令功能
功能: DATA- [ADDR] → [DR]
3.设计分析
根据指令的功能和指令格式,先读取地址ADDR单元内容暂时放置于Q寄存器中, 然后PC+1→PC,并将PC的值赋给AR。MEM中存放的数据是DATA。此时只需要实现MEM-Q→Q,并将DR送给AR。只要将Q寄存器内容写入存储器MEM就可以完成指令功能。最后,微程序中必须实现PC+1→PC操作,才能确保PC的正确走向。
4. 微程序
100:PC→AR,PC+1→PC: 0000 0E00 A0B5 5402
101:MEM→AR: 0000 0E00 10F0 0002
102:MEM→Q: 0000 0E00 00F0 0000
103:PC→AR,PC+1→PC: 0000 0E00 A0B5 5402
104:MEM-Q→Q: 0000 0E01 02E0 0000
105:DR→AR: 0000 0E00 90B0 000A
106:Q→MEM,CC#=0: 0029 0300 1020 0010
5. 加载到微控存程序段
说明:微码存放在900H(或某内存单元)开始的内存单元中
>A0800↙
0800:MOV R1,900 ;微码在内存中的首地址
0802:MOV R2,7 ;微指令条数
0804:MOV R3,100 ;微码在微控制存储器中的首地址
0806:LDMC ;加载微码指令,将微码指令加载到微控制存储器中
0807:RET
0808:
>A0800↙
6.运行程序段
>A0820↙
0820:MOV R0,0011
0822:MOV [0890],R0
0824:MOV R2,0891
0826:NOP
0827:NOP
0828:NOP
0829:RET
>E0826↙
然后输入以下内容:
D420 0890 1111
7.运行结果
>G0820↙
>D0891↙
0891:1100


第二题:
将绝对地址ADDR单元的内容与[SR]内容相加,结果保存到DR寄存。
1. 指令格式
|
指令格式: |
D4 |
DR |
SR |
|
ADDR |
|||
2. 指令功能
功能: [ADDR] + [SR] → DR
3.设计分析
根据指令的功能和指令格式,读取地址ADDR单元内容暂时放置于Q寄存器中,将SR单元内容赋给AR,MEM中存放着SR的数据。此时只需要实现Q+MEM,并将结果赋给DR就可以完成指令功能。最后,微程序中必须实现PC+1→PC操作,才能确保PC的正确走向。
4.微程序
100:PC→AR,PC+1→PC: 0000 0E00 A0B5 5402
101:MEM→AR: 0000 0E00 10F0 0002
102:MEM→Q: 0000 0E00 00F0 0000
103:SR→AR: 0000 0E00 90C0 0082
104:MEM+Q→Q: 0000 0E01 00E0 0000
105: Q→DR,CC#=0: 0029 0300 B020 0008
(104和105可以合并成MEM+Q→DR,CC#=0)
5.加载到微控存程序段
说明:微码存放在900H(或某内存单元)开始的内存单元中
>A0800↙
0800:MOV R1,900 ;微码在内存中的首地址
0802:MOV R2,6 ;微指令条数
0804:MOV R3,100 ;微码在微控制存储器中的首地址
0806:LDMC ;加载微码指令,将微码指令加载到微控制存储器中
0807:RET
0808:
>A0800↙
6. 运行程序段
>A0820↙
0820:MOV R0,0011
0822:MOV [0890],R0
0824:MOV R0,0100
0826:MOV [0891], R0
0828:MOV R3, 0891
082A:NOP
082B:NOP
082C:RET
>E082A↙
然后输入以下内容:
D413 0890
7.运行结果
>G0820↙
>RR1↙
0111:-



TEC-2机微程序设计的更多相关文章
- VS 本机调试
VS~通过IIS网站启用"域名"调试 在我们开发网站时,对某些信息进行序列化时,通常使用session,cookies,nosql等技术,而为了安全,我们在服务器上很多情况都做了防 ...
- Ajax使用WCF实现小票pos机打印源码
通过ajax跨域方式调用WCF服务,实现小票pos机的打印,源码提供web方式,客户端方式测试,服务驻留右侧底部任务栏,可控制服务开启暂停,用户可自定义小票打印模板,配合零售录入. qq 22945 ...
- keepalived从机接管后主机恢复不抢占VIP
在lvs+keepalived环境中,为了减小keepalived主从切换带来的意外风险,,设置主机恢复后不抢占VIP.待进行vrrp协议通告备机不可用时切换.主要修改两个地方.(红色部分) 只需修改 ...
- xcode低版本调试高版本真机系统
低版本xcode调试本真机高版本系统 //打开此路径把最新的文件拷贝到这里就可以了 /Applications/Xcode.app/Contents/Developer/Platforms/iPhon ...
- APP测试点总结(功能,交互,死机崩溃状态分析,容易出错的检查点)
APP测试点总结(功能,交互,死机崩溃状态分析,容易出错的检查点) 版权声明:本文为博主原创文章,未经博主允许不得转载. 最近涉足APP端测试,常见检查点总结如下: 一.业务方面: 1. 注册( ...
- 【Win 10 应用开发】获取本机的IP地址
按照老规矩,也是朋友的建议,老周今天在吹牛之前,先讲一个小故事. 有朋友问我,老周,你现在还发短信吗,你每个月用多少电话费?唉,实话说,现在真的发短信不多了,套餐送的130条短信,每月都发不了一条.至 ...
- 【Data Cluster】真机环境下MySQL数据库集群搭建
真机环境下MySQL-Cluster搭建文档 摘要:本年伊始阶段,由于实验室对不同数据库性能测试需求,才出现MySQL集群搭建.购置主机,交换机,双绞线等一系列准备工作就绪,也就开始集群搭建.起初笔 ...
- Oracle数据库异机升级
环境: A机:RHEL5.5 + Oracle 10.2.0.4 B机:RHEL5.5 需求: A机10.2.0.4数据库,在B机升级到11.2.0.4,应用最新PSU补丁程序. 目录: 一. 确认是 ...
- Vertica集群单节点宕机恢复方法
Vertica集群单节点宕机恢复方法 第一种方法: 直接通过admintools -> 5 Restart Vertica on Host 第二种方法: 若第一种方法无法恢复,则清空宕机节点的c ...
随机推荐
- SCPI 语言简介
电子负载中需要用到,所以记录下.来源是德科技 SCPI(可编程仪器的标准命令)是一种基于 ASCII 的仪器编程语言,供测试和测量仪器使用. SCPI 命令采用分层结构,也称为树系统. 相关命令归组于 ...
- mysql - 引擎与锁的概念( 基础 )
MySQL - 关系型数据库 - innodb : - 支持事务 事务的特征 : - 原子性:事务是最小单位,不可再分,事务执行的过程中,要么同时失败,要么同时成功,如,A跟B转账,一旦有一方出问题 ...
- java线程中yield(),sleep(),wait()区别详解
1.sleep() 使当前线程(即调用该方法的线程)暂停执行一段时间,让其他线程有机会继续执行,但它并不释放对象锁.也就是说如果有synchronized同步快,其他线程仍然不能访问共享数据.注意该方 ...
- WiredTiger 4.1.0 发布,MongoDB 存储引擎
WiredTiger 4.1.0 发布了.WiredTiger 是一个开源的.高性能.可伸缩的 MongoDB 数据存储引擎. 下面是一些性能比较图表: 该版本暂未提供更新内容. 下载地址: Sour ...
- GridView修改含有DropDownList控件列的宽度
GridView进入Edit模式,编辑列动态绑定DropDown List方便客户选择,但当里面的Item过长,不免令界面不美观 正确做法: <asp:TemplateField HeaderT ...
- bzoj 4240: 有趣的家庭菜园 树状数组+贪心
有一个小性质:就是一个下标排列的最小移动次数就是逆序对数. 我们发现最终形态一定是一个波峰. 那么我们求的就是形成波峰的下标最少逆序对数. 考虑将元素从小到大依次插入. 那么,对于第 $i$ 个元素, ...
- [TJOI2013]奖学金 乱搞
[TJOI2013]奖学金 乱搞 从\(c\)个二元组\((v,w)\)中选出\(n\)个,使其\(v\)的中位数最大的同时使\(w\)和小于等于\(f\),求这个中位数 有点意思.有点像二分答案的思 ...
- P2543 [AHOI2004]奇怪的字符串
题目描述 输入输出格式 输入格式: 输入文件中包含两个字符串X和Y.当中两字符串非0即1.序列长度均小于9999. 输出格式: X和Y的最长公共子序列长度. 输入输出样例 输入样例#1: 复制 010 ...
- 2019-12-10:win7,win12提权练习
一.win7 1,上传webshell到服务器,访问 2,因为win7权限没设置好,导致任何命令都可以执行 直接提权成功,还可以通过msf工具利用exp进行提权,今天太晚了就先不做了 二.win201 ...
- CSS Pixel 和 Device pixels
Web developers need CSS pixels, that is, the pixels that are used in CSS declarations such as " ...