当前位置: 首页 > news >正文

powerpc架构的前世今生

文章目录

  • Powerpc架构的前世
  • 今生
  • 什么是powerpc?
    • PowerPC和ARM有什么区别呢?


Powerpc架构的前世

PowerPC架构是一种基于精简指令集计算机(RISC)的处理器架构。它最初由IBM、Motorola和Apple共同开发,旨在为个人电脑、工作站和服务器提供高性能和可扩展性。

PowerPC架构在1991年首次推出,后来成为苹果Macintosh电脑的主要处理器架构。它在苹果电脑上使用的时间从1994年持续到2006年,之后苹果转向使用基于x86架构的处理器。

PowerPC架构的设计注重性能、低功耗和可扩展性。它采用了流水线执行、超标量执行和乱序执行等技术,以提高指令执行效率。PowerPC架构还支持多级缓存和高速总线,以加快数据传输和访问速度。

PowerPC架构具有良好的跨平台兼容性,因为它的指令集是统一的。这意味着在不同的PowerPC处理器上编译的程序可以在各种PowerPC系统上运行,无需重新编译。这为软件开发者和用户带来了便利。

在工作站和服务器领域,PowerPC架构曾经是一种受欢迎的选择。它在高性能计算、科学计算和图形处理等领域表现出色。然而,随着x86架构的不断发展和市场占有率的增加,PowerPC架构逐渐失去了竞争力。

尽管如此,PowerPC架构仍然存在,并且在某些领域和特定应用中仍然被使用。例如,它在某些嵌入式系统、网络设备和游戏主机中得到应用。

PowerPC架构曾经在多个产品中得到广泛应用。以下是一些使用PowerPC架构的知名产品:

  1. Apple Macintosh电脑:在1994年至2006年期间,苹果公司的Macintosh电脑使用PowerPC处理器。这些电脑包括iMac、Power Macintosh和PowerBook等系列。

  2. IBM RS/6000和IBM System p:IBM推出的RS/6000工作站和System p服务器系列使用了PowerPC处理器。这些产品在科学计算、工程设计和企业级应用等领域具有很高的性能。

  3. Amiga 4000和AmigaOne:Amiga计算机是一种在1980年代和1990年代非常流行的家用计算机。Amiga 4000和AmigaOne系列采用了PowerPC处理器,为用户提供了强大的多媒体和游戏体验。

  4. Sony PlayStation 3:PlayStation 3游戏主机采用了基于PowerPC架构的Cell处理器。这款游戏主机在发布时引起了广泛关注,并在游戏界取得了巨大成功。

  5. Nintendo GameCube和Wii:任天堂的GameCube和Wii游戏主机也使用了PowerPC架构的处理器。这些主机在游戏市场上取得了很大的成功,并受到广大玩家的喜爱。

  6. Nokia 770 Internet Tablet:Nokia 770是一款于2005年发布的互联网平板设备,它搭载了PowerPC架构的TI OMAP 1710处理器。这款设备旨在提供互联网浏览、电子邮件、音乐播放等功能。

  7. Nokia N800和N810 Internet Tablets:Nokia N800和N810是Nokia 770的后续产品,同样采用了PowerPC架构的TI OMAP处理器。它们是基于Linux的移动互联网设备,提供了更多的功能和改进的性能。

有那么一段时间,PowerPC获得了巨大的成功。摩托罗拉68000系列芯片是Apple PC以及许多种类和数百万个嵌入式控制器的核心。除了苹果之外,索尼的PlayStation3、任天堂的Wii、Wii U、GameCube、微软的Xbox 360和3DO M2都使用了PowerPC处理器。

今生

2005年,苹果联合创始人史蒂夫·乔布斯宣布苹果将转向英特尔处理器。当苹果放弃PowerPC时,其实就数量而言,他们并没有失去大量客户,但他们失去了最负盛名的客户。然后游戏机也放弃了PowerPC,而典型的嵌入式系统也放弃了。

在20世纪90年代和21世纪初,授权处理器IP可谓风靡一时,这是实现大规模采用的最可靠途径。其实从一开始,IBM就仿效了ARM、MIPS、SPARC等架构,走了PowerPC的授权路线。但是IBM的条款太苛刻了,PowerPC许可证比MIPS或ARM的许可证贵得多。PowerPC未能在市场普及很大的原因是开放不足、IBM的高价授权费。智能手机时代后,PowerPC 因成本问题逐渐被边缘化。

