当前位置:文档之家› 华科组成原理课程设计-MIPS流水线CPU

华科组成原理课程设计-MIPS流水线CPU

华科组成原理课程设计-MIPS流水线CPU
华科组成原理课程设计-MIPS流水线CPU

目录

一、课程设计概述 (3)

1 课设目的 (3)

2 实验环境 (3)

3 设计任务与要求 (3)

二、设计原理 (3)

1 MIPS概述 (3)

2 MIPS指令简介 (3)

3 经典5段RSIC流水线结构 (4)

三、设计内容 (5)

1 指令选取 (5)

2 非流水5段CPU模型 (6)

3 流水5段CPU模型 (8)

四、实现内容与测试结果 (12)

1 各模块功能 (12)

2控制信号 (12)

3指令操作流程 (13)

4指令执行状态转换图 (14)

5引脚绑定 (15)

6测试程序 (15)

7测试结果与仿真图 (16)

五、课设总结 (17)

1课设中遇到的问题 (17)

2课设经历 (17)

3课设感想 (18)

4小组分工 (18)

参考文献 (18)

一、课程设计概述

1.课设目的

①掌握硬件描述语言与开发环境,了解硬件开发地基本过程。

②掌握流水线CPU设计方法。

③锻炼学生简单计算机系统的设计能力,并通过进行主机系统低层电路的实现、故障

分析与定位、系统调试等环节的锻炼,进一步提高了学生分析和解决问题的能力。

2.实验环境

①Xilinx ISE 14.2

②Spartan3E实验板一块

3.设计任务与要求

课程设计的主要任务是设计一台支持流水线的简单计算机系统并调试通过。要求所设计的计算机系统能正确地执行存放在指令cache中的程序的功能。

本设计基于MIPS的32位流水线架构,设计过程中力图尽可能的遵循原有的MIPS的功能和指令集。基本做到与MIPS指令集的兼容。

具体要求包括:

①支持算术运算,逻辑运算,存储器读写,寄存器间数据传送等几类指令。

②支持立即数寻址,直接寻址,寄存器寻址等几种基本的数据寻址方式和顺序寻址、

跳跃寻址两种指令的寻址方式。

③支持10条或以上的指令。

④能运行由自己所设计的指令系统构成的一段程序,程序执行功能正确。

⑤具有完整的五级流水线架构。采用独立的32位的数据总线和地址总线。

二、设计原理

1.MIPS概述

MIPS是高效的RISC体系结构中最优雅的一种体系结构。其中文意思为“无内部互锁流水级的微处理器”,其机制是尽量利用软件办法避免流水线中的数据相关问题。它最早是在80年代初期由斯坦福大学Hennessy教授领导的研究小组研制出来的。MIPS公司的R系列就是在此基础上开发的RISC工业产品的微处理器。这些系列产品为很多计算机公司采用构成各种工作站和计算机系统。

本设计将参考MIPS的CPU设计以实现自己的五段流水线CPU设计,并部分实现MIPS32指令集

2.MIPS指令简介

2.1 MIPS指令集特点

MIPS指令集具有以下特点:

①简单的LOAD/STORE结构。所有计算类型指令均从寄存器组中读取数据并把

结果写入寄存器组中。只有LOAD和STORE指令访问存储器(数据cache)。

②易于流水线CPU的设计。MIPS指令集的指令格式非常规整,所有的指令均为

32位,而且指令操作码在固定的位置上。

③易于编译器的开发。一般情况下,编译器在编译高级语言程序时,很难用到复

杂的指令。MIPS 指令的寻址方式与操作非常简单,便于编译器的开发。

2.2 MIPS 指令格式

在本次课程设计中,在数据类型上只支持整数类型,在指令格式上直接R 、I 和J 型指令。以下是对三型指令的简介[1]:

① R (register )类型的指令从寄存器组中读取两个源操作数,计算结果写回寄存

器组。

② I (immediate )类型的指令使用一个16位的立即数作为一个源操作数。 ③ J (jump )类型的指令使用一个26位立即数作为跳转的目标地址。 三型指令的格式如图1所示,其中: ① op 表示指令操作码。

② rs 为源操作数的寄存器号。

③ rd 为目的寄存器号,RT 既可为源寄存器号,也可为目的寄存器号。 ④ funct 可认为是扩展的操作码。

⑤ shamte 由移位指令使用,定义移位位数。

⑥ Immediate 是16位立即数,根据指令需求进行无符号或有符号扩展。 ⑦ Address 是26位立即数,由J 型指令使用,用于产生跳转的目的地址。

6551665555662631

26 25

21 20

16 150

31

26 25

21 20

16 150

11 10

6 5

31

26 25

(a)I 类指令

(b)R 类指令

(c)J 类指令

图1. MIPS 的指令格式

3. 经典5段RSIC 流水线结构

经典的5段RISC 流水线如图2。

IF 段

ID 段

EX 段

MEM 段

WB 段

图2. 经典5段RISC 流水线

在该结构中一条指令的执行过程分为以下5个时钟周期:

①取指令周期(IF):以程序计数器PC中的内容作为地址,从存储器中取出指令并放

入指令寄存器IR;同时PC值加4(假设每条指令占4个字节),指向顺序的下一条指令。

②指令译码/读寄存器周期(ID):对指令进行译码,并用IR中的寄存器地址去访问

通用寄存器组,读出所需的操作数。

③执行/有效地址计算周期(EX):在这个周期,ALU对在上一个周期准备好的操作

数进行运算或处理。不同指令所进行的操作不同。

④存储器访问/分支完成周期(MEM):load指令用上一个周期计算出的有效地址从存

储器中读出相应的数据;store指令把指定的数据写入这个有效地址所指出的存储器单元;分支指令若分支成功就把钱一个周期中计算好的转移目标地址送入PC,否则不进行任何操作;其他类型的指令在该周期不做任何操作。

⑤写回周期(WB):把结果写入通用寄存器组。

本设计基于该经典5端流水线结构完成了MIPS的一种简单实现,并在此基础上加入了对流水线冲突(数据冲突,控制冲突)的处理,以及对中断的处理。

三、设计内容

1.指令选取

本系统能执行16条MIPS指令,指令基本情况如表1所示。

表1. 系统支持的MIPS指令集

从指令类型来讲,这16条指令覆盖了算逻运算、访存、无条件跳转和有条件跳转,已

基本覆盖一个指令集所需的所有基本指令。

从寻址方式来讲,这16条指令覆盖了寄存器寻址(R-TYPE指令),立即数寻址(I-TYPE 指令),基址偏移量寻址(LW/SW),直接寻址(J)。

16条MIPS指令并不是本设计的极限,只是受到实验板资源的限制,我们仅仅完成了MIPS32指令集中的16条而已。本设计通过简单的拓展可以轻松实现整个MIPS32指令集。

2.非流水5段CPU模型

2.1 初始数据通路

设计往往都是从简单到复杂,循序渐进。好高骛远则往往求之而不得。因此我们并没有从流水线模型直接下手,而是首先设计了一个类似经典5段RISC流水线结构的非流水5段CPU模型。由于不涉及流水,所以所有的指令周期均为单周期,数据通路见图3。

图3. 非流水5段CPU初始数据通路

2.2 5段具体操作

在这个数据通路上每条指令需要花费5个时钟周期,这5个时钟周期相应的操作如下:

2.2.1取指令周期(IF)

IR←Mem[PC]

NPC←PC+1

以PC中的值从指令cache中取出一条指令,放入指令寄存器IR;同时PC值加1,然后放入NPC,这时NPC中的值为顺序的下调指令的地址。

2.2.2指令译码/读寄存器周期(ID)

A←Regs[rs]

B←Regs[rt]

