8位CPU的设计(2)

2019-05-27 20:02

数据送到数据总线上;其次,通过数据总线将输入的数据写入寄存器R0 中。 BUS←SW ; R0←BUS

由于输入到数据总线上的数据就是要写入寄存器的数据,因此可以将这两个操作合并成一个操作: R0←SW 3.

(2)2.ADD指令 R0←R0+(MEM)

存储单元的地址是存放在紧跟在操作码后的字节中的,因此,首先要以该字节的内容为地址,即将该单元内容送地址寄存器AR;然后,从AR 所指向的RAM 存储单元取出操作数送 给DR2。由于在取指令操作码时,PC 已经自动加1,指向下一字节,该地址就是存放操作数的存储单元的地址。通过执行以下三个步骤,可以从存储器中取出操作数送到DR2: AR←PC,PC←PC+1 ;以AR的内容作为取操作数的地址 BUS←RAM,AR←BUS ;AR指向存放操作数的RAM单元 BUS←RAM,DR2←BUS ;RAM中的数据通过BUS送DR2 将R0 中的数据送DR1: DR1←R0

在ALU 中进行加法运算,运算结果送R0: R0←(DR1)+(DR2) (3)STA指令

向存储器RAM 写数据操作STA,以紧跟在操作码后的字节作为存放操作数地址,将R0 中的数据存入该地址单元。首先将紧跟在操作码后的字节的内容送给地址寄存器AR: AR←PC,PC←PC+1 ;以PC的内容作为存数据的地址 BUS←RAM,AR←BUS ;AR指向存放操作数的RAM单元 BUS←R0,RAM←BUS (4)OUT指令

AR←PC,PC←PC+1 ;以PC的内容作为存数据的地址 BUS←RAM,AR←BUS ;AR指向存放操作数的RAM单元 BUS←RAM,DR1←BUS OUT←DR1 (5)JMP指令

AR←PC,PC←PC+1 ;以PC的内容作为取数据的地址 BUS←RAM,PC←BUS ;将RAM内容送PC,实现程序转移

四、波形仿真及分析

分析:(1)M输出微指令01800,控制台执行P(4),进行“读、写、运行”功能

判断。检测到SWA、SWB=11后,进入程序运行RP(11)方式,执行微地址为23的微指令,M输出微指令为018001,后续微地址uA为01.然后进入程序运行的流程,执行微地址为01的M微指令008001,执行的操作为PC→AR=00H,PC+1=01H,AR指向RAM存储器地址00H,后续地址uA为02.

(2)执行微地址为02的M微指令01ED82,执行取指令操作,取出第一条指令的操作码,经过分支判断P(1),这是一条输入指令IN。执行微地址为10的M微指令00C048,将RAM中的指令00通过内部总线BUS,送指令寄存器IR:RAM(00H)=00→BUS→IR=00H。执行微地址为01的M微指令001001,SW_B为高电平,允许SW的数据送往数据总线BUS,由此接收数据56H。所以R0=56H。

(3)执行微地址为02的M微指令01ED82,执行取指令操作:PC→AR=01H,PC+1=02H,AR指向RAM存储器地址01H,后续微地址uA为02。执行微地址09的M微指令00C048,取指令,并经过分支判断P(1),读出地址为01H单元的内容10H,经过BUS送到指令寄存器IR:RAM(01H)

=10H→BUS→IR=10H。执行微地址为03的M微指令01ED83,进入加法运算微程序。通过间接寻址获得另一个操作数,地址寄存器AR指向取数的间接地址:PC→AR=02H,PC+1=03H,AR指向RAM的02单元。

(4)执行微地址为04的M微指令00E004,RAM_B为高电平,RAM的(02)单元的内容通过BUS送AR,取数地址(AR)=0AH,

RAM(02)=0AH→BUS→AR=0AH。执行微地址为05的M微指令00B005,RAM_B为高电平,RAM的(0AH)单元的内容34H送到BUS,此时LDDR2为高电平,BUS上的数据就送给了DR2,执行结果:RAM(0AH)=34H→BUS→DR2=34H。

(5)执行微地址为06的M微指令01A206,将R0的数据送DR1.R0_B=1,允许R0的内容56H送往BUS,此时LDDR1为高电平,BUS上的数据56H写入ALU的数据缓冲期DR1,执行结果:(R0)=56H→BUS→DR1=56H.执行微地址为01的M微指令919A01,完成加法运算:(DR1)+(DR2)→R0,56H+34H=8AH→R0=8AH。

(2)执行一个周期循环程序的全部仿真波形

分析:(1)M输出微指令01800,控制台执行P(4),进行“读、写、运行”功能

