飞思卡尔与PowerPC介绍

news/2024/11/8 0:13:57/

PowerPC

1.1 PowerPC 简介

PowerPC,最初的含义却不是「Power」,而是 Performance Optimized With Enhanced RISC,PC指的是 Performance Computing。

Power PC 处理器架构的亮点是开放,它公开了指令集,允许任何厂商设计 Power PC 的兼容处理器、Power PC 的一些软件的源代码可以从网络上下载到,Power PC 的内核也非常小,可以在同一芯片上安置许多其他的辅助电路,例如缓存、协处理器,大大增加了芯片的灵活性。

图片

目前,主流的 PowerPC 处理器制造商有 IBM、Freescale (原摩托罗拉半导体部,现已与荷兰NXP合并)、AMCC、LSI(已被Avago收购)等。其中以 IBM 和 Freescale 的 PowerPC 处理器最为流行。

1.2 Power ISA

Power ISA 是 Power 架构对应的指令集,最初是现已解散的 power.org 组织开发,现由 IBM 领导的 OpenPOWER 基金会继续发展。Power ISA 继承并发展 PowerPC ISA,其由核心 PowerPC ISA 和可选的嵌入式应用程指令合并而成。

在2006年,这两个部分由 power.org 创始者IBM 和飞思卡尔半导体领导合并。Power ISA 分为几个不同的子集,每个指令都被定义为一个子集的一部分。不同型号的处理器只实现了一组指令子集,例如服务器类处理器包括子集 Base、Server、Floating-Point、64-Bit 等,所有处理器都实现了 Base 子集 。

1.3 Freescale PowerPC

IBM PowerPC 广泛应用于服务器等高性能应用场景,而 Freescale PowerPC 最重要的应用是汽车电子等嵌入式场景。Freescale 公司提供了数量众多的含集成化外设的 PowerPC 处理器,在网络设备市场取得了非常可观的成功。目前 Freescale 公司已经调整其 PowerPC 产品策略,将其划分成3个主要市场:网络设备、汽车电子(MPC5xx系列)和工业控制。

Freescale PowerPC 基于 EIS Architecture,EIS 是the Freescale Embedded Implementation Standards 的缩写。EIS Architecture 对 Power 架构来说更像是一种分支。

指令集是架构的重要组成部分,Freescale PowerPC 的指令集与 Power ISA 之间基本相同,但硬件组成与应用场景不同致使依赖于硬件实现的指令子集不同。

EIS Architecture 的指令集是 Power ISA 的子集。下表是这两者的对应关系:

图片

PowerISA 有v2.3-v2.7、v3.0、v3.1七个版本,目前最新的 PowerISA 是2020年发布的v3.1版本。

1.4 Freescale主要产品系列

Freescale PowerPC 在通讯领域的成功,很可能要归功于 PowerQUICC 处理器,这也是 IBM 的 PowerPC 和 Freescale 的 PowerPC 的最重要的区别。将 QUICC(Quad Integrated Communications Controller) 和 PowerPC 内核结合的 PowerPC 处理器称为 PowerQUICC 处理器。

图片

自1995以后 PowerQUICC 一路升级,从 PowerQUICC I 到 PowerQUICC II ,再到 PowerQUICC III 和 PowerQUICC II pro 。目前, Freescale 将 CPM 升级为 QE(QUICC Engine)。

伴随 PowerQUICC 的升级,Freescale PowerPC 内核也在升级。

603内核系列:MPC850、MPC860、MPC875、MPC885 等,目前是最低端的 Freescale PowerPC 处理器。这类 PowerPC 处理器没有包含 SDRAM 接口,用户必须使用 MPC860 提供的 UPM(USER Programmable Machines) 配置成 SDRAM 接口。603内核配合 PowerQUICC I。

603E内核系列:MPC8250、MPC8260、MPC8272等。从 PowerPC 内核的角度看,603到603E的升级不大,主要是 MMU 上,此外包含了 SDRAM 控制器。603E内核配合 PowerQUICC II。