imm←((IR16)16##IR16..31)

对指令进行译码,并以指令中的rs和rt字段作为地址访问通用寄存器组,将

读出的数据让如A和B寄存器中。同时IR的低16位进行有符号或者无符号扩展,然后存入Imm寄存器

2.2.3 执行/有效地址计算周期(EX)

①LW和SW指令

ALUo←A+Imm

ALU将操作数相加形成有效地址,并存入临时寄存器ALUo

②R-TYPE

ALUo←A funct B

ALU根据funct字段指出的操作类型对A和B中的数据进行运算,并将结果存入ALUo

③I-TYPE

ALUo←A op Imm

ALU根据操作码op指出的操作类型对A和Imm中的数据进行运算,并将结果存入ALUo

④分支指令

ALUo←NPC+Imm

ALU将临时寄存器NPC和Imm中的值相加得到转移目标的地址,存入ALUo

2.2.4 存储器访问/分支完成周期(MEM)

①LW和SW指令

LW:LMD←Mem[ALUo]

即从存储器中读出相应数据,放入临时寄存器LMD中

SW:Mem[ALUo]←B

即把B中数据写入存储器

②分支指令

If (cond) PC←ALUo else PC←NPC

若cond中的内容为真,则将ALUo中的转移目标地址放入PC,否则PC+1。

2.2.5 写回周期(WB)

①R-TYPE

Regs[rd]←ALUo

②I-TYPE

Regs[rt]←ALUo

③LW指令

Regs[rt]←LMD

2.3 模型优化与最终数据通路

在这部分设计的时候我们的跳转指令仅仅实现了JNZQ,因此我们对改分支指令进行了单独的优化。在图2的设计中若分支失败,则由于新的PC在EX段产生,因此会产生2个时钟周期的延迟。但实际上可以对这条指令进行单独的改进,将对PC的修改提前到IF段,以便PC值能够快速变化。经过这样优化后,分支失败则只会产生1个时钟周期的延迟。改进后的数据通路如图4所示。

图4. 非流水5段CPU最终数据通路

3.5段流水CPU模型

3.1 初始数据通路

在实现了非流水的5段CPU模型后,5段流水CPU模型也就水到渠成了。只需要在各段之间加入相应的流水寄存器即可。数据通路如图5。

图5. 5段流水CPU初始数据通路

3.2 5段具体操作

这部分与非流水的具体操作大致相同,这里不加赘述。

3.3 流水线冲突及解决方案

3.3.1 数据冲突

如果上一条指令的结果还没有写入到寄存器中,而下一条指令的原操作数又恰恰是此寄存器的数据,那么它所获得的将是原来的数据,而不是更新后的数据,这

样的相关问题称为数据相关。

根据在系统结构中学习到的相关知识,在我们的设计中,采用定向(forwarding )技术来解决此类相关问题。其关键思路是:在发生写后读相关的情况下,在计算结果尚未出来之前,后面等待使用该结果的指令并不见得是马上就要用该结果。如果能够将该计算结果从其产生的地方(ALU 出口)直接送到其他指令需要它的地方(ALU 的入口),那么就可以避免停顿,如图6。

时间(时钟周期)DADD R1,R2,R3DSUB R4,R1,R5XOR R6,R1,R7AND R8,R1,R9图6. 定向技术

3.3.2 控制冲突

在流水线中,控制冲突可能会使数据冲突造成更大的性能损失。执行分支指令的结果有两种,一种是“成功”,PC 值改变为分支转移的目标地址。另一种则是“失败”,这是PC 的值保持正常递增。

本设计中采用预测分支失败的方法解决控制冲突,即允许分支指令后的指令继续在流水线中流动。当确定分支是失败时,可以将分支指令看做一条普通指令,流水线正常流动,如表2;当确定分支是成功时,流水线就把在分支指令之后取出的指令转化为空操作,并按分支目标地址重新取指令执行,如表3

表2. 分支失败的流水线时空图

表3. 分支成功的流水线时空图

3.4模型中的问题与修正

3.4.1 指令周期数问题

若是指令周期和之前的设计一样,使用单周期的设计,那么会出现对流水寄存器的读写冲突。

例如对于通用寄存器组来说,在clk上升沿的时候需要从IF段的指令寄存器IR中取出指令,然后访问相应的寄存器并将数据写入ID段的A,B寄存器。试想,若是从IR中取指令,和对ID段的A,B寄存器的写入两个操作都是在clk上升沿触发,那么由于时延的存在,很有可能导致写入的值不是预期值。

因此我们将指令周期从单周期改为双周期。在前一周期完成对流水寄存器的读操作,并且完成各段的功能。后一周期,完成对流水寄存器的写操作。具体实现上我们舍弃了分频的方法而是采用前半周期为clk上升沿触发,后半周期为clk下降沿触发。

3.4.2译码器问题

通过3.3.1可知,各段功能需要在前一周期内全部完成,但是ID段很特殊,因为有译码器的存在。

通用寄存器组和扩展部件都需要译码器提供控制信号,但是由于3.3.1的限制,译码器也会在clk上升沿触发。由于时延的存在,这可能会导致控制信号产生在需求之后。也即在寄存器组和扩展部件需要控制信号的时候,控制信号还未真正产生,导致这两部件使用了错误的控制信号。

除了这个隐患,还有一个问题就是若采用单独的译码器,那么会在ID段产生大量的控制信号,这些控制信号都需要通过流水线流向下一段,那么势必需要大量的流水寄存器,大幅增加硬件成本。

综合考虑这两个问题之后我们撤掉了译码器,而采用分段译码的方式。即给每个功能部件都提供完整的指令,由各个功能部件自己产生自己所需要的控制信号,这样就可以完美的解决上述两个问题。

3.4.3 针对JNZQ指令的优化问题

在非流水的CPU模型中我们针对JNZQ指令进行了专门的优化,将对分支条件的判断放在了ID段。但是这存在两个问题,一是我们认为这样影响了整体设计的一致性;二是在流水线CPU的设计中我们加入了新的跳转指令,这使得判断变得更加复杂,ID段分担了太多EX段的功能,会影响整体流水的性能。

因此在流水CPU设计中我们将分支的条件改回在EX段判断。

3.4.4寄存器组的读写顺序问题

在最初的设计中,我们将寄存器的写回操作放在后半周期,即和流水线寄存器的写操作一同完成。但是在后面的实际测试中我们发现若这样处理,我们在做重定向的时候必须做三次重定向。因此我们对此做了调整,将写回操作提前到前半周期完成,即对寄存器组实现先写后读策略。

3.4.5 写回段的取舍

在最初的设计中,由于我们将寄存器的写回操作放在后半周期,因此我们一度舍弃了写回段。因为写回段仅仅是前半周期读出写回数据,后半周期将数据写回寄存器组,这么简单的功能占据一个流水段显示实在是“奢侈”。因而在最初的设计中我们将其和MEM段合并。

但是3.3.4中对寄存器读写顺序做了调整,因此写回段中的写回操作和EX段的计算操作以及MEM的访存操作在同半个周期内,由于时延的存在很有可能导致写回数据错误。此时若舍弃了写回段则可能在计算结果出来前就写回了,这显然不

合理。

因此我们重新加入了写回段。在加入访存段后,由于写回的结果依赖于访存结果,因此放在访存段之后。

3.4.6特殊指令JNZ的问题

JNZ这条指令在整个指令集中是非常特殊的存在,在之前的设计中我们完全没有考虑到这个问题。

①虽然JNZ是I-TYPE指令,但是RT却是源寄存器,也即JNZ不会修改

RT的值。即它不符合I-TYPE指令在写回段的数据通路Regs[rt]←ALUo。

这在做定向的时候会产生严重的问题,若不做特殊判断,那么很可能会

产生错误的定向。

②JNZ指令是整个指令集中唯一一个需要4个输入(rega,regb,imm,pc)的

指令,其他指令均最多只需要2个输入。这使得EX段的两个选择器完全

是多余的,可以去掉。

在考虑到这两点之后我们对重定向进行了重新设计,并且去掉了EX段中的两个选择器。

3.5 硬软中断的实现

3.5.1 软中断的实现

对于软中断,我们实际上通过扩展指令集的方式来实现。即在指令集中加入两

表4. Push和Pop指令

当ID段检测到PUSH指令时,将会把所有通用寄存器组的值以及当前PC值压入堆栈。当EX段检测到PUSH指令时,会无条件跳转至指令对对应的地址。

当ID段检测到POP指令时,将会把所有的通用寄存器组的值弹出。当EX段检测到POP指令时,会无条件跳转至堆栈中的PC值对应的地址。

3.5.2 硬中断的实现

对于硬中断我们仅实现了了溢出中断。当EX段出现溢出时,EX段将会向IF 段传送相应的控制信号。此时IF段将会产生一条PUSH指令送到IR中,并且PC 值维持一周期不变。

这样就相当于向流水线中插入了一条软中断指令,从而实现了用硬件来自动产生中断指令。

3.6 最终数据通路

在成功修改和完善3.4中的问题以及加入3.5中的内容后,我们得到了最后的数据通路图,如图7。

图7. 5段流水CPU最终数据通路图

四、实现内容与测试结果

1.

表5. 各模块功能表

2.

表6. 控制信号表

3.指令操作流程

由于我组实现的指令较多,而很多指令具有较大的相似性,因此这里取ADD, BNE, J, SW

[2]

表7. ADD指令操作流程及控制信号

表8. BNE指令操作流程及控制信号

表9. J指令操作流程及控制信号

表10. SW指令操作流程及控制信号

4.指令执行状态转换图

可画出其对应的状态转移图,如图9所示。

IF

图9. 状态转移图

5.

表11. 引脚绑定表

6.测试程序

综合考虑到我们选择的指令集以及FPGA开发板的硬件资源情况,我们打算用下面三个程序来测试我们的设计方案。

表12. 测试程序1

程序2主要用来测试软中断和硬中断功能,程序如表13所示。

表13. 测试程序2

程序3主要用来测试跳转指令的正确性,由于push和pop指令中已经隐含了J指令,

表14. 测试程序3

7.测试结果与仿真图

所有测试程序均在最终检查时验收,其在FPGA开发板上的实际的运行结果均在课设验收时得到了确认,三个测试程序的结果均符合预期,这里便不再赘述。

此外由于仿真图上通过缩放后已经无法看清32位寄存器具体的值,即使放在这里也根本无法看清其具体值,毫无意义。因此仿真图便不再放在报告里。

五、课设总结

1.课设中遇到的问题

这次课设中遇到的主要问题有如下这些:

指令周期数问题。(单周期与双周期的选择)

是否设立单独的译码器的问题。(集中译码与分布译码的选择)

①是否保留非流水中针对跳转指令的优化问题。(结构一致性的取舍)

②寄存器组读写顺序问题。(先读后写与先写后读的选择)

③写回段的取舍问题。(与问题④密切相关)

④JNZ指令带来的结构问题。(唯一的四输入指令,以及不修改rt)

⑤同步复位或异步复位的选择。

⑥仿真与上板测试的区别。

其中①~⑥的问题与解决方案在3.4中都已经详细写明,这里便不加赘述。

对于问题⑦,最初我们的设计中选择了异步复位,仿真顺利通过。但是后来在编译中发现一个寄存器不能在两个always中赋值,因此我们改为了同步复位。

对于问题⑧,在中期检查时我们只做了仿真,并没有上板进行实际的测试。在那时,老师便一再强调仿真与上板测试的差异性,仿真结果正确只是上板测试结果的必要条件。在仔细斟酌老师的话后我认为,仿真与上板测试最大的区别就在于开发板上是存在时延的,而仿真确是在理想状态下的测试结果。因此在后面的设计中我充分考虑了时延的问题,尽量避免有前后相关关系的值在同一沿上变化,这也就有了双指令周期以及分布译码的设计。功夫不负有心人,我组是班上少有的在上板测试中没有出现任何问题的小组。

参考文献

[1] 张晨曦, 王志英, 沈立, 刘依. 计算机系统结构教程. 北京: 清华大学出版社, 2009:

53~90

[2] 秦磊华, 吴非, 莫正坤. 计算机组成原理.北京: 清华大学出版社, 2011: 203~277

计算机组成原理课程设计(微程序)报告

微程序控制器的设计与实现

目录 1设计目的 (3) 2设计内容 (3) 3具体要求 (3) 4设计方案 (3) 5 调试过程 (11) 6 心得体会 (12)

微程序控制器的设计与实现 一、设计目的 1)巩固和深刻理解“计算机组成原理”课程所讲解的原 理,加深对计算机各模块协同工作的认识 2)掌握微程序设计的思想和具体流程、操作方法。 3)培养学生独立工作和创新思维的能力,取得设计与调 试的实践经验。 4)尝试利用编程实现微程序指令的识别和解释的工作 流程 二、设计内容 按照要求设计一指令系统,该指令系统能够实现数据传送,进行加、减运算和无条件转移,具有累加器寻址、寄存器寻址、寄存器间接寻址、存储器直接寻址、立即数寻址等五种寻址方式。 三、设计要求 1)仔细复习所学过的理论知识,掌握微程序设计的思 想,并根据掌握的理论写出要设计的指令系统的微程 序流程。指令系统至少要包括六条指令,具有上述功 能和寻址方式。 2)根据微操作流程及给定的微指令格式写出相应的微 程序 3)将所设计的微程序在虚拟环境中运行调试程序,并给 出测试思路和具体程序段 4)尝试用C或者Java语言实现所设计的指令系统的加 载、识别和解释功能。 5)撰写课程设计报告。 四、设计方案 1)设计思路 按照要求设计指令系统,该指令系统能够实现数据传送,进行加、减运算和无条件转移,具有累加器寻址、寄存器寻

址、寄存器间接寻址、存储器直接寻址、立即数寻址等五种寻址方式。从而可以想到如下指令:24位控制位分别介绍如下: XRD :外部设备读信号,当给出了外设的地址后,输出此信号,从指定外设读数据。 EMWR:程序存储器EM写信号。 EMRD:程序存储器EM读信号。 PCOE:将程序计数器PC的值送到地址总线ABUS上。 EMEN:将程序存储器EM与数据总线DBUS接通,由EMWR 和EMRD决定是将DBUS数据写到EM中,还是 从EM读出数据送到DBUS。 IREN:将程序存储器EM读出的数据打入指令寄存器IR 和微指令计数器uPC。 EINT:中断返回时清除中断响应和中断请求标志,便于下次中断。 ELP: PC打入允许,与指令寄存器的IR3、IR2位结合,控制程序跳转。 MAREN:将数据总线DBUS上数据打入地址寄存器MAR。 MAROE:将地址寄存器MAR的值送到地址总线ABUS上。 OUTEN:将数据总线DBUS上数据送到输出端口寄存器OUT 里。 STEN:将数据总线DBUS上数据存入堆栈寄存器ST中。 RRD:读寄存器组R0-R3,寄存器R?的选择由指令的最低两位决定。 RWR:写寄存器组R0-R3,寄存器R?的选择由指令的最低两位决定。 CN:决定运算器是否带进位移位,CN=1带进位,CN=0不带进位。 FEN:将标志位存入ALU内部的标志寄存器。 X2:X1:X0: X2、X1、X0三位组合来译码选择将数据送到DBUS上的寄存器。具体如下: X2 X1 X0 输出寄存器 0 0 0 IN_OE 外部输入门 0 0 1 IA_OE 中断向量 0 1 0 ST_OE 堆栈寄存器 0 1 1 PC_OE PC寄存器

计算机组成原理试题及答案