判断。检测到SWA、SWB=11后,进入程序运行RP(11)方式。

(2)执行微地址为23的微指令,M输出微指令为018001,后续微地址uA为01.然后进入程序运行的流程。

(3)执行微地址为01的M微指令008001,执行的操作为PC→AR=00H,PC+1=01H,AR指向RAM存储器地址00H,后续地址uA为02.

(4)执行微地址为02的M微指令01ED82,执行取指令操作,取出第一条指令的操作码,经过分支判断P(1),这是一条输入指令IN。

(5)执行微地址为10的M微指令00C048,将RAM中的指令00通过内部总线BUS,送指令寄存器IR:RAM(00H)=00→BUS→IR=00H。

(6)执行微地址为01的M微指令001001,SW_B为高电平,允许SW的数据送往数据总线BUS,由此接收数据56H。所以R0=56H。

(7)、执行微地址为02的M微指令01ED82,执行取指令操作:PC→AR=01H,PC+1=02H,AR指向RAM存储器地址01H,后续微地址uA为02。 (8)执行微地址09的M微指令00C048,取指令,并经过分支判断P(1),读出地址为01H单元的内容10H,经过BUS送到指令寄存器IR:RAM(01H)=10H→BUS→IR=10H。

(9)执行微地址为03的M微指令01ED83,进入加法运算微程序。通过间接寻址获得另一个操作数,地址寄存器AR指向取数的间接地址:PC→AR=02H,PC+1=03H,AR指向RAM的02单元。

(10)执行微地址为04的M微指令00E004,RAM_B为高电平,RAM的(02)单元的内容通过BUS送AR,取数地址(AR)=0AH,RAM(02)=0AH→BUS→AR=0AH。

(11)执行微地址为05的M微指令00B005,RAM_B为高电平,RAM的(0AH)单元的内容34H送到BUS,此时LDDR2为高电平,BUS上的数据就送给了DR2,执行结果:RAM(0AH)=34H→BUS→DR2=34H。

(12)执行微地址为06的M微指令01A206,将R0的数据送DR1.R0_B=1,允许R0的内容56H送往BUS,此时LDDR1为高电平,BUS上的数据56H写入ALU的数据缓冲期DR1,执行结果:(R0)=56H→BUS→DR1=56H. (13)执行微地址为01的M微指令919A01,完成加法运算:(DR1)+(DR2)

→R0,56H+34H=8AH→R0=8AH。

(14)执行微地址为02的M微指令01ED82,执行取指令操作:PC→AR=03H,PC+1=04H,AR指向RAM存储器地址03H,执行第三条指令,存储STA。 (15)执行微地址12的M微指令00C048,取指令,并经过分支判断P(1),读出地址为03H单元的内容20H,经过BUS送到指令寄存器IR:RAM(03H)=20H→BUS→IR=20H。

(16)执行微地址为07的M微指令01ED87,通过间接寻址获得另一个操作数,地址寄存器AR指向取数的间接地址:PC→AR=04H,PC+1=05H,AR指向RAM的04单元。

(17)执行微地址为15的M微指令00E00D,RAM_B为高电平,RAM的(04)单元的内容通过BUS送AR,取数地址(AR)=0BH,RAM(04)=0BH→BUS→AR=0BH。

(18)执行01微地址为01的M微指令038201,RAM_B为高电平,R0的内容存入RAM(0BH)单元,BUS上的数据就送给了DR2,执行结果:RAM(0BH)=8AH→BUS→RAM(0BH)=8AH。

(19)执行微地址为02的M微指令01ED82,执行取指令操作:PC→AR=05H,PC+1=06H,AR指向RAM存储器地址05H,执行第四条指令,输出OUT。 (20)执行微地址13的M微指令00C048,取指令,并经过分支判断P(1),读出地址为05H单元的内容30H,经过BUS送到指令寄存器IR:RAM(05H)=30H→BUS→IR=30H。

(21)执行微地址为16的M微指令01ED8E,通过间接寻址获得另一个操作数,地址寄存器AR指向取数的间接地址:PC→AR=06H,PC+1=07H,AR指向RAM的06单元。

(22)执行微地址为17的M微指令00E00F,RAM_B为高电平,RAM的(06)单元的内容通过BUS送AR,取数地址(AR)=0BH,RAM(06)=0BH→BUS→AR=0BH。

(23)执行微地址为25的M微指令00A015,RAM_B为高电平,RAM的(0BH)单元的内容8AH送到BUS,此时LDDR2为高电平,BUS上的数据就送给了DR2,执行结果:RAM(0BH)=8AH→BUS→DR2=8AH。


8位CPU的设计(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:重庆会计培训机构排名:会计从业资格考试决胜六大巧记法

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: