Am2910的指令扩展

AM2910 微程序定序器在 TEC-2 中的 3 种地址形成方式详解 本文深入解析了AM2910微程序定序器在TEC-2教学计算机中的三种地址形成机制,包括顺序执行、条件转移和MAPROM映射。通过详细的架构分析和实例演示,帮助读者理解微程序控制器的工作原理及其在计算机组成原理中的关键作用。 阅读详情

1、 扩展的2条指令的格式及功能

ADTW和SWRM指令的格式、功能、寻址方式:

指令

格式

功能

寻址方式

ADTW

ADTW DR

DR自增2

寄存器寻址

SWRM

SWRM DR,[SR]

DR与[SR]的值互换

寄存器间接寻址

ADTW和SWRM指令的操作码编码、微程序步数、微程序入口地址:

指令

操作码编码

微程序步数

微程序入口地址

ADTW

10100001(A1)

2

81

SWRM

11101001(E9)

4

8A

 

2、 指令所对应的微程序

微指令格式:

                                                                                    图1  微指令格式图

       首先,一条微指令由以上几部分组成,首先是微下地址,也就是条件成立时转移的下地址,如果条件不成立,则将顺序执行微指令。

       之后判别测试字段CI3到CI0和条件码字段SCC3到SCC0,判别测试字段只有在0011时条件码字段才有效,因此当判别测试字段和条件码字段为(30H)时,微指令执行结束后才会跳转到下地址,也就是前面谈及的条件成立时转移的下地址。当判别测试字段和条件码字段为(20H)时,将会从MAPROM映射入口地址,而当值为(E0)时,程序将顺序执行下一个地址的微指令。

       第三部分是内存和IO读写控制MRW用来控制是否读写内存、是否读写串口,而当第一位/MIO的值为1时,无论后两位为任何值,都表示无内存和串口的读写操作。之后的I2到I0代表ALU的数据来源控制,I5到I3代表ALU的运算功能控制,I8到I6代表ALU的运算结果处理控制。

       A口和B口代表需要使用的寄存器控制,B口可以作为源寄存器和目标寄存器,而A口则只能作为源寄存器,其中A口为0000表示不使用寄存器,1000是表示取IR的SR,0100或0101  时表示R4(SP)或R5(PC)。B口与A口相似,0000表示不使用寄存器,不同的是1000表示取IR则的DR,0100或0101则是指指R4(SP)或R5(PC)。

       SST字段表示设置状态寄存器,它的值为000时表示CZVS不更新,而值为001时则表示CZVS更新,后面的SSH用于设置移位,SCI则设置进位。

       最后的DC2用于设置专用寄存器接收控制,而DC1则用于设置内部总线数据来源选择控制。

 

编写的是第2条和第4条:

序号

指令

入口地址

下址

CI3-0

SCC3-0

MRW

I2-0

I8-6

I5-3

B口

A口

SST

SSHSCI

DC2

DC1

2

ADTW  DR

81

00

E0

4,3

3,0

8,0

1,1

0,0

30

30

4,3

3,0

8,0

1,1

0,0

4

SWRM  DR,[SR]

8A

00

E0

4,3

0,0

8,0

0,0

0,0

00

E0

4,4

1,0

0,8

0,0

3,0

00

E0

1,7

3,0

8,0

0,0

0,0

30

30

0,2

1,0

0,0

0,0

0,1

 

ADTW指令各字段值的意义:

       从这张表中我们可以看出ADTW指令的入口地址为81,有两条微指令组成,分别对应的地址是81和82,MA81中对应的微程序下址字段为00不起作用,因为之后的CI3-0和SCC3-0字段为E0,表示顺序执行MA82,MRW为4表示无内存和串口的读写操作,I2-0为3表示只用到一个寄存器DR。I8-6为3表示将结果送到目标寄存器DR中并输出结果。I5-3为0表示执行的操作为源和目标寄存器相加,因为没有源寄存器,因此不起作用。之后的B口为8表示取目标寄存器,A口为0则是不取寄存器。SST字段为1、SSHSCI字段也为1表示进位输入信号为1可以实现自增的效果,而DC2和DC1全为0则表示不操作并且送开关到内部总线。

       MA82中对应的大多数字段值与MA81相同,不同的是MA82中对应的微程序下址字段为30指向判中断,代表指令执行结束,之后的CI3-0和SCC3-0字段为30,表示将会跳转到下地址,也就是30地址。其余部分均与MA81一致。

 