A .(7CD )16 B. ( 7D0)16 C. (7E0)16 D. 3. 下列数中最大的数是 _______ 。 A .(10011001) 2 B. (227) 8 C. (98)16 4. ____ 表示法主要用于表示浮点数中的阶码。 A. 原码 B. 补码 C. 反码 D. 移码 5. 在小型或微型计算机里,普遍采用的字符编码是 A. BCD 码 B. 16 进制 C. 格雷码 6. 下列有关运算器的描述中, ______ 是正确的 A. 只做算术运算,不做逻辑运算 B. C. 能暂时存放运算结果 D. 7. EPROM 是指 ____ 。 A. 读写存储器 B. C. 可编程的只读存储器 D. 8. Intel80486 是 32位微处理器, Pentium 是A.16 B.32 C.48 D.64 9 .设]X ]补=1.XXX 3X 4,当满足 _________ ■寸,X > -1/2 成立。 A. X 1必须为1,X 2X 3X 4至少有一个为1 B. X 1必须为1 , X 2X 3X 4任意 C. X 1必须为0, X 2X 3X 4至少有一个为1 D. X 1必须为0, X 2X 3X 4任意 10. CPU 主要包括 _____ 。 A.控制器 B. 控制器、运算器、cache C.运算器和主存 D.控制器、ALU 和主存 11. 信息只用一条传输线 ,且采用脉冲传输的方式称为 _________ 。 A. 串行传输 B. 并行传输 C. 并串行传输 D. 分时传输 12. 以下四种类型指令中,执行时间最长的是 _________ 。 A. RR 型 B. RS 型 C. SS 型 D. 程序控制指令 13. 下列 _____ 属于应用软件。 A. 操作系统 B. 编译系统 C. 连接程序 D. 文本处理 14. 在主存和CPU 之间增加cache 存储器的目的是 _____ 。 A. 增加内存容量 B. 提高内存可靠性 C.解决CPU 和主存之间的速度匹配问题 D. 增加内存容量,同时加快存取速 度 15. 某单片机的系统程序,不允许用户在执行时改变,则可以选用 ____________ 作为存储芯 片。 A. SRAM B. 闪速存储器 C. cache D. 辅助存储器 16. 设变址寄存器为X ,形式地址为D, (X )表示寄存器X 的内容,这种寻址方式的有 效地址为 ______ 。 A. EA=(X)+D B. EA=(X)+(D) C.EA=((X)+D) D. EA=((X)+(D)) 17. 在指令的地址字段中,直接指出操作数本身的寻址方式,称为 ___________ 。 A. 隐含寻址 B. 立即寻址 C. 寄存器寻址 D. 直接寻址 18. 下述 I/O 控制方式中,主要由程序实现的是 ________ 。 7F0)16 D. ( 152)10 o D. ASC H 码 只做加法 既做算术运算,又做逻辑运算 只读存储器 光擦除可编程的只读存储器 位微处理器。

计算机组成原理实验报告

福建农林大学计算机与信息学院信息工程类实验报告系:计算机科学与技术专业:计算机科学与技术年级: 09级 姓名:张文绮学号: 091150022 实验课程:计算机组成原理 实验室号:___田405 实验设备号: 43 实验时间:2010.12.19 指导教师签字:成绩: 实验一算术逻辑运算实验 1.实验目的和要求 1. 熟悉简单运算器的数据传送通路; 2. 验证4位运算功能发生器功能(74LS181)的组合功能。 2.实验原理 实验中所用到的运算器数据通路如图1-1所示。其中运算器由两片74181

以并/串形式构成8位字长的ALU。运算器的输出经过一个三态门(74245)和数据总线相连,运算器的两个数据输入端分别由两个锁存器(74373)锁存,锁存器的输入连接至数据总线,数据开关INPUT DEVICE用来给出参与运算的数据,并经过一个三态门(74245)和数据总线相连,数据显示灯“BUS UNIT”已和数据总线相连,用来显示数据总线内容。 图1-2中已将用户需要连接的控制信号用圆圈标明(其他实验相同,不再说明),其中除T4为脉冲信号,其它均为电平信号。由于实验电路中的时序信号均已连至W/R UNIT的相应时序信号引出端,因此,在进行实验时,只需将W/R UNIT 的T4接至STATE UNIT的微动开关KK2的输出端,按动微动开关,即可获得实验所需的单脉冲,而S3,S2,S1,S0,Cn,LDDR1,LDDR2,ALU-B,SW-B各电平控制信号用SWITCH UNIT中的二进制数据开关来模拟,其中Cn,ALU-B,SW-B为低电平控制有效,LDDR1,LDDR2为高电平有效。 3.主要仪器设备(实验用的软硬件环境) ZYE1603B计算机组成原理教学实验系统一台,排线若干。 4.操作方法与实验步骤

计算机组成原理课程设计报告

计算机组成原理课程设计报告 课程设计题目:计算机组成原理 专业名称:计算机科学与技术班级: 2013240202 关童:201324020217 张一轮:201324020218 孙吉阳:201324020219 张旭:201324020220 老师姓名:单博炜 2015年12月31日

第一章课程设计概述 1.1 课程设计的教学目的 本课程设计的教学目的是在掌握计算机系统组成及内部工作机制、理解计算机各功能部件工作原理的基础上,深入掌握数据信息流和控制信息流的流动过程,进一步加深计算机系统各模块间相互关系的认识 无条件转移),其指令格式如表1(前4位是操作码): 表1: IN为单字长(8位),含义是将数据开关8位数据输入到R0寄存器;ADD为双字长指令,第一字为操作码,第二字为操作数地址,其含义是将R0寄存器的内容与内存中以A为地址单元的数相加,结果放在

R0;STA为双字长指令,含义是将R0中的内容存储到以第二字A为地址内存单元中;OUT为双字长指令,含义是将内存中以第二字为地址的数据读到数据总线上,由数码管进行显示;JMP是双字长指令,执行该指令时,程序无条件转移到第二字所指定的内存单元地址。 为了向RAM中装入程序和数据,检查写入是否正确,并能启动程序执行,还设计了三个控制台操作微程序:存储器读操作”(KRD):拨动总清开关CLR后,当控制台开关SWB、SWA置为“00”时,按START 微动开关,可对RAM进行连续手动读操作;存储器写操作(KWE):拨动总清开关CLR后,当控制台开关SWB、SWA置为“01”时,按START微动开关,可对RAM进行连续手动写入;启动程序:拨动总清开关CLR后,当控制台开关SWB、SWA置为“11”时,按START微动开关,即可转入第01号“取指”微指令,启动程序运行。这三条控制台指令用两个开关SWB、SWA的状态来设置,其定义如表2:表2: C字段: 按照数据通路可画出机器指令的微程序流程图如图2所示,当拟定“取值”微指令时,该微指令的判

计算机组成原理试题及答案

中国自考人——700门自考课程永久免费、完整在线学习快快加入我们吧! 全国2002年4月高等教育自学考试 计算机组成原理试题 课程代码:02318 一、单项选择题(本大题共15小题,每小题1分,共15分)在每小题列出的四个选项中只有一个选项是符 合题目要求的,请将正确选项前的字母填在题后的括号内。 1.若十进制数为,则相应的十六进制数为( )。 若x=1011,则[x]补=( )。 3.某机字长8位,含一位数符,采用原码表示,则定点小数所能表示的非零最小正数为( )。 4.设某浮点数共12位。其中阶码含1位阶符共4位,以2为底,初码表示;尾数含1位数符共8位,补码 表示,规格化。则该浮点数所能表示的最大正数是( )。 5.原码乘法是指( ) A.用原码表示乘数与被乘数,直接相乘 B.取操作数绝对值相乘,符号位单独处理 C.符号位连同绝对值一起相乘 D.取操作数绝对值相乘,乘积符号与乘数符号相同 6.一般来讲,直接映象常用在( ) A.小容量高速Cache B.大容量高速Cache C.小容量低速Cache D.大容量低速Cache 7.下列存储器中,( )速度最快。 A.硬盘 B.光盘 C.磁带 D.半导体存储器 8.采用直接寻址方式,则操作数在( )中。 A.主存 B.寄存器 C.直接存取存储器 D.光盘 9.零地址指令的操作数一般隐含在( )中。 A.磁盘 B.磁带 C.寄存器 D.光盘 10.微程序存放在( ) A.主存中 B.堆栈中 C.只读存储器中 D.磁盘中 11.在微程序控制方式中,机器指令和微指令的关系是( )。 A.每一条机器指令由一条微指令来解释执行 B.每一条机器指令由一段(或一个)微程序来解释执行 C.一段机器指令组成的工作程序可由一条微指令来解释执行 D.一条微指令由若干条机器指令组成 12.异步传送方式常用于( )中,作为主要控制方式。 A.微型机的CPU内部控制 B.硬连线控制器 C.微程序控制器 D.串行I/O总线 13.串行总线主要用于( )。 A.连接主机与外围设备 B.连接主存与CPU C.连接运算器与控制器 D.连接CPU内部各部件 14.在常用磁盘中,( )。 A.外圈磁道容量大于内圈磁道容量 B.各道容量不等 C.各磁道容量相同 D.内圈磁道容量大于外圈磁道容量 15.在下列存储器中,( )可以作为主存储器。 A.半导体存储器 B.硬盘 C.光盘 D.磁带 二、改错题(本大题共5小题,每小题2分,共10分)针对各小题的题意,改正其结论中的错误,或补充