E300内核系列:MPC8349、MPC8347、MPC8360等。E300系列与603E系列结构基本一致,在处理器内核上的修改不多。QE最先在MPC8360上实现,此外支持 DDR SDRAM 接口。E300内核配合 PowerQUICC II pro。

E500内核系列:包括 MPC8540、MPC8560、MPC8548 等。E500内核共有V1 、V2两个版本。V1版本和V2版本的最大区别在于MMU。基于E500内核的 PowerPC 处理器是 Freescale 高端处理器的发展方向。E500 内核和603E有很大的不同,只有指令系统是兼容的,其他内核组件都不相同。E500 内核支持 DDR SDRAM,RapidIO 和千兆以太网接口。E500 内核配合 PowerQUICC III。

E600内核系列:也称为G4,包括 MPC7410,MPC7447,MPC7448,MPC8641 等。与 IBM 的Power 700 系列的最大不同在于G4系列支持 AltiVec结构。这类处理器也是 Apple 用于 MAC 机的芯片。

E700系列:支持64位的 PowerPC 结构,开发中(最新消息不明,怀疑被放弃)。

飞思卡尔 QorIQ 通信平台是飞思卡尔的 PowerQUICC 通信处理器的下一代演进产品,包含一个或者更多个核,一共有5个不同的产品平台。按照功能和性能,分为 P1, P2, P3, P4 和P5,同老的 PowerPC 产品保持软件兼容,例如 PowerQUICC 平台。

1.5 参考手册与学习资料

EIS Architecture 参考手册主要是 《EREF: A Programmer’s Reference Manual for Freescale Power Architecture Processors》,还有一些指令子集的说明手册、飞思卡尔各产品的处理器核架构手册等

Power Architecture参考手册有《PowerISA_V2.06B》、《PowerISA_V2.07》等。

EIS Architecture指令集分类

2.1 根据硬件和通用性分类

根据硬件和通用性可将EIS指令集分为 Base、SPE、AltiVec、VLE、Embedded 子集。对指令依据硬件进行分类可以针对特定需求定制嵌入式系统,不仅可以节省资金还能提高系统的可靠性和性能。

各指令子集实际上是基于特定硬件的。例如许多嵌入式系统没有 mmu 硬件,则处理器是不支持类似 tlbilx、tlbwe、tlbivax 这类指令的,也就是说如果该某一特定嵌入式系统中没有对应的硬件,则该系统无法运行这个指令子集。同时在不同的处理器上各指令子集包含的指令数也会不同,这跟处理器的实现有关。

2.2 根据执行权限分类

根据执行权限可将EIS指令集分为用户级指令子集、特权级指令子集。

用户级指令集包含:整数操作指令、存储/加载指令、浮点运算指令、跳转指令、处理器状态指令、Cache管理指令等。

特权级指令集包含:TLB操作指令、操作特权寄存器指令和中断处理指令。

飞思卡尔EIS Architecture v2.1详述

EIS2.1架构涉及到的指令子集有:

  • Base:包含整数指令、存储/加载指令、跳转指令等

  • SPE:浮点指令集

  • AltiVec:矢量运算集

  • VLE:变长指令集

  • Embedded:嵌入式系统相关指令

图片

基于EIS2.1架构实现的处理器核有 e500 core family(包含e500v1, e500v2, e500mc, e5500, e6500)、e200 core family。其对应的 Power ISA 是2.06B,同时还包含一些EIS的特有指令。

所有飞思卡尔处理器都支持的 Power ISA 2.06 中的指令子集有:

  • Base

  • Embedded

  • Cache Specification

要注意的是有一些 Power ISA 2.06 的指令在所有飞思卡尔处理器中都是不支持的,不支持的指令子集有:

  • Server (and any dependent categories)

  • Decimal Floating-Point

  • Embedded.Cache.Debug

  • Embedded.Cache.Initialization

  • Embedded.Hypervisor.LRAT

  • Embedded.Multi-Threading

  • Embedded.Page Table

  • Embedded.TLB Write Conditional

  • Legacy Integer Multiply-Accumulate

  • Legacy Move Assist

  • Load/Store Quadword

  • Move Assist

  • Processor Compatibility

  • Stream

  • Strong Access Order

  • Trace

  • Vector-Scalar Extension

  • Vector.Little Endian