SWRM指令各字段值的意义:

       SWRM指令的入口地址为8A,有四条微指令组成,分别对应的地址是8A、8B、8C和8D,MA8A中对应的微程序下址字段为00不起作用,因为之后的CI3-0和SCC3-0字段为E0,表示顺序执行MA8B,MRW为4表示无内存和串口的读写操作,I2-0为3表示用到了寄存器DR。I8-6为0表示将结果直接输出到Q寄存器当中。I5-3为0表示执行的操作为源和目标寄存器相加。之后的B口为8表示取目标寄存器,A口为0则是不取寄存器。SST字段和SSHSCI字段全为0表示进位输入信号为0吧并且不修改CZVS,而DC2和DC1全为0则表示不操作并且送开关到内部总线。

       MA8B中字段值与MA8A不同的是I2-I0为4表示取另一个寄存器,同时I8-I6为1表示不作保存,直接输出F。A口为8表示取源寄存器,DC2为3则表示地址寄存器接收。MA8C中字段值不同的是MRW字段为1,,表示需要进行读内存的操作,I2-I0为7则表示源寄存器送外部输入的D数据。MA8D中微程序下址字段为30指向判中断,代表指令执行结束,之后的CI3-0和SCC3-0字段为30,表示将会跳转到下地址,也就是30地址。I2-0的值为2,表示将Q寄存器作为源寄存器;DC1的值为1表示送ALU输出到内部总线。

 

微程序控制器的组成框图:

                                                                           图4  微程序控制器的组成框图

 

       通过该图我们可以发现微指令寄存器中存放着当前正在执行的微指令,微指令寄存器将控制字段的微命令信号发出去执行。同时将判别字段的判别测试字段CI3到CI0和条件码字段SCC3到SCC0分别发送到微程序定义器Am2910和微指令转移控制条件SCC Gal当中,微程序定义器根据控制条件判断是跳转到下地址还是顺序执行或者是通过MAPROM映射入口地址。

 

3、ABEL语言源程序编辑以及JED文件生成

在烧写之前要制做一份扩展名为.JED的文件,中文名称叫熔丝图文件。

(1)在指令操作码定义处添加上需要添加的两条指令及其操作码:

ADTW      =       (IR==[1,0,1,0,0,0,0,1]);

SWRM      =       (IR==[1,1,1,0,1,0,0,1]); 

(2)在微指令定义处定义微指令所用到的地址:

    如  MA81     =       (Y==[1,0,0,0,0,0,0,1]);

(3)在微指令入口地址定义处添加上微指令的入口地址,分别D0到D7分别代表8位的入口地址,注意需要使用指令名称。

(4)在指令下地址定义处添加该条指令对应的每条微程序执行完后所需要跳转到的下地址位置,注意要使用地址来添加,如:MA81。

(5)在判别测试字段处添加上微指令所使用到的判别测试字段CI3到CI0和条件码字段SCC3到SCC0,同样要用微指令的地址来添加。

(6)在主存读写字段处添加微指令对应的MRW编码。

(7)在运算器控制码处添加微指令所对应的数据来源控制、运算功能控制和运算结果处理控制。

(8)需要对微指令B口、A口进行编码,也就是微指令需要使用的寄存器控制,注意修改的是B30、B20..A00,而不是B300、B200..A000。

(9)添加对应微指令所需要的运算器SST、SSHSCI编码。

(10)最后需要对微指令所涉及的DC2与DC1字段编码进行添加。

 

4、MACH编程

从编辑ABEL源程序到烧写到MACH芯片,整个流程为:

                                                                             图5  MACH芯片烧写流程图

操作步骤简要概况如下:

(1)将“C:\XP+DATA\XP_MACH\2A70504组基微全”下面的源文件目录复制到E盘。

(2)双击工程项目文件lc4256.syn,启动ispLEVER;

(3)双击.abl文件,进行编辑并保存;

(4)双击Compile Logic进行编译;

(5)双击JEDEC File,生成.jed文件;

(6)双击启动ispVM System;

(7) SCAN找到器件并双击;

(8) Browse找到.jed文件,OK;

(9) GO。将文件下载到MACH芯片。

 

五、编程验证及结果分析

(1)ADTW指令编程验证及实验结果:

                                                                              图6  ANTW指令实验结果图

        由于ADTW指令实现的功能是DR自增2,因此只需要一个寄存器D0,将R0作为DR并为其赋上初值3,使用ADTW指令并执行,可以发现R0变成了5,自增了2。

 

(2)SWRM指令编程验证及实验结果:

 

                                                                              图7  SWRM指令实验结果图

                                                                             图8  SWRM指令内存结果图

       SWRM指令实现的功能是将DR寄存器中的值与以SR寄存器中的值为地址的地址空间中的值进行交换,因此需要一个寄存器D0,将R0作为DR并为其赋上初值3,需要一个寄存器D1,将R1作为SR并为其赋上初值2019。

        之后需要为地址2019的地址空间赋上值为5,以便观察两个值是否交换。

        使用SWRM指令并执行,执行过程中R0为目标寄存器,R1为源寄存器,执行结束后可以发现寄存器R0处的值已经变成了5,而与此同时使用D 2019查看内存的变化,可以发现内存中2019的位置已经变成了3,两者发生了互换。

TEC-2 教学机微程序设计实战:从 1 条加法指令到 3 种指令格式设计 本文详细介绍了TEC-2教学机微程序设计的实战过程,从单条加法指令到三种指令格式的设计与实现。通过解析TEC-2架构、微指令编码规范和具体实现步骤,帮助读者深入理解计算机组成原理中的微程序控制器设计,并掌握调试技巧与性能优化方法。 阅读详情

相关推荐

ABEL的.JED文件用VHDL语言生成

通过MAX+PLUSII编写VHDL程序,编译后生成.POF文件,转换成.JED文件,可以下载到pld中

jed后缀是什么文件?什么作用呢?

.jed是可编程逻辑控制器件(如:gal16v8)程序编译后的文件,也就是可以直接烧录的文件。相当于 单片机的 .hex文件。

Txwtech 5006

怎样制作GAL器件的JED文件.pdf

怎样制作GAL器件的JED文件.pdf 可编程逻辑器件 在 固化 也称烧录或下载 之前要制做一份扩展名为 的文件 , 中文名称 叫 熔丝 图文件 。 该文件的制做需要有专用软件的支持 例 如 、 等国外知名的软件 , 国内常用的软件 是 。 软件不 同 , 其编程格式、 符号规定也不同 , 甚 至有很大的差异 。 今以 为例说明其编制过程 。 文件 的制做可分为两个阶段 第一阶段是编制输入文件 , 这一步骤可 以和编程 器脱离 这仅是对国内的 一 一 一 , 等万用 编程器或编程卡而言 , 采用 等常用 软 件 编 程 。 文 件 必 须 以 为 扩 展 名 , 今 以 制做基本 门电路为例说明其编程格式 。 设 需制做六个基本门电路 , 管脚排列如图 所示 。

5.5 微程序设计技术

AM2910是微程序控制器设计中的关键组件,它通过精巧的电路设计来实现微指令地址的多种生成方式。该芯片提供的灵活性和功能性使它成为了微程序控制器设计中不可或缺的一环。通过有效地控制和生成微指令地址,AM2910使微程序的执行更加高效和灵活。水平型微指令和垂直型微指令在设计微程序控制器时都有各自的优势和局限性。在选择微指令格式时,设计师需要考虑具体的应用场景、成本、性能需求和用户友好性,以确定哪一种微指令格式最适合其系统架构。

tang7mj的博客 2306

JED转AHDL软件

简单可编程逻辑器件PLD GLD 编译后的JED文件格式转换为AHDL语言。

别再死记硬背了!用这5个Qt Design Studio小项目,彻底玩转核心组件

本文通过5个Qt Design Studio实战项目,帮助开发者深入理解核心组件的协作与应用。从动态登录界面到游戏化任务列表,每个项目都展示了组件属性与交互设计的巧妙结合,让你不再死记硬背,而是真正掌握Qt Design Studio的核心技能。

weixin_29202213的博客 271

Latice CPLD jed转VME文件简介

latice CPLD jed文件转VME文件

焊武大帝的专栏 3320

焦距与视差的关系及其对深度估计的影响

