微程序设计实验:地址计算与存储操作解析

需积分: 10 7 下载量 166 浏览量 更新于2024-10-25 收藏 1.12MB DOC 举报
"微程序设计实验实例讲解,09年度08级软件学院课程,讲解了如何通过微程序设计实现特定指令的功能,包括指令格式、微地址微程序的设计与执行流程。" 微程序设计是一种在计算机系统中实现中央处理器(CPU)控制逻辑的方法。它通过在控制存储器中预存一系列的微指令来实现复杂操作,这些微指令对应于机器指令的一部分或者全部操作。在这个实验实例中,我们看到一个具体的微程序设计案例,用于执行特定的计算功能。 首先,指令格式被定义为一个表格,包含入口地址100H,以及D4XX、0826、D400等字段。这表明指令可能涉及数据在内存中的地址交换和计算。入口地址100H是微程序的起始地址,D4XX和0826可能是操作数或指令的其他组成部分。D400则表示内存中的一段地址,这里被用来存储数据。 微程序的执行过程如下: 1. 微地址100H指向的第一条微指令(100H)将PC(程序计数器)的当前值(0827)加载到地址寄存器AR,同时将PC加1(0828)以准备读取下一条指令。 2. 接下来的微指令(101H)从内存地址0827(即AR的当前值)读取数据0890,并将其送回AR,以便后续读取该地址的内容。 3. 微地址102H的微指令读取AR(0890)中的内容0011,并存储到Q寄存器中。 4. 微地址103H的微指令将PC的下一个值(0828)加载到AR,然后将PC加1(0829),准备读取新的地址内容。 5. 微地址104H的微指令读取内存地址0828(即0891)的内容0011,并送入AR,准备进行下一步操作。 6. 微地址105H的微指令执行加法操作,将AR(0891的内容0011)与Q寄存器中的0011相加,结果存入Q寄存器。 7. 最后,微地址106H的微指令将Q寄存器中的和(0022)写回到地址0891的内存中,同时更新条件代码(CC#),并设置跳转地址为290(0A4H),执行后续处理程序。 在微程序设计中,微地址通常由当前指令的地址加上一定的偏移量计算得出,这个例子中的微地址是从100H开始依次递增的。微地址106H的注释中提到了地址转换方法,这是一种将二进制数转换为十六进制数的过程,以确定微程序的下一条执行地址。 这个实验实例详细展示了微程序设计的基本思想和操作步骤,包括如何使用微指令控制CPU内部的操作,如读取和写入内存,以及如何通过条件转移指令来控制程序流程。通过这样的实践,学生能够深入理解计算机内部的工作原理,特别是控制单元的运作机制。