今天给各位分享计算机组成原理课程设计——CPU与简单模型机设计的知识,其中也会对计算机组成原理课程设计——CPU与简单模型机设计进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
计算机组成原理课程设计——CPU与简单模型机设计的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于计算机组成原理课程设计——CPU与简单模型机设计、计算机组成原理课程设计——CPU与简单模型机设计的信息别忘了在本站进行查找喔。
本文导读目录:
$P 00 60 ; R0=0 作结果 $P 01 00 $P 02 21 ; R1读入 作计数器 $P 03 00 $P 04 22 ; R2读入 作加数 $P 05 00 $P 06 08 ; LOOP: ADD R0,R2 $P 07 71 ; DEC R1 $P 08 F0 ; BZC RESULT 相减为0,表示求和完毕 $P 09 0C $P 0A E0 ; JMP LOOP 未完则继续 $P 0B 06 $P 0C 61 ; R1=FF $P 0D FF $P 0E 19 ; AND R1,R2 R1=R2 $P 0F 62 ; R2=FF $P 10 FF $P 11 12 ; AND R2,R0 R2=R0 $P 12 60 ; R0=0 作结果 $P 13 00 $P 14 08 ; LOOP: ADD R0,R2 $P 15 71 ; DEC R1 $P 16 F0 ; BZC RESULT 相减为0,表示求和完毕 $P 17 1A $P 18 E0 ; JMP LOOP 未完则继续 $P 19 14 $P 1A 30 ; OUT 40H,R0 和在OUT单元显示 $P 1B 40 $P 1C E0 ; JMP START 跳转至START $P 1D 00 $P 1E 50 ; HLT 停机 ; //***** End Of Main Memory Data *****// ; //** Start Of MicroController Data **// $M 00 000001 ; NOP $M 01 006D43 ; PC->AR, PC加1 $M 03 107070 ; MEM->IR, P<1> $M 04 002405 ; RS->B $M 05 04B201 ; A加B->RD $M 06 002407 ; RS->B $M 07 013201 ; A与B->RD $M 08 106009 ; MEM->AR $M 09 183001 ; IO->RD $M 0A 106010 ; MEM->AR $M 0B 000001 ; NOP $M 0C 103001 ; MEM->RD $M 0D 200601 ; RD->MEM $M 0E 005341 ; A->PC $M 0F 0000CB ; NOP, P<3> $M 10 280401 ; RS->IO $M 11 103001 ; MEM->RD ;$M 12 06B201 ; A加1->RD $M 12 063201 ; A减1->RD $M 13 002414 ; RS->B $M 14 05B201 ; A减B->RD $M 15 002416 ; RS->B $M 16 01B201 ; A或B->RD $M 17 002418 ; RS->B $M 18 02B201 ; A右环移->RD $M 1B 005341 ; A->PC $M 1C 10101D ; MEM->A $M 1D 10608C ; MEM->AR, P<2> $M 1E 10601F ; MEM->AR $M 1F 101020 ; MEM->A $M 20 10608C ; MEM->AR, P<2> $M 28 101029 ; MEM->A $M 29 00282A ; RI->B $M 2A 04E22B ; A加B->AR $M 2B 04928C ; A加B->A, P<2> $M 2C 10102D ; MEM->A $M 2D 002C2E ; PC->B $M 2E 04E22F ; A加B->AR $M 2F 04928C ; A加B->A, P<2> $M 30 001604 ; RD->A $M 31 001606 ; RD->A $M 32 006D48 ; PC->AR, PC加1 $M 33 006D4A ; PC->AR, PC加1 $M 34 003401 ; RS->RD $M 35 000035 ; NOP $M 36 006D51 ; PC->AR, PC加1 $M 37 001612 ; RD->A $M 38 001613 ; RD->A $M 39 001615 ; RD->A $M 3A 001617 ; RD->A $M 3B 000001 ; NOP $M 3C 006D5C ; PC->AR, PC加1 $M 3D 006D5E ; PC->AR, PC加1 $M 3E 006D68 ; PC->AR, PC加1 $M 3F 006D6C ; PC->AR, PC加1 ; //** End Of MicroController Data **// 计算机组成原理 课程设计报告 成员:许恺 2014011329 胡强勇 2014011315 时间:2016.12.20 一.简要总结计算机组成原理实验 计算机组成原理实验总共五个实验,首先我们熟悉了教学机的使用方法,后面的实验我们分为运算器、存储器、控制器,控制器分为两次实验。紧接的第二次实验我们就进行了运算器的实验,对运算器的内部构造极其原理进行了验证理解,在这里我们学习了运算器ALU的8种运算功能,以及其通用寄存器组,以及运算器的编码指令和每部分的作用。然后,我们第三次实验对我们课上所学的存储器进行了实验验证,按照书上的步骤进行了内存扩展,在这次实验中我们了解了存储器的功能、组织以及静态存储器芯片的读写原理,通过实验对字扩展和位扩展有了理解和掌握。第四次和第五次实验都是关于微程序控制器的实验,这部分我们先学习了很多图表,都是和微程序控制相关的,通过这些和实验,我们理解了控制器的功能和组成,理解了各类典型指令的执行流程,对指令格式、寻址方式、指令系统、指令分类有了系统的概念,还让我们学会了指令的设计以及相关技术。在这一部分,实验主要以教学机为基础来进行,通过让我们自己学习研究指令代码并进行设计来让我们对课本进行实践,让我们,看懂、理解、会写、会设计指令代码。计算机就是由运算器、存储器、控制器以及I/O组成的,接口部分有专门的课程,所以我们的计算机组成原理实验就从前三方面对我们的理论知识进行实践教学,主体重点清楚明了,实验难易结合,有单步验证也有综合设计,对我们的动手和设计能力有极大的提高。 二.回答下列问题 1.微程序中的微指令是顺序执行的吗?下地址是如何产生的? 1)不是。一般的微指令格式由操作控制和顺序控制两部分构成。操作控制部分用来发出管理和指挥全机工作的控制信号。其顺序控制部分用来决定产生下一个微指令的地址。 2)有两种方式 ①计数器的方式: 微程序顺序执行时,其后继微地址就是现行微地址加上一个增量(通常为1); 当微程序遇到转移或转子程序时,由微指令的转移地址段来形成转移微地址。 特点: 优点:简单、易于掌握,编制微程序容易 缺点:这种方式不能实现两路以上的并行微程序转移,因而不利于提高微程序的执行速度。 ②多路转移的方式: 转移条件: ①操作码 ②状态条件及测试 ③微指令中下地址 2.根据实验,哪些微指令是所有机器指令都要用到的?为什么要这样设计? 答:加电启动(1条):0->PC,DI#=0; 取指(3条):PC->AR,PC+1->PC; MEM->DR; DR->IR; 执行完毕(2条):STR->Q、CC#=INT#; PC->AR、PC+1->PC 因为这些指令都属于公操作。所谓公操作,就是一条指令执行完毕后,CPU所开始进行的操作,这些操作主要是CPU对外围设备请求的处理,如中断处理、通道处理等。由于所有的指令的取指周期是完全一样的,因此,取指令也可认为是公操作。 3.一条机器指令与一段微指令相对应,完成这条机器指令的微程序的各条微指令存放在控制存储器中,存放这些微指令的微地址是否连续,为什么? 答:不连续。因为微指令执行的顺序控制问题,就是如何确定下一条微指令的地址问题。通常,产生后继微地址有两种方法。分别是计数器方式和多路转移方式。而这两种方式产生的下一条微指令的地址都不一定连续。 4.设计! 1)指令设计(题目要求) 指令设计: 指令:SBB 指令格式:16位一个字长 功能:DR-SR-CF->DR 微程序地址映射:指令编码 00100001->51 选择寄存器:目的寄存器R0,源寄存器R1 指令存储格式:2101 微程序与32位微码: 01:PC->AR,PC+1->PC; 8D05505E 02:MEM->IR; 20800008 03:/MAP; 80800000 51:DR-SR-CF->DR; 30 0011 0000 100 001 011 001 0000 0001 001 010 000 000 30:STR->Q,CC#=INT#; 9C000003 31:PC->AR,PC+1->PC,CC#=0; 8D05505E 指令设计: 指令:STRX DR,OFFSET[SR] 指令格式:16位两个字长 功能:PC->AR,PC+1->PC,MEM+SR->AR,CC#=0,DR->MEM 微程序地址映射:指令编码11100110->61 选择寄存器:不用 指令存储格式:E601 微程序与32位微码: 01:PC->AR,PC+1->PC; 8D05505E 02:MEM->IR; 20800008 03;/MAP; 80800000 61:PC->AR,PC+1->PC;00 1110 0000 100 011 010 000 0101 0101 000 001 011 000 62:MEM+SR->AR,CC#=0;00 1110 0000 001 101 011 000 0000 0000 000 000 011 000 63:DR->MEM; 30 0011 0000 000 100 001 000 1000 0000 000 000 000 001 30:STR->Q,CC#=INT#; 9C000003 31:PC->AR,PC+1->PC,CC#=0; 8D05505E 指令设计: 指令:JMPR 指令格式:16位一个字长 功能:JMPR SR 微程序地址映射:指令编码01100000->5A 选择寄存器:源寄存器R0 指令存储格式:6000 微程序与32位微码: 01:PC->AR,PC+1->PC 02:MEM->IR 03:/MAP 5A: SR->PC,CC#=0 30 0011 0000 100 100 011 000 0101 0000 000 000 000 000 30:STR->Q,CC#=INT# 31:PC->AR,PC+1->PC,CC#=0 指令设计: 指令:CALR 指令格式:16位两个字长 功能:调用SR指明的子程序 微程序地址映射:指令编码11100000->64 确定转移 指令存储格式:E000 微程序与32位微码: 01:PC->AR,PC+1->PC; 02:MEM->IR; 03:/MAP 64:SP-1->SP、AR; 00 1110 0000 100 011 011 001 0100 0000 000 001 011 000 65:PC->MEM; 00 1110 0000 000 100 001 000 0000 0101 000 000 000 001 66:SR->PC、CC#=0; 30 0011 0000 100 100 011 000 0101 1000 000 000 000 000 30:STR->1,CC#=INT#; 9C000003 31:PC->AR,PC+1->PC; 8D05505E 指令设计: 指令:ADC 指令格式:16位一个字长 功能:DR+SR+C->DR 微程序地址映射:指令编码00100000->50 选择寄存器:目的寄存器R0,源寄存器R1 指令存储格式:2001 微程序与32位微码: 01:PC->AR,PC+1->PC 02:MEM->IR 03:/MAP 50:DR+SR+CF->DR 30 0011 0000 100 001 011 000 0000 0001 001 010 000 000 30:STR->Q,CC#=INT# 31:PC->AR,PC+1->PC,CC#=0 指令设计: 指令:STC 指令格式:16位一个字长 功能:C=1 微程序地址映射:指令编码01101101->57 指令存储格式:6D00 微程序与32位微码: 01:PC->AR,PC+1->PC 02:MEM->IR 03:/MAP 57:STC,CC#=0 30 0011 0000 100 011 001 000 0000 0000 100 000 000 000 30:STR->Q,CC#=INT# 31:PC->AR,PC+1->PC,CC#=0 指令设计(拓展) 指令设计: 指令:RCL DR 指令格式:16位一个字长 功能:DR带进位C循环左移 微程序地址映射:指令编码00101010->54 所用寄存器:源寄存器R0 指令存储格式:2A00 微程序与32位微码: 01:PC->AR,PC+1->PC; 02:MEM->IR; 03:/MAP; 54:DCL DR; 30 0011 0000 100 011 111 000 0000 0000 110 101 000 000 30:STR->Q,CC#=INT#; 31:PC->AR,PC+1->PC,CC#=0; 指令设计: 指令:IRET 指令格式:16位一个字长 功能:中断返回 微程序地址映射:指令编码11101111->67 所用寄存器:无 指令存储格式:EF00 微程序与32位微码: 01:PC->AR,PC+1->PC; 02:MEM->IR; 03:/MAP; 67:SP->AR,SP+1->SP; 00 1110 0000 100 011 010 000 0000 0100 000 001 011 000 68:MEM->STR、CC#、INTOLD#; 30 0011 0000 001 111 001 000 0000 0000 000 000 100 000 30:STR->Q,CC#=INT#; 31:PC->AR,PC+1->PC,CC#=0; 指令设计: 指令:NOT 指令格式:16位一个字长 功能:DR<-/DR 微程序地址映射:指令编码00101101->52 选择寄存器:目的寄存器R0 指令存储格式:2D00 微程序与32位微码: 01:PC->AR,PC+1->PC; 02:MEM->IR; 03:/MAP; 52:/DR->DR; 30 0011 0000 100 011 011 111 0000 0000 001 000 000 000 30:STR->Q,CC#=INT#; 31:PC->AR,PC+1->PC,CC#=0; 指令设计: 指令:STRA [ADR],SR 指令格式:16位两个字长 功能:[ADR]<-SR 微程序地址映射:指令编码11100111->5F 选择寄存器:目的寄存器R0 指令存储格式:E701 微程序与32位微码: 01:PC->AR,PC+1->PC; 02:MEM->IR; 03:/MAP; 5F: PC->AR,PC+1->PC; 60 1110 0000 100 011 010 000 0101 0101 000 001 011 000 60:MEM->AR; 30 0011 0000 001 111 001 000 0000 0000 000 000 011 000 30:STR->Q,CC#=INT#; 31:PC->AR,PC+1->PC,CC#=0; 2)错误和遇到的问题以及解决 指令设计中出现了很多错误和问题,我们说一下遇到的问题和错误以及解决。 SST问题? I2~0中0A和0B的区别? I2~0中Q和D的含义? DC1中中断向量低位到内部总线的含义? CC#=0为何有时加有时不加? RCL的SSH SCI 中为什么用逻辑移位? 5.回答问题 1)设计指令系统 2)设计上述6条机器指令对应的微指令 答:此题在上面已经解答,在此不做重复。 3)除公操作外,每个指令用哪几条微指令实现指令功能? 答:此题在上面已经解答,在此不做重复。 4)分析说明三条扩展指令的32位微码的设置原理。 在这里选择三条扩展指令进行详细的32微码设置的分析: 1.SBB指令分析 2.JMPR指令分析 3.STRA指令分析 PC->AR,PC+1->PC; 6.总结感悟 这次的计算机组成原理课程设计我组成员收获颇丰,在掌握知识的同时,还增强了克服困难的信心。总体来说,本次的报告难度适中,如果上课认真学习报告是没有问题的,在报告的写的过程中,我们复习了很多课上还有实验中的知识,同时也查了一些资料,问了老师一些问题,感觉懂得了不少课内外的知识。不仅如此,完成报告也给了我们鼓励,让我们在面对困难的时候能够认真的一步一步去完成,不断提高自己。在和老师的交流中我们也发现了实验的一些小漏洞,比如可能对于学生来说实验书写的知识太少了,有的知识点不能理解的很好,我认为可以在实验书上写更多的扩展知识,让同学们更加的理解整个知识体系,也学的更多。谢谢。 1、掌握一个简单CPU的组成原理。 2、在掌握部件单元电路的基础上,进一步将其构造一台基本模型计算机。 3、掌握微程序控制器设计。 设计任务: 用所学知识,设计并构造一台简单模型机。验证指导书所给出的五条指令的模型机实验。在此基础上,新设计五条机器指令。画出指令流程图,编写相应的微程序和机器语言调试程序,并上机调试通过。掌握整机概念。 设计要求: 1.验证实验测试通过。接线完成。形成调试程序和微程序文本文件。联机写入和校验,并联机执行。为后边设计打下基础。 2.设计LDI指令并测试通过。包括指令格式、代码。指令流程图。微程序。调试程序。主要成果形成TEST1.TXT文件。 3.设计ADD指令并测试通过。要求同上。 4.设计AND指令并测试通过。同上。 5.设计 RL指令并测试通过。同上。 6.设计LAD指令并测试通过。同上。 1、设计思路 第一步:按照机器指令的功能设计微程序指令流程图 第二步:按照微指令来设计微程序 第三步:将微程序写入后联机运行 2、使用的I/O设备 二进制数码开关,作为输入设备(IN),两位十六进制LED数码管,作为输出设备(OUT)。 3、使用的功能模块 CPU 由运算器(ALU)、微程序控制器(MC)、通用寄存器(R0),指令寄存器(IR)、程序计 数器(PC)和地址寄存器(AR)组成。 4、功能模块的作用 (1)ALU作用:处理各种算术运算和逻辑运算。 (2)微程序控制器作用:基本任务是完成当前指令的翻译和执行。 (3)通用寄存器作用:可用于传送和暂存数据,也可参与算数逻辑运算并保存运算结果。 (4)程序计数器作用:用于存放下一条指令所在单元的地址的地方。 (5)地址寄存器作用:在移位脉冲作用下,存储在集萃器中的数据能逐位向左或向右的功能,可用来寄存数码,实现数据的串行——并行的转换、数值的运算及数据处理等功能。 1、包括五条指令的验证:IN(输入)、ADD(二进制加法)、OUT(输出)、JUMP(无条件转移)、HLT(停机)。 其中JUMP为双字节指令,其余均为单字节指令,其中********为addr所对应的二进制地址码。 2、根据要求设计微程序流程图。 其微指令格式如表5-1-1: 3.将每条微指令代码化将程序流程图按照指令格式转化成相应的“二进制代码表” 4.从 IN 单元读入数据送 R0 R0和自身相加,结果送R0 R0的值送OUT单元显示 根据要求得到以下程序。 地址 内容 助记符 说明 00000000 00100000 ; START: IN R0 从IN单元读入数据送至R0 00000001 00000000 ; ADD R0,R0 RO与自身相加送至R0 00000010 00110000 ; OUT R0 R0值送至OUT单元显示 00000011 11100000 ; JMP START 跳转至00H地址 00000100 00000000 ; 00000101 01010000 ; HLT 停机 5.具体操作步骤 (1)采用联机写入校验:微程序和机器程序得以指定的格式写入到以 TXT 为后缀的文件中,微程序和机器程序的格式如下: 机器指令格式说明: $P XX XX $P : 机器指令代码 XX : 十六进制地址 XX : 机器指令标志 微指令格式说明: $M XX XXXXXX $M :微指令代码 XX:十六进制地址 XXXXXX:微指令标志 (2)TEST0.txt文件: ; //*************************************** // ; // // ; // CPU 与简单模型机实验指令文件 // ; // // ; // By TangDu CO.,LTD // ; // // ; //*************************************** // ; //****** Start Of Main Memory Data ****** // $P 00 20 ; START: IN R0 从 IN 单元读入数据送 R0 $P 01 00 ; ADD R0,R0 R0 和自身相加,结果送 R0 $P 02 30 ; OUT R0 R0 的值送 OUT 单元显示 $P 03 E0 ; JMP START 跳转至 00H 地址 $P 04 00 ; $P 05 50 ; HLT 停机 ; //******* End Of Main Memory Data ******* // ; //**** Start Of MicroController Data **** // $M 00 000001 ; NOP $M 01 006D43 ; PC->AR,PC 加 1 $M 03 107070 ; MEM->IR, P<1> $M 04 002405 ; R0->B $M 05 04B201 ; A 加 B->R0 $M 1D 105141 ; MEM->PC $M 30 001404 ; R0->A $M 32 183001 ; IN->R0 $M 33 280401 ; R0->OUT $M 35 000035 ; NOP $M 3C 006D5D ; PC->AR,PC 加 1 ; //** End Of MicroController Data **// 选择联机软件的“【转储】—【装载】”功能,在打开文件对话框中选择上面所保存的文件TEST0.txt, 软件自动将机器程序和微程序写入指定单元。 选择联机软件的“【转储】—【刷新指令区】”可以读出下位机所有的机器指令和微指令, 并在指令区显示,对照文件检查微程序和机器程序是否正确,如果不正确,则说明写入操作失 败,应重新写入,可以通过联机软件单独修改某个单元的指令,以修改微指令为例,先用鼠标 左键单击指令区的‘微存’TAB 按钮,然后再单击需修改单元的数据,此时该单元变为编辑框, 输入 6 位数据并回车,编辑框消失,并以红色显示写入的数据。 (3)运行程序方法:联机运行 将时序与操作台单元的开关 KK1 和 KK3 置为‘运行’档,进入软件界面,选择菜单命令 “【实验】—【简单模型机】”,打开简单模型机数据通路图。 按动CON单元的总清按钮CLR,然后通过软件运行程序,选择相应的功能命令,即可联机 运行、监控、调试程序,当模型机执行完JMP指令后,检查OUT单元显示的数是否为IN单元值的2倍。在数据通路图和微程序流中观测指令的执行过程,并观测软件中地址总线、数据总线以及微指令显示和下位机是否一致。 功能设计 1.机器指令功能说明(ADD+LDI+AND+RL+LAD) 序号 助记符 机器指令代码 十六进制代码 功能说明 0 ADD R0,im 00000000 00H R0<-(R0) + im 1 AND R0,im 00010000 10H R0<-(R0) ∧ im 2 IN R0, K 00100000 20H R0<- IN 3 OUT L0,R0 00110000 30H OUT<-L0 4 MOV R0,[R0] 01000000 40H R0<- [R0] 5 HLT 01010000 50H 暂停 6 LDI R0, im 01100000 60H R0<- im 7 INC R0 01110000 70H R0<-(R0) + 1 8 SUB R0,im 10000000 80H R0<-(R0) - im 9 OR R0,im 10010000 90H R0<-(R0)∨ im 10 RR R0, 1 10100000 A0H R0<-将(R0)右移1位 11 RL R0, 1 10110000 B0H R0<-将(R0)左移1位 12 LAD R0, addr 11000000 C0H R0<-[addr] 13 STA addr, R0 11010000 D0H ADDR<-(R0) 14 JMP addr 11100000 E0H PC<-E 15 BZC 11110000 F0H 注释:im为立即数。addr为直接地址。从而相应的指令变为双字节指令。 2、指令流程图设计 3、微程序设计 ADD: 地址 十六进制 高五位 S3-S0 A字段 B字段 C字段 MA5-MA0 06 006D47 00000 0000 110 110 101 000111 07 102008 00010 0000 010 000 000 001000 08 04B201 00000 1001 011 001 000 000001 31 001406 00000 0000 001 010 000 000110 LDI: 地址 十六进制 高五位 S3-S0 A字段 B字段 C字段 MA5-MA0 09 103001 00010 0000 011 000 000 000001 3C 006D5D 00000 0000 110 110 101 011101 AND: 地址 十六进制 高五位 S3-S0 A字段 B字段 C字段 MA5-MA0 07 006D08 00000 0000 110 110 100 001000 08 102009 00010 0000 010 000 000 001001 09 013201 00000 0010 011 001 000 000001 31 001407 00000 0000 001 010 000 000111 RL: 地址 十六进制 高五位 S3-S0 A字段 B字段 C字段 MA5-MA0 06 03B201 00000 0111 011 001 000 000001 3B 001406 00000 0000 001 010 000 000110 LAD: 地址 十六进制 高五位 S3-S0 A字段 B字段 C字段 MA5-MA0 08 106009 00010 0000 110 000 000 001001 09 103001 00010 0000 011 000 000 000001 3C 006D48 00000 0000 110 110 101 001000 4、调试程序设计 最终联机程序清单 1.验证 ; //*************************************** // ; // // ; // CPU 与简单模型机实验指令文件 // ; // // ; // By TangDu CO.,LTD // ; // // ; //*************************************** // ; //****** Start Of Main Memory Data ****** // $P 00 20 ; START: IN R0 从 IN 单元读入数据送 R0 $P 01 00 ; ADD R0,R0 R0 和自身相加,结果送 R0 $P 02 30 ; OUT R0 R0 的值送 OUT 单元显示 $P 03 E0 ; JMP START 跳转至 00H 地址 $P 04 00 ; $P 05 50 ; HLT 停机 ; //******* End Of Main Memory Data ******* // ; //**** Start Of MicroController Data **** // $M 00 000001 ; NOP $M 01 006D43 ; PC->AR,PC 加 1 $M 03 107070 ; MEM->IR, P<1> $M 04 002405 ; R0->B $M 05 04B201 ; A 加 B->R0 $M 1D 105141 ; MEM->PC $M 30 001404 ; R0->A $M 32 183001 ; IN->R0 $M 33 280401 ; R0->OUT $M 35 000035 ; NOP $M 3C 006D5D ; PC->AR,PC 加 1 ; //** End Of MicroController Data **// 2.ADD $P 00 20 ; START: IN R0 从 IN 单元读入数据送 R0 $P 01 00 ; ADD R0,R0 R0 和自身相加,结果送 R0 $P 02 30 ; OUT R0 R0 的值送 OUT 单元显示 $P 03 E0 ; JMP START 跳转至 00H 地址 $P 04 00 ; $P 05 50 ; HLT 停机 $M 06 006D47 ; $M 07 102008 ; $M 08 04B201 ; $M 31 001406 ; R0->A 3.LDI $P 00 60 ; LDI $P 01 33 ; $P 02 00 ; ADD R0,R0 R0 和自身相加,结果送 R0 $P 03 30 ; OUT R0 R0 的值送 OUT 单元显示 $P 04 E0 ; JMP START $P 05 00 ; $P 06 03 ; $P 07 50 ; HLT 停机 $M 09 103001 ; MEM->R0 $M 3C 006D5D ; PC->AR,PC 加 1 4.AND $P 00 20 ; IN $P 01 10 ; AND $P 02 F0 ; $P 03 30 ; OUT R0 R0 的值送 OUT 单元显示 $P 04 E0 ; JMP START 跳转至 00H 地址 $P 05 00 ; $P 06 50 ; HLT 停机 $M 07 006D08 ; PC->AR PC+1 $M 08 102009 ; MEM->B $M 09 013201 ; A与B $M 31 001407 ; R0->A 5.RL $P 00 20 ; START: IN R0 从 IN 单元读入数据送 R0 $P 01 B0 ; RL $P 02 00 ; ADD R0,R0 R0 和自身相加,结果送 R0 $P 03 30 ; OUT R0 R0 的值送 OUT 单元显示 $P 04 E0 ; JMP START 跳转至 00H 地址 $P 05 00 ; $P 06 50 ; HLT 停机 $M 06 03B201 ;R0->A $M 3B 001406 ;A左移->R0 6.LAD $P 00 C0 ; LAD $P 01 37 ; $P 02 30 ; JMP START 跳转至 00H 地址 $P 03 40 ; $P 04 50 ; HLT 停机 $M 00 000001 ; NOP $M 08 106009 ; MEM->AR $M 09 103001 ; MEM->R0 $M 3C 006D48 ; PC->AR,PC 加 1 1.验证 2.ADD 3.AND 4.LDI 5.RL 6.LAD 9、参考文献 [1]白中英、戴志涛主编.《计算机组成原理》.第五版 科学出版社计算机组成原理课程设计——CPU与简单模型机设计的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于计算机组成原理课程设计——CPU与简单模型机设计、计算机组成原理课程设计——CPU与简单模型机设计的信息别忘了在本站进行查找喔。
未经允许不得转载! 作者:谁是谁的谁,转载或复制请以超链接形式并注明出处。
原文地址:http://wisdombay.com.cn/post/19760.html发布于:2026-03-01