焦距在立体视觉中的作用至关重要,它直接影响视差的大小,从而影响深度估计的精度。焦距越长,视差差异越大,物体的深度估计就越精确。这一关系使得焦距长的相机在一些需要高精度深度估计的应用场景中更加优越。了解焦距与视差的关系,对于优化相机配置和提升深度估计精度具有重要意义。在实践中,选择合适的焦距对于获得精确的深度信息至关重要,特别是在自动驾驶、虚拟现实、三维重建等领域,精确的深度估计能够提供更好的用户体验和技术支持。

计算机科学与技术专业学生的成长之路 1673

【Shell 命令集合 文本编辑器】Linux jed 编辑器使用指南

jed命令是Linux中的一个文本编辑器,它提供了一个基于字符的用户界面,允许用户创建、编辑和保存文本文件。jed是一个轻量级的编辑器,适用于终端环境,它具有一些基本的编辑功能和一些高级功能。

探索C++编程的奥秘,分享深入的技术见解和实践,旨在激发读者创造力与解决问题的思维。 677

用python提取PDF中各类文本内容的方法

用python提取PDF中各类文本内容的方法

安静的软件工程师 6087

LLM and Embedding区别

LLM(大语言模型)和 Embedding(嵌入)是自然语言处理(NLP)中的两个核心概念,它们的核心区别在于。Embedding 计算向量。

u010674101的专栏 1876

计算机组成原理添加新的机器指令,计算机组成原理-指令扩展实验.doc

《 计算机组成原理A》课程设计性实验报告开课实验室:计算机组成原理实验室 年 月 日实验题目指令扩展实验一、实验目的深入了解教学计算机微程序控制器的组成和设计技术,包括Am2910器件的功能与具体用法,教学计算机的总体组成和部件之间的连接方法,总之应该深入理解控制器部件的组成、设计、控制与使用等诸项知识。二、设备与环境TEC-XP+教学机,微机(装...

weixin_30868807的博客 1202

ARM与PC共享文件方式【samba】移植与配置

方式推荐指数适用平台优点缺点⭐⭐⭐⭐⭐全平台 (Win/Mac/Linux)兼容性最强,操作像本地文件配置稍繁琐,协议开销略大NFS⭐⭐⭐⭐Linux/Mac (Win支持一般)速度极快,CPU占用低Windows配置复杂,权限管理较难SFTP (SSH)⭐⭐⭐⭐全平台 (需客户端)安全加密,无需额外配置服务需使用FileZilla/Xftp等专用软件物理U盘⭐⭐⭐全平台无需网络,速度取决于接口需要人工插拔,不适合自动化Syncthing⭐⭐⭐⭐全平台自动同步,支持远程。

浩瀚之水的专栏 263

微指令每个字段说明计算机组成原理,计算机专业计算机组成原理微指令扩展综合实验报告.doc...

计算机专业计算机组成原理微指令扩展综合实验报告华北科技学院计算机学院设计性实验实 验 报 告课程名称 计算机组成原理B实验学期 2012 至 2013 学年 第 二 学期学生所在院部 计算机学院年级 2010 专业班级 网络B102学生姓名 李自奇 学号 201007024202任课教师 席振元实验成绩...

weixin_39710594的博客 1540

【WorkBuddy专栏68】HY3绕路部署vsDS4直击根因——一次真实踩坑揭露两个AI模型的推理差距

【WorkBuddy专栏68】HY3绕路部署vsDS4直击根因——一次真实踩坑揭露两个AI模型的推理差距

AI人人懂 564

数据分享】中国12.5m数字高程模型(DEM)数据(分省)

数据名称:ALOS 12.5m DEM 数据。数据名称:ALOS 12.5m DEM 数据。数据大小:61.5GB。空间分辨率:12.5m。数据大小:61.5GB。空间分辨率:12.5m。

JData_Engineer的博客 5390

TEC-2机微程序设计:从硬件原理到动态指令扩展实战

本文深入解析TEC-2教学机的微程序设计原理与实战技巧,从硬件架构到动态指令扩展。通过详细拆解微指令编码、内存加法指令设计案例,揭示微程序作为软硬件桥梁的核心机制,并分享AM2910芯片调度、条件微码设计等高级应用,帮助开发者掌握计算机体系结构的底层设计精髓。

dianzongfan5428的博客 369

Ubuntu22.04如何安装cuDNN8.9.7

本文详细介绍了在Ubuntu 22.04系统上为CUDA 12.2安装适配cuDNN 8.9.7的完整流程,特别针对RTX A6000显卡。主要内容包括:1)选择与CUDA 12.2兼容的cuDNN版本;2)使用deb包方式的安装步骤(添加仓库、导入密钥、安装组件);3)通过MNIST示例验证安装;4)版本锁定、卸载旧版等补充说明;5)性能测试方法。文中强调了版本匹配的重要性,并提供了多卡配置建议,为搭建深度学习开发环境提供完整指导。

