为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

2021年微处理器系统结构与嵌入式专业系统设计第二版答案全

2018-05-18 7页 doc 1MB 103阅读

用户头像

is_597436

暂无简介

举报
2021年微处理器系统结构与嵌入式专业系统设计第二版答案全一1.2以集成电路等级而言,计算机系统三个关键组成部分是什么?中央处理器、存放器芯片、总线接口芯片1.3叙述摩尔定律。每18个月,芯片晶体管密度提升一倍,运算性能提升一倍,而价格下降二分之一。1.5什么是SoC?什么是IP核,它有哪多个实现形式?SoC:系统级芯片、片上系统、系统芯片、系统集成芯片或系统芯片集等,从应用开发角度出发,其关键含义是指单芯片上集成微电子应用产品所需全部功效系统。IP核:满足特定规范和要求,而且能够在设计中反复进行复用功效模块。它有软核、硬核和固核三种实现形式。1.8什么是嵌入式系统?嵌入式系统关键特...
2021年微处理器系统结构与嵌入式专业系统设计第二版答案全
一1.2以集成电路等级而言,计算机系统三个关键组成部分是什么?中央处理器、存放器芯片、总线接口芯片1.3叙述摩尔定律。每18个月,芯片晶体管密度提升一倍,运算性能提升一倍,而价格下降二分之一。1.5什么是SoC?什么是IP核,它有哪多个实现形式?SoC:系统级芯片、片上系统、系统芯片、系统集成芯片或系统芯片集等,从应用开发角度出发,其关键含义是指单芯片上集成微电子应用产品所需全部功效系统。IP核:满足特定和要求,而且能够在设计中反复进行复用功效模块。它有软核、硬核和固核三种实现形式。1.8什么是嵌入式系统?嵌入式系统关键特点有哪些?概念:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功效、可靠性、成本、体积和功耗严格要求专用计算机系统,即“嵌入到应用对象体系中专用计算机系统”。特点:1、嵌入式系统通常是面向特定应用。2、嵌入式系统式将优异计算机技术、半导体技术和电子技术和各个行业具体应用相结合产物。3、嵌入式系统硬件和软件全部必需高效率地设计,量体裁衣、去除冗余,努力争取在一样硅片面积上实现更高性能。4、嵌入式处理器应用软件是实现嵌入式系统功效关键,对嵌入式处理器系统软件和应用软件要求也和通用计算机有以下不一样点。①软件要求固体化,大多数嵌入式系统软件固化在只读存放器中;②要求高质量、高可靠性软件代码;③很多应用中要求系统软件含有实时处理能力。5、嵌入式系统和具体应用有机结合在一起,它升级换代也是和具体产品同时进行,所以嵌入式系统产品一旦进入市场,就含有较长生命周期。6、嵌入式系统本身不含有自开发能力,设计完成以后用户通常也不能对其中程序功效进行修改,必需有一套开发工具和环境才能进行开发。二2.2完成下列逻辑运算(1)101+1.01=110.01(2)1010.001-10.1=111.101(3)-1011.01101-1.1001=-1100.11111(4)10.1101-1.1001=1.01(5)110011/11=10001(6)(-101.01)/(-0.1)=1010.12.3完成下列逻辑运算(1)10110101∨11110000=11110101(2)11010001∧10101011=10000001(3)10101011⊕00011100=101101112.4选择题(1)下列无符号数中最小数是(A)。A.B.C.D.(2)下列无符号数中最大数是(B)。A.B.C.D.(3)在机器数(A)中,零表示形式是唯一。A.补码B.原码C.补码和反码D.原码和反码(4)单纯从理论出发,计算机全部功效全部能够交给硬件实现。而实际上,硬件只实现比较简单功效,复杂功效则交给软件完成。这么做理由是(BCD)。A.提升解题速度B.降低成本C.增强计算机适应性,扩大应用面D.易于制造(5)编译程序和解释程序相比,编译程序优点是(D),解释程序优点是(C)。A.编译过程(解释并实施过程)花费时间短B.占用内存少C.比较轻易发觉和排除源程序错误D.编译结果(目标程序)实施速度快2.5通常使用逻辑运算替换数值运算是很方便。比如,逻辑运算AND将两个位组合同乘法运算一样。哪一个逻辑运算和两个位加法几乎相同?这么情况下会造成什么错误发生?逻辑运算OR和两个位加法几乎相同。问题在于多个bit乘或加运算无法用AND或OR运算替换,因为逻辑运算没有对应进位机制。2.6假设一台数码相机存放容量是256MB,假如每个像素需要3个字节存放空间,而且一张照片包含每行1024个像素和每列1024个像素,那么这台数码相机能够存放多少张照片?每张照片所需空间为:1024*1024*3=3MB则256M可存照片数为:256MB/3MB≈85张。2.14某测试程序在一个40MHz处理器上运行,其目标代码有100000条指令,由以下各类指令及其时钟周期计数混合组成,试确定这个程序有效CPI、MIPS值和实施时间。指令类型指令计数时钟周期计数整数算术450001数据传送320002浮点数150002控制传送80002CPI=(45000/100000)*1+(3/100000)*2+(15000/100000)*2+(8000/100000)*2=0.45*1+0.32*2+0.15*2+0.08*2=1.55MIPS=40/1.55=25.8实施时间T=(100000*1.55)*(1/(40*10∧6))=15.5/4*10∧(-3)=3.875*10∧(-3)s=3.875ms2.15假设一条指令实施过程分为“取指令”、“”和“实施”三段,每一段时间分别为∆t,2∆t和3∆t。在下列多种情况下,分别写出连续实施n条指令所需要时间表示式。(1)次序实施方法T=(∆t+2∆t+3∆t)*n=6n∆t(2)仅“取指令”和“实施”重合当“取指令”和“实施”重合时,指令实施过程图所表示:第1条指令实施完时间:t1=∆t+2∆t+3∆t=6∆t第2条指令实施完时间:t2=t1+5∆t=6∆t+5∆t*1第3条指令实施完时间:t3=t2+5∆t=6∆t+5∆t*2…第n条指令实施完时间:tn=tn-1+∆t=6∆t+5∆t*(n-1)=(1+5n)∆t(3)“取指令”、“分析”和“实施”重合当“取指令”、“分析”和“实施”重合时,指令实施过程图所表示:第1条指令实施完时间:t1=∆t+2∆t+3∆t=6∆t第2条指令实施完时间:t2=t1+3∆t=6∆t+3∆t*1第3条指令实施完时间:t3=t2+3∆t=6∆t+3∆t*2…第n条指令实施完时间:tn=tn-1+3∆t=6∆t+3∆t*(n-1)=(3+3n)∆t三3.1处理器有哪些功效?说明实现这些功效各需要哪些部件,并画出处理器基础结构图。处理器基础功效包含数据存放、数据运算和控制等功效。其有5个关键功效:①指令控制②操作控制③时间控制④数据加工⑤中止处理。其中,数据加工由ALU、移位器和寄存器等数据通路部件完成,其它功效由控制器实现。处理器基础结构图以下:​寄存器组控制器整数单元浮点单元数据通路处理器数据传送到内存数据来自内存数据传送到内存指令来自内存​3.2处理器内部有哪些基础操作?这些基础操作各包含哪些微操作?处理器内部基础操作有:取指、间接、实施和中止。其中必需包含取指和实施。取指包含微操作有:经过多路器把程序计数器值选送到存放器,然后存放器回送所期望指令并将其写入指令寄存器,和此同时程序计数器值加1,并将新值回写入程序计数器。间接有4个CPU周期,包含微操作有:第1周期把指令寄存器中地址部分形式地址转到地址寄存器中;第2周期完成从内存取出操作数地址,并放入地址寄存器;第3周期中累加器内容传送到缓冲寄存器,然后再存入所选定存放单元。实施包含微操作有:在寄存器中选定一个地址寄存器,并经过多路器将值送到存放器;来自于存放器数据作为ALU一个原操作数,另一个原操作数则来自于寄存器组中数据寄存器,它们将一同被送往ALU输入;ALU结果被写入寄存器组。中止包含微操作有:保护断点及现场,查找中止向量表以确定中止程序入口地址,修改程序指针,实施完成后恢复现场及断点。3.3什么是冯·诺伊曼计算机结构关键技术瓶颈?怎样克服?冯·诺伊曼计算机结构关键技术瓶颈是数据传输和指令串行实施。能够经过以下克服:采取哈佛体系结构、存放器分层结构、高速缓存和虚拟存放器、指令流水线、超标量等方法。3.5指令系统设计会影响计算机系统哪些性能?指令系统是指一台计算机所能实施全部指令集合,其决定了一台计算机硬件关键性能和基础功效。指令系统通常全部包含以下几大类指令。:1)数据传送类指令。(2)运算类指令包含算术运算指令和逻辑运算指令。(3)程序控制类指令关键用于控制程序流向。(4)输入/输出类指令简称I/O指令,这类指令用于主机和外设之间交换信息。所以,其设计会影响到计算机系统以下性能:数据传送、算术运算和逻辑运算、程序控制、输入/输出。另外,其还会影响到运算速度和兼容等。3.9某时钟速率为2.5GHz流水式处理器实施一个有150万条指令程序。流水线有5段,并以每时钟周期1条速率发射指令。不考虑分支指令和乱序实施带来性能损失。a)一样实施这个程序,该处理器比非流水式处理器可能加速多少?b)此流水式处理器是吞吐量是多少(以MIPS为单位)?a.速度几乎是非流水线结构5倍。b.3.10一个时钟频率为2.5GHz非流水式处理器,其平均CPI是4。此处理器升级版本引入了5级流水。然而,因为如锁存延迟这么流水线内部延迟,使新版处理器时钟频率必需降低到2GHz。(1)对一经典程序,新版所实现加速比是多少?(2)新、旧两版处理器MIPS各是多少?(1)对于一个有N条指令程序来说:非流水式处理器总实施时间5级流水处理器总实施时间加速比=,N很大时加速比≈3.2(2)非流水式处理器CPI=4,则其实施速度=2500MHz/4=625MIPS。5级流水处理器CPI=1,则其实施速度=MHz/1=MIPS。3.11随机逻辑体系结构处理器特点是什么?具体说明各部件作用。随机逻辑特点是指令集设计和硬件逻辑设计紧密相关,经过针对特定指令集进行硬件优化设计来得到逻辑门最小化处理器,以此减小电路规模并降低制造费用。关键部件包含:产生程序地址程序计数器,存放指令指令寄存器,解释指令控制逻辑,存放数据通用寄存器堆,和实施指令ALU等多个关键部分组成。3.13什么是微代码体系结构?微指令作用是什么?在微码结构中,控制单元输入和输出之间被视为一个内存系统。控制信号存放在一个微程序内存中,指令实施过程中每一个时钟周期,处理器从微程序内存中读取一个控制字作为指令实施控制信号并输出。微指令只实现必需基础操作,能够直接被硬件实施。经过编写由微指令组成微代码,能够实现复杂指令功效。微指令使处理器硬件设计和指令集设计相分离,有利于指令集修改和升级,并有利于实现复杂指令。3.14微码体系结构和随机逻辑体系结构有什么区分?(1)指令集改变造成不一样硬件设计开销。在设计随机逻辑结构时,指令集和硬件必需同时设计和优化,所以设计随机逻辑结构比设计微码结构复杂得多,而且硬件和指令集二者中任意一个改变,就会造成另外一个改变。在微码结构中,指令设计经过为微码ROM编写微码程序来实现,指令集设计并不直接影响现有硬件设计。所以,一旦修改了指令集,并不需要重新设计新硬件。(2)从性能上比较随机逻辑在指令集和硬件设计上全部进行了优化,所以在二者采取相同指令集时随机逻辑结构要愈加快部分。但微码结构能够实现更复杂指令集,所以能够用较少指令完成复杂功效,尤其在存放器速度受限时,微码结构性能更优。3.15说明流水线体系结构中5个阶段操作。能否把流水线结构分为6阶段?假如可能,试给出你方案。流水线若分为5个阶段应包含:取指,译码,取操作数,实施,数据回写流水线若分为6个阶段应包含:取指,译码,取操作数,实施,存放器操作,数据回写四4.3微机系统中总线层次化结构是怎样?按总线所处位置可分为:片内总线、系统内总线、系统外总线。按总线功效可分为:地址总线、数据总线、控制总线。按时序控制方法可分为:同时总线、异步总线。按数据格式可分为:并行总线、串行总线。4.4一个总线性能有那多个方面?总线时钟频率、总线宽度、总线速率、总线带宽、总线同时方法和总线驱动能力等。4.5微机系统什么情况下需要总线仲裁?总线仲裁有哪多个?各有什么特点?总线仲裁又称总线判决,其目标是合理控制和管理系统中多个主设备总线请求,以避免总线冲突。当多个主设备同时提出总线请求时,仲裁机构根据一定优先算法来确定由谁取得对总线使用权。集中式(主从式)控制和分布式(对等式)控制。集中式特点:采取专门总线控制器或仲裁器分配总线时间,总线协议简单有效,总体系统性能较低。分布式特点:总线控制逻辑分散在连接和总线各个模块或设备中,协议复杂成本高,系统性能较高。4.6总线传输方法有哪多个?同时总线传输对收发模块有什么要求?什么情况下应该采取异步传输方法,为何?总线传输方法根据不一样角度可分为同时和异步传输,串行和并行传输,单步和突发方法。同时总线传输时,总线上收模块和发模块严格按系统时钟来统一定时收发模块之间传输操作。异步总线常见于各模块间数据传送时间差异较大系统,因为这时极难同时,采取异步方法没有固定时钟周期,其时间可依据需要可长可短。4.14发送时钟和接收时钟和波特率有什么关系?其关系以下:发/收时钟频率=n*(发/收波特率)(其中n=1,16,64)实际应用中可依据要求传输时钟频率和所选择倍数n来计算波特率。五5.10用16K×1位DRAM芯片组成64K×8位存放器,要求:(1)画出该存放器组成逻辑框图。(2)设存放器读/写周期为0.5μS,CPU在1μS内最少要访问一次。试问采取哪种刷新方法比较合理?两次刷新最大时间间隔是多少?对全部存放单元刷新一遍所需实际刷新时间是多少?(1)组建存放器共需DRAM芯片数N=(64K*8)/(16K*1)=4*8(片)。每8片组成16K×8位存放区,A13~A0作为片内地址,用A15、A14经2:4译码器产生片选信号,逻辑框图以下(图有误:应该每组8片,每片数据线为1根) (2)设16K×8位存放芯片阵列结构为128行×128列,刷新周期为2ms。因为刷新每行需0.5μS,则两次(行)刷新最大时间间隔应小于:为确保在每个1μS内全部留出0.5μS给CPU访问内存,所以该DRAM适合采取分散式或异步式刷新方法,而不能采取集中式刷新方法。若采取分散刷新方法,则每个存放器读/写周期可视为1μS,前0.5μS用于读写,后0.5μS用于刷新。相当于每1μS刷新一行,刷完一遍需要128×1μS=128μS,满足刷新周期小于2ms要求;若采取异步刷新方法,则应确保两次刷新时间间隔小于15.5μS。如每隔14个读写周期刷新一行,相当于每15μS刷新一行,刷完一遍需要128×15μS=1920μS,满足刷新周期小于2ms要求;需要补充知识:刷新周期:从上一次对整个存放器刷新结束到下一次对整个存放器全部刷新一遍为止时间间隔。刷新周期通常能够是2ms,4ms或8ms。DRAM通常是按行刷新,常见刷新方法包含:集中式:正常读/写操作和刷新操作分开进行,刷新集中完成。特点:存在一段停止读/写操作死时间,适适用于高速存放器。(DRAM共128行,刷新周期为2ms,读/写/刷新时间均为0.5μS)分散式:一个存放系统周期分成两个时间片,分时进行正常读/写操作和刷新操作。特点:不存在停止读/写操作死时间,但系统运行速度降低。(DRAM共128行,刷新周期为128μs,tm=0.5μS为读/写时间,tr=0.5μS为刷新时间,tc=1μS为存放周期)异步式:前两种方法结合,每隔一段时间刷新一次,只需确保在刷新周期内对整个存放器刷新一遍。5.11若某系统有24条地址线,字长为8位,其最大寻址空间为多少?现用SRAM2114(1K*4)存放芯片组成存放系统,试问采取线选译码时需要多少个2114存放芯片?该存放器存放容量=224*8bit=16M字节需要SRAM2114(1K*4)存放芯片数目:片5.12在有16根地址总线机系统中画出下列情况下存放器地址译码和连接图。(1)采取8K*1位存放芯片,形成64KB存放器。(2)采取8K*1位存放芯片,形成32KB存放器。(3)采取4K*1位存放芯片,形成16KB存放器。因为地址总线长度为16,故系统寻址空间为(1)8K*1位存放芯片地址长度为13,64KB存放器需要8个8K*1位存放芯片,故总共需要16根地址总线,地址译码为:A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0共需8片8K*1位存放芯片红色为片选第一片地址范围0000H~1FFFH00000000000000000001111111111111第二片地址范围H~3FFFH00100000000000000011111111111111第三片地址范围4000H~5FFFH01000000000000000101111111111111第四片地址范围6000H~7FFFH01100000000000000111111111111111第五片地址范围8000H~9FFFH10000000000000001001111111111111第六片地址范围0A000H~0BFFFH10100000000000001011111111111111第七片地址范围0C000H~0DFFFH11000000000000001101111111111111第八片地址范围0E000H~0FFFFH11100000000000001111111111111111其连线图以下:​�74LS138CSENABCQ0Q1Q2Q3Q4Q5Q6Q78K*1位存储芯片ABRDWRABRDWRCSDCSDABRDWRCSDABRDWRCSD数据总线DA0~A128721...A15A14A13​(2)8K*1位存放芯片地址长度为13,32KB存放器需要4个8K*1位存放芯片故总共需要15根地址总线,地址译码为:A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0共需4片8K*1位存放芯片红色为片选第一片地址范围0000H~1FFFH00000000000000000001111111111111第二片地址范围H~3FFFH00100000000000000011111111111111第三片地址范围4000H~5FFFH01000000000000000101111111111111第四片地址范围6000H~7FFFH01100000000000000111111111111111其连线图以下:​�74LS138CSENABCQ0Q1Q2Q3Q4Q5Q6Q78K*1位存储芯片ABRDWRABRDWRCSDCSDABRDWRCSDABRDWRCSD数据总线DA0~A124321A15A14A13​(3)4K*1位存放芯片地址长度为12,16KB存放器需要4个4K*1位存放芯片故总共需要14根地址总线,地址译码为:A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0共需4片4K*1位存放芯片红色为片选第一片地址范围0000H~0FFFH00000000000000000000111111111111第二片地址范围1000H~1FFFH00010000000000000001111111111111第三片地址范围H~2FFFH00100000000000000010111111111111第四片地址范围3000H~3FFFH00110000000000000011111111111111其连线图以下:方案一:​��74LS138CSENABCQ0Q1Q2Q3Q4Q5Q6Q74K*1位存储芯片ABRDWRABRDWRCSDCSDABRDWRCSDABRDWRCSD数据总线DA0~A114321A12A15A14A13​方案二:​����1�74LS138CSENABCQ0Q1Q2Q3Q4Q5Q6Q78K*1位存储芯片ABRDWRABRDWRCSDCSDABRDWRCSDABRDWRCSD数据总线DA0~A114321A15A14A13A12A12​5.13试为某8位计算机系统设计一个含有8KBROM和40KBRAM存放器。要求ROM用EPROM芯片2732组成,从0000H地址开始;RAM用SRAM芯片6264组成,从4000H地址开始。查阅资料可知,2732容量为4K×8(字选线12根),6264容量为8K×8(字选线13根),所以本系统中所需芯片数目及各芯片地址范围应以下表所表示:A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1共需2片2732组成系统ROM红色为片选第一片地址范围0000H~0FFFH000000000000000000011111111111第二片地址范围1000H~1FFFH000100000000000000111111111111共需5片6264组成系统RAM红色为片选第一片地址范围4000H~5FFFH010000000000000010111111111111第二片地址范围6000H~7FFFH011000000000000011111111111111第三片地址范围8000H~9FFFH100000000000000100111111111111第四片地址范围0A000H~0BFFFH101000000000000101111111111111第五片地址范围0C000H~0DFFFFH110000000000000110111111111111硬件连线方法之一以下图所表示:说明:①8位微机系统地址线通常为16位。采取全译码方法时,系统A0~A12直接和626413根地址线相连,系统A0~A11直接和273212根地址线相连。片选信号由74LS138译码器产生,系统A15~A13作为译码器输入。②各芯片数据总线(D0~D7)直接和系统数据总线相连。③各芯片控制信号线(RD、WR)直接和系统控制信号线相连。5.14试依据下图EPROM接口特征,设计一个EPROM写入编程电路,并给出控制软件步骤。​��VCC+12VVPPGND高位地址译码编程控制信号+5V​EPROM写入编程电路设计以下图所表示:​��VCC+12VVPPGND高位地址译码编程控制信号+5V控制模块​控制软件步骤:(1)上电复位;(2)信号为电平”1”无效(写模式),信号为电平”0”有效(编程控制模式),软件进入编程状态,对EPROM存放器进行写入编程操作;(3)高位地址译码信号为电平”1”无效,对存放器对应0000H~3FFFH地址数据依次进行写入操作(其中高位地址为0、低位地址从0000H到3FFFH依次加1)写入值为数据总线对应值。(4)高位地址译码信号为电平”0”有效,对存放器对应4000H~7FFFH地址数据依次进行写入操作(其中高位地址为1,低位地址从0000H到3FFFH依次加1)写入值为数据总线对应值。(5)存放器地址为7FFFH时,写入操作完成,控制软件停止对EPROM编程状态,释放对信号和信号控制。5.15试完成下面RAM系统扩充图。假设系统已占用0000~27FFH段内存地址空间,并拟将后面连续地址空间分配给该扩充RAM。译码器输出A15~A14A13A12A11A10~A0地址空间/Q000000~0000H~07FFH/Q10010800H~0FFFH/Q20101000H~17FFH/Q30111800H~1FFFH/Q4100H~27FFH/Q51010~2800H~2BFFH12C00H~2FFFH/Q6110/Q7111下面方案问题:1.地址不连续,驱动设计可能会比较麻烦;2.地址反复,浪费系统地址空间;3.不轻易了解,实际上使用可能会有问题;5.16某计算机系统存放器地址空间为A8000H~CFFFFH,若采取单片容量为16K*1位SRAM芯片,(1)系统存放容量为多少?(2)组成该存放系统共需该类芯片多少个?(3)整个系统应分为多少个芯片组?(1)该计算机系统存放器地址空间为A8000H~CFFFFH,系统存放容量为:(2)单片容量为16K*1为SRAM芯片存放容量为16Kbit=2KB组成该存放系统共需该类芯片160KB/2KB=80个(3)题目未给出该系统数据位宽为多少,此处设为8bit位宽则每组芯片组需要8个单片容量为16K*1为SRAM芯片全部整个系统应分为80/8=10个芯片组。5.17由一个含有8个存放体低位多体交叉存放体中,假如处理器访存地址为以下八进制值。求该存放器比单体存放器平均访问速度提升多少(忽略初启时延时)?(1)10018,10028,10038,…,11008(2)10028,10048,10068,…,1(3)10038,10068,10118,…,13008此处题目有误,10018应为,依次类推低位多体交叉存放体包含8个存放体,故处理器每次可同时访问相邻8个地址数据(1)访存地址为相邻地址,故存放器比单体存放器平均访问速度提升8倍;(2)访存地址为间隔2个地址,故存放器比单体存放器平均访问速度提升4倍;(3)访存地址为间隔3个地址,但访存地址转换为十进制数为3、6、9、12、15、18、21、24、27,分别除8余数为3、6、1、4、7、2、5、0、3,故存放器比单体存放器平均访问速度提升8倍(可能有误,不确定)。六6.2什么是I/O端口?通常接口电路中有哪些端口?I/O端口指是I/O接口电路中部分寄存器;通常接口电路中有数据端口、控制端口和状态端口。6.3CPU对I/O端口编址方法有哪多个?各有什么特点?80x86对I/O端口编址方法属于哪一个?(1)独立编址其特点:系统视端口和存放单元为不一样对象。(2)统一编址(存放器映像编址总线结构)其特点:将端口看作存放单元,仅以地址范围不一样来区分二者。80x86对I/O端口编址方法属于独立编址方法。6.4某计算机系统有8个I/O接口芯片,每个接口芯片占用8个端口地址。若起始地址为9000H,8个接口芯片地址连续分布,用74LS138作为译码器,试画出端口译码电路图,并说明每个芯片端口地址范围。SHAPE\*MERGEFORMAT接口编号A15~A6A5A4A3A2~A0地址空间1000000~1119000H~9007H2001000~1119008H~900FH3010000~1119010H~9017H4011000~1119018H~901FH5100000~1119020H~9027H6101000~1119028H~902FH7110000~1119030H~9037H8111000~1119038H~903FH6.6CPU和I/O设备之间数据传送有哪多个方法?每种工作方法特点是什么?各适适用于什么场所?①无条件控制(同时控制):特点:方法简单,CPU随时可无条件读/写数据,无法确保数据总是有效,适用面窄。适适用于外设数据改变缓慢,操作时间固定,能够被认为一直处于就绪状态。②条件控制(查询控制):特点:CPU主动,外设被动,实施I/O操作时CPU总要先查询外设状态;若传输条件不满足时,CPU等候直到条件满足。处理了CPU和外设间同时问题,可靠性高,但CPU利用率低,低优先级外设可能无法立即得到响应。适适用于CPU不太忙,传送速度不高场所。③中止方法:特点:CPU在实施现行程序时为处理部分紧急发出情况,临时停止目前途序,转而对该紧急事件进行处理,并在处理完后返回正常程序。CPU利用率高,外设含有申请CPU中止主动权,能够实现实时故障处理,实时响应外设处理,但中止服务需要保护断点(占用存放空间,降低速度)。适适用于CPU任务较忙,传送速度要求不高场所,尤其适用实时控制中紧急事件处理。④DMA控制:特点:数据不经过CPU,而由DMAC直接完成存放单元或I/O端口之间数据传送。接口电路复杂,硬件开销大,大批量数据传送速度极快。适适用于存放器和存放器之间,存放器和外设之间大批量数据传送场所。⑤通道方法:特点:以程序方法进行I/O管理,可直接访问主存放器,不需CPU干预,可经过通道程序实现除数据传输外其它操作。6.7常见中止优先级管理方法有哪多个?分别有哪些优缺点?①软件查询:方法简单,实现起来较轻易,效率低。②硬件排序:占用硬件资源,效率较高。③中止控制芯片:成本较高,效率很高。6.8在微机和外设多个输入/输出方法中,便于CPU处理随机事件和提升工作效率I/O方法是哪一个?数据传输速率最快是哪一个?便于CPU处理随机事件和提升工作效率是中止方法,数据传输速率最快是DMA控制方法。七7.1ARM处理器有多个运行模式,处理器怎样区分多种不一样运行模式?ARM处理器有7中运行模式:用户模式(user):ARM处理器正常程序实施状态快速中止模式(fiq):处理高速中止,用于高速数据传输或通道处理外部中止模式(irq):用于一般中止处理管理模式(supervisor):操作系统使用保护模式,系统复位后默认模式中止模式(abort):数据或指令预取中止时进入该模式未定义模式(undefined):处理未定义指令,用于支持硬件协处理器软件仿真系统模式(system):运行特权级操作系统任务处理器使用CPSR寄存器中M4~M0位来指示不一样运行模式。7.2通用寄存器中PC、CPSR和SPSR作用各是什么?PC:程序计数器,用于保留处理器要取下一条指令地址。CPSR:目前途序状态寄存器,CPSR保留条件标志位、中止严禁位、目前处理器模式标志,和其它部分相关控制和状态位。SPSR:备份程序状态寄存器,当异常发生时,SPSR用于保留CPSR目前值,当从异常退出时,可用SPSR来恢复CPSR。7.3从编程角度讲,ARM处理器工作状态有哪两种?这两种状态之间怎样转换?从编程角度讲,ARM处理器两种工作状态为:ARM状态(复位状态):处理器实施32位字对齐ARM指令Thumb状态:处理器实施16位半字对齐Thumb指令ARM指令集和Thumb指令集全部有切换处理器状态指令,并可在两种工作状态之间切换:进入Thumb状态:当操作数寄存器状态位(最低位)为1时,实施BX指令就能够进入Thumb状态。假如处理器在Thumb状态时发生异常(异常处理要在ARM状态下实施),则当异常处理返回时自动切换到Thumb状态进入ARM状态:当操作数寄存器状态位(最低位)位0时,实施BX指令就能够进入ARM状态。处理器进行异常处理时,把PC值放入异常模式链接寄存器中,从异常向量地址开始实施程序,系统自动进入ARM状态7.5哪些特征是ARM和其它RISC体系结构所共有?ARM和其它RISC体系结构共有三个相同特征:Load/Store体系结构:也称为寄存器/寄存器体系结构或RR系统结构。在这类机器中,操作数和运算结果不能直接从主寄存器中存取,而是必需借用大量标量或矢量寄存器来进行中转。采取这一结构处理器肯定要使用更多通用寄存器存放操作数和运算结果,因为寄存器和运算器之间数据传输速度远高于主存和运算器之间数据传输速度,采取这一结构有利于提升计算机整体运行速度采取固定长度精简指令集:这么使得机器译码变得轻易,能够经过硬件直接译码方法完成对指令解析。即使因为和复杂指令集相比,采取精简指令集需要更多指令来完成相同任务,但采取硬件直接译码速度却高于采取微码方法译码。经过采取高速缓存等提升寄存器存放速度技术,采取固定长度精简指令集机器能够取得更高性能三地址指令格式:除了除法指令外,ARM大部分数据处理指令采取三地址指令。即在指令中包含了目标操作数、源操作数和第二源操作数八8.1ARM指令有哪多个寻址方法?试分别说明。ARM指令系统支持常见寻址方法有:寄存器寻址:1.操作数存放在寄存器中;2.指令地址码字段给出寄存器编号(名);3.指令实施时直接取出寄存器值来操作;立即寻址:1.操作数包含在指令当中;2.指令地址码部分就是数据本身;3.取指时就取出了可立即使用操作数;寄存器间接寻址:寄存器移位寻址1.操作数存放在寄存器中;2.指令地址码字段给出寄存器编号(名)及移位表示式;3.指令实施时取出寄存器值并移位,再将结果作为源操作数;寄存器间接寻址:1.操作数存放在内存单元中;2.指令地址码字段给出[寄存器编号(名)];3.指令实施时依据寄存器值(指针)找到对应存放单元;基址变址寻址1.操作数存放在内存单元中;2.指令地址码字段给出[寄存器编号(名)]和偏移量;3.指令实施时将基址寄存器内容和偏移量(<4K)相加/减,形成操作数有效地址。4.常见于查表、数组操作、功效部件寄存器访问等。多寄存器寻址/块复制寻址:1.操作数存放在内存单元中;2.指令地址码字段给出{寄存器编号(名)列表};3.编号高寄存器总是对应内存中高地址单元;4.可完成存放块和16个寄存器或其子集之间数据传送。堆栈寻址:1.操作数存放在内存栈顶单元中;2.指令地址码字段固定使用栈顶指针SP;3.指令实施时同多寄存器/块寻址,可完成多个数据入栈和出栈;相对寻址:1.操作数为指令存放地址;2.指令地址码字段为地址偏移量;3.指令实施时同基址寻址,由PC提供基地址依据偏移量完成跳转;8.2指出下列指令操作数寻址方法。1)MOVR1,R2寄存器寻址2)SUBSR0,R0,#2立即寻址3)SWPR1,R1,[R2]寄存器间接寻址4)STRR1,[R0,#-4]!基址变址寻址5)LDMFDSP!,{R1~R4,LR}多寄存器直接寻址6)ANDSR0,R0,R1,LSLR2寄存器移位寻址7)STMIAR1!,{R2~R5,R8}多寄存器直接寻址8)BLAGAIN相对寻址8.3ARM指令中第二操作数有哪多个表示形式?举例说明。第二源操作数有三类表示形式,分别是:1)立即数方法(#imm)#imm是一个无符号32位数值变量,比如0x1042)寄存器方法(Rm)Rm是存放第二源操作数寄存器,比如R3表示R3寄存器3)寄存器移位方法(Shifter_operand)比如R3,ASR#2表示R3地址右移2后寄存器中值8.4判定下列指令正误,并说明理由。1)ADDR1,R2,#4!错误,#4是立即数寻址,不是寄存器寻址,所以不能使用“!”来对寄存器值更新。2)LDMFDR13!,{R2,R4}正确3)LDRR1,[R3]!错误,这是零偏移形式,无需使用“!”4)MVNR5,#0x2F100正确5)SBCR15,R6,LSRR4正确6)MULR2,R2,R5正确7)MSRCPSR,#0x001错误,立即数值不合理(模式)8)LDRBPC,[R3]正确8.5对下列各指令组写出运算指令实施条件。1)CMPR0,R1ADDHIR1,R1,#1HI:假如R0中无符号数>R1中无符号数则实施ADD指令。2)CMPR1,R2SUBMIR2,R2,#0x08MI:表示假如R1寄存器中值小于R2寄存器中值,则实施SUB指令。8.7指出MOV指令和LDR加载指令区分及用途。ARM是RISC结构,数据从内存到CPU之间移动只能经过L/S指令来完成,也就是LDR/STR指令。比如想把数据从内存中某处读取到寄存器中,只能使用ldr比如:LDRR0,0x12345678就是把0x12345678这个地址中值存放到R0中。而MOV不能这么用,MOV只能在寄存器之间移动数据,或把立即数移动到寄存器中,这个是和x86这种CISC架构芯片区分最大地方。x86中没有LDR这种指令,因为x86MOV指令能够将数据从内存中移动到寄存器中。8.8写一段代码判定R1值是否大于0x30,是则将R1减去0x30.CMPR1,0x30SUBGTR1,R1,0x308.9ARM处理器中支持哪多个堆栈?画出每种堆栈操作示意图。ARM支持四种堆栈类型:1.满递增(FA):堆栈向上增加,堆栈指针指向内含有效数据项最高地址。2.空递增(EA):堆栈向上增加,堆栈指针指向堆栈上第一个空位置。3.满递减(FD):堆栈向下增加,堆栈指针指向内含有效数据项最低地址。4.空递减(ED):堆栈向下增加,堆栈指针向堆栈下第一个空位置。九9.3AREAgcd,CODE,READONLYEXPORTgcdgcdCMPR0,R1BEQRESUBGTR0,R0,R1SUBLTR1,R1,R0RE9.5编写一个程序段,当寄存器r3中数据大于r2中数据时,将r2中数据加10存入寄存器r3;不然将r2中数据加100存入寄存器r3,并把这个程序段定义成一个代码段。AREAADDITION,CODE,READONLYENTRYLoopCMPR3,R2BHIGREATERADDR3,R2,#100BSTOPGREATERADDR3,R2,#10STOP…END9.8试编写一个循环程序,实现从0开始10个偶数累加。AREAFoud,CODE,READONLYENTRYMOVR0,#0;存放累加和MOVR1,#0;存放加数MOVR2,#9;累加次数LoopADDR1,R1,#2ADDR0,R0,R1SUBR2,R2,#1;调整累加次数BNELoopStop……END9.15阅读程序,说明以下程序完成功效。llsearchCMPR0,#0LDRNEBR2,[R0]CMPNER1,R2LDRNER0,[R0,#4]BNEllsearchMOVPC,LR若R0≠0,则将R0指向字节数据读入R2;若R0≠0且R1≠R2,则将R0+4指向双字数据存入R0中;循环,直至R1=R2退出子程序。9.16阅读程序,说明以下程序完成功效。strcmpLDRBR2,[R0],#1LDRBR3,[R1],#1CMPR2,#0CMPNER3,#0BEQreturnCMPR2,R3BEQstrcmpreturnSUBR0,R2,R3MOVPC,LRR0指向数据串S1(前一个字节单元),R1指向数据串S2(前一个字节单元);依次比较字符串S1、S2中字符,直至任一字符串结束;将S1,S2第一个不一样字符(或最终一个字符)差存入R0并返回;9.17阅读程序,说明以下程序完成功效。CMPR0,#maxindexLDRLSPC,[PC,R0,LSL#2]BIndexOutOfRangeDCDHandler0DCDHandler1DCDHandler2DCDHandler3…实现子程序散转:若R0在有效范围内(小于#maxindex)则跳转到Hander0~3所指子程序之一。9.18阅读程序,说明以下程序完成功效。loopLDMIAR12!,(R0-R11)STMIAR13!,(R0-R11)CMPR12,R14BLSloop将R12开始向大地址方向所指12个数据压入向上生成堆栈(R13开始向大地址方向所指12个单元)中;比较R12和R14值,若R12小于R14则循环,不然退出程序;9.19分别编写一个主程序和子程序,实现主程序对子程序调用。要求子程序完成两个数加法运算功效;主程序完成对变量初始化赋值后调用子程序,实现两个数加法运算。根据以下两种方法来完成程序设计。(1)主程序采取C语言程序,子程序采取汇编语言程序设计;(2)主程序采取汇编语言程序,子程序采取C语言程序设计。(1)externintmyadd(inta,intb)intmain(){inta=1,b=2,c;c=myadd(a,b);}AREAmyadd,CODE,READONLYEXPORTmyaddmyaddADDR0,R0,R1MOVPC,LREND(2)IMPROTmyaddAERAExample,CODE,READONLYENTRYMOVR0,#1MOVR1,#2BLmyaddMOVR3,R0ENDintmyadd(inta,intb){return(a+b);}十10.2简述以ARM微处理器为关键最小硬件系统组成?ARM微处理器;电源模块,包含CPU内核和I/O接口电源;时钟模块,包含系统主时钟和实时时钟;复位模块,包含系统加电复位、手动复位和内部复位;存放器模块,包含程序保留存放器和程序运行存放器;JTAG调试接口模块。10.4简述S3C2440A芯片中各模块时钟信号产生及配置原理。为降低系统功耗,可时钟信号进行哪些处理?系统复位信号和各时钟信号有什么关系?当系统主时钟送入S3C2440A芯片后,进入其时钟发生模块,由锁相环进行对应处理,最终得到FCLK,HCLK,PCLK和UCLK四组时钟信号。其中,FCLK信号关键供给ARM920T内核使用,HCLK关键供给AHB总线、存放器控制器、中止控制器、LCD控制器、DMA控制器和USB主机模块;PCLK关键供给访问APB总线外设,比如WDT,I2S,I2C,PWM定时器,MMC接口,ADC,UART,GPIO,RTC和SPI模块;UCLK关键提供USB模块需要48MHz时钟。为降低系统功耗,可对时钟信号进行门控管理。最低功耗情况下,只开启FCLK信号,其它时钟信号关闭;若需对其它外设,只需使能对应总线及外设时钟信号有效即可。系统复位信号通常包含加电复位、手动复位和内部复位三类。其中,加电复位和手动复位信号均来自外部复位电路,内部复位信号通常来自系统内部事务处理(比如看门狗复位等)。所以,系统对外部复位信号波形有一定要求,若不能满足要求系统将不能正常工作。在S3C2440A芯片中,要完成正确系统复位,在处理电源保持稳定以后,该信号必需最少维持4个FCLK时钟低电平状态。10.6利用S3C2440AGPIO端口,设计包含8个LED流水灯电路,每个LED间隔1S轮番点亮,试画出程序步骤图并写出相关程序段。假设利用S3C2440A芯片GPIO端口G第0~7引脚驱动8个LED电路,对应GPIO输出为0时LED灯亮,则对应程序步骤图及对应程序段以下所表示:GPGCONEQU0x56000060GPGDATEQU0x56000064GPGUPEQU0x56000068;配置GPGCON寄存器,设置相关引脚为输出功效LDRR0,=GPGCONLDRR1,[R0]BICR1,R1,#0x0000FFFFORRR1,R1,#0x00005555STRR1,[R0];配置GPGUP寄存器,断开各上拉电阻LDRR0,=GPGUPLDRR1,[R0]ORRR1,R1,#0x00FFSTRR1,[R0];输出驱动数据,点亮对应LED等LOOPSTARLDRR2,=GPGDATLDRR3,[R2]BICR3,R3,#0x00FFORRR3,R3,#0x00FESTRR3,[R2]LDRR0,=0xFFFFFF;初始计数值BLDELAY;调用延迟子程序…LDRR2,=GPGDATLDRR3,[R2]BICR3,R3,#0x00FFORRR3,R3,#0x007FSTRR3,[R2]LDRR0,=0xFFFFFF;初始计数值BLDELAY;调用延迟子程序BLOOPSTARDELAYSUBR0,R0,#1CMPR0,#0x0BNEDELAYMOVPC,LR10.7在上题中,假如要加入一个按键,实现按键按下时流水灯停止流动,按键放开时流水灯正常流转功效,思索应怎样修改电路和程序?在上题基础上,添加一个GPIO口作为输入管脚(GPAGPA[0]),按键按下GPA[0]值为1,不然为零。按键按下时流水灯停止流动,按键放开时流水灯重新开启。故需在每次对GPGDAT寄存器赋值前/后进行判定操作(答案是后进行判定,之前判定也是正确),若判定有按键按下,则跳转出改程序段,否者继续实施。对应程序以下:GPACONEQU0x56000000GPADATEQU0x56000004GPAUPEQU0x56000008GPGCONEQU0x56000060GPGDATEQU0x56000064GPGUPEQU0x56000068;配置GPACON寄存器,设置相关引脚为输出功效LDRR0,=GPACONLDRR1,[R0]BICR1,R1,#0x00000003ORRR1,R1,#0x00000000STRR1,[R0];配置GPAUP寄存器,断开各上拉电阻LDRR0,=GPAUPLDRR1,[R0]ORRR1,R1,#0x0001STRR1,[R0];配置GPGCON寄存器,设置相关引脚为输出功效LDRR0,=GPGCONLDRR1,[R0]BICR1,R1,#0x0000FFFFORRR1,R1,#0x00005555STRR1,[R0];配置GPGUP寄存器,断开各上拉电阻LDRR0,=GPGUPLDRR1,[R0]ORRR1,R1,#0x00FFSTRR1,[R0];输出驱动数据,点亮对应LED等LOOPSTARLDRR2,=GPGDATLDRR3,[R2]BICR3,R3,#0x00FFORRR3,R3,#0x00FESTRR3,[R2]LDRR2,=GPGDATLDRR3,[R2]BICR3,R3,#0xFFFECMPR3,#0x1BEQWAITLDRR0,=0xFFFFFF;初始计数值BLDELAY;调用延迟子程序…LDRR2,=GPGDATLDRR3,[R2]BICR3,R3,#0x00FFORRR3,R3,#0x007FSTRR3,[R2]LDRR2,=GPGDATLDRR3,[R2]BICR3,R3,#0xFFFECMPR3,#0x1BEQWAITLDRR0,=0xFFFFFF;初始计数值BLDELAY;调用延迟子程序BLOOPSTARDELAYSUBR0,R0,#1CMPR0,#0x0BNEDELAYMOVPC,LRWAITLDRR2,=GPGDATLDRR3,[R2]BICR3,R3,#0xFFFECMPR3,#0x1BEQWAITBLOOPSTAR10.8在某采取小端存放S3C2440系统中,处理器外设时钟PCLK=66.68MHz,使用其UART1接口实现串行通信,要求传输速率19200bps,不使用FIFO,关闭流控制,帧格式:8位数据位,2位停止位,偶校验。试写出各初始化控制字,并编写初始化程序段。;相关寄存器地址定义CLKDIVNEQU0x4C000014;CLKDIVNforPCLKandFCLKCAMDIVNEQU0x4C000018;CANDIVNULCON1EQU0x50004000;UARTlinecontrolregister0UCON1EQU0x50004004;UARTcontrolregister0UFCON1EQU0x50004008;UARTFIFOcontrolregister0UMCON1EQU0x5000400C;UARTmodemcontrolregister0UBRDIV1EQU0x50004028;UARTbaudratedivisorregister0UTRSTAT1EQU0x50004010;UARTTX/RXstatusregister0UTXH1EQU0x50004020;UARTtransmitbufferregister0URXH1EQU0x50004024;UARTreceivebufferregister0MPLLCONEQU0x4C000004;MPLLcontrolregisterAREASerialCommunication,CODE,READONLYENTRYldrr2,=MPLLCON;设置MPLL为0x00076022FCLK=Mpll=(2*m*Fin)/(p*(2s次方)),Fin=16.9344MHz;m=(MDIV+8),p=(PDIV+2),s=SDIVmovr3,#0x22movr4,#0x00076000ADDr3,r3,r4strr3,[r2]ldrr2,=CLKDIVN;CLKDIVN设置为0x03,PCLK=FCLK/4movr3,#0x03strr3,[r2]ldrr2,=CAMDIVN;CLKDIVN设置为0x0200,PCLK=FCLK/4movr3,#0x200strr3,[r2]ldrr2,=ULCON1;ULCON1设置为0x07,含义是正常操作模式,无校验,停止位2,8个数据位movr3,#0x07strr3,[r2]ldrr2,=UCON1;UCON1设置为0x05表示发送、接收数据全部使用查询方法,该处初始化为中止模式也正确movr3,#0x05strr3,[r2]ldrr2,=UFCON1;UFCON1设置为0x00为不使用FIFOmovr3,#0x00strr3,[r2]ldrr2,=UMCON1;UMCON1设置为0x00为不使用流控movr3,#0x00strr3,[r2]ldrr2,=UBRDIV1;UBRDIV1设置为216,含义为波特率设为19200,由下面公式算得:UBRDIVn=(int)(PCLK/bps*16)-1;其中PCLK=66.68MHzmovr3,#216;或16进制表示0XD8strhr3,[r2]10.9在上题中,若采取查询方法进行数据传输,要将在地址DATA处100字节发送到其它设备,试画出程序步骤图,并写出相关程序段。查询方法进行数据传输代码段以下:CHECKLDRR2,=UTRS
/
本文档为【2021年微处理器系统结构与嵌入式专业系统设计第二版答案全】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索