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架构的知名产品:
-
Apple Macintosh电脑:在1994年至2006年期间,苹果公司的Macintosh电脑使用PowerPC处理器。这些电脑包括iMac、Power Macintosh和PowerBook等系列。
-
IBM RS/6000和IBM System p:IBM推出的RS/6000工作站和System p服务器系列使用了PowerPC处理器。这些产品在科学计算、工程设计和企业级应用等领域具有很高的性能。
-
Amiga 4000和AmigaOne:Amiga计算机是一种在1980年代和1990年代非常流行的家用计算机。Amiga 4000和AmigaOne系列采用了PowerPC处理器,为用户提供了强大的多媒体和游戏体验。
-
Sony PlayStation 3:PlayStation 3游戏主机采用了基于PowerPC架构的Cell处理器。这款游戏主机在发布时引起了广泛关注,并在游戏界取得了巨大成功。
-
Nintendo GameCube和Wii:任天堂的GameCube和Wii游戏主机也使用了PowerPC架构的处理器。这些主机在游戏市场上取得了很大的成功,并受到广大玩家的喜爱。
-
Nokia 770 Internet Tablet:Nokia 770是一款于2005年发布的互联网平板设备,它搭载了PowerPC架构的TI OMAP 1710处理器。这款设备旨在提供互联网浏览、电子邮件、音乐播放等功能。
-
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 。 题解ÿ…...
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,**高速模式…...
Opencv中的addweighted函数
一.addweighted函数作用 addweighted()是OpenCV库中用于图像处理的函数,主要功能是将两个输入图像(尺寸和类型相同)按照指定的权重进行加权叠加(图像融合),并添加一个标量值&#x…...
【配置 YOLOX 用于按目录分类的图片数据集】
现在的图标点选越来越多,如何一步解决,采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集(每个目录代表一个类别,目录下是该类别的所有图片),你需要进行以下配置步骤&#x…...
Map相关知识
数据结构 二叉树 二叉树,顾名思义,每个节点最多有两个“叉”,也就是两个子节点,分别是左子 节点和右子节点。不过,二叉树并不要求每个节点都有两个子节点,有的节点只 有左子节点,有的节点只有…...
云原生玩法三问:构建自定义开发环境
云原生玩法三问:构建自定义开发环境 引言 临时运维一个古董项目,无文档,无环境,无交接人,俗称三无。 运行设备的环境老,本地环境版本高,ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...
基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解
JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用,结合SQLite数据库实现联系人管理功能,并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能,同时可以最小化到系统…...
面向无人机海岸带生态系统监测的语义分割基准数据集
描述:海岸带生态系统的监测是维护生态平衡和可持续发展的重要任务。语义分割技术在遥感影像中的应用为海岸带生态系统的精准监测提供了有效手段。然而,目前该领域仍面临一个挑战,即缺乏公开的专门面向海岸带生态系统的语义分割基准数据集。受…...
Redis:现代应用开发的高效内存数据存储利器
一、Redis的起源与发展 Redis最初由意大利程序员Salvatore Sanfilippo在2009年开发,其初衷是为了满足他自己的一个项目需求,即需要一个高性能的键值存储系统来解决传统数据库在高并发场景下的性能瓶颈。随着项目的开源,Redis凭借其简单易用、…...
提升移动端网页调试效率:WebDebugX 与常见工具组合实践
在日常移动端开发中,网页调试始终是一个高频但又极具挑战的环节。尤其在面对 iOS 与 Android 的混合技术栈、各种设备差异化行为时,开发者迫切需要一套高效、可靠且跨平台的调试方案。过去,我们或多或少使用过 Chrome DevTools、Remote Debug…...
区块链技术概述
区块链技术是一种去中心化、分布式账本技术,通过密码学、共识机制和智能合约等核心组件,实现数据不可篡改、透明可追溯的系统。 一、核心技术 1. 去中心化 特点:数据存储在网络中的多个节点(计算机),而非…...
电脑桌面太单调,用Python写一个桌面小宠物应用。
下面是一个使用Python创建的简单桌面小宠物应用。这个小宠物会在桌面上游荡,可以响应鼠标点击,并且有简单的动画效果。 import tkinter as tk import random import time from PIL import Image, ImageTk import os import sysclass DesktopPet:def __i…...
