计算机组成原理大作业定稿版
计算机组成原理作业练习题

第四章作业1填空题1. 计算机中的存储器是用来存放数据和程序的,随机访问存储器的访问速度与储存单元的物理位置无关。
2. 对存储器的访问包括_直接访问_和_串行访问_两类。
3. 2计算机系统中的存储器分为内存_和_外存_。
在CPU执行程序时,必须将指令存在_内存③____中。
4. 主存储器的性能指标主要是储存容量、存取速度②、存储周期和存储器带宽。
5. 存储器中用单元地址号来区分不同的存储单元,1GB=②KB。
6. 半导体存储器分为①、②、只读存储器(ROM)和相联存储器等。
7. RAM的访问时间与存储单元的物理位置①,任何存储单元的内容都能被②8. 存储揣芯片由①、②、地址译码和控制电路等组成。
9. 地址译码分为①方式和②方式。
10.双译码方式采用①个地址译码器,分别产生②和③信号。
11.若RAM芯片内有1024个单元,用单译码方式,地址译码器将有①条输出线;用双译码方式,地址译码器有②条输出线。
12.静态存储单元是由晶体管构成的①,保证记忆单元始终处于稳定状态,存储的信息不需要②。
存储器芯片并联的目的是为了①,串联的目的是为了②。
14.计算机的主存容量与①有关,其容量为②。
1. 要组成容量为4MX8位的存储器,需要①片4MXl位的存储器芯片并联,或者需要②片1MX3的存储器芯片串联。
16.内存储器容量为256K时,若首地址为00000H,那么末地址的十六进制表示是17.主存储器一般采用①存储器件,它与外存比较存取速度②、成本③。
18.三级存储器系统是指______这三级:19.表示存储器容量时KB=_①_,MB=_②_;表示硬盘容量时,KB=③,MB=④。
20.只读存储器ROM可分为①、②、③和④四种。
21.SRAM是①;DRAM是②;ROM是③;EPROM是④。
22.半导体SRAM靠①存储信息,半导体DRAM则是靠②存储信息。
23.广泛使用的①和②都是半导体③存储器。
前者的速度比后者快,但④不如后者高,它们的共同缺点是断电后⑤保存信息。
计算机组成原理习题及答案

简答题1.什么是存储程序原理?按此原理,电脑应具有哪几大功能?1.答:存储程序原理是用户事先编号的程序先存入主存中,然后CPU在从主存中取出指令、运行指令。
按此原理,电脑应具有输入输出设备,即能把程序和数据通过输入输出设备送入主存中;还应具有存储设备,即内存能存储程序和数据;最后应具有控制器和运算器,即CPU能从主存中取出程序和数据,并按顺序一条一条取出、执行。
2.存储器与CPU连接时,应考虑哪些问题?2.答:应考虑〔1〕合理选择存储芯片,要考虑芯片的类型和数量尽量使连线简单方便;〔2〕地址线的连接,将CPU地址线的低位与存储芯片的地址线相连,以选择芯片中的某一单元,儿高位则在扩充存储芯片时用,用来选择存储芯片;〔3〕数据线的连接,CPU的数据线与存储芯片的数据线不一定相等,相等时可直接连接,不相等时要对存储芯片进行扩位,使其相等连接;〔4〕读/写控制线的连接,高电平为读,低电平为写;〔5〕片选线的连接,CPU的高位地址来产生片选信号。
3.什么叫地址重叠区,什么情况下会产生地址重叠区?3.答:存储系统中的某些存储单元有多个地址,这种现象叫地址重叠区。
原因是,存储系统是由多个芯片组成的,在产生片选信号时,如果只用部分高位地址来产生片选信号,则有一部分高位地址线没用,这样这部分地址线的值就不确定,可以为0也可以为1,所以存储芯片的地址空间也不确定了,出现了重复值,产生了地址重叠区。
4.什么叫“对准字”和“未对准字”,CPU对二者的访问有何不同?4.答:CPU访问的数据类型有字节,半字,字和双字。
假设字长为32位,则字节8位,半字16位,字32位,双字64位。
对准字就是存储这四种数据类型时,字节的起始地址任意,半字的起始地址为2的倍数,字的起始地址为4的倍数,双字的起始地址为8的倍数。
未对准字就是四种数据类型在存储时都任意,无论从哪个存储单元开始都可以。
CPU访问对准字只要一个存储周期就行了,因为对准字都在同一行,能同时选中;访问未对准字需要多个存取周期,引文他们对应的存储单元可能不在同一行。
(完整版)计算机组成原理作业讲解1_4章答案解析