2005年2月28日, 信息产业部软件与集成电路促进中心(CSIP)与飞思卡尔半导体公司(Freescale)联合宣布将在北京共建CSIP-Freescale Linux系统实验室,支持国家软件与集成电路公共服务平台的建设。在此次合作中,飞思卡尔和第三方合作伙伴将为该实验室提供基于PowerPC处理器的开发板和工作站。

苏州国芯科技股份有限公司成立于2001年,2001年在信息产业部指导下苏州国芯接受摩托罗拉先进水平的低功耗、高性能32位RISC嵌入式CPU M*Core 技术及设计方法,2010年又接收了IBM较先进的PowerPC技术。根据IBM和苏州国芯科技的技术转移协议,IBM同意将 PowerPC嵌入式CPU的技术转移给中国,这也是IBM第一次将 PowerPC技术正式许可给中国企业使用,并且中国企业可以在此基础上开展创新研究和开发,技术成果归中国企业所有。

基于PowerPC的指令集和架构开发高端嵌入式CCore CPU,苏州国芯以此为高起点,经过多年的开发与自主创新,公司成功开发了C0、C200、C300、C400、C2000、C8000、C9000等7个系列43款高性能嵌入式CPU系列。基于CCore核心已有80多款SoC芯片完成设计,并在SMIC、HHNEC、联电/和舰、宏力和TSMC等工艺线上验证及生产。基于CCore CPU及设计平台的系列技术广泛应用于在信息安全、智能电网、金融安全、电子政务、工业控制、办公自动化等领域。2018年有超过亿颗内嵌 CCore CPU 的 SoC 芯片获得量产应用。


什么是powerpc?

PowerPC(Performance Optimization With Enhanced RISC – Performance Computing,有时简称PPC)是一种精简指令集(RISC)架构的中央处理器(CPU),PowerPC架构具有可伸缩性好、方便灵活,具有非常强的嵌入式表现,因为它具有优异的性能、较低的能量损耗以及较低的散热量。除了像串行和以太网控制器那样的集成 I/O,该嵌入式处理器与台式机CPU存在非常显著的区别。Powerpc芯片凭借其出色的性能和高度整合和技术先进特性在网络通信应用,工业控制应用,家用数字化,网络存储领域,军工领域,电力系统控制等都具有非常广泛的应用。

PowerPC和ARM有什么区别呢?

1、整合度高以及技术先进性,现在PowerPC 处理器集成USB,PCI,DDR控制器,SATA控制器,千兆网口控制器,CAN控制器,RapidIO以及PCI_Express控制器,IEEE1588通信协议,支持各种通信协议CPM协处理器 ,DMA,SPI,I2C.UART等,客户无须设计复杂的外围电路,减少设计复杂程度以及物料使用,ARM这点比不上 。

2、芯片可选范围大,性能高,升级容易,从50M-1.7G都有处理器,而且POwerPC将象多核处理器发展,如已经推出集成双e500 core MPC8572,MIPS性能高达6897,ARM我看频率是1G的都没有,ARM 大概是 1.1 MIPS/MHz,Power Architecture 是大于2.0MIPS/MHz,所以PowerPC在高端嵌入式应用,占有很大比例,ARM这点比不上 。

3、价格方面,PowerPC处理器相对于ARM来说价格比较贵,但是如果是MIPS/MHz性能比较以及整合的外围电路来说。

4、PowerPC 的结构在尤其在功耗方面的束缚可能导致其在嵌入式领域没有如ARM那样大的伸缩性。

相关文章:

powerpc架构的前世今生

文章目录 Powerpc架构的前世今生什么是powerpc?PowerPC和ARM有什么区别呢? Powerpc架构的前世 PowerPC架构是一种基于精简指令集计算机(RISC)的处理器架构。它最初由IBM、Motorola和Apple共同开发,旨在为个人电脑、工…...

SQL-存储过程、流程控制、游标