计算机组成原理实验报告

重庆理工大学 《计算机组成原理》 实验报告 学号 __11503080109____ 姓名 __张致远_________ 专业 __软件工程_______ 学院 _计算机科学与工程 二0一六年四月二十三实验一基本运算器实验报告

一、实验名称 基本运算器实验 二、完成学生:张致远班级115030801 学号11503080109 三、实验目的 1.了解运算器的组成结构。 2.掌握运算器的工作原理。 四、实验原理: 两片74LS181 芯片以并/串形式构成的8位字长的运算器。右方为低4位运算芯片,左方为高4位运算芯片。低位芯片的进位输出端Cn+4与高位芯片的进位输入端Cn相连,使低4位运算产生的进位送进高4位。低位芯片的进位输入端Cn可与外来进位相连,高位芯片的进位输出到外部。 两个芯片的控制端S0~S3 和M 各自相连,其控制电平按表2.6-1。为进行双操作数运算,运算器的两个数据输入端分别由两个数据暂存器DR1、DR2(用锁存器74LS273 实现)来锁存数据。要将内总线上的数据锁存到DR1 或DR2 中,则锁存器74LS273 的控制端LDDR1 或LDDR2 须为高电平。当T4 脉冲来到的时候,总线上的数据就被锁存进DR1 或DR2 中了。 为控制运算器向内总线上输出运算结果,在其输出端连接了一个三态门(用74LS245 实现)。若要将运算结果输出到总线上,则要将三态门74LS245 的控制端ALU-B 置低电平。否则输出高阻态。数据输入单元(实验板上印有INPUT DEVICE)用以给出参与运算的数据。其中,输入开关经过一个三态门(74LS245)和内总线相连,该三态门的控制信号为SW-B,取低电平时,开关上的数据则通过三态门而送入内总线中。 总线数据显示灯(在BUS UNIT 单元中)已与内总线相连,用来显示内总线上的数据。控制信号中除T4 为脉冲信号,其它均为电平信号。 由于实验电路中的时序信号均已连至“W/R UNIT”单元中的相应时序信号引出端,因此,需要将“W/R UNIT”单元中的T4 接至“STATE UNIT”单元中的微动开关KK2 的输出端。在进行实验时,按动微动开关,即可获得实验所需的单脉冲。 S3、S2、 S1、S0 、Cn、M、LDDR1、LDDR2、ALU-B、SW-B 各电平控制信号则使用“SWITCHUNIT”单元中的二进制数据开关来模拟,其中Cn、ALU-B、SW-B 为低电平有效,LDDR1、LDDR2 为高电平有效。 对于单总线数据通路,作实验时就要分时控制总线,即当向DR1、DR2 工作暂存器打入数据时,数据开关三态门打开,这时应保证运算器输出三态门关闭;同样,当运算器输出结果至总线时也应保证数据输入三态门是在关闭状态。 运算结果表

华中科技大学附属协和医院计算机组成原理历年考研真题汇编完整版

华中科技大学附属协和医院计算机组成原理历年考研真题汇编 集团标准化办公室:[VV986T-J682P28-JP266L8-68PNN]

目 录 说明:计算机组成原理科目代码更换频繁,2016年科目代码是961,本书以此为准。 华中科技大学附属协和医院 961计算机组成原理历年考研真题汇编 最新资料,WORD 格式,可编辑修改!

华中理工大学1999硕士入学计算机组成原理真题 一、填空(每空1分,共20分) 1.计算机中数值数据表示长采用的格式有______和______两种。 2.已知十进制数,则相应的二进制数X=______,[X]补=______。 3.若X=-0.X1X2……Xn,则[X]原=______,[-X]补=______。 4.主机与外部设备之间以软件方式控制信息交换的方式有______ 和______。 5.主存储器最小的存取单位是______,而磁盘存储器的最小存取单位是______。 6.一条机器指令的处理过程,宏观上可分作______和______过程。 7.I/O接口按数据传送的宽度可分为______和______两类。 8.总线的控制方式可分为两类,即______和______。 9.多级中断常分为______和______多级中断。 10.DMA控制器含两种类型,一类是______,另一类是______。 二、计算(10分) 1.已知X=-0.01010,Y=0.10101,根据补码不恢复余数除法求[X]补÷[Y]补。(要求完整写出计算过程) 2.若存储芯片容量为128K×8位,求 (1)访问该芯片需要多少位地址 (2)假定该芯片在存储器中首地址为A0000H,求地址应为多少? 三、判断下列各题正误,并说明理由(15分) 1.ALU就是运算器。 2.不使用74182芯片,仅使用16片74181芯片就能构成64位ALU。 3.设置高速缓冲存储器的主要目的是提高存储系统的速度。 4.时序产生器是产生控制信号的部件。 5.所谓记录方式就是磁表面存储器的记忆方式。 四、简答题(16分) 1.冯·诺依曼型计算机的设计思想是什么? 2.CPU对主存进行读写操作,应该分别给出哪些信息? 3.计算机硬件组织由哪几大功能部件组成? 4.半导体只读存储器可分作哪几种类型? 五、论述题(21分) 1.论述磁表面存储器的读写操作原理。 2.试述采用直接表示法微指令的特点。 3.试述微程序控制器设计所采用的技术及设计思想。 六、下图给出了补码加法器,图中A0,B0分别为两个操作数的符号位,A1,B1分别为操作数的最高有效,要求: 1.增加能实现减法运算的逻辑电路,并说明加,减法是任何被控制实现的。 2.增加以变形补码进行运算,并且具有溢出检测功能的逻辑电路。 图4 七、绘出CPU与存储系统的连接框图。并说明CPU访问内存的读写操作原理(注内存包含主存与Cache)

计算机组成原理课程设计报告63979

课程设计报告 课程名称:计算机组成原理 题目名称:复杂模型机的设计与实现 专业名称:计算机科学 18 学生姓名:李佩霖 同组人:聂铭 指导老师:单博炜 完成时间:2014年12月29日至2014年12月31日 目录 第一章课程设计概述 1.1课程设计的教学目的 1.2课程设计任务和基本要求 第二章规定项目的实验验证 2.1任务分析以及解决方案 2.2设计原理 第三章指定应用项目的设计实现

第四章收获和体会 第一章课程设计概述 1.1 课程设计的教学目的 综合运用所学计算机组成原理知识,设计并实现较为完整的计算机。 1.2 课程设计任务和基本要求 在模型机上实现如下运算:从IN单元读入一个数据,根据读入数据的低四位值X,求对应X值的1+2+3+···的整数序列的累加和,X为序列的长度。 要求使用实验机上的复杂模型机设计实验上的数据格式和指令格式、数据通路、微程序流程图设计微程序,并通过手动和联机输入完成实验验证。 第二章规定项目的实验验证 2.1任务分析以及解决方案 考虑到实验任务为计算数的序列的累加和,所以实验过程应该为: 1.学习并掌握微指令的结构以及运算方式。 2根据实验机数据通路的原理框图在实验机上连接线路。 3手动和联机向实验机打入微程序,运行并验证。 2.2设计原理 如图1为模型机数据通路原理框图,图2为微程序流程图。 图1 图2 关于数据格式,模型机规定采用定点补码表示法表示数据,数据字长为8位,8位全部用来表示数据。 关于指令格式,模型机设计3大指令共15条,其中包括运算类指令、控制转移类指令、数据传送类指令。运算类指令包含3种,算术运算、逻辑运算、一位运算,设计有6条运算类指令,分别为:ADD、AND、INC、SUB、OR、RR,所有运算类指令均为单字节指令,寻址方式采用寄存器直接寻址。控制转移类指令有3条,分别为:HLT、JMP、BZC。数据传送类指令有:IN、OUT、MOV、LDI、LAD、STA。