1.1 概述数字计算机的发展经过了哪几个代?各代的基本特征是什么?略。
1.2 你学习计算机知识后,准备做哪方面的应用?略。
1.3 试举一个你所熟悉的计算机应用例子。
略。
1.4 计算机通常有哪些分类方法?你比较了解的有哪些类型的计算机?略。
1.5 计算机硬件系统的主要指标有哪些?答:机器字长、存储容量、运算速度、可配置外设等。
答:计算机硬件系统的主要指标有:机器字长、存储容量、运算速度等。
1.6 什么是机器字长?它对计算机性能有哪些影响?答:指CPU一次能处理的数据位数。
它影响着计算机的运算速度,硬件成本、指令系统功能,数据处理精度等。
1.7 什么是存储容量?什么是主存?什么是辅存?答:存储容量指的是存储器可以存放数据的数量(如字节数)。
它包括主存容量和辅存容量。
主存指的是CPU能够通过地址线直接访问的存储器。
如内存等。
辅存指的是CPU不能直接访问,必须通过I/O接口和地址变换等方法才能访问的存储器,如硬盘,u盘等。
1.8 根据下列题目的描述,找出最匹配的词或短语,每个词或短语只能使用一次。
(1)为个人使用而设计的计算机,通常有图形显示器、键盘和鼠标。
(2)计算机中的核心部件,它执行程序中的指令。
它具有加法、测试和控制其他部件的功能。
(3)计算机的一个组成部分,运行态的程序和相关数据置于其中。
(4)处理器中根据程序的指令指示运算器、存储器和I/O设备做什么的部件。
(5)嵌入在其他设备中的计算机,运行设计好的应用程序实现相应功能。
(6)在一个芯片中集成几十万到上百万个晶体管的工艺。
(7)管理计算机中的资源以便程序在其中运行的程序。
(8)将高级语言翻译成机器语言的程序。
(9)将指令从助记符号的形式翻译成二进制码的程序。
(10)计算机硬件与其底层软件的特定连接纽带。
供选择的词或短语:1、汇编器2、嵌入式系统3、中央处理器(CPU)4、编译器5、操作系统6、控制器7、机器指令8、台式机或个人计算机9、主存储器 10、VLSI答:(1)8,(2)3,(3)9,(4)6,(5)2,(6)10,(7)5,(8)4,(9)1,(10)7计算机系统有哪些部分组成?硬件由哪些构成?答:计算机系统硬件系统和软件系统组成。
计算机组成原理综合作业

计算机组成原理作业习题集

计算机组成原理作业习题集名词解释:1、主机2、CPU3、主存4、存储单元5、存储元件6、存储字7、存储字长8、存储容量9、机器字长10、指令字长11、PC12、IR13、CU14、ALU15、ACC16、MQ17、MAR18、MDR19、I/O20、MIPS1、说明计算机更新换代的依据。
2、设想计算机的未来。
名词解释:1、总线2、系统总线3、总线宽度4、总线带宽5、时钟同步/异步6、总线复用7、总线周期8、总线的通信控制9、同步通信10、比特率11、分散连接12、总线连接13、存储总线14、I/O总线15、片内总线16、数据总线17、地址总线18、通信总线19、串行通信20、并行通信1、什么是全相联映射?2、什么是近期最少使用算法?3、什么是EPROM?4、CACHE的特点是什么?5、什么是动态存储器刷新?6、半导体动态RAM和静态RAM存储特点最主要的区别是什么?7、计算机的存储器采用分级存储体系的主要目的是什么?8、有一主存—CACHE层次的存储器,其主存容量1MB,CACHE容量是64KB,每块8KB,若采用直接映射方式,(1)写出主存的地址和CACHE 地址格式,(2)计算主存的地址各部分的位数。
(3)主存地址为25301H 的单元在主存的那一块,映射到CACHE的那一块?9、有一个组相联映像CACHE由64个存储块构成,每组包含4个存储块,主存包含4096个存储块,每块由128字节组成,(1)写出主存的地址和CACHE地址格式(2)计算CACHE和主存地址各部分的位数。
(3)主存地址为48AB9H的单元在主存的那一块,映射到CACHE的那一块?10、现有8K×8位的ROM芯片和8K×4位的RAM芯片组成存储器,按字节编址,其中RAM的地址为2000H~5FFFH,ROM的地址为A000H~DFFFH,(1)写出需要几片芯片组成此存储器。
(2)画出此存储器结构图及与CPU的连接图。
哈尔滨工业大学计算机学院计算机组成原理大作业——微程序控制单元CU