存储过程 存储过程概述 1.产生背景 开发过程总,经常会遇到重复使用某一功能的情况 2.解决办法 MySQL引人了存储过程(Stored Procedure)这一技术 3.存储过程 存储过程就是一条或多条SQL语句的集合存储过程可将一系列复杂操作封装成一个代码块,以便…...

JavaScript的数组和字典的用法

JavaScript 中的数组是一种用于存储多个值的数据结构,它可以容纳不同类型的数据(例如数字、字符串、对象等)。以下是 JavaScript 数组的常见用法: 创建数组 // 创建一个空数组 let emptyArray [];// 创建一个包含元素的数组 le…...

中断和异常

1.什么是中断 CPU上会运行两种程序,一种是内核程序,一种是应用程序。在正常的情况,CPU上面会主动运行应用程序,中断就是操作系统内核夺回CPU执行权的唯一途径,也就是用户态——>内核态。 2.内中断和外中断 2.1内…...

【python】实现积分

借助sympy.integrate() 符号运算库,所以里面的exp(),sin()等都要使用sympy库中的函数,如果使用numpy库中的函数时没用的。 import sympy as sp import numpy as np x sp.symbols("x") print(sp.integrate(sp.exp(-x**2), (x, -s…...

微信仿H5支付

仿H5支付是指一种模拟原生H5支付流程的非官方支付方式。这种支付方式通常是由第三方支付服务提供商开发和维护的,目的是为了绕过官方支付渠道的限制,如费率、审核等问题。然而,由于仿H5支付并非官方授权和认可的支付方式,其安全性…...

数据结构——栈

栈 栈的理解 咱们先不管栈的数据结构什么,先了解栈是什么,栈就像一个桶一样,你先放进去的东西,被后放进的的东西压着,那么就需要把后放进行的东西拿出才能拿出来先放进去的东西,如图1,就像图1中…...

组件化开发之如何封装组件-react

组件化开发之如何封装组件-react 什么是组件为什么需要封装组件组件的分类函数组件(Functional Components):展示型组件:容器型组件:知道组件分类的意义是? 如何拆分组件,需要遵循什么原则1.保证…...

大数据HBase学习圣经:一本书实现HBase学习自由

学习目标:三栖合一架构师 本文是《大数据HBase学习圣经》 V1版本,是 《尼恩 大数据 面试宝典》姊妹篇。 这里特别说明一下:《尼恩 大数据 面试宝典》5个专题 PDF 自首次发布以来, 已经汇集了 好几百题,大量的大厂面试…...

Leetcode110. 平衡二叉树

力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。 题解&#xff…...

Swift的NSClassFromString转换

在swift 中使用NSClassFromString 从string 转换到 对象,报了Segmentation fault: 11 错误。 let ctrlClass: AnyClass NSClassFromString("HomeViewController")! let ctrl: UIViewController ctrlClass.init() as UIViewController 正确的写法&…...

linux上vim编辑器设置

linux上vim编辑器设置 减少tab缩进、显示行号等 在vimrc(一般在/etc/vim/vimrc中)末尾添加 set helplangcn "中文帮助文档(前提是下了中文包) syntax enable syntax on " 自动语法高亮 set number"显示行号 colorscheme desert" 设…...

SpringCloudAlibaba OpenFeign整合及详解

SpringCloudAlibaba OpenFeign 在前面,我们使用Nacos服务注册发现后,服务远程调用可以使用RestTemplateRibbon或者OpenFeign调用。实际开发中很少使用RestTemplate这种方式进行调用服务,每次调用需要填写地址,还要配置各种的参数&…...

Mysql--技术文档--MVCC(Multi-Version Concurrency Control | 多版本并发控制)

MVCC到底是什么 MVCC(Multi-Version Concurrency Control)是一种并发控制机制,用于解决并发访问数据库时的数据一致性和隔离性问题。MVCC允许多个事务同时读取数据库的同一数据,而不会相互干扰或导致冲突。 在传统的并发控制机制中…...

全网都在用的nnUNet V2版本改进了啥,怎么安装?(一)

nnUNet,这个医学领域的分割巨无霸!在论文和比赛中随处可见他的身影。大家对于nnUNet v1版本的教程都赞不绝口,因为它简单易懂、详细全面,让很多朋友都轻松掌握了使用方法。 最近,我也抽出时间仔细研究了nnUNet v2,并全…...

iOS开发Swift-4-IBAction,group,音乐播放器-木琴App

1.使用素材创建木琴App的UI。 2.连接IBAction。 其余按钮直接拖拽到play里边。 当鼠标置于1处时2处显示如图,表示成功。当用户按下任一按钮都会触发play中的内容。 3.将7个按钮的View中的Tag值分别调为1、2、3、4、5、6、7. 4.将音频文件拖入项目文件中。 Create gr…...

【linux】pid 文件的作用ing

文章目录 一. pid文件简介1. pid 文件是什么2. 作用 二. pid文件的使用 一. pid文件简介 1. pid 文件是什么 打开系统(Linux) 的 “/var/run/” 目录可以看到有很多已 “.pid” 为结尾的文件,只有一行,它记录的是相应进程的 pid,即进程号。…...

K8s简介之什么是K8s

目录 1.概述 2.什么是容器引擎? 3.什么是容器 4.什么是容器编排? 5.容器编排工具 6.到底什么是K8s? 7.为什么市场推荐K8s 8.K8s架构 9.K8s组件 Pods API 服务器 调度器 控制器管理器 Etcd 节点 Kubelet Kube代理 Kubectl 1.概述 Kub…...

说说Flink双流join

分析&回答 Flink双流JOIN主要分为两大类 一类是基于原生State的Connect算子操作另一类是基于窗口的JOIN操作。其中基于窗口的JOIN可细分为window join和interval join两种。 基于原生State的Connect算子操作 实现原理:底层原理依赖Flink的State状态存储&…...

I2C与I3C的对比

I2C与I3C的对比 电气特性 I2C 1.半双工 2.串行数据线(SDA)和串行时钟线(SCL) 3.数据线漏极开路,即I2C接口接上拉电阻 4.I2C总线运行速度:**标准模式100kbit/s,快速模式400kbit/s,快速模式plus 1Mbit/s,**高速模式…...

基于算法竞赛的c++编程(28)结构体的进阶应用

结构体的嵌套与复杂数据组织 在C中,结构体可以嵌套使用,形成更复杂的数据结构。例如,可以通过嵌套结构体描述多层级数据关系: struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...

【Linux】shell脚本忽略错误继续执行

在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...

【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密

在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...

JVM垃圾回收机制全解析

Java虚拟机&#xff08;JVM&#xff09;中的垃圾收集器&#xff08;Garbage Collector&#xff0c;简称GC&#xff09;是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象&#xff0c;从而释放内存空间&#xff0c;避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...

Python实现prophet 理论及参数优化

文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候&#xff0c;写过一篇简单实现&#xff0c;后期随着对该模型的深入研究&#xff0c;本次记录涉及到prophet 的公式以及参数调优&#xff0c;从公式可以更直观…...

Nuxt.js 中的路由配置详解

Nuxt.js 通过其内置的路由系统简化了应用的路由配置&#xff0c;使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...

前端开发面试题总结-JavaScript篇(一)

文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包&#xff08;Closure&#xff09;&#xff1f;闭包有什么应用场景和潜在问题&#xff1f;2.解释 JavaScript 的作用域链&#xff08;Scope Chain&#xff09; 二、原型与继承3.原型链是什么&#xff1f;如何实现继承&a…...

vue3+vite项目中使用.env文件环境变量方法

vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量&#xff0c;这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...

视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)

前言&#xff1a; 最近在做行为检测相关的模型&#xff0c;用的是时空图卷积网络&#xff08;STGCN&#xff09;&#xff0c;但原有kinetic-400数据集数据质量较低&#xff0c;需要进行细粒度的标注&#xff0c;同时粗略搜了下已有开源工具基本都集中于图像分割这块&#xff0c…...

免费PDF转图片工具

免费PDF转图片工具 一款简单易用的PDF转图片工具&#xff0c;可以将PDF文件快速转换为高质量PNG图片。无需安装复杂的软件&#xff0c;也不需要在线上传文件&#xff0c;保护您的隐私。 工具截图 主要特点 &#x1f680; 快速转换&#xff1a;本地转换&#xff0c;无需等待上…...