ARM裸机-S5PV210简析

源文链接:https://blog.csdn.net/chenlb200/article/details/52750921

Cortex-A8架构

ARMv7架构

v5至v7架构比较

指令集

ARMv7架构是在ARMv6架构的基础上诞生的。该架构采用了Thumb-2技术,Thumb-2技术是在ARM的Thumb代码压缩技术的基础上发展起来的,并且保持了对现存ARM解决方案的完整的代码兼容性。Thumb-2技术比纯32位代码少使用 31%的内存,减小了系统开销。同时能够提供比已有的基于Thumb技术的解决方案高出38%的性能。

NEON技术

ARMv7架构还采用了NEON技术,将DSP和媒体处理能力提高了近4倍,并支持改良的浮点运算,满足下一代3D图形、游戏物理应用以及传统嵌入式控制应用的需求。
此外,ARMv7还支持改良的运行环境,以迎合不断增加的JIT(Just In Time)和DAC(DynamicAdaptive Compilation)技术的使用。

协处理器(Cortex-A8只用了cp0/cp15)

ARM 微处理器可支持多达 16 个协处理器,用于各种协处理操作,在程序执行的过程中,每个协处理器只执行针对自身的协处理指令,忽略 ARM 处理器和其他协处理器的指令。ARM 的协处理器指令主要用于 ARM 处理器初始化 ARM 协处理器的数据处理操作,以及在ARM 处理器的寄存器和协处理器的寄存器之间传送数据,和在 ARM 协处理器的寄存器和存储器之间传送数据。

8种工作模式

1、用户模式(Usr):用于正常执行程序;

2、快速中断模式(FIQ):用于高速数据传输;

3、外部中断模式(IRQ):用于通常的中断处理;

4、管理模式(svc):操作系统使用的保护模式;

5、数据访问终止模式(abt):当数据或指令预取终止时进入该模式,可用于虚拟存储以及存储保护;

6、系统模式(sys):运行具有特权的操作系统任务;

7、未定义指令中止模式(und):当未定义的指令执行时进入该模式,可用于支持硬件;
8、 监控模式(Mon)也称(被动)保护模式(sec):可在安全和非安全模式切换

结论:提供更多功能,应对更多的异常情况

超标量体系结构流水线

流水线

流水线技术是一种将每条指令分解为多步,并让各步操作重叠,从而实现几条指令并行处理的技术。程序中的指令仍是一条条顺序执行,但可以预先取若干条指令,并在当前指令尚未执行完时,提前启动后续指令的另一些操作步骤。这样显然可加速一段程序的运行过程。

超流水线

超级流水线以增加流水线级数的方法来缩短机器周期,相同的时间内超级流水线执行了更多的机器指令。
一般而言,CPU执行一条指令需要经过以下阶段:取指->译码->地址生成->取操作数->执行->写回,每个阶段都要消耗一个时钟周期,同时每个阶段的计算结果在周期结束以前都要发送到阶段之间的锁存器上,以供下一个阶段使用。所以,每个时钟周期所消耗的时间就是由以上几个阶段中的耗时最长的那个决定的。假设耗时最长的阶段耗时为s秒,那么时钟频率就只能设计到1/s赫兹(这里不考虑阶段间信号传递的时间和锁存器的反应时间)。

超标量

超标量(superscalar)是指在CPU中有一条以上的流水线,并且每时钟周期内可以完成一条以上的指令,这种设计就叫超标量技术。 其实质是以空间换取时间。而超流水线是通过细化流水、提高主频,使得在一个机器周期内完成一个甚至多个操作,其实质是以时间换取空间。

MMU内存管理单元

在ARM存储系统中,使用MMU实现虚拟地址到实际物理地址的映射。
MMU的实现过程,实际上就是一个查表映射的过程。
MMU的映射分为两种,一级页表的变换和二级页表变换。两者的不同之处就是所实现的变换地址空间大小不同。一级页表变换支持1M大小的存储空间的映射,而二级可以支持64KB、4KB和1KB大小地址空间的映射。
要实现从虚拟地址到物理地址的映射,必然会遇到一个问题,如何找到这个页表。对于表的查找,要知道这个表的基地址和偏移地址,在具有MMU功能的处理器中,集成了一个被称为CP15的协处理器,该协处理器的C2寄存器中用于保存页表的基地址.

Cortex-A8系统框图

精简版:
这里写图片描述

详细版:
这里写图片描述

S5PV210架构

S5PV210架构图如下:
这里写图片描述

Cortex-A8内核

S5PV210采用了ARM CortexTM-A8内核,ARM V7指令集,主频可达1GHZ,64/32位内部总线结构,32/32KB的数据/指令一级缓存,512KB的二级缓存。

IROM(64k)和IRAM(96k)

S5PV210内部有96Kb的IRAM和64Kb的IROM。
主要实现时钟以及外设等的初始化。

硬件编解码功能

包含很多强大的硬件编解码功能,内建MFC(Multi Format Codec),支持MPEG-1/2/4,H.263,H.264等格式视频的编解码,支持模拟/数字TV输出。JPEG硬件编解码,最大支持8000x8000分辨率

内建高性能PowerVR SGX540 3D图形引擎和2D图形引擎,支持2D/3D图形加速。
同时还具有1080P高清解码引擎,能够输出1080P/30fps的高清视频,带有HDMI 1.3输出,可以将高清视频输出到外部显示器上。

丰富的外设接口