完全原创,品质保证计算机组成原理大作业——设计实现控制单元CU1120310xxx xxxx微程序设计控制单元的主要任务是编写对应各条机器指令的微程序,具体步骤是首先写出对应机器指令的全部微操作及节拍安排,然后确定微指令格式,最后编写出每条微指令的二进制代码(称为微指令码点)。
写出对应机器指令的微操作及节拍安排不考虑简介寻址和中断的情况。
下面分别按取指阶段和执行阶段列出其微操作序列。
(1)取指阶段的微操作及节拍安排T0PC->MAR, 1->RT1 M(MAR)->MDR, (PC)+1->PCT2MDR->IR, OP(IR)->微地址形成部件(编码器:指令码->微地址)(此步为组合逻辑,自动完成,不需要控制信号)(2)执行阶段的微操作及节拍安排执行阶段的微操作由操作码性质而定,同时也需要考虑下地址的形成问题。
1)CLA指令T00->AC2)COM指令T0~AC->AC3)SHR指令T0 L(AC)->R(AC), AC0->AC04)CSL指令T0 R(AC)->L(AC), AC0->ACn5)STP指令T0 0->G6)ADD指令T0Ad(IR)->MAR, 1->RT1 M(MAR)->MDRT2(AC)+(MDR)->AC7)STA指令T0Ad(IR)->MAR, 1->WT1 AC->MDRT2MDR->M(MAR)8)LDA指令T0Ad(IR)->MAR, 1->RT1 M(MAR)->MDRT2MDR->AC9)JMP指令T0Ad(IR)->PC10)BAN指令T0A0*Ad(IR)+~A0*(PC)->PC确定微指令格式微指令的格式包括微指令的编码方式、下地址的形成方式和指令字长3方面。
(1)微指令的编码方式直接编码。
计算机组成原理部分作业答案

2) 相对寻址: EA = 2B00H + 3FH = 2B3FH
补充, 如果指令地址码部分是:8FH EA = 2B00H + FF8FH = 2A8FH
5.3 接上题。
(1)设变址编址用于取指令,相对编址用于转移指令,存储器内存放 的内容如下:
译码最小单位确定,首先确定芯片的最小地址空间= A12…A0,为了今后扩充芯 片的灵活性,将剩余的地址线全部参加译码,CPU地址线是A15…A0,减去芯片的 地址线,剩余的地址线为A15 、A14 、A13,(如果剩余4根地址线,就采用4-16译 码),采用3-8译码,所以将整个CPU的64KB(A15…A0)地址空间平均分割为8个8KB 空间(8×8KB=64KB)。
000001
够减商上1
00.11010
000010
左移
+ 11.00001
+ [-Y]补
11.11011
000010
不够减,商上0
11.10110
000100
左移
+ 00.11111
+ [Y]补
00.10101
000101
够减商上1
01.01010
001010
左移
• 被除数(余数) 01.01010
解: 部分积
乘数
附加位
00 0000
11010
0
+ 00 0000
00 0000
00 0000
01101
0
+ 11 0110
11 0110
11 1011
《计算机组成原理》作业答案

