【转帖】你知道X86构架,你知道SH构架吗?
你知道X86构架,你知道SH构架吗?
https://www.eefocus.com/mcu-dsp/363100
前面我们讲到了 8 位处理器,32 位处理器,以及 X86 构架,那么除了这些还有哪些构架呢?我们知道日本也是以电子产业著名的国度,那么在标准上一定有他们的一笔,今天我们就来讲讲 SH 构架。
SH 架构的发展
Sh 处理器又称 SuperH 处理器 ,最先由日本 Hitachi 公司开发,后由 Hitachi 及 ST Microelectronics 两家公司共同开发,2003 年,瑞萨科技从 Hitachi 公司继承到拥有权。
SuperH 的标识
Sh 属于 MCU 型的处理器。
1. 什么是 MCU?
MCU 是什么,看起来与前面关注的 CPU 有些相像,那么 MCU 和 CPU 有什么关系?它们的区别又在哪里?
别急,慢慢往下看。
首先回顾一下 CPU(Central Processing Unit,中央处理器)的发展,从上世纪 70 年代的 4 位到今天的 64 位,不论何时,它一直是计算机的核心,其重要性好比大脑对于人一样,因为它负责处理、运算计算机内部的所有数据,而主板芯片组则更像是心脏,它控制着数据的交换,同时,CPU 的种类决定了所使用的操作系统和相应的软件。
众所周知,20 世纪 70 年代出现的微型计算机,在科学技术界引起了影响深远的变革。但是大家未必知道,在 70 年代中期,微型计算机家族中又分裂出一个小小的派系——单片机(MCU,Micro Controller Unit)。
与 CPU 的发展一样,随着 4 位单片机出现之后,又推出了 8 位的单片机。MCS-48 系列,特别是 MCS-51 系列单片机的出现,确立了单片机作为微控制器(MCU)的地位,引起了微型计算机领域新的变革。
从上面的发展可以看出,MCU 源自 CPU,到目前为止,CPU 发展出来三个分枝,一个是 DSP(Digital Signal Processing/Processor,数字信号处理),另外两个是 MCU(Micro Control Unit,微控制器单元)和 MPU(Micro Processor Unit,微处理器单元)。
在当今世界上,微处理器(MPU)和微控制器(MCU)形成了各具特色的两个分支。它们互相区别,但又互相融合、互相促进。与微处理器(MPU)以运算性能和速度为特征的飞速发展不同,微控制器(MCU)则是以其控制功能的不断完善为发展标志的。
如今 MCU 已经自成体系,而且发展日益壮大,引发了越来越多的关注,其种类之多,应用之广泛已经超越了 CPU。
MCU(Micro Controller Unit),又称单片微型计算机(Single Chip Microcomputer),简称单片机。是指随着大规模集成电路的出现及其发展,将计算机的 CPU、RAM、ROM、定时数器和多种 I/O 接口集成在一片芯片上,形成芯片级的计算机。
MCU 按其存储器类型可分为无片内 ROM 型和带片内 ROM 型两种。对于无片内 ROM 型的芯片,必须外接 EPROM 才能应用;带片内 ROM 型的芯片又分为片内 EPROM 型、MASK 片内掩模 ROM 型、片内 FLASH 型等类型。
本是同根生,那么 MCU,MPU 和 DSP 三者之间的差别区别在哪里呢?请看下面的表格:
区别 |
特点 |
|
MPU |
是高度集成的通用结构的处理器。 |
不带外围器件(例如存储器阵列),是去除了集成外设的 MCU |
MCU |
MPU+集成了片上外围器件, 适合不同信息源的多种数据的处理诊断和运算。 |
通用性强,侧重于控制,速度并不如 DSP |
DSP |
运算能力强。 |
擅长很多的重复数据运算 |
MCU 区别于 DSP 的最大特点在于它的通用性,反应在指令集和寻址模式中。DSP 与 MCU 的结合是 DSC,它终将取代这两种芯片。
总结一下:
MCU=MPU + 外设;
DSC = DSP+MCU;
因此,可以得出这样的结论:
DSC = DSP+ MPU + 外设。
是这样吗?
看到这里,想必下面的问题便迎刃而解了:同样具有运算和控制能力的 MCU、CPU 和 DSP,三者之间是什么关系?
这个问题的关键点在于它们的不同之处:运算处理能力,以及侧重的应用领域。基于上面的观点,把三者的差异,各自简单地归纳为一句话:
MCU 专注于工业控制,功能简单,有一个(算数逻辑运算单元),成熟的经典的是 8051。
CPU 功能强大,但是不侧重于任何一点,优势均衡,适合于对于处理没有严格要求的复杂系统,成熟经典的是 x86、ARM 体系。
DSP 专注于数据处理,有多个 ALU,多用于多媒体应用等,需要大数据量的地方。
强调一点:MCU、CPU 和 DSP 三者按处理能力来排列是正序,但是基本的原理是一致的。所以,如果打算学习的话,那么建议从相对简单的 MCU 入门,这是明智的选择。
2. RISC 和 CISC
现在继续进行有关 SuperH 的话题。
SuperH 是一种性价比、体积小、功耗低的 32 位、64 位的 RISC 嵌入式微处理器,可以广泛应用到消费电子、汽车电子、通信设备等领域。
RISC,这里再次提到了 RISC,在深入了解 SuperH 之前,有必要先解释一下“RISC”。
RISC(Riduced Instruction Set Computer)精简指令集计算机。简单,总是相对而言的,那么复杂指令集计算机是什么呢?
CISC(Complex Instruction Set Computer)复杂指令集计算机。
那么所谓的“精简”,精简在哪里?所谓的“复杂”,是在哪些方面复杂呢?别急,详见下文。
RISC 是精简指令集 CPU,指令位数较短,内部还有快速处理指令的电路,使得指令的译码与数据的处理较快,所以执行效率比 CISC 高,不过,必须经过编译程序的处理,才能发挥它的效率。
例如,大家都知道的 IBM 的 Power PC 为 RISC CPU 的结构。
除此之外,经常见到的 PC 中的 CPU,Pentium-Pro(P6)、Pentium-II,Cyrix 的 M1、M2、AMD 的 K5、K6 实际上是改进了的 CISC,也可以说是结合了 CISC 和 RISC 的部分优点。
现在有必要把两者放在一起,比较一下,这样看起来更加一目了然,见下表。
RISC 与 CISC 的主要特征对比表
比较内容 |
CISC |
RISC |
指令系统 |
复杂,庞大 |
简单,精简 |
指令数目 |
一般大于 200 |
一般小于 100 |
指令格式 |
一般大于 4 |
一般小于 4 |
寻址方式 |
一般大于 4 |
一般小于 4 |
指令字长 |
不固定 |
等长 |
可访存指令 |
不加限制 |
只有 LOAD/STORE 指令 |
各种指令使用频率 |
相差很大 |
相差不大 |
各种指令执行时间 |
相差很大 |
绝大多数在一个周期内完成 |
优化编译实现 |
很难 |
较容易 |
程序源代码长度 |
较短 |
较长 |
控制器实现方式 |
绝大多数为微程序控制 |
绝大多数为硬布线控制 |
软件系统开发时间 |
较短 |
较长 |
如果到这里对于 RISC 与 CISC 还是不清楚的话,那么请记住下面的这句话:
对于 CISC 和 RISC 的实现而言,它们所侧重的复杂性不同:CISC 处理器的实现复杂性更高,而 RISC 编译器的复杂性更高。
那么一个新的问题来了,为什么需要 RISC 呢?
当使用高级语言进行程序设计时,编译器为了兼容早期的 CPU,一般不会生成特殊的复杂指令。
如果舍弃这些不常用的复杂指令,就能简化 CPU 的设计。这正是 RISC 的出发点。
下面从纯技术的角度出发,来概括 RISC 的特点:
1)RISC 指令系统较小:种类的数量较少,只提供简单指令。这些指令大多都能在 4,5 个时钟周期内完成。
2)指令的操作数必须预存于寄存器中,这样取指操作的时间也统一了。
3)指令长度,寻址方式,格式都整齐划一:这样可以充分利用流水线,基本上可实现一个时钟脉冲执行一条指令的目标。
4)RISC 的子程序调用与 CISC 的不同:在 CISC 中,程序调用、返回时需将上下文保存在堆栈中,需要内存操作。而 RISC 将它们存放在寄存器中,而且参数也使用寄存器传递 。
5)RISC 中断可视为特殊的子程序链接:CISC 中发生中断时,所有的寄存器内容都被压入堆栈,而 RISC 对中断进行区分对待,分为轻量级和重量级。对轻量级中断 只保存需要保存的寄存器内容;对重量级中断的处理如同常规中断。
【转帖】你知道X86构架,你知道SH构架吗?的更多相关文章
- 【转帖】威盛x86 AI处理器架构、性能公布:媲美Intel 32核心
威盛x86 AI处理器架构.性能公布:媲美Intel 32核心 https://www.cnbeta.com/articles/tech/920559.htm 除了Intel.AMD,宝岛台湾的威盛也 ...
- 【转帖】国产x86处理器KX-6000发布
国产最先进x86处理器KX-6000发布:8核3.0GHz 力压酷睿i5处理器 https://www.cnbeta.com/articles/tech/858981.htm 全网所有的网页都写错了 ...
- 【转帖】处理器史话 | 这张漫画告诉你,为什么双核CPU能打败四核CPU?
处理器史话 | 这张漫画告诉你,为什么双核CPU能打败四核CPU? https://www.eefocus.com/mcu-dsp/371324 2016-10-28 10:28 作者:付丽华预计 9 ...
- C#插件构架实战 + Visual C#插件构架实战补遗(转)
C#插件构架实战 C# 插件构架实战 Jack H Hansen [ 2004-07-27 ] Keywords C# 插件 反射(System.Reflection) 属性(System.Attri ...
- UEFI启动视频详解:启动分析+N项操作实例
============================================================= ※※※※最给力的视频解说※※※※ 2011hiboy全部共享资料:立刻去 ...
- linux 驱动学习笔记03--Linux 内核的引导
如图所示为 X86 PC 上从上电/复位到运行 Linux 用户空间初始进程的流程.在进入与 Linux相关代码之间,会经历如下阶段. ( 1 ) 当系统上电或复位时, CPU 会将 PC 指针赋值为 ...
- 几种CPU架构
原文链接:http://blog.csdn.net/wyzxg/article/details/5027738 这几天在下载RPM包的时候,总会看见x86,x86-64,IA64,i386,i586等 ...
- cpu有哪些架构
原文:http://blog.csdn.net/wyzxg/article/details/5027738 author:skatetime:2009/12/17 这几天在下载RPM包的时候,总会看见 ...
- (转载)uefi启动解析:由原理到实例
这是本文的全部内容:A:什么是UEFI,其含义B:UEFI模块包含的文件逐个分析及其引导流程+ESP分区的本质C:判断自己的机器是X64(64 bit)构架还是IA32(32 bit)的构架D:给传统 ...
随机推荐
- GPP(Group Policy Preferences)漏洞
再次之前先讲一些知识点: 密码的难题 每台Windows主机有一个内置的Administrator账户以及相关联的密码.大多数组织机构为了安全,可能都会要求更改密码,虽然这种方法的效果并不尽如人意.标 ...
- 使用jmx-exporter&&jmxtrans && nexus jmx 暴露nexus 系统指标信息
以下演示一个简单的使用jmxexporter 暴露nexus jmx 指标为prometheus metrics,同时也集成了一个简单的jmxtrans 输出数据到 graphite 环境准备 doc ...
- 用Python操作MySQL(pymysql)
用python来操作MySQL,首先需要安装PyMySQL库(pip install pymysql). 连接MySQL: import pymysql connect=pymysql.connect ...
- CDH 6.0.1 版本 默认配置下 HUE | happybase 无法访问 Hbase 的问题
第一个问题 HUE 无法直接连接到 HBase 在默认配置下 CDH 6.0.1 版本下的 HBase2.0 使用了默认配置 hbase.regionserver.thrift.compact = T ...
- Alapha冲刺(3/6)
队名:無駄無駄 组长博客 作业博客 组员情况 张越洋 过去两天完成了哪些任务 摸鱼 提交记录(全组共用) 接下来的计划 沟通前后端成员,监督.提醒他们尽快完成各自的进度 学习如何评估代码质量 准备Al ...
- MacBook Air在macOS Mojave和macOS Seirra系统下使用Loopback在OBS Studio推流时输出系统软件声音
转载请标注原地址:https://www.cnblogs.com/lixiaojing/p/11440533.html 运行环境: Loopback破解版获取: https://pan.baidu.c ...
- #C++初学记录(算法效率与度量)
时间性能 算法复杂性函数: \[ f(n)=n^2 +1000n+\log_{10}n+1000 \] 当n的数据规模逐渐增大时,f(n)的增长趋势: 当n增大到一定值以后,计算公式中影响最大的就是n ...
- 用DLL方式封装MDI子窗体
用DLL方式封装MDI子窗体是一种常用的软件研发技术,他的长处: 研发人员能够负责某一个模块的编写包括(界面+逻辑),能够互不干扰,模块研发完成后,主程式统一调用. 易于程式升级,当程式升级时,不用编 ...
- pgsql 聚合函数array_to_string,ARRAY_AGG
array_to_string--将sql中的数组转为字符串 ARRAY_AGG--将sql中的数据转为数组处理 以下给大家一个简单的例子即可体会: 1.需求 2.数据库中原数据 1.pn ...
- B2C电子商务系统研发——商品SKU分析和设计(一)
一.SKU及相关概念定义 在设计商品SKU之前,首先让我们熟悉一下SKU和相关的一些概念. # 什么是SKU: SKU=Stock Keeping Unit(库存量单位) 同一型号的商品,或者说是同一 ...