24 bit TFT LCD Controller support 1024X768(XGA) resolution
Camera Interface 支持最大12M(8192x8192) 接口8-bit ITU 601/656和MPDI/CSI
4 Uarts
24-channel DMA
4-Timers with PWM
3-ch 24-bit I2S BUS for audio-codec
3-ch IIC BUS up to 400Kbit/s
2-ch HS-SPI
USB Host 2.0
USB OTG 2.0 480Mbps
4-ch SD/SDIO/HS-MMC interface
10-ch 12-bit multiplexed ADC
1-ch AC-97 Audio codec interface
3-ch PCM serial audio interface
HDMI&TV-out (PAL/NTSC)
14X8 keypad interface
237 GPIO
ATA Interface

S5PV210地址空间分布图

S5PV210地址空间分布图(存储器地址映射)如下:
这里写图片描述
这里写图片描述

  1. 0x0000 0000 - 0x1FFF FFFF : 引导区
    其中:0x0000 0000 - 0x0000 FFFFIROM(64k)不能写(三星公司已经将代码烧录进去),用于初始化系统时钟,设置看门狗,初始化堆和栈,加载BL1。

  2. 0x2000 0000 - 0x2FFF FFFF :DRAM0:内存通道0(0.5G)
    0x4000 0000 - 0x4FFF FFFF :DRAM1:内存通道1(1G) (uboot在此处开始执行)
    可供使用内存扩展为:1.5G(GEC210开发板只用了512M)

  3. 0x8000 0000 - 0xAFFF FFFF:bank(0—5):均为128M
    不能同时使用(引脚不够用,只有27个)
    bank:块 总线型设备寻址

  4. 0xB000 0000 - 0xBFFF FFFF : 256MB NAND闪存

  5. 0xC000 0000 - 0xCFFF FFFF : 256MB MP3_SRAM output buffer
  6. 0xD000 0000 - 0xD000 FFFF 64KB IROM
  7. 0xD002 0000 - 0xD003 7FFF 96KB IRAM
  8. 0xD800 0000 - 0xDFFF FFFF 128MB DMZ ROM
  9. 0xE000 0000 -0xFFFF FFFF:特殊功能寄存器

参考文章:
1、流水线、超流水线、超标量技术对比
2、ARMv7架构特点
3、内存管理单元MMU

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 基于s5pv210arm-linux及qt的嵌入式应用系统设计是一种嵌入式系统设计方案,它采用了s5pv210芯片作为主控制器,使用arm-linux作为操作系统,同时使用qt作为图形界面开发框架。这种方案可以用于开发各种嵌入式应用系统,如智能家居、智能机器人、智能医疗等。它具有低功耗、高性能、可靠性高等优点,可以满足各种嵌入式应用的需求。 ### 回答2: S5PV210是一款嵌入式系统芯片,具有高性能、低功耗的特点,广泛应用于智能手机、平板电脑、车载电子等领域。而ARM Linux是一种基于Linux内核的操作系统,具有开放性、安全性和可移植性等优点。QT是一个跨平台的GUI应用程序框架,能够实现丰富的用户界面和多种输入设备的支持。 基于S5PV210ARM Linux,我们可以设计出高性能、低功耗的嵌入式系统。在系统中引入QT,可以使嵌入式设备的用户界面更加友好、美观,进而提升用户体验。具体的设计方案可以按照以下步骤: 1. 系统的硬件设计:选择合适的板卡,布置芯片和电路。其中S5PV210作为主要芯片,连接各种设备,如显示屏、触摸屏、WiFi、蓝牙等,为系统提供各种功能和服务。 2. 系统的软件设计:选择ARM Linux作为操作系统,搭建相应的开发环境,利用QT进行界面设计和编程。QT的嵌入式版本可以支持ARM架构的设备,方便我们开发嵌入式应用。 3. 编写应用程序:根据实际需求,编写各种应用程序,如图形界面、网络应用、文件管理、多媒体播放等。 4. 调试和优化:在实际制作和测试中,发现问题、调试程序,持续优化系统性能和用户体验。 通过以上设计和实现,可以得到高性能、低功耗、美观、易用的嵌入式应用系统。这样的系统可以应用于车载电子、智能家居、工业自动化等领域,具有广泛的市场前景。 ### 回答3: 基于s5pv210arm-linux及qt的嵌入式应用系统设计是一种新型的嵌入式系统设计方案。该方案可以提高嵌入式系统的运行效率,降低开发成本,同时还能提高软件的稳定性和可维护性。 在该系统中,s5pv210是主控芯片,它采用了先进的ARM架构,拥有高度集成的内置组件和周边设备,比如LCD显示控制器、USB控制器等。这些内置组件可以让嵌入式应用系统具备更好的内存管理、外围设备管理和数据处理能力。 而arm-linux则是该系统的操作系统,与传统的嵌入式操作系统相比,它具有更强的兼容性、更好的软硬件结合性和更高的性能。其可以支持更多的应用程序和驱动程序,并且灵活性也更高。 作为嵌入式应用系统的UI框架,Qt简化了开发流程,提高了开发效率,可以让开发者更加专注于用户界面的设计。同时,Qt也是跨平台的,这意味着开发者可以更轻松地将应用程序迁移到其他平台上。 该嵌入式系统设计方案的应用非常广泛,在智能家居、医疗设备、智能手表等领域都有重要的应用。通过该系统的设计,这些设备可以更好地实现人机交互,提高用户体验和工作效率。它还可以提供更高的安全性和数据保护能力,保护用户的隐私和数据安全。 总之,基于s5pv210arm-linux及qt的嵌入式应用系统设计是一种具有高度可靠性、高效性和可维护性的新型系统设计方案,可以为很多应用场景提供更好的解决方案。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值