




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基础知识总线结构哈佛(Harvard)结构冯·诺依曼结构(VonNeumann)结构哈佛(Harvard)结构程序存储器数据存储器CPU访问程序的地址线访问程序的数据线访问数据的地址线访问数据的数据线程序存储器访问总线数据存储器访问总线不严格的哈佛(Harvard)结构MCS-51系列单片机的总线结构程序存储器数据存储器CPU 访问程序的地址线 共用的数据线 访问数据的地址线冯·诺依曼结构(VonNeumann)程序存储器数据存储器CPU公用的地址线共用的数据线哈佛结构VS冯·诺曼结构哈佛结构是不同于传统的冯·诺曼(VonNeuman)结构的并行体系结构,其主要特点是将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个相互独立的存储器,每个存储器独立编址,独立访问。与两个存储器相对应的是系统中设置了程序总线和数据总线两条总线,从而使数据的吞吐率提高了一倍。冯·诺曼结构则是将指令、数据、地址存储在同一存储器中,统一编址,依靠指令计数器提供的地址来区分是指令、数据还是地址。取指令和取数据都访问同一存储器,数据吞吐率低。流水线技术将每条指令分解为多步并让各步操作重叠。从而实现多条指令并行处理的技术。流水线技术例如,ARM7TDM(-S)处理器使用3步流水线结构,一条指令的完整执行被分为3个步骤,即:取指令、译码、执行。超流水线技术超流水线是指某些CPU内部的流水线超过通常的5-6步以上,例如Pentiumpro的流水线就长达14步。将流水线设计的步(级)数越多,其完成一条指令的速度越快,因此才能适应工作主频更高的CPU。超标量(superscalar)技术它是指在CPU中有一条以上的流水线,并且每时钟周期内可以完成一条以上的指令,这种设计就叫超标量技术。流水线技术-问题相关和转移相关一个流水线系统中,如果第二条指令需要用到第一条指令的结果,这种情况叫做相关。乱序执行转移在执行无跳转的线性代码时,流水线的效率最高。当程序出现分支时,例如遇到跳转语句,流水线将被清空,需要重新填满才能恢复到全速执行。分支预测技术CISC&RISCCISC(ComplexInstructionSetComputer,复杂指令集计算机)。优点是:丰富的指令系统很大程度简化了程序设计的难度。CISC中指令的长度不一,可以节省存储空间。CISC指令可以直接对存储器操作,使得通用寄存数目较少。缺点:由于指令系统庞大,寻址方式、指令格式较多,指令长度不一,增加了硬件复杂度,设计成本高。指令操作复杂、执行周期长、速度低,难以优化编译生成高效的机器语言。许多指令使用频度低,不但增加了设计负担,也降低了系统的性价比。CISC&RISCRISC(ReducedInstructionSetComputer,精简指令集计算机)好处:(1)精简指令系统的设计适合超大规模集成电路(VLSI)实现。(2)可以提供直接支持高级语言的能力,简化编译程序的设计。(3)提高机器的执行速度和效率,降低设计成本,提高系统的可靠性。缺点:(1)由于指令少,加重了汇编语言程序员的负担,增加了机器语言程序的长度,从而占用了较大的存储空间。(2)早期的RISC结构对浮点运算的支持不够,对虚拟存储器的支持也不够理想。(3)相对来说,RISC机器上的编译程序比CISC机器上的难写。大端存储和小端存储例如在ARM体系结构中,存储器的存储格式有三种类型即字节(Byte)、半字(Half-Word)和字(word)。其中,字节的长度均为8位。半字(Half-Word)的长度为16位,在内存中占用2个字节空间。字(Word)的长度为32位,在内存中占用4个字节空间。存储器中对数据的存储是以字节为基本单位的,字和半字由多个字节组成的,因此,字和半字在存储器中的存放就有两种次序,一种是大端存储次序,另一种是小端存储次序。大端存储大端存储是指字或者半字的最高位字节(MSB:MostSignificantBit)存放在内存的最低位字节地址上。例如我们有一个字为0x12345678(0x表示一个16进制的数),这个字由4个字节组成,按照从高位到低位的次序分别是:0x12,0x34,0x56,0x78。如果把这个字放到以0x00008000起始的内存中,这个字在内存中的实际存放情况如表所示:大端存储如果我们有一个半字为0x1234,这个字由2个字节组成,按照从高位到低位的次序分别是:0x12,0x34。如果把这个字放到以0x00008000起始的内存中,这个字在内存中的实际存放情况如表所示:大端存储大端存储次序非常像我们平时的书写次序,即先写大数,后写小树。比如,我们总是按照千、百、十、个位来书写数字。另外,大端存储次序还广泛运用在TCP/IP协议上,因此又称作网络字节次序。例如在网络中我们传递的IP地址是10.13.82.13(16进制是:0A.0D.52.0D),在TCP/IP数据包的封装中,IP地址也被封装为如表所示。小端存储小端存储是指字或者半字的最低位字节(LSB:LowestSignificantBit)存放在内存的最低位字节地址上。以16进制数0x12345678为例,这个字由4个字节组成,按照从高位到低位的次序分别是:0x12,0x34,0x56,0x78。如果把这个字放到以0x00008000起始的内存中,这个字在内存中的实际存放情况如表3.4所示:小端存储如果我们有一个半字为0x1234,这个字由2个字节组成,按照从高位到低位的次序分别是:0x12,0x34。如果把这个字放到以0x00008000起始的内存中,这个字在内存中的实际存放情况如表所示:存储器管理单元MMUMMU(MemoryManagementUnit)。主要功能:1)将虚地址转换成物理地址。
2)对存储器访问权限的控制。ARM7TDMI处理器中没有MMU,不支持WindowsCE和标准Linux操作系统,uCLinux可以运行在没有MMU的处理器上BSP
BSP(BoardSupportPacket)就是针对嵌入式系统开发板的开发工具包,对BSP比较贴切的翻译应该是“板级开发包”。BSP既然是一个开发包,里面就会包含各种开发软件、工具以及文档。不同的BSP内部所包含的内容是不一样的,通常都回包含以下内容:C/C++语言的交叉编译器。BootLoader程序。嵌入式操作系统,例如嵌入式Linux、WinCE等。调试、下载工具;例如JTAG调试下载软件,串口调试下载软件等。开发板上设备的驱动程序。开发板相关的技术文档等。BSP与板子密切相关CPU内存Falsh电路结构接口芯片
BootLoader和OSLoaderBootLoader-启动加载器,是用来完成系统启动和系统软件加载工作的程序。它是底层硬件和上层应用软件之间的一个中间软件,其主要功能是:完成处理器和周边电路正常运行所要的初始化工作。可以屏蔽底层硬件的差异,使上层应用软件的编写和移植更加方便。不仅具有类似PC机上常用的BIOS功能,而且还可具有一定的调试、下载、网络更新等功能。BootLoader和板子密切相关,属于BSPCPU内存Falsh电路结构接口芯片OSLoaderOSLoader顾名思义就是操作系统的载入器,它是用来载入操作系统的,也通常用于多操作系统的载入管理,OSLoader在PC系统中比较常见,例如Linux下的Grub、Lilo,Windows下的Windows2k/NT/XP的OSLoader嵌入式系统中很少单独使用,一般包含在BootLoader中进程和线程一个进程是一个正在运行的应用程序的实例。它由两个部分组成:一个是操作系统用来管理这个进程的内核对象。另一个是这个进程拥有的地址空间从执行角度方面看,一个进程由一个或多个线程组成。一个线程是一个执行单元,它控制CPU执行进程中某一段代码段。一个线程可以访问这个进程中所有的地址空间和资源。一个进程最少包括一个线程来执行代码,这个线程又叫做主线程。ICE和ICDICE(In-Circuit
Emulator)
即在线仿真器。ICE是仿照目标机上的CPU而专门设计的硬件,可以完全仿真处理器芯片的行为,并且提供丰富的调试功能。ICD(In-Circuit
Debugger)是在线调试器,它是ICE的简化调试工具。由于ICE的价格非常昂贵,并且每种CPU都需要一种与之对应的ICE,使得开发成本非常高,一个比较好的解决办法是让CPU直接在其内部实现调试功能,并通过在开发板上引出的调试端口,发送调试命令和接收调试信息,完成调试过程。使用ICD的一个前提条件就是,被调试的处理器内部必需具有调试功能。ROM
MonitorROM
Monitor即ROM监视器。它是通过在开发主机上运行一个ROM的软件调试工具,同时在目标机上运行ROM监视器(ROM
Monitor)和被调试程序,开发主机通过软件调试工具与目标机上的ROM监视器建立通信连接。ROM
EmulatorROM
Emulator即ROM仿真器。它是一个硬件设备,在使用时,它通常被插入到目标机上的ROM插槽中,专门用于仿真目标机上的ROM芯片。在使用这种调试方式时,被调试程序首先下载到ROM仿真器中,它等效于下载到目标机的ROM芯片上,然后在ROM仿真器中完成对目标程序的调试。JTAG20世纪80年代,联合测试行动组(Jointtestactiongroup:JTAG)起草了边界扫描测试(Boundaryscantesting:BST)规范,后来在1990年被批准为IEEE标准,即IEEE1149.1规定,简称为JTAG标准。边界扫描(Boundary-Scan)在JTAG调试当中,边界扫描(Boundary-Scan)是一个很重要的概念。边界扫描技术的基本思想是在靠近芯片的输入输出管脚上增加一个移位寄存器单元。因为这些移位寄存器单元都分布在芯片的边界上(周围),所以被称为边界扫描寄存器(Boundary-ScanRegisterCell)。当芯片处于调试状态的时候,这些边界扫描寄存器可以将芯片和外围的输入输出隔离开来,通过这些边界扫描寄存器单元,可以实现对芯片输入输出信号的观察和控制。TAP(TestAccessPort)在边界扫描还有一个重要概念就是TAP(TestAccessPort)。TAP是一个通用的端口,通过TAP可以访问芯片提供的所有数据寄存器(DR)和指令寄存器(IR)。对整个TAP的控制是通过TAPController来完成的。TAP总共包括5个信号接口TCK、TMS、TDI、TDO和TRST:其中4个是输入信号接口和另外1个是输出信号接口。一般,我们见到的开发板上都有一个JTAG接口,该JTAG接口的主要信号接口就是这5个。JTAG-TAP编译器和交叉编译器编译器编译器(Compiler)是将一种语言翻译为另一种语言的计算机程序。编译器将源程序作为输入,而产生用目标语言(Target
language)表达的等价程序。通常,编译器所生成目标代码是运行在和编译器运行环境相似的硬件平台上的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度手房屋买卖合同涉及房屋交易合同解除及违约责任
- 二零二五年度事业单位退休专家返聘合作协议
- 银行员工安全教育
- 建筑焊工模拟练习题含参考答案
- 2025年科技节活动小学科普知识竞赛题库及答案(共150题)
- 2025年国家公务员考试250个必考公共基础知识点复习
- 藏族农家乐创业计划
- 雨刮基本知识
- 财务欺诈预防:识别和防范金融欺诈
- 医院药事工作总结
- 厨房设备购销合同范本(一)与厨房设备采购合同8篇
- 2025年中储粮吉林分公司招聘(74人)笔试参考题库附带答案详解
- 化粪池清掏协议书范本
- 2024-2025学年九年级化学人教版教科书解读
- 2025年长春医学高等专科学校单招职业技能测试题库及完整答案1套
- 2025年中国大唐集团有限公司重庆分公司高校毕业生招聘笔试参考题库附带答案详解
- 2025年西安铁路职业技术学院高职单招高职单招英语2016-2024历年频考点试题含答案解析
- 化工原理完整(天大版)课件
- 《无人机桨发匹配试验技术规范》
- 2025年度酒店客房预订渠道拓展与合作协议3篇
- 运输公司安全生产管理制度
评论
0/150
提交评论