2501_93651177的博客 1845

计算机组成原理指令扩展6,计算机组成原理指令扩展实验.pdf

华北科技学院计算机学院综合性实验实 验 报 告课程名称 计算机组成原理B实验学期 2014 至 2015 学年 第 一 学期学生所在院部 计算机学院年级 2012 专业班级 计科B12-3学生姓名 董帅帅 ...

weixin_42350305的博客 529

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

计算机组成原理实验字扩展,张扬计算机组成原理指令扩展实验..pdf

华北科技学院计算机学院综合性实验实 验 报 告课程名称 计算机组成原理 B实验学期 2015 至 2016 学年 第 二 学期学生所在院部 计算机学院年级 2014 ...

weixin_30540871的博客 317

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

计算机组成原理席振元,《计算机组成原理》设计性实验报告讲解.doc

华北科技学院计算机学院设计性实验实 验 报 告课程名称 计算机组成原理B实验学期 2013 至 2014 学年 第 一 学期学生所在院部 计算机学院年级 2011 专业班级 计科B11-3学生姓名 郭欣欣 学号 201107014323任课教师 席振元实验成绩计算机学院制《 计...

weixin_30139213的博客 397

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

计算机组成原理JRC指令测试,计算机组成原理指令扩展实验(11页)-原创力文档...

华北科技学院廿算机学院综合性实验实验报告课程名称实验学期 2015 至 2016 学年 第二 学期学生所在院部计算机学院年级 2014 专业班级学生姓名刘楠学号 201407044203任课教师席振元实验成绩计算机学院制《计算机组成原理B》课程设计性实验报告开课实验室:计算机组成原理实验室2016年6月14日实验题目|指令扩展实验一、实验目的深入了解教学计算机微程序控制器的组成和设计技术,包括Am...

weixin_42126749的博客 901

计算机组成原理设计性实验,《计算机组成原理》设计性实验报告.doc

《计算机组成原理》设计性实验报告华北科技学院计算机学院设计性实验实 验 报 告课程名称 计算机组成原理B实验学期 2013 至 2014 学年 第 一 学期学生所在院部 计算机学院年级 2011 专业班级 计科B112学生姓名 程子慧 学号 201107014230任课教师 席振元实...

weixin_34670892的博客 314

计算机组成原理扩展指令实验报告,计算机组成原理综合性实验报告-指令扩展.doc...

XXXXXX计算机系设计性实验实 验 报 告课程名称 计算机组成原理 B实验学期 XXXX 至 XXXX 学年 第 X 学期学生所在系部 计算机系年级 XXXX 专业班级 XXXXXX学生姓名 XXX 学号 XXXXXXXXXXXX任课教师 XXX实验成绩计算机系制《 计算机组...

weixin_33648177的博客 971

《计算机组成原理》实验解析:TEC-2微程序控制器设计与指令扩展实战

本文深入解析《计算机组成原理》实验中TEC-2微程序控制器的设计与指令扩展实战。通过揭秘AM2910芯片架构、微指令编码艺术及新指令设计流程,帮助读者掌握微程序控制器的核心原理与实操技巧,提升计算机硬件设计能力。

weixin_30292843的博客 334

计算机组成原理指令扩展实验报告,《计算机组成原理》设计性实验报告-指令扩展.doc...

文档介绍:华北科技学院计算机系设计性实验实验报告课程名称计算机组成原理 B实验学期 2010 至 2011 学年第二学期学生所在系部计算机系年级 2008 专业班级计科 B08-2学生姓名韩友学号 5任课教师席振元实验成绩计算机系制实验报告须知学生上交实验报告时,必须为打印稿(A4纸)。页面空间不够,可以顺延。学生应该填写的内容包括:封面相关栏目、实验地点、时间、目的、设备环境、内容、结果及分析等...

weixin_34768798的博客 602
上一篇: OSPF在较大规模网络中的应用方法和配置
下一篇: C语言模拟进程调度算法
Dimo_张小天
博客等级 码龄9年 260粉丝 36原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值