SkyEye 支持多种处理器模型

SkyEye 目前支持主流的嵌入式硬件平台,可以运行主流的操作系统,此外还能适配国内自主研发的操作系统天脉,上文中介绍的 PowerPC 和飞思卡尔指令集架构可以在 SkyEye 中进行全数字仿真。通过利用基于LLVM的动态二进制翻译技术,使虚拟处理器在典型的桌面计算机上运行速度可以达到2000MIPS以上。

SkyEye 目前支持的处理器模型列表:

在这里插入图片描述


http://www.ppmy.cn/news/240547.html

相关文章

全志h3通用固件_英菲克i7四核全志H3芯片刷机rom升级固件包

今天小编跟大家分享机顶盒-英菲克i7四核全志H3芯片刷机rom升级固件包下载及刷机教程! 下载固件之前,最好拆机看下主板上的处理器芯片上是否有H3字样! 如果有的话就说明本页面的固件与你的机型相匹配,如果芯片上是其他字样的 可以点击此处查看是否有关于此型号的其他芯片的升…

inphic i7 linux,【当贝市场】英菲克i7怎么线刷?方法如下内附固件

原标题:【当贝市场】英菲克i7怎么线刷?方法如下内附固件 设备:英菲克i7和i9的固件,i7的要分7月以前和7月以后的,i9的分9月以前的和9月以后的,需按照机器后面的条形码来区别日期。 固件链接链接: 密码:原文&…

基于javaweb jsp+SSM 简易版教务管理系统的设计与实现

目录 一.项目介绍 二.环境需要 三.技术栈 四.使用说明 五. 运行截图 六. 视频演示 一.项目介绍 本系统分为管理员、老师、学生三类 管理员:维护课程信息、维护老师信息、维护学生信息、密码重置(其他账户)、修改密码、退出系统 老…

【Atlas200】华为自定义插件传递自定义Proto Metadata数据(mindsdk3.0.0),以官方例程为例

目录 Google Protobuf简介.proto文件的作用编写.proto文件使用.proto文件生成对应的python文件及c++文件插件引用自定义Proto Metadata,并add进buffer上主文件获取该自定义protobufferGoogle Protobuf简介 Google Protobuf是一种轻量级的数据交换格式,它使用类似XML的结构化…

基于springboot的在线学习平台

源码获取,V:qq2056908377 采用技术 项目整体采用传统的B/S架构和MVC设计模式,开发语言选用JavaHTMLJavascript,技术上采用SpringBoot、Mybatis等开发框架,数据库采用MySQL 5.7。 功能介绍 平台分为用户端和管理两个系…

【SpinalHDL快速入门】三、Scala 快速入门

SpinalHDL本质上来讲是Scala语言的一个库,所以需要先学习Scala,才能在此基础上学习SpinalHDL。 文章目录 Scala 基础Scala 数据类型(5种:Boolean、Int、Float、Double、String)Scala VariablesScala FunctionsReturnRe…

台式计算机的CPU上安装有小风扇,台式电脑cpu风扇安装教程

[教程介绍] 一般我们电脑主机箱里面,电脑的CPU和电源都会有风扇,电脑只要开机工作,风扇也就需要转动来降温。 CPU风扇属于易损件,使用的时间一久,很容易就会损坏,这样电脑CPU温度过高…

台式计算机中如何安装CPU,台式机cpu怎么换?台式机cpu更换方法

台式电脑在 现代 社会中已经成为了很重要的办公娱乐工具了,而电脑的主要组成部件之一就是cpu,也就是中央处理器,是电脑处理数据和运行程序的核心部件。虽然cpu不容易坏,但是cpu的更新换代是非常快的。当我们的cpu已经不能满足我们…