具有X86到ARM二进制翻译和执行功能的SoC系统设计.
- 格式:doc
- 大小:31.50 KB
- 文档页数:3
嵌入式系统导论复习题嵌入式系统导论复习题一填空1、嵌入式系统通常是以应用为中心,以计算机技术为基础,软硬件可裁剪,对功能、体积、功耗等严格要求的专用计算机系统。
2、嵌入式系统的可靠性是嵌入式计算机的生命线。
3、嵌入式系统的基本结构一般可分为硬件和软件,硬件包括嵌入式核心芯片、存储器系统及外部接口,软件包括应用软件、编程接口、嵌入式操作系统和板升级支持包。
4、嵌入式处理器主要包括EMPU、EMCU、EDSP和ESOC。
其中ESOC最大的特点是成功实现了软硬件无缝结合,直接在处理器片内嵌入操作系统的代码模块。
5、目前使用的嵌入式操作系统有好几十种,最常用的是LINUX和WINCE。
6、嵌入式系统的系统级设计方法主要有先硬件后软件设计方法和软硬件协同设计的方法,其中针对单片机的开发是采用先硬件后软件的方法。
7、嵌入式软件可分为系统软件、支撑软件和应用软件三类。
8、嵌入式处理器是嵌入式硬件系统的核心,其种类非常多,常见的有ARM处理器、MIPS处理器和PowerPC处理器。
9、TI公司的TMS320C2XXX系列的DSP可作为MCU进行使用。
10、标准的嵌入式系统架构有两大体系:RISC和CISC,其中RISC架构的处理器包括ARM、MIPS、PowerPC、ARC等,CISC架构为我们所熟知的是INTEL的X86架构、VIA架构和AMD架构。
11、ARM7系列微处理器为32位RISC处理器。
12、国产嵌入式处理器的代表芯片为方舟和龙芯系列处理器。
13、存储器有三个主要特性:速度、容量和价格。
其中寄存器速度最快、价位最高、容量最小;主存用来存放将要参与运行的程序和数据;存取速度和容量介于寄存器和主存之间的为高速缓冲存储器cache。
14、按存储器的作用不同,可分为主存储器、辅助存储器和缓冲存储器,其中RAM和ROM属于主存储器。
15、RAM主要有SRAM和DRAM,常见的RAM容量扩展方法为字长扩展和字数扩展。
二进制翻译中的X86浮点栈处理谢海斌;武成岗;崔慧敏;李晶【期刊名称】《计算机研究与发展》【年(卷),期】2007(44)11【摘要】二进制翻译系统是一种基于软件的跨平台代码迁移系统,它将一种体系结构的二进制代码翻译成另一种体系结构的二进制代码.二进制翻译可以用于解决遗产代码的迁移问题,也可以实现不同硬件平台之间软件的通用.浮点栈的处理已成为以X86为源的二进制翻译的研究中的关键性问题之一,如何处理X86浮点栈问题直接关系到以X86为源的二进制翻译系统的性能.针对X86浮点寄存器栈的特征,提出了一种扩展虚拟栈(extending virtual stack)处理方案.它采用归一的方法,保证了每个基本块中的运算所涉及到的浮点寄存器可以直接映射到目标机器中的浮点寄存器,确保了翻译的效率,并利用翻译时的分析避免了在入口处不必要的判断;同时还给出了在基本块入口处判别一个基本块是否会出现浮点栈上溢和下溢的充分必要条件,为生成更加高效的代码提供了条件.实验表明,它能够在保证正确实现其功能的前提下,获得更好的执行效率.【总页数】9页(P1946-1954)【作者】谢海斌;武成岗;崔慧敏;李晶【作者单位】中国科学院计算技术研究所,北京,100080;中国科学院研究生院,北京,100049;中国科学院计算技术研究所,北京,100080;中国科学院计算技术研究所,北京,100080;中国科学院研究生院,北京,100049;中国科学院计算技术研究所,北京,100080;中国科学院研究生院,北京,100049【正文语种】中文【中图分类】TP314【相关文献】1.IA-64二进制翻译中旋转寄存器的处理方法 [J], 崔雪冰;景伟娜;崔平非2.动态二进制翻译中不对界问题的处理 [J], 崔进鲜;庞建民;岳峰;张一弛;张刚3.二进制翻译中的库函数处理 [J], 杨浩;唐锋;谢海斌;武成岗;冯晓兵4.二进制翻译中系统库函数的分类处理方法 [J], 谢海斌;张兆庆;武成岗;冯晓兵5.动态二进制翻译中库函数处理的优化 [J], 傅立国; 庞建民; 王军; 张家豪; 岳峰因版权原因,仅展示原文概要,查看原文内容请购买。
[Linux]CPU架构指令集:RISCCISCarmamdX86i386aarch641 前⾔本⽂是解决在软件开发、软件交付过程中,常常需要找寻与服务器硬件的CPU架构适配的软件包时,开发者和交付者⼜时常摸不着头脑、【迷迷糊糊】地就下载了某个所谓“适配”、“兼容”的各种软件包。
那么,我们真的get到了背后的关系(CPU指令集、CPU架构、CPU处理器/芯⽚、Soc(芯⽚上的系统)、x86_64架构、arm架构等等),这⼀层⾯了吗?正本清源,⽅能以更⾼de效率去理解、学习基于此的上层知识模块,降低开发风险、提⾼⼯作效率。
扯远啦~ 赶紧⼀把回来!那么,先从CPU架构所涉及的相关概念说起~2 基本概念2.0 CPU := 中央处理器Central Processing Unit,中央处理器。
CPU是计算机系统的核⼼和⼤脑,主要由控制器、运算器、存储器和连接总线构成。
其中,控制器和运算器组成CPU的内核,【内核】从存储器中提取数据,根据控制器中的指令集将数据解码,通过运算器中的微架构(电路)进⾏运算得到结果,以某种格式将执⾏结果写⼊存储器。
因此,内核的基础就是【指令集(指令集架构)】和【微架构】。
延申1:指令集(架构)指令集是所有指令的集合,它规定了CPU可执⾏的所有操作微架构是完成这些指令操作的电路设计。
相同的指令集可以有不同的微架构,如Intel 和AMD都是基于X86指令集但微架构不同。
指令集架构( Instruction Set Architecture ),⼜称指令集或指令集体系,是计算机体系结构中与程序设计有关的部分,包含了基本数据类型,指令集,寄存器,寻址模式,存储体系,中断,异常处理以及外部 I/O 。
指令集架构包含⼀系列的 opcode 即操作码(机器语⾔),以及由特定处理器执⾏的基本命令。
简单地来说,指令集⼀般被整合在操作系统内核最底层的硬件抽象层中,属于计算机中硬件与软件的接⼝,它向操作系统定义了CPU的基本功能。
x86架构与ARM架构处理器2010年07月18日星期日23:16英文缩写:ISA指令集架构,Instruction Set ArchitectureCISC复杂指令集计算机,Complex Instruction Set ComputerRISC精简指令集计算机,Reduced Instruction Set ComputerEPIC显性并行指令计算,Explicitly Parallel Instruction ComputingMMX多媒体扩展指令集,Multi Media ExtendedSSE单指令多数据流扩展,Streaming-Single instruction multiple data-ExtensionsCPU的机器语言与指令集CPU依靠指令来计算和控制系统,每款CPU在设计时就规定了一系列通过其硬件电路实现的指令系统,即机器语言。
指令的强弱也是CPU的重要指标,指令集是提高微处理器效率的最有效工具之一。
从现阶段的主流体系结构讲,指令集可分为复杂指令集和精简指令集两种,主要有指令位数多少、指令位数是否可变、指令顺序执行和并行执行、包含指令条数等等区别。
基于复杂指令集实现的计算机即CISC复杂指令集计算机,基于精简指令集的计算机即RISC精简指令集计算机。
Intel第一块16位的i8086CPU使用的指令集称x86指令集,同时电脑中为提高浮点数据处理能力而增加的x87芯片系列数学协处理器则另外使用x87指令集,后来将x86指令集和x87指令集统称为x86指令集。
x86指令集是CISC复杂指令集的代表。
复杂的指令系统必然增加微处理器的复杂性,使处理器的研制时间长,成本高。
并且复杂指令需要复杂的操作,必然会降低计算机的速度。
后来经过研究发现,在计算机中,80%程序只用到了20%的指令集,基于这一发现,RISC精简指令集被提了出来,这是计算机系统架构的一次深刻革命。
RISC 架构的基本思路是:抓住CISC指令系统指令种类太多、指令格式不规范、寻址方式太多的缺点,通过减少指令种类、规范指令格式和简化寻址方式,方便处理器内部的并行处理,提高VLSI器件的使用效率,从而大幅度地提高处理器的性能。
英特尔预计x86架构应用到一切芯片中
佚名
【期刊名称】《《电脑编程技巧与维护》》
【年(卷),期】2008(000)008
【摘要】英特尔数字企业事业部负责人PatGelsinger称,英特尔预计摩尔定律近期仍将继续发挥作用,并且计划把英特尔x86架构扩展到大型计算机的嵌入式设备中。
同时,编程技术必须进一步发展以便更好地利用多核芯片的优势。
【总页数】1页(P4)
【正文语种】中文
【中图分类】TP332
【相关文献】
1.兆芯:以自主x86架构实现硬件安全 [J], 乔北
2.有关未来的“芯”思英特尔信息技术峰会——重“芯”再来重塑英特尔计算体验[J], 刘思博
3.基于兆芯X86架构处理器的国产化CPCI主板设计 [J], 王浩宇
4.兆芯CPU的目标是取代X86架构芯片 [J],
5.英特尔公司推出基于英特尔架构(IA架构)的嵌入式SoC——英特尔
EP80579集成处理器 [J],
因版权原因,仅展示原文概要,查看原文内容请购买。
SoC芯片介绍什么是SOC随着设计与制造技术的发展,集成电路设计从晶体管的集成发展到逻辑门的集成,现在又发展到IP的集成,即SoC(SystemonaChip)设计技术。
SoC可以有效地降低电子/信息系统产品的开发成本,缩短开发周期,提高产品的竞争力,是未来工业界将采用的最主要的产品开发方式。
虽然SoC 一词多年前就已出现,但到底什么是SoC则有各种不同的说法。
在经过了多年的争论后,专家们就SoC的定义达成了一致意见。
这个定义虽然不是非常严格,但明确地表明了SoC的特征:实现复杂系统功能的VLSI;采用超深亚微米工艺技术;使用一个以上嵌入式CPU/数字信号处理器(DSP);外部可以对芯片进行编程;怎样去理解SoC中包含了微处理器/微控制器、存储器以及其他专用功能逻辑,但并不是包含了微处理器、存储器以及其他专用功能逻辑的芯片就是SoC。
SoC 技术被广泛认同的根本原因,并不在于SoC可以集成多少个晶体管,而在于SoC可以用较短时间被设计出来。
这是SoC的主要价值所在——缩短产品的上市周期,因此,SoC更合理的定义为:SoC是在一个芯片上由于广泛使用预定制模块IP(Intellectual Property)而得以快速开发的集成电路。
从设计上来说,SoC就是一个通过设计复用达到高生产率的硬件软件协同设计的过程。
从方法学的角度来看,SoC是一套极大规模集成电路的设计方法学,包括IP核可复用设计/测试方法及接口规范、系统芯片总线式集成设计方法学、系统芯片验证和测试方法学。
SOC 是一种设计理念,就是将各个可以集成在一起的模块集成到一个芯片上,他借鉴了软件的复用概念,也有了继承的概念。
也可以说是包含了设计和测试等更多技术的一项新的设计技术。
SOC的一般构成从大处来分,SOC含有:1.逻辑核包括CPU、时钟电路、定时器、中断控制器、串并行接口、其它外围设备、I/O端口以及用于各种IP核之间的粘合逻辑等等;2.存储器核包括各种易失、非易失以及Cacha等存储器;3.模拟核包括ADC、DAC、PLL以及一些高速电路中所用的模拟电路。
解读x86、ARM和MIPS三种主流芯片架构派进展风格导致其商业进程远远滞后于ARM,当ARM与高通、苹果、NVIDIA等芯片设计公司合作大举进攻移动终端的时候,MIPS还停歇在高清盒子、打印机等小众市场产品中;五是MIPS自身系统的软件平台也较为落后,应用软件与ARM体系相比要少无数。
x86 CISC是一种为了便于编程和提高记忆体拜访效率的芯片设计体系,包括两大主要特点:一是用法微代码,命令集可以挺直在微代码记忆体里执行,新设计的处理器,只需增强较少的电晶体就可以执行同样的命令集,也可以很快地编写新的命令集程式;二是拥有浩大的命令集,x86拥有包括双运算元格式、寄存器到寄存器、寄存器到记忆体以及记忆体到寄存器的多种命令类型,为实现复杂操作,微处理器除向程序员提供类似各种寄存器和机器命令功能外,还通过存于只读存储器(ROM)中的微程序来实现极强的功能,微处理器在分析完每一条命令之后执行一系列初级命令运算来完成所需的功能。
x86命令体系的优势体现在能够有效缩短新命令的微代码设计时光,允许实现CISC体系机器的向上兼容,新的系统可以用法一个包含早期系统的命令集合。
另外微程式命令的格式与高阶语言相匹配,因而编译器并不一定要重新编写。
相较ARM RISC命令体系,其缺点主要包括四个方面。
第一,通用寄存器规模小,x86命令集惟独8个通用寄存器,CPU大多数时光是在拜访存储器中的数据,影响囫囵系统的执行速度。
而RISC 系统往往具有十分多的通用寄存器,并采纳了重叠寄存器窗口和寄存器堆等技术,使寄存器资源得到充分的利用。
其次,影响性能表现,解码器的作用是把长度不定的x86命令转换为长度固定的类似于RISC的命令,并交给RISC内核。
解码分为硬件解码和微解码,对于容易的x86命令只要硬件解码即可,速度较快,而碰到复杂的x86命令则需要举行微解码,并把它分成若干条容易命令,速度较慢且很复杂。
第三,x86命令集寻址范围小,约束用户需要。
浅谈ARM架构应用处理器与X86架构处理器ARM架构应用处理器和x86架构处理器是目前市场上最常见的两种处理器架构。
虽然它们都用于计算机和移动设备,但在设计和使用上有一些重要的区别。
首先,ARM架构应用处理器主要用于移动设备和嵌入式系统,如智能手机、平板电脑和物联网设备。
它们通常采用低功耗设计,并具有较小的尺寸和散热要求。
ARM处理器的主要优点是能够提供出色的能效比,即在限制功耗的情况下,能够提供更高的性能。
这使得ARM处理器成为移动设备的首选。
与之相比,x86架构处理器主要用于桌面和服务器系统。
它们通常具有更高的性能,更强大的计算能力和更高的功耗要求。
x86处理器的主要优势是它们能够运行更广泛的软件和操作系统,包括Windows和一些高性能应用程序。
这使得x86处理器成为图形设计、游戏和大规模计算等需要更强大处理能力的领域的首选。
此外,ARM架构应用处理器通常采用的是RISC(精简指令集计算机)架构,而x86架构处理器采用复杂指令集计算机(CISC)架构。
RISC架构的优点是指令简单,执行速度快,但需要更多的指令来完成相同的任务。
CISC架构的优势在于单个指令执行的功能更多,但执行速度相对较慢。
然而,随着技术的进步,两种架构之间的差距在逐渐缩小。
此外,由于x86架构处理器的市场份额更大,更多的软件和工具支持x86架构。
这意味着在选择处理器架构时,x86处理器更容易满足各种软件和应用程序的需求。
而选择ARM架构的处理器意味着需要更多的定制和适应性开发。
最后,ARM架构处理器通常具有集成的图像、视频和音频硬件加速功能,这使得它们非常适合移动设备上的媒体处理和图形渲染。
而x86架构处理器则更适合需要更高的计算性能和大规模数据处理的任务。
综上所述,ARM架构应用处理器和x86架构处理器在应用场景、功耗、软件支持和具体功能等方面存在一些重要差异。
选择适合自己需求的处理器架构非常关键,需要根据所需的性能、功耗和软件兼容性等方面进行综合考量。
具有X86到ARM二进制翻译和执行功能
的SoC系统设计
二进制翻译是一种直接翻译可执行二进制程序的技术,能够把一种处理器上的二进制程序翻译到另外一种处理器上执行。
它使得不同处理器之间的二进制程序可以很容易的相互移植,扩大了硬件/软件的适用范围,有助于打破处理器和支持软件之间的相互扼制的局面。
二进制翻译技术的优点为:不需要重编译源码就可以实现软件从旧平台到新平台的移植;快速为新机器提供软件,包括移植操作系统和编译器;充分利用新机器的特性优化代码;减少培训费用
二进制翻译是一种直接翻译可执行二进制程序的技术,能够把一种处理器上的二进制程序翻译到另外一种处理器上执行。
它使得不同处理器之间的二进制程序可以很容易的相互移植,扩大了硬件/软件的适用范围,有助于打破处理器和支持软件之间的相互扼制的局面。
二进制翻译技术的优点为:不需要重编译源码就可以实现软件从旧平台到新平台的移植;快速为新机器提供软件,包括移植操作系统和编译器;充分利用新机器的特性优化代码;减少培训费用,因为使用的是相同的软件,所以不必在新平台上重新培训员工;降低了多平台软件的费用。
1SOC架构设计
1.1 处理器的确定
通用处理器与硬件逻辑是SoC设计的主流架构。
在一些需要大量数据处理的应用中,这样的架构并不能满足要求。
实际上,由于不同的任务在很大程度上互相独立运行,可以将具有内在执行并行性的任务分解为紧密联系的子任务,不同的内核可以执行不同的子任务,多核架构在1个周期内可以执行多个指令。
这种并行处理使得整个系统的性能与使用单核处理器串行处理相同任务相比,有了很大改进。
另外,多核架构设计可以复用现有的单核处理器作为处理器核心,从而可以缩短设计和验证周期,节省开发成本,符合SoC设计的基本思路。
多核架构是未来SoC发展的一个趋势。
该设计采用双核架构,采用当代流行的处理能力较好的ARM处理器ARM7TDMI-S 和ARM926EJ-S,ARM内核最大的优势在于高速度、低功耗。
ARM7TDMl-s具有3级流水线结构,支持Win-dows CE,Linux等操作系统。
ARM926EJ-S是ARM公司在2000年推出的功能最强大的ARM9处理器,实现5级流水,它与外部通信接口为双AHB总线结构,即指令AHB总线和数据AHB总线。
该设计中ARMTDMI-S主要负责控制、操作系统平台和任务的调度。
ARM926EJ-S则主要负责各种任务的执行。
1.2 使用的总线标准
由于SoC中集成了大量的IP核,设计的关键在于如何实现各IP模块之间的互连。
目前,SoC中IP核的互连一般采用总线结构,通过消息通信。
采用ARM公司的AHB与APB为片上总线。
AMBA总线体系结构是当前SoC体系设计结构设计的开放标准,由于AMBA被越来越多的公司采用,已迅速成为SoC结构和IP库开发的标准。
在具体实现时,采用AHB加APB的两级总线结构。
AHB用来支持高速设备,支持多主从设备。
多个主设备之间通过仲裁机制保证优先级,从设备通过地址译码机制被选中,并响应主设备发起的总线事务。
APB用支持基于寄存器访问的低速设备。
AHB与APB两条总线通过总线桥连接在一起,实现两条总线之间的协议转换。
图1为SoC的系统结构框图。
1.3 各IP在系统中的功能
除了两个处理器外,SoC中各IP核功能如下:翻译模块:实现将X86指令翻译成为ARM指令的功能。
SMI:外部存储与微处理器之间的桥梁,支持RoM作为系统的非易失性存储介质,支持片外SRAM作为系统的外围高速存储。
中断控制器:用来支持系统内部与外部的中断控制,如中断电平/边沿触发、中断电平极性与中断使能等。
Internal Memory:片内SRAM,大小为1 KB,但可以通过修改Verilog的描述来改变其大小。
Default Slave:用于当master访问未定义的地址空间时,给出一个应答信号。
Retry Slave:是一个可以产生重试回应及等待命令的slave范例,若需要类似的模组,可以利用它来完成。
Watchdog:保证系统安全的监控模块,软件需在预定的时间内访问相应的寄存器,否则硬件将产生内部信号自动复位。
GPIO控制器:用来支持扩展外设,拓宽SoC的使用范围。
Remap&Pause:主要分成两个处理单元,前者负责控管地址是否重新对应的机制,后者负责管理系统的省电模式。
TImer:定时器,支持捕获、Matchout输出、外部时钟驱动。
2 X86到ARM二进制翻译模块
该设计使用的翻译模块通过编写Verilog HDL实现,能将部分X86指令翻译成ARM指令,实现了某些X86应用程序到ARM架构的移植。
图2为解码器内部结构图。
该翻译模块首先从ROM中取出X86指令,翻译成ARM指令后存人RAM中,所有指令翻译完成后,翻译模块产生一个终端,使处理器执行RAM中的指令。
即所有指令先翻译完成,处理器才执行,该翻译过程属于静态二进制翻译。
其中Decoder是整个解码模块的核心,负责翻译指令。
Decoder模块采用有限状态机控制数据通路的方式实现.根据指令的功能和寻址方式进行状态分类,然后输出ARM指令。
例如,把寄存器寻址的算术指令可分为一类:。