组成原理试题库 有答案版

《计算机组成原理》试题库 选择题 1.一张3.5英寸软盘的存储容量为______,每个扇区存储的固 定数据是______。 A.1.44MB,512B B.1MB,1024BC.2MB,256BD.1.44MB,512KB 2.机器数______中,零的表示形式是唯一的。 A.原码 B.补码 C.校验码 D.反码 3.在计算机中,普遍采用的字符编码是______。 A.BCD码 B.16进制 C.格雷码 D.ASCⅡ码 4.______表示法主要用于表示浮点数中的阶码。 A.原码 B.补码 C.反码 D.移码 5.程序控制类指令的功能是______。 A.改变程序执行的顺序 B.进行主存和CPU之间的数据传送 C.进行CPU和I/O设备之间的数据传送 D.进行算术运算和 逻辑运算 6.EPROM是指______。 A.读写存储器 B.只读存储器 C.光擦除可编程的只读存储器 D.可编程的只读存储器 7.Intel80486是32位微处理器,Pentium是______位微处理器。 A.16 B.32 C.48 D.64 8.CPU主要包括______。

A.控制器 B.控制器、运算器、cache C.运算器和主存 D.控制器、ALU和主存 9.下列数中最大的数是______。 2B.(227)8 C.(98)16D.(152)10 10.以下四种类型指令中,执行时间最长的是______。 A.寄存器—存储器型 B.寄存器—寄存器型 C.存储器-存储器型 D.程序控制指令 11.下列______属于应用软件。 A.操作系统 B.编译系统 C.连接程序 D.文本处理 12.在主存和CPU之间增加cache存储器的目的是______。 A.增加内存容量 B.解决CPU和主存之间的速度匹配问题 C.提高内存可靠性 D.增加内存容量,同时加快存取速度 13.信息只用一条传输线,且采用脉冲传输的方式称为 ______。 A.串行传输 B.并行传输 C.并串行传输 D.分时传输 14.扩展操作码是_____。 A、操作码字段外辅助操作字段的代码 B、指令格式中不同字段设置的操作码 C、操作码的长度随地址数的减少而增加 D、指令系统新增加的操作码 15.下述I/O控制方式中,主要由程序实现的是______。 A.PPU(外围处理机)方式 B.中断方式 C.DMA方式 D.通道方式

计算机组成原理实验报告(运算器组成、存储器)

计算机组成原理实验报告 一、实验1 Quartus Ⅱ的使用 一.实验目的 掌握Quartus Ⅱ的基本使用方法。 了解74138(3:8)译码器、74244、74273的功能。 利用Quartus Ⅱ验证74138(3:8)译码器、74244、74273的功能。 二.实验任务 熟悉Quartus Ⅱ中的管理项目、输入原理图以及仿真的设计方法与流程。 新建项目,利用原理编辑方式输入74138、74244、74273的功能特性,依照其功能表分别进行仿真,验证这三种期间的功能。 三.74138、74244、74273的原理图与仿真图 1.74138的原理图与仿真图 74244的原理图与仿真图

1. 4.74273的原理图与仿真图、

实验2 运算器组成实验 一、实验目的 1.掌握算术逻辑运算单元(ALU)的工作原理。 2.熟悉简单运算器的数据传送通路。 3.验证4位运算器(74181)的组合功能。 4.按给定数据,完成几种指定的算术和逻辑运算。 二、实验电路 附录中的图示出了本实验所用的运算器数据通路图。8位字长的ALU由2片74181构成。2片74273构成两个操作数寄存器DR1和DR2,用来保存参与运算的数据。DR1接ALU的A数据输入端口,DR2接ALU的B数据输入端口,ALU的数据输出通过三态门74244发送到数据总线BUS7-BUS0上。参与运算的数据可通过一个三态门74244输入到数据总线上,并可送到DR1或DR2暂存。 图中尾巴上带粗短线标记的信号都是控制信号。除了T4是脉冲信号外,其他均为电位信号。nC0,nALU-BUS,nSW-BUS均为低电平有效。 三、实验任务 按所示实验电路,输入原理图,建立.bdf文件。 四.实验原理图及仿真图 给DR1存入01010101,给DR2存入10101010,然后利用ALU的直通功能,检查DR1、

华中科技大学计算机组成原理慕课答案

一、单项选择题 1、下列说法中,错误的是( B ) A.固件功能类似软件,形态类似硬件 B.寄存器的数据位对微程序级用户透明 C.软件与硬件具有逻辑功能的等效性 D.计算机系统层次结构中,微程序属于硬件级 2、完整的计算机系统通常包括( A ) A.硬件系统与软件系统 B.运算器、控制器、存储器 C.主机、外部设备 D.主机和应用软件 3、CPU地址线数量与下列哪项指标密切相关( B ) A.运算精确度 B.内存容量 C.存储数据位 D.运算速度 4、下列属于冯?诺依曼计算机的核心思想是( C ) A.采用补码 B.采用总线 C.存储程序和程序控制 D.存储器按地址访问 5、计算机中表示地址时使用( A )

A.无符号数 B.反码 C.补码 D.原码 6、当-1 < x < 0 时,[x] 补=(C ) A. x B.1-x C.2+x D.2-x 7、假设寄存器为8 位,用补码形式存储机器数,包括一位符号位, 那么十进制数一25 在寄存器中的十六进制形式表示为( C ) A.99H B.67H C.E7H D.E6H 8、如果某系统15*4=112 成立,则系统采用的进制是( C ) A.9 B.8 C.6 D.7 9、某十六进制浮点数A3D00000中最高8 位是阶码(含 1 位阶符),尾数是最低24 位(含1 位数符),若阶码和尾数均采用补码,则该浮

点数的十进制真值是( A ) A.-0.375 ×2^(-93) B.-0.375 ×2^(-35) C. -0.625 ×2^(-93) D.0.625 ×2^(-35) 10、存储器中地址号分别为1000#、1001#、1002#、1003 的4 个连续存储单元,分别保存的字节数据是1A、2B、3C、4D,如果数据字长为32 位, 存储器采用的是小端对齐模式,则这4 个存储单元存储的数据值应被解析为( A ) A.4D3C2B1A B.A1B2C3D4 C.D4C3B2A1 D.1A2B2C3D 11、字长8 位的某二进制补码整数为11011010,则该数的标准移码是(B ) A.11011010 B.01011010 C.00111010 D.10111010 12、对于IEEE754格式的浮点数,下列描述正确的是( D ) A.阶码和尾数都用补码表示 B.阶码用移码表示,尾数用补码表示

计算机组成原理课程设计报告完整版

计算机组成原理课程设计报告 班级:06计算机 6 班姓名:李凯学号:20063007 完成时间:2009年1月3日 一、课程设计目的 1.在实验机上设计实现机器指令及对应的微指令(微程序)并验证,从而进一步掌握微程序设计控制器的基本方法并了解指令系统与硬件结构的对应关系; 2.通过控制器的微程序设计,综合理解计算机组成原理课程的核心知识并进一步建立整机系统的概念; 3.培养综合实践及独立分析、解决问题的能力。 二、课程设计的任务 针对COP2000实验仪,从详细了解该模型机的指令/微指令系统入手,以实现乘法和除法运算功能为应用目标,在COP2000的集成开发环境下,设计全新的指令系统并编写对应的微程序;之后编写实现乘法和除法的程序进行设计的验证。 三、课程设计使用的设备(环境) 1.硬件 ●COP2000实验仪 ●PC机 2.软件 ●COP2000仿真软件 四、课程设计的具体内容(步骤) 1.详细了解并掌握COP 2000模型机的微程序控制器原理,通过综合实验来实现该模型机指令系统的特点: COP2000模型机包括了一个标准CPU所具备所有部件,这些部件包括:运算器ALU、

