LC-3结构状态图简化与修改.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
LC-3结构状态图简化与修改

LC-3 结构状态图的简化与修改 状态图修改 与 微操作流程表的 对应关系 说明: 1)状态图简化修改原则:能在一个状态(周期)完成的微操作,尽量在合在一起。 图中,去除 数据寄存器MDR,设暂存器TMP、地址总线MA、数据总线MD。 2)凡访问存贮器时: 读--要发读RD;写--数据输出允许WC,写命令WE。并去除等待状态Ready(SRAM),且 地址为寄存器类输出,不经地址寄存器MAR(可少用一个CLK):地址需计算(加)输出经MAR输出,这是为为减小周期时间,保证地址信号完整性。 3)有关中断(原文请求是INTV) 中断请求(外)本设计仅一个,所以无优先级问题。也不设置中断允许屏蔽寄存器。 但非法指令异常优先于外中断。且两者矢量均固定设置。不用设计查找表。 irq_r----外部请求IRQ的立即保存请求寄存器,否则会丢失外请求,IRQ可↑沿或↓沿或高电平或低电平有效,本设计简化为↑沿有效。置“1”int_r同时清“0” irq_r。 int_r----中断标志寄存器,中断响应 通常在指令的结束周期(非取指令时),图中现已改为: 凡 To 18 均改成判别int_r,若Int_r=1 转入中断隐操作首周期T4,否则转取指令T0; int_flag ----中断响应标志寄存器,Int_r必须在中断隐操作结束时清“0”。RTI时清“0” int_flag EXC----非法指令none异常标志寄存器 注意:设计多级中断时,外部请求IRQ[ ]的↑/↓/1/0 有效控制寄存器(用存贮I/O空间的一个单元)→ irq[ ] →r int_r[ ]→int_flag[ ]逻辑、中断允许屏蔽与送到PSR的优先级设置寄存器(均用存贮I/O空间的一个单元)、优先级与中断允许嵌套判别及其嵌套逐级RTI返回清“0” int_flag[?]次序逻辑、矢量查找表(Int_r[]作地址,输出矢量地址)等都要设计。 详见《计算机原理》CPU部件实验的6.中断系统及其硬堆栈 设计 4)有关堆栈:实际使用通用寄存器R6作栈指针,原图中SP均改为R6。不用操作系统时,也不分特权指针SP和用户指正SSP,也无需分别保护。 据设计要求与实际情况,LC-3结构图修改如下: 图中,MD即MD[15:0], MA即MA[15:0], 增设暂存器TMP, 有的选择电路图内空间限制等未绘出,但已注明。 三态门,因FPGA仅引脚处有三态门而内部没有,所以原地址选择用三态门均去除。 改为多选择电路,数据输出必须用三态门,合为一处(经选择电路后)。 完整图中修改(未绘出)同 图C-3(即前图), 处是据设计要求和实际情况简化或取消 AA set CC即置状态寄存器 N----负数 P-----正数 Z-----数或运算结果=“0” VFp—正溢 VFn---负溢 T0 T1 int_r=? to T4 左边指令均同 见下图 0 1 AA 发RD JSRR MA←MAR 凡圈连到的状态,现合为一个周期状态Ti JSR MA←TMP MA←MAR 均组合逻辑 发RD TMP R7←PC MA←TMP TMP←MD TMP←MD T1 T1 T1 MA←TMP 均 发RD T2 均 发WC WE T1 T3 T2 MA←MAR T2 MA←MAR T1 T1 T1 T3 T1 T1 T1 T3 T1 MA←MAR TMP←MD T1 发RD T1 T2 新加 VFp VFn MA←MAR 检测程序用 TRAP 10 MA←TMP MA←R6 MD←PSR T1 int_r=1: 检测用 x0184 or x0040 EXC=1: x0104 or x0044 相应服务程序指针,在主程序里已存入这两个单元 发RD T0 中断进入前期 隐操作 如下: 当发生外部中断时: ⑴ 在IRQ的↑置“1”中断请求暂存器irq_r。 ⑵ 在irq_r=1后的第一个CLK↑: 置“1”中断标志寄存器int_r,并清irq_r, 置PM=0。 ⑶ 在指令的结束周期,若非none码,且int_r=1,置“1”中断响应标志寄存器int_flag,转隐操作首周期 T4。 1 0 每条指令 结束周期 Int_r=? (To 18) 非取指令时响应中断,取消PC-1 保护PSR TMP←MD MA←R6 发WC

文档评论(0)

2017ll + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档