微处理器系统与嵌入式系统17章最全答案合集.docx
《微处理器系统与嵌入式系统17章最全答案合集.docx》由会员分享,可在线阅读,更多相关《微处理器系统与嵌入式系统17章最全答案合集.docx(30页珍藏版)》请在冰点文库上搜索。
微处理器系统与嵌入式系统17章最全答案合集
“微处理器系统原理与嵌入式系统设计”第一章习题解答
什么是程序存储式计算机?
程序存储式计算机指采用存储程序原理工作的计算机。
存储程序原理又称“冯·诺依曼原理”,其核心思想包括:
程序由指令组成,并和数据一起存放在存储器中;
计算机启动后,能自动地按照程序指令的逻辑顺序逐条把指令从存储器中读出来,自动完成由程序所描述的处理工作。
通用计算机的几个主要部件是什么?
主机(CPU、主板、内存);
外设(硬盘/光驱、显示器/显卡、键盘/鼠标、声卡/音箱);
以集成电路级别而言,计算机系统的三个主要组成部分是什么?
中央处理器、存储器芯片、总线接口芯片
阐述摩尔定律。
每18个月,芯片的晶体管密度提高一倍,运算性能提高一倍,而价格下降一半。
讨论:
摩尔定律有什么限制,可以使用哪些方式克服这些限制?
摩尔定律还会持续多久?
在摩尔定律之后电路将如何演化?
摩尔定律不能逾越的四个鸿沟:
基本大小的限制、散热、电流泄露、热噪。
具体问题如:
晶体管体积继续缩小的物理极限,高主频导致的高温……
解决办法:
采用纳米材料、变相材料等取代硅、光学互联、3D、加速器技术、多内核……
(为了降低功耗与制造成本,深度集成仍是目前半导体行业努力的方向,但这不可能永无止,因为工艺再先进也不可能将半导体做的比原子更小。
用作绝缘材料的二氧化硅,已逼近极限,如继续缩小将导致漏电、散热等物理瓶颈,数量集成趋势终有终结的一天。
一旦芯片上线条宽度达到纳米数量级时,相当于只有几个分子的大小,这种情况下材料的物理、化学性能将发生质的变化,致使采用现行工艺的半导体器件不能正常工作,摩尔定律也就要走到它的尽头了。
业界专家预计,芯片性能的增长速度将在今后几年趋缓,一般认为摩尔定律能再适用10年左右,其制约的因素一是技术,二是经济。
)
试以实例说明计算机系统结构、计算机组成与计算机实现之间的相互关系与相互影响。
计算机系统结构主要是指程序员关心的计算机概念结构与功能特性,而计算机组成原理则偏重从硬件角度关注物理机器的组织,更底层的器件技术和微组装技术则称为计算机实现。
例如:
确定指令集中是否有乘法指令属于计算机体系结构的内容,而乘法指令是由专门的乘法器实现还是用加法器实现则属于计算机组成原理的内容,乘法/加法器底层的物理器件类型及微组装技术则属于计算机实现的内容。
同一计算机制造商提供的不同系列的计算机通常采用不同的结构,而同系列的计算机则具有相同的结构和不同的组织,因此同一系列的不同型号计算机价格和性能特点也不相同。
如某系列机都支持相同的指令系统,但其中的低档机可采用顺序方式对指令进行分析、处理,而高档机则可采用流水或其它并行处理方式;或某系列机都支持相同的数据形式(如16/32位的定点数、32/64/128位的浮点数),但其中的低档机可采用采用较窄的数据通路宽度(8位或16位),而高档机则可采用较宽的数据通路宽度(32位)。
另一方面,显然计算机现阶段能达到的实现技术会直接制约其可采用的系统结构和组成方法。
区分微处理器的关键特征是什么?
微处理器可通过以下两个基本特征来区分:
字长:
表示CPU一次传送或处理数据的最大二进制位数。
通常与CPU的数据总线宽度、寄存器宽度以及ALU宽度一致。
主频:
通常以MHz表示,决定CPU内的最小时钟速率,从而决定处理器每秒可执行的指令数目。
某测试程序在一个40MHz处理器上运行,其目标代码有100000条指令,由如下各类指令及其时钟周期计数混合组成,试确定这个程序的有效CPI、MIPS的值和执行时间。
指令类型
指令计数
时钟周期计数
整数算术
45000
1
数据传送
32000
2
浮点数
15000
2
控制传送
8000
2
1.CyclesPerInstruction(CPI)
=(45000/100000)*1+(32000/100000)*2+(15000/100000)*2+(8000/100000)*2
=*1+*2+*2+*2=
2.MillionInstructionsPerSecond(MIPS)
=40/=
3.执行时间T
=(100000**(1/(40*106))=4*10-3=*10-3s=
存储器分层结构是如何提高性能的?
常用的存储设备或技术有很多,通常来说速度越快则每位价格越高。
因此现代计算机系统通常把不同容量、不同速度的存储设备按一定的层次结构组织起来,形成一个统一的存储系统,以解决存储容量、存取速度和价格之间的矛盾。
多层次存储系统要达到的目标是:
整个存储系统速度接近M1(最靠近CPU的存储层)而价格和容量接近Mn(最远离CPU的存储层)。
这就要求越靠近CPU的存储设备速度越快,当然每位价格也就越高,容量也就越小。
由于绝大多数程序访问具有局部性原理,因此可以把近期CPU需要使用的程序和数据放在尽可能靠近CPU的存储器中。
CPU访问存储器时,首先是访问M1,若M1“命中”则直接存取,若M1“失效”则将M2中包含所需数据的块或页调入M1;若在M2中也找不到,就访问M3,依此类推。
这样CPU对存储器的大部分访问操作都可以针对速度较快的存储层完成,整个系统的性能也就得到了提高。
说明RISC架构与CISC架构之间的区别。
RISC
CISC
设计重点
降低指令执行的硬件复杂度,但对编译器有更高的要求
侧重指令执行的硬件功能性,控制器的硬件设计复杂
指令集
指令种类少,长度固定,且执行简单,可在单时钟周期完成
指令复杂,长度通常不固定,执行也需要多个周期
流水线
指令处理过程可被拆分成能够被流水线并行执行的规则步骤
指令执行通常需要调用微程序
寄存器
有更多的通用寄存器
专用寄存器较多。
load-store结构
为避免耗时的访存操作,把访存与数据处理分开。
处理器能够直接处理内存中的数据。
RISC,CISC的一些看法误区:
RISC指令都是简单指令
LDREQR0,[R1,R2,LSR#16]!
指令的强大,一般的CISC处理器望尘莫及。
RISC的“简单”是指指令集的执行时间、指令长度、指令格式整齐划一。
CISC的复杂指令速度慢、执行效率很低
现代CISC处理器具有非常长的流水线(PIII采用了25级的流水线),执行速度快。
但老的CPU执行速度可能较慢。
但RISC不管是老的CPU,还是新的CPU,指令执行时间都是相同的,不需要在对指令执行作出优化。
RISC处理器比CISC处理器需要更多的寄存器
这不是一个需求问题,而是一个实现问题。
所以有的CISC寄存器与RISC相当。
一般情况RISC需要比较多的寄存器。
RISC都有流水线
ARM2没有采用流水线。
“微处理器系统原理与嵌入式系统设计”第三章习题解答
什么是冯·诺伊曼计算机结构?
其运行的基本原理如何?
冯.诺依曼计算机由运算器、控制器、存储器、输入设备和输出设备构成,采用二进制表示信息,以存储器为中心,按存储程序原理工作。
存储程序原理指编好的程序首先放入存储器,开始工作后,由控制器自动、高速依次从存储器中取出指令并执行。
.微处理器的体系结构可以分为几种?
试分别说明各种体系结构的优缺点。
类型
优点
缺点
随机逻辑
针对指令硬件做了专门的优化,所用的逻辑门数少,制造费用低。
指令集设计与硬件电路设计紧密相关,设计过程复杂,难以实现复杂指令,设计难以重用。
微码体系结构
相比于硬件,微代码不容易出错,建立微代码比较省时,改动微代码更为容易,CPU版本升级简单。
微代码的开销大于硬件实现,微控制必须要比CPU运行速度更高。
流水线体系结构
并行的执行不同指令的不同阶段,提高了指令的吞吐率,增强了处理器性能。
处理器设计较为困难,在设计中需要解决数多种冲突问题
超标量体系结构
实现了真正的并行执行,让MIPS可以大于时钟频率。
更多的硬件资源,设计极其复杂
高级编程语言、汇编语言以及机器语言之间有哪些不同?
机器语言是直接用二进制代码表达的计算机语言。
指令用“0”和“1”组成,并分成若干段,各段的编码表示不同的含义。
机器语言面向硬件,是唯一可以由硬件直接执行的语言。
汇编语言采用符号代替机器语言中的二进制码:
用助记符(Mnemonic)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。
汇编语言与机器语言一一对应,因此不具有移植性,但更易于读写和理解。
汇编语言源程序需要汇编成机器语言才能交给硬件执行。
高级编程语言语法和结构更类似普通英文,且由于远离对硬件的直接操作,因此移植性较好。
高级语言源程序需要编译(或解释)成机器语言才能交给硬件执行。
什么是计算功能指令、数据传输指令以及控制流程指令?
计算功能指令:
对数据进行处理完成算术运算或逻辑运算等的指令。
数据传输指令:
负责把数据、地址或立即数传送到寄存器、I/O端口或存储单元中,或者反方向传送的指令。
控制流程指令:
用来控制程序执行流程的指令,有测试、转移、跳转等子类。
解释跳转、分支、调用以及中断所需进行的操作。
跳转:
根据“跳转”指令指计算目的地址,修改程序指针。
分支:
根据“分支”指令判断执行条件,计算跳转地址,修改程序指针。
调用:
保存断点,根据“调用”指令计算子程序入口地址,修改程序指针,执行完毕后恢复断点。
中断:
保护断点及现场,查找中断向量表以确定中断程序入口地址,修改程序指针,执行完毕后恢复现场及断点。
固定长度指令编码有什么优缺点?
可以简化硬件设计、减小指令译码的时间,但指令编码的效率不高,信息冗余度大,可扩展性差。
在处理器工作频率、CPI和处理器性能方面,哪些因素会增加流水线深度?
时钟周期越小,则要求组合电路的延迟越小,流水线级数越多,但过多的流水线无助于处理器工作频率的提高。
CPI越大,为了提高运算效率则流水级数需求越多。
处理器性能和流水线级数是一个动态平衡的关系,需要具体在设计流水线的同时考虑冲突。
一个时钟频率为GHz的非流水式处理器,其平均CPI是4。
此处理器的升级版本引入了5级流水。
然而,由于如锁存延迟这样的流水线内部延迟,使新版处理器的时钟频率必须降低到2GHz。
(1)对一典型程序,新版所实现的加速比是多少?
(2)新、旧两版处理器的MIPS各是多少?
(1)对于一个有N条指令的程序来说:
非流水式处理器的总执行时间
5级流水处理器的总执行时间
加速比=
,N很大时加速比≈
(2)非流水式处理器CPI=4,则其执行速度=2500MHz/4=625MIPS。
5级流水处理器CPI=1,则其执行速度=2000MHz/1=2000MIPS。
随机逻辑体系结构的处理器的特点是什么?
详细说明各部件的作用。
随机逻辑的特点是指令集设计与硬件的逻辑设计紧密相关,通过针对特定指令集进行硬件的优化设计来得到逻辑门最小化的处理器,以此减小电路规模并降低制造费用。
主要部件包括:
产生程序地址的程序计数器,存储指令的指令寄存器,解释指令的控制逻辑,存放数据的通用寄存器堆,以及执行指令的ALU等几个主要部分构成。
分别详细说明采用可变时钟周期与多时钟周期改进随机逻辑体系结构的原理。
CPU内部时序信号的定时方式可以分成同步控制、异步控制、联合控制三种方式。
其中同步控制指在任何情况下,所有指令在执行时所需的机器周期数和时钟周期数都固定不变。
同步控制的一种实现方式就是可变时钟周期,指CPU根据当前指令的操作特性调整时钟周期,将大多数指令操作安排在一个较短的机器周期内完成,对某些复杂操作,则采取延长机器周期的办法来解决。
而异步控制的一种实现方式就是多时钟周期,指时钟周期不变,但CPU每条指令的执行周期可由多少不等的机器周期数组成。
什么是微代码体系结构?
微指令的作用是什么?
在微码结构中,控制单元的输入和输出之间被视为一个内存系统。
控制信号存放在一个微程序内存中,指令执行过程中的每一个时钟周期,处理器从微程序内存中读取一个控制字作为指令执行的控制信号并输出。
微指令只实现必要的基本操作,可以直接被硬件执行。
通过编写由微指令构成的微代码,可以实现复杂的指令功能。
微指令使处理器硬件设计与指令集设计相分离,有助于指令集的修改与升级,并有助于实现复杂的指令。
微码体系结构与随机逻辑体系结构有什么区别?
(1)指令集的改变导致不同的硬件设计开销。
在设计随机逻辑结构时,指令集和硬件必须同步设计和优化,因此设计随机逻辑的结构比设计微码结构复杂得多,而且硬件和指令集二者中任意一个变化,就会导致另外一个变化。
在微码结构中,指令设计通过为微码ROM编写微码程序来实现的,指令集的设计并不直接影响现有的硬件设计。
因此,一旦修改了指令集,并不需要重新设计新的硬件。
(2)从性能上比较
随机逻辑在指令集和硬件设计上都进行了优化,因此在二者采用相同指令集时随机逻辑结构要更快一些。
但微码结构可以实现更复杂指令集,因此可以用较少的指令完成复杂的功能,尤其在存储器速度受限时,微码结构性能更优。
说明流水线体系结构中的4个阶段的操作。
能否把流水线结构分为5阶段?
如果可能,试给出你的方案。
流水线若分为四个阶段应包括:
取指,译码,执行,数据回写
流水线若分为五个阶段应包括:
取指,译码,执行,存储器操作,数据回写
什么是超标量体系结构?
超标量是通过内置多条流水线或多个流水部件以实现多条指令的同时执行,其实质是以空间换取时间。
而超流水线是通过细化流水、提高主频,使得在一个机器周期内完成一步甚至多步操作,其实质是以时间换取空间。
指令的乱序执行可以带来什么好处?
通过将指令执行顺序重新排序,让满足执行条件的指令尽早地执行,从而提高处理器性能。
指令的乱序执行可以减少流水线冲突,减轻流水操作时由于数据等待、控制等待、资源冲突等中断时,其他无关指令也必须等待的问题,从而提高了流水线的效率。
讨论:
假设处理器速度和主存储器时延之间的差距不断增大,计算机性能是否可能决定于存储器访问时间?
在这种情况下,哪些微处理器架构特性会提高处理器性能?
哪些不会?
如果计算机具有一个比现在快100倍的处理器,但是存储器速度仅仅是现在存储器的两倍,这样的计算机和当前计算机在设计方法上有什么区别?
可能。
如果出现这种情况,采用微码结构、流水线结构以及超标量结构(一次取多条指令)都可以提高处理器性能,尤其是微码结构。
而随机逻辑结构则不合适。
如果出现一个比现在速度快100倍的处理器,而存储器速度仅快两倍,则设计计算机体系结构时首先应该考虑如何尽量减少访问存储器的次数。
“微处理器系统原理与嵌入式系统设计”第四章习题解答
地址映像方法有哪几种?
它们各有什么优缺点?
(1)内存地址映射指内存虚拟地址空间到物理地址空间的转换。
分页技术:
特点是页的大小固定;优点是程序不必连续存放,因此没有外碎片(每个内碎片不超过页大小);缺点是增加了硬件成本(如需要地址变换机构)和系统开销(如需要好的调页算法)。
分段技术:
特点是段的大小可变;优点是每个段按内容独立,因此可以分别编写和编译,可以针对不同类型的段采取不同的保护,可以按段为单位来进行共享(包括通过动态链接进行代码共享);缺点是会导致碎片。
(2)I/O地址映射指系统中I/O端口的编址方式。
独立编址技术:
优点是系统中存储单元和I/O端口的数量可达到最大;缺点是需专门信号来指示系统地址线上出现的是存储单元地址还是端口地址,I/O指令的功能比较弱。
存储器映像编址技术:
优点是对端口操作和存储器单元操作完全一样,因此系统简单,并且对端口操作的指令比较多;缺点是CPU对存储单元和I/O单口的实际寻址空间都小于其最大寻址空间。
EPROM存储器芯片在没有写入信息时,各个单元的内容是什么?
某SRAM单元中存放有一个数据(如5AH),CPU将它读取后,该单元的内容是什么?
EPROM存储器芯片在没有写入信息时,各个单元的内容均为全“1”。
SRAM为非破坏性读出,因此该单元的内容在读取后保持不变。
下列ROM芯片各需要多少个地址输入端?
多少个数据输出端?
(1)16×4位
(2)32×8位(3)256×4位(4)512×8位
(1)16×4位=24*4bit,因此有4个地址输入端和4个数据输出端。
(2)32×8位=25*4bit,因此有5个地址输入端,8个数据输出端。
(3)256×4=28*4bit,因此有8个地址输入端,4个数据输出端。
(4)512×8=29*4bit,因此有9个地址输入端,8个数据输出端。
某计算机系统中ROM为6K,最后一个单元的地址为9BFFH,RAM为3K。
已知其地址为连续的,且ROM在前,RAM在后,求该存储器的首地址和末地址。
该存储器的首地址(第一个ROM单元地址)为:
9BFFH-6K+1=9C00H-1800H=8400H
该存储器末地址(最后一个RAM单元地址)为:
9BFFH+3K==9BFFH+0C00H=0A7FFH
若某系统有16条地址线,现用SRAM2114(1K×4)存储芯片组成存储系统,试问采用线选译码时,系统的存储容量最大为多少?
需要多少个2114存储芯片?
每片2114需要10条地址线,剩余6条地址线进行线选译码最多可以区分6组12个芯片。
这时系统的存储容量最大为(1K*4bit)*2片/组*6组=6KB。
设有一个具有24位地址和8位字长的存储器,问:
(1)该存储器能够存储多少字节的信息?
(2)如果该存储器由4M×1位的RAM芯片组成,需要多少片?
(3)在此条件下,若数据总线为8位,需要多少位地址线用于芯片选择?
(1)该存储器的存储容量=224=16M字节
(2)需要4M*1的芯片数目:
片
(3)用于片内字选的地址线应满足:
222=4M,即字选需要22根地址线,片选需要2根地址线。
试为某8位计算机系统设计一个具有8KBROM和40KBRAM的存储器。
要求ROM用EPROM芯片2732组成,从0000H地址开始;RAM用SRAM芯片6264组成,从4000H地址开始。
查阅资料可知,2732容量为4K×8(字选线12根),6264容量为8K×8(字选线13根),因此本系统中所需芯片数目及各芯片地址范围应如下表所示:
A15
A14
A13
A12
A11
A10
A9
A8
A7
A6
A5
A4
A3
A2
A1
共需2片2732构成系统ROM
红色为片选
第一片
地址范围
0000H~
0FFFH
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
第二片
地址范围
1000H~
1FFFFH
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
共需5片6264构成系统RAM
红色为片选
第一片
地址范围
4000H~
5FFFH
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
1
1
1
1
1
1
1
1
1
1
第二片
地址范围
6000H~
7FFFFH
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
第三片
地址范围
8000H~
9FFFFH
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
第四片
地址范围
0A000H~
0BFFFFH
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
第五片
地址范围
0C000H~
0DFFFFH
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
硬件连线方式之一如下图所示:
说明:
①8位微机系统地址线一般为16位。
采用全译码方式时,系统的A0~A12直接与6264的13根地址线相连,系统的A0~A11直接与2732的12根地址线相连。
片选信号由74LS138译码器产生,系统的A15~A13作为译码器的输入。
②各芯片的数据总线(D0~D7)直接与系统的数据总线相连。
③各芯片的控制信号线(RD、WR)直接与系统的控制信号线相连。
某计算机系统有8个I/O接口芯片,每个接口芯片占用8个端口地址。
若起始地址为9000H,8个接口芯片的地址连续分布,用74LS138作为译码器,试画出端口译码电路图,并说明每个芯片的端口地址范围。
A5A4A3
接口2
接口8
接口1
……
Y7
Y1
Y0
A2~A0
C
B
A
EN
A15
A14
…
…
A7
A6
接口编号
A15~A6
A5
A4
A3
A2~A0
地址空间
1
00
0
0
0
000~111
9000H~9007H
2
0
0
1
000~111
9008H~900FH
3
0
1
0
000~111
9010H~9017H
4
0
1
1
000~111
9018H~901FH
5
1
0
0
000~111
9020H~9027H
6
1
0
1
000~111
9028H~902FH
7
1
1
0
000~111
9030H~9037H
8
1
1
1
000~111
9038H~903FH
试完成下面的RAM系统扩充图。
假设系统已占用0000~27FFH段内存地址空间,并拟将后面的连续地址空间分配给该扩充RAM。
译码器输出
A15~A14
A13
A12
A11
A10~A0
地址空间
/Q0
00
0
0
0
0000000000~
0000H~07FFH
/Q1
0
0
1
0800H~0FFFH
/Q2
0
1
0
1000H~17FFH
/Q3
0
1
1
1800H~1FFFH
/Q4
1
0
0
2000H~27FFH
/Q5
1
0
1
0
000000000~11
2800H~2BFFH
1
2C00H~2FFFH
/Q6
1
1
0
/Q7
1
1
1
假设一台打印机的数据输出I/O端口地址为378H,状态端口地址为379H,状态字节的D0位为状态位(D0=0,表示打印数据缓冲区空,CPU可以向它输出新数据;D0=1,表示打印数据缓冲区满)。
试用查询方式从内存中以BUF为首址的单元处开始,将连续1KB的数据传送给打印机,每次传送