累加器A、工作寄存器W、左移门L、直通门D、右移门R、寄存器组R0-R3、程序计数器PC、地址寄存器MAR、堆栈寄存器ST、中断向量寄存器IA、输入端口IN、输出端口寄存器OUT、程序存储器EM、指令寄存器IR、微程序计数器uPC、微程序存储器uM,以及中断控制电路、跳转控制电路。其中运算器和中断控制电路以及跳转控制电路用CPLD来实现,其它电路都是用离散的数字电路组成。微程序控制部分也可以用组合逻辑控制来代替。 模型机为8位机,数据总线、地址总线都为8位,但其工作原理与16位机相同。相比而言8位机实验减少了烦琐的连线,但其原理却更容易被学生理解、吸收。 模型机的指令码为8位,根据指令类型的不同,可以有0到2个操作数。指令码的最低两位用来选择R0-R3寄存器,在微程序控制方式中,用指令码做为微地址来寻址微程序存储器,找到执行该指令的微程序。而在组合逻辑控制方式中,按时序用指令码产生相应的控制位。在本模型机中,一条指令最多分四个状态周期,一个状态周期为一个时钟脉冲,每个状态周期产生不同的控制逻辑,实现模型机的各种功能。模型机有24位控制位以控制寄存器的输入、输出,选择运算器的运算功能,存储器的读写。24位控制位分别介绍如下: XRD :外部设备读信号,当给出了外设的地址后,输出此信号,从指定外设读数据。 EMWR:程序存储器EM写信号。 EMRD:程序存储器EM读信号。 PCOE:将程序计数器PC的值送到地址总线ABUS上。 EMEN:将程序存储器EM与数据总线DBUS接通,由EMWR和EMRD决定是将DBUS数据写到EM中,还是从EM读出数据送到DBUS。 IREN:将程序存储器EM读出的数据打入指令寄存器IR和微指令计数器uPC。 EINT:中断返回时清除中断响应和中断请求标志,便于下次中断。 ELP: PC打入允许,与指令寄存器的IR3、IR2位结合,控制程序跳转。 MAREN:将数据总线DBUS上数据打入地址寄存器MAR。 MAROE:将地址寄存器MAR的值送到地址总线ABUS上。 OUTEN:将数据总线DBUS上数据送到输出端口寄存器OUT里。 STEN:将数据总线DBUS上数据存入堆栈寄存器ST中。 RRD:读寄存器组R0-R3,寄存器R?的选择由指令的最低两位决定。 RWR:写寄存器组R0-R3,寄存器R?的选择由指令的最低两位决定。

组成原理复习题

一、单项选择题 1.CPU包括()两部分。 A.ALU和累加器 B.ALU和控制器 C.运算器和控制器 D.ALU 和主存储器 2.CPU与主存合称为()。 A、中央处理器 B、微机 C、主机 D、接口 3.下列数值中与二进制数10000相等的是()。 A.10 B. 10BCD C.0FH D.10Q 4、在8421码表示的二一十进制数中,代码1001表示()。 A、3 B、6 C、9 D、1 5.若某数的二进制编码为0010101,采用奇校验后,该数的校验码为()。 A.10010101 B. 00010101 C.00110101 D.00101001 6.用8位二进制数补码整数的表示范围,其所能表示的数据个数分别为()。 A.-128~127 B.-127~127 C.-127~128 D.-128~128 7、定点数作加减运算时,其符号位与数位一起参与运算的编码是()。 A、原码与补码 B、补码与反码 C、反码与原码 D、原码8.定点数作加减运算时,其符号位与数位一起参与运算的编码是()。 A.原码与补码 B.补码与反码 C.反码与原码 D.原码 9、在浮点数表示中,为保持真值不变,尾数向右移2位,阶码要()。 A、加1 B、减1 C、加2 D、减2 10.浮点数的尾数右移2位,为了保证其值不变,阶码要()。 A.左移1位 B.右移1位 C.左移2位 D.右移2位11.若某数的二进制编码为0010101,采用奇校验后,该数的校验码为()。 A.10010101 B. 00010101 C.00110101 D.00101001 12.用于表示下一条将要执行的指令的地址寄存器为()。 A.AC B.IR C.DR D.PC 13.设[X]补=10000000,则X的真值为()。

组成原理课程设计报告.

《计算机组成原理》 课 程 设 计 报 告 院系名称计算机科学与工程学院 班级 姓名 学号 指导教师

题目一 1. 问题描述 设计一个具有加法和直接寻址方式的模型机 (1)设计内容: 设计一台具有输入、输出、加法、存储和跳转功能的模型计算机,并写出工作程序和测试数据验证有设计的指令系统。 (2)设计要求: 所设计模型计算机的指令系统共包含五条机器指令:IN(输入)、OUT(输出)、ADD (加法)、STA(存数)、JMP(无条件转移)。STA和JMP为直接寻址。 2. 题目分析及设计原理 通过IN单元输入数据送R0寄存器,然后寄存器和自身相加,再将结果保存到存储器并送OUT单元显示出来,最后无条件跳转,又重复执行。 结合数据通路图设计指令。 数据通路图

注意读写逻辑控制信号的控制。读写控制逻辑如下: 3.指令设计及编码 模型机的指令系统及指令格式如下: 助记符机器指令码说明 IN RD,P XXXX XX RD p IN->RD ADD RD,RS,D XXXX RS RD RS+RD->RD STA M D,RD XXXX M RD D R0->E OUT P,RS XXXX RS XX P RS->LED JMP M D XXXX M XX D E->PC 指令格式为: 指令编码为:

;//************Start Of Main Memory Data******// $P 00 20 ;START:IN R0 从IN单元读入数据送R0 $P 01 00 ;ADD R0,RO 和自身相加,结果送 $P 02 10 ;STA 将结果存入主存 $P 03 80 ;OUT R0 输出结果 $P 04 E0 ;JMP START 跳转到00单元 $P 05 00 $P 06 50 ;HLT 停机 ;//************End Of Main Memory Data******// 4.微指令设计及编码 微指令格式 23 22 21 20 10 18-15 14-12 11-9 8-6 5-0 M23 CN WR RD IOM S3-S0 A字段B字段C字段MA5-MA0 微指令数据流程图

组成原理 试题及答案

1. 用ASCII码(七位)表示字符5和7是(1) ;按对应的ASCII码值来比较(2) ;二进制的十进制编码是(3) 。 (1) A. 1100101和1100111 B. 10100011和01110111 C. 1000101和1100011 D. 0110101和0110111 (2) A.“a”比“b”大 B.“f”比“Q”大 C. 空格比逗号大 D.“H”比“R”大 (3) A. BCD码 B. ASCII码 C. 机内码 D. 二进制编码 2. 运算器由许多部件组成,但核心部件应该是________。 A. 数据总线 B. 数据选择器 C. 算术逻辑运算单元 D 累加寄存器。 3. 对用户来说,CPU 内部有3个最重要的寄存器,它们是。 A. IR,A,B B. IP,A,F C. IR,IP,B D. IP,ALU,BUS 4. 存储器是计算机系统中的记忆设备,它主要用来。 A. 存放程序 B. 存放数据 C. 存放微程序 D. 存放程序和数据 5. 完整的计算机系统由组成。 A. 主机和外部设备 B. 运算器、存储器和控制器 C. 硬件系统和软件系统 D. 系统程序和应用程序 6.计算机操作系统是一种(1) ,用于(2) ,是(3) 的接口。 (1) A. 系统程序 B. 应用程序 C. 用户程序 D. 中间程序 (2) A.编码转换 B. 操作计算机 C. 控制和管理计算机系统的资源 D. 把高级语言程序翻译成机器语言程序 (3) A. 软件和硬件 B. 主机和外设 C. 用户和计算机 D. 高级语言和机器语言机 7.磁盘上的磁道是 (1) ,在磁盘存储器中查找时间是 (2) ,活动头磁盘存储器的平均存取时间是指 (3) ,磁道长短不同,其所存储的数据量 (4) 。 (1) A. 记录密度不同的同心圆 B. 记录密度相同的同心圆 C. 阿基米德螺线 D. 随机同心圆 (2) A. 磁头移动到要找的磁道时间 B. 在磁道上找到扇区的时间 C. 在扇区中找到数据块的时间 D. 以上都不对 (3) A. 平均找道时间 B. 平均找道时间+平均等待时间 C. 平均等待时间 D. 以上都不对 (4) A. 相同 B.长的容量大 C. 短的容量大 D.计算机随机决定 8. 中断向量地址是。 A.子程序入口地址 B.中断服务子程序入口地址