计算机组成原理作业11、下面给出的几个十进制的数化成二进制的数(无法精确表示时,小数点后取3位)、八进制的数、十进制的数:7+3/4 -23/64 27.5 -125.9375 5.43参考答案:十进制数二进制数八进制数十六进制数7+3/4 111.11 7.6 7.C-23/64 -0.010111 -0.27 -0.5C27.5 11011.1 33.4 1B.8-125.9375 -1111101.1111 -175.74 -7D.F5.43 101.011 5.3 5.682、下面给出的几种不同进制(以下标形式给出在右括号之后)的数化成十进制的数:(1010.0101)2,-(101101111.101)2,(23.47)8,-(1A3C.D)16参考答案:(1010.0101) 2= (10.3125)10- (101101111.101)2= -(357.625)10(23.47) 8= (19+39/64)10- (1A3C.D) 16= -(6716+13/16)103、写出下面两组数的原、反、补码表示,并用补码计算每组数的和、差。
双符号位的作用是什么?它只出现在什么电路之处?⑴X=0.1101 Y=-0.0111⑵X=10111101 Y=-00101011参考答案:十进制数原码表示反码表示补码表示X+Y X-Y0.1101 00 1101 00 1101 00 1101 00 0110 01 11000.0111 11 0111 11 1000 11 1001 0.0110 溢出10111101 00 10111101 00 10111101 00 10111101 00 10010010 (和)-00101011 11 00101011 11 11010100 11 11010101 00 11101000 (差)双符号位用于简化补码加减运算时的判别溢出,它只出现在ALU的符号运算之处。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机组成原理大作业 HUA system office room 【HUA16H-TTMS2A-HUAS8Q8-HUAH1688】计算机组成原理大作业院(系):物联网工程学院专业: 计算机科学与技术班级:学号:姓名:摘要1.计算机硬件系统:到目前为止,计算机仍沿用由冯.诺依曼首先提出的基于总线的计算机硬件系统。
其基本设计思想为:a.以二进制形式表示指令和数据。
b.程序和数据事先存放在存储器中,计算机在工作时能够高速地从存储器中取出指令加以执行。
c.由运算器、控制器、存储器、输入设备和输出设备等五大部件组成计算机硬件系统。
2.计算机软件系统:所谓软件,就是为了管理、维护计算机以及为完成用户的某种特定任务而编写的各种程序的总和。
计算机的工作就是运行程序,通过逐条的从存储器中取出程序中的指令并执行指令所规定的操作而实现某种特定的功能。
微型计算机的软件包括系统软件和用户(应用)软件。
关键词:计算机系统硬件存储器控制器运算器软件目录摘要 (2)第一章总体设计 (4)问题描述 (4)实验环境 (4)软件介绍 (4)模块介绍 (4)实验目的 (5)实验内容 (5)第二章原理图 (6)第三章管脚分配 (7)第四章微程序设计 (8)1. alu_74181 (8)2. romc (9)第一章总体设计问题描述从两个reg_74244中分别取出两数经过总线,各自分别到达两个寄存器reg_74373,再由两个寄存器到达运算器alu_74181,在运算器里经过运算得出结果,结果再由总线传输进入另外的一个寄存器reg_74373,输出。
实验环境软件介绍ISE的全称为Integrated Software Environment,即“集成软件环境”,是Xilinx公司的硬件设计工具。
它可以完成FPGA开发的全部流程,包括设计输入、仿真、综合、布局布线、生成BIT文件、配置以及在线调试等,功能非常强大。
ISE除了功能完整,使用方便外,它的设计性能也非常好,拿ISE 9.x来说,其设计性能比其他解决方案平均快30%,它集成的时序收敛流程整合了增强性物理综合优化,提供最佳的时钟布局、更好的封装和时序收敛映射,从而获得更高的设计性能。
模块介绍微程序控制器微程序控制器是一种控制器,同组合逻辑控制器相比较,具有规整性、灵活性、可维护性等一系列优点,因而在计算机设计中逐渐取代了早期采用的组合逻辑控制器,并已被广泛地应用。
在计算机系统中,微程序设计技术是利用软件方法来设计硬件的一门技术。
微程序控制的基本思想,就是仿照通常的解题程序的方法,把操作控制信号编成所谓的“微指令”,存放到一个只读存储器里。
当机器运行时,一条又一条地读出这些微指令,从而产生全机所需要的各种操作控制信号,使相应部件执行所规定的操作。
采用微程序控制方式的控制器称为微程序控制器。
所谓微程序控制方式是指微命令不是由组合逻辑电路产生的,而是由微指令译码产生。
一条机器指令往往分成几步执行,将每一步操作所需的若干位命令以代码形式编写在一条微指令中,若干条微指令组成一段微程序,对应一条机器指令。
在设计CPU时,根据指令系统的需要,事先编制好各段微程序,且将它们存入一个专用存储器(称为控制存储器)中。
微程序控制器由指令寄存器IR、程序计数器PC、程序状态字寄存器PSW、时序系统、控制存储器CM、微指令寄存器以及微地址形成电路、微地址寄存器等部件组成。
执行指令时,从控制存储器中找到相应的微程序段,逐次取出微指令,送入微指令寄存器,译码后产生所需微命令,控制各步操作完成。
算术逻辑单元ALU算术逻辑单元ALU集成了各种算术运算和逻辑运算部件的功能,包括加、减、乘、除等数值运算、逻辑运算、移位运算等。
把这些功能集成在一个逻辑部件ALU之中,使得ALU具有算术运算和逻辑运算功能。
这种设计方法可以使得功能比较紧凑,简化对逻辑运算部件和算术运算部件的使用。
同时还能最大限度的复用某些逻辑部件,从而减少逻辑电路的使用。
某些处理器中,将ALU切分为两部分,即算术单元(AU)与逻辑单元(LU)。
某些处理器包含一个以上的AU,如,一个用来进行定点操作,另一个进行浮点操作。
(个人计算机中,浮点操作有时由被称为数字协处理器的浮点单元完成)。
通常而言,ALU具有对处理器控制器、内存及输入输出设备的直接读入读出权限。
输入输出是通过总线进行的。
输入指令包含一个指令字,有时被称为机器指令字,其中包括操作码,单个或多个操作数,有时还会有格式码;操作码指示ALU机要执行什么操作,在此操作中要执行多少个操作数。
比如,两个操作数可以进行比较,也可以进行加法操作。
格式码可与操作码结合,告知这是一个定点还是浮点指令;输出包括存放在存储寄存器中的结果及显示操作是否成功的设置。
如操作失败,则在机器状态字中会有相应的状态显示。
实验目的1. 通过控制器的微程序设计,综合理解计算机组成原理课程的核心知识并进一步建立整机系统的概念。
2. 培养综合实践及独立分析、解决问题的能力。
实验内容整个过程由微程序控制,alu_74181由四位改成八位,而romc则由四位改为11位,它们分别代表:oen1,oen2,w1,w2,w3,gwe1, gwe2, gwe3,oen_n1, oen_n2, oen_n3。
当它们分别在相同时刻有效或无效时,表示一条微指令,则在不同时刻有不同微指令,而这些微指令则组成了实现程序过程的指令,从而实现程序。
第二章原理图第三章管脚分配###------------Atlys switch input----------NET "S[3]" LOC = P12; # Atlys sw4NET "S[2]" LOC = R5; # Atlys sw5NET "S[1]" LOC = T5; # Atlys sw6NET "S[0]" LOC = E4; # Atlys sw7###------------EES261 switch input----------NET "M" LOC = "U11"; #SW20NET " C_n " LOC = "R10"; #SW19NET " rst " LOC = "U10"; #SW18NET " CE" LOC = "R8"; #SW17#NET "Din1[7]" LOC = "M8"; #SW16NET "Din1[6]" LOC = "U8"; #SW15NET "Din1[5]" LOC = "U7"; #SW14NET "Din1[4]" LOC = "N7"; #SW13 #NET "Din1[3]" LOC = "T6"; #SW12 NET "Din1[2]" LOC = "R7"; #SW11 NET "Din1[1]" LOC = "N6"; #SW10 NET "Din1[0]" LOC = "U5"; #SW9 #NET "Din[7]" LOC = "V5"; #SW8 NET "Din[6]" LOC = "P7"; #SW7 NET "Din[5]" LOC = "T7"; #SW6 NET "Din[4]" LOC = "V6"; #SW5 #NET " Din[3]" LOC = "P8"; #SW4 NET " Din[2]" LOC = "V7"; #SW3 NET " Din[1]" LOC = "V8"; #SW2 NET " Din[0]" LOC = "N8"; #SW1###----------EES261 leds output------------NET "Qout<0>" LOC = "U16"; #LED1NET "Qout<1>" LOC = "U15"; #LED2NET "Qout<2>" LOC = "U13"; #LED3NET "Qout<3>" LOC = "M11"; #LED4NET "Qout<4>" LOC = "R11"; #LED5NET "Qout<5>" LOC = "T12"; #LED6NET "Qout<6>" LOC = "N10"; #LED7NET "Qout<7>" LOC = "M10"; #LED8###--------------END----------第四章微程序设计1.alu_74181entity alu_74181_2 isPort ( A : in STD_LOGIC_VECTOR (7 downto 4);B : in STD_LOGIC_VECTOR (7 downto 4);S : in STD_LOGIC_VECTOR (3 downto 0);M : in STD_LOGIC;C_n : in STD_LOGIC;F : out STD_LOGIC_VECTOR (7 downto 4);C_n_plus4 : out STD_LOGIC);end alu_74181_2;architecture Behavioral of alu_74181_2 issignal data_o_logic : STD_LOGIC_VECTOR (3 downto 0);signal data_o_arith : STD_LOGIC_VECTOR (4 downto 0);signal data_sub_tmp : STD_LOGIC_VECTOR (4 downto 0);signal C_n_arith : STD_LOGIC_VECTOR (4 downto 0);beginF <= data_o_logic when M = '1' elsedata_o_arith(3 downto 0);-- carry outC_n_plus4 <= not data_o_arith(4) when M = '0' else '1';C_n_arith <= "0000" & (not C_n);-- 74181 logic operationprocess(A,B,S,M)begincase (S) iswhen "0000" =>data_o_logic <= not A;when "0001" =>data_o_logic <= not (A or B);when "0010" =>data_o_logic <= (not A) and B;when "0011" =>data_o_logic <= (others => '0');when "0100" =>data_o_logic <= not (A and B);when "0101" =>data_o_logic <= not B;when "0110" =>data_o_logic <= (A xor B); when "0111" =>data_o_logic <= A and (not B); when "1000" =>data_o_logic <= (not A) or B; when "1001" =>data_o_logic <= (A xnor B); when "1010" =>data_o_logic <= B;when "1011" =>data_o_logic <= A and B;when "1100" =>data_o_logic <= "0001";when "1101" =>data_o_logic <= A or (not B);when "1110" =>data_o_logic <= A or B;when "1111" =>data_o_logic <= A;when others =>data_o_logic <= (others => '0');end case;end process;end Behavioral;2.romcentity romc isPort ( s0 : in STD_LOGIC;s1 : in STD_LOGIC;s2 : in STD_LOGIC;s3 : in STD_LOGIC;oen1 : out STD_LOGIC;oen2 : out STD_LOGIC;w1 : out STD_LOGIC;w2 : out STD_LOGIC;w3 : out STD_LOGIC;gwe1 : out STD_LOGIC;gwe2 : out STD_LOGIC;gwe3 : out STD_LOGIC;oen_n1 : out STD_LOGIC;oen_n2 : out STD_LOGIC;oen_n3 : out STD_LOGIC);end romc;architecture Behavioral of romc issignal addr : std_logic_vector(3 downto 0); --input signal rdata : std_logic_vector(10 downto 0); --outputbeginaddr <= s3 & s2 & s1 & s0 ;process(addr)begincase (addr) iswhen "0000" => rdata <= "10101000011";when "0001" => rdata <= "10101100110";when "0011" => rdata <= "10101000110";when "0010" => rdata <= "10111001001";when "0110" => rdata <= "10101001001";when "0111" => rdata <= "11000010011";when "1111" => rdata <= "10000010011";when others => rdata <= "00000000000";end case;end process;oen1 <= rdata(0);oen2 <= rdata(1);we1 <= rdata(2);we2 <= rdata(3);gwe1 <= rdata(3);gwe2 <= rdata(3);gwe3 <= rdata(3);oen_1 <= rdata(3);oen_2 <= rdata(3);oen_3 <= rdata(3); end Behavioral;。