计算机组成原理实验报告

计算机组成原理实验报告 ——微程序控制器实验 一.实验目的: 1.能瞧懂教学计算机(TH-union)已经设计好并正常运行的数条基本指令的功能、格式及执 行流程。并可以自己设计几条指令,并理解其功能,格式及执行流程,在教学计算机上实现。 2.深入理解计算机微程序控制器的功能与组成原理 3.深入学习计算机各类典型指令的执行流程 4.对指令格式、寻址方式、指令系统、指令分类等建立具体的总体概念 5.学习微程序控制器的设计过程与相关技术 二.实验原理: 微程序控制器主要由控制存储器、微指令寄存器与地址转移逻辑三大部分组成。 其工作原理分为: 1、将程序与数据通过输入设备送入存储器; 2、启动运行后从存储器中取出程序指令送到控制器去识别,分析该指令要求什么事; 3、控制器根据指令的含义发出相应的命令(如加法、减法),将存储单元中存放的操作数据取出送往运算器进行运算,再把运算结果送回存储器指定的单元中; 4、运算任务完成后,就可以根据指令将结果通过输出设备输出 三.微指令格式: 其中高八位为下地址字段、其余各位为控制字段、 1)微地址形成逻辑 TH—UNION 教学机利用器件形成下一条微指令在控制器存储器的地址、 下地址的形成由下地址字段及控制字段中的CI3—SCC控制、当为顺序执行时,下地址字段不起作用、下地址为当前微指令地址加1;当为转移指令(CI3—0=0011)时,由控制信号SCC 提供转移条件,由下地址字段提供转移地址、 2)控制字段 控制字段用以向各部件发送控制信号,使各部件能协调工作。 控制字段中各控制信号有如下几类: ①对运算器部件为了完成数据运算与传送功能,微指令向其提供了24位的控制信号,包括:4位的A、B口地址,用于选择读写的通用积存器3组3位的控制码I8-I6、 I5-I3、I2-I6,用于选择结果处置方案、运算功能、数据来源。 3组共7位控制信号控制配合的两片GAL20V8 3位SST,用于控制记忆的状态标志位 2位SCI,用于控制产生运算器低位的进位输入信号 2位SSH,用于控制产生运算器最高,最地位(与积存器)移位输入信号 ②对内存储器I/O与接口部件,控制器主要向它们提供读写操作用到的全部控制信号,共3位,即MRW

计算机组成原理课程设计报告

计算机组成原理课程设 计报告 文件编码(008-TTIG-UTITD-GKBTT-PUUTI-WYTUI-8256)

南通大学计算机科学与技术学院计算机组成原理课程设计 报告书 课题名模型计算机的设计与实现 班级计123班 姓名流星雪雨 学号 指导教师顾辉 日期

目录

1 设计目的 1.融会贯通教材各章的内容,通过知识的综合运用,加深对计算机系统各模块的工作原理及相互联系的认识,加深计算机工作中“时间-空间”概念的理解,从而清晰地建立计算机的整机概念。 2.学习设计和调试计算机的基本步骤和方法,培养科学研究的独立工作能力,取得工程设计和调试的实践和经验。 2 设计内容 1.根据给定的数据格式和指令系统,设计一台微程序控制的模型计算机。 2.根据设计图,在QUARTUS II环境下仿真调试成功。 3.在调试成功的基础上,整理出设计图纸和相关文件,包括: (1)总框图(数据通路图); (2)微程序控制器逻辑图; (3)微程序流程图; (4)微程序代码表; (5)设计说明书及工作小结。 3 设计要求 (1)对指令系统中的各条指令进行分析,得出所需要的占领周期与操作序列,以便确定各器件的类型和数量; (2)设计总框图草图,进行各逻辑部件之间的互相连接,即初步确定数据通路,使得由指令系统所要求的数据通路都能实现,并满足技术指标的要求;

(3)检查全部指令周期的操作序列,确定所需要的控制点和控制信号;(4)检查所设计的数据通路,尽可能降低成本,简化线路,优化性能。以上过程可以反复进行,以便得到一个较好的方案。 4 数据格式与指令系统 数据格式 数据字规定采用定点整数补码表示法,字长8位,其中最高位为符号位,其格式如下: 7 6 5 4 3 2 1 指令系统 本实验设计使用5条机器指令,其格式与功能说明如下: 7 6543210 IN ADD STA OUT JMP IN指令为单字长(字长为8bits)指令,其功能是将数据开关的8位数据输入到R0寄存器。 ADD指令为双字长指令,第一个字为操作码,第二个字为操作数地址,其功能是将R0寄存器的内容与内存中地址为A的数相加,结果存放

计算机组成原理实验报告册

实验一监控程序与汇编实验 实验时间:第周星期年月日节实验室:实验台: (以上部分由学生填写,如有遗漏,后果由学生本人自负) 1、实验目的 1)了解教学计算机的指令格式、指令编码、选择的寻址方式和具体功能。 2)了解汇编语言的语句与机器语言的指令之间的对应关系,学习用汇编语言设计程序的过程和方法。 3)学习教学机监控程序的功能、监控命令的使用方法,体会软件系统在计算机组成中的地位和作用。 2、实验平台 硬件平台:清华大学TEC-XP实验箱的MACH部分 软件平台:监控程序、PC端指令集仿真软件 3、实验要求 1)学习联机使用TEC-XP 教学实验系统和仿真终端软件; 2)使用监控程序的R 命令显示/修改寄存器内容、D 命令显示存储器内容、E 命令修改存储器内容; 3)使用A 命令写一小段汇编程序,使用U命令观察汇编码与机器码之间的关系,用G 命令连续运行该程序,用T命令单步运行并观察程序单步执行情况。 **代码不得写到0000——1FFF的地址单元中,如有违反将被取消当堂成绩 4、操作步骤及实验内容 1)实验箱功能开关设置及联机操作: 1. 将实验箱COM1口与PC机相连; 2. 设置功能状态开关为00110; 3. 于PC端运行; 4. 按RESET,START键,若PC端出现如下输出(如图所示),则操作成功; 图 2)仿真软件相关操作: 1. 在项目文件夹找到并启动; 图

2. 点击文件-启动监控程序; 图 4.若PC端出现如下输出(如图所示),则操作成功; 图 3)理解下列监控命令功能: A、U、G、R、E、D、T 1. A命令:完成指令汇编操作,把产生的指令代码放入对应的内存单元中,可连 续输入。不输入指令直接回车,则结束A命令(如图所示); 图 2. U命令:从相应的地址反汇编15条指令,并将结果显示在终端屏幕上(如图所 示); 图 注:连续使用不带参数的U命令时,将从上一次反汇编的最后一条语句之后接着继续反汇编。 3. G命令:从指定(或默认)的地址运行一个用户程序(如图所示); 图 4. R命令:显示、修改寄存器内容,当R命令不带参数时,显示全部寄存器和状 态寄存器的值(如图所示); 图 5. E命令:从指定(或默认)地址逐字显示每个内存字的内容,并等待用户打入 一个新的数值存回原内存单元(如图所示); 图 6. D命令:从指定(或默认)地址开始显示内存120个存储字的内容(如图所示);

相关主题
文本预览
相关文档 最新文档