RISC(精简指令集计算)和CISC(复杂指令集计算)体系结构的定义之间存在模糊,在许多情况下,这些术语几乎毫无意义。许多现代RISC处理器比一些CISC处理器复杂得多。事实上,不再是定义RISC和CISC之间差异的指令数量,而是它们执行内存访问的方式。
尽管RISC式架构的例子可以在20世纪60年代和70年代找到, RISC的真实历史可以追溯到20世纪80年代。其背后的想法是,如果架构没有被很少(如果有的话)执行的指令负担,那么拥有更简化的指令集意味着可以更快地执行这些指令。
两个最初的RISC架构是MIPS和Power建筑学分别在斯坦福大学和加州大学伯克利分校开发。一个关键方面是RISC系统使用了加载存储架构。这里通常通过特定指令访问存储器,而不是作为其他指令的一部分访问。今天,当RISC系统变得比某些CISC架构更复杂时,在区分RISC和CISC时,该存储器访问系统被视为更多的定义因素。两个初始架构的早期示例是Hewlett-Packard PA-RISC和Sun Microsystems的Sparc处理器。另一方面,CISC产品以x86架构为代表,主要来自Intel,但也来自AMD等其他产品 。英特尔奔腾系列是CISC芯片的最佳典范之一,摩托罗拉的68000系列是另一个。然而,CISC芯片,尽管名称,并不总是使用复杂的架构,现在许多不如RISC芯片复杂。基本上任何不使用加载存储器存储器访问系统的东西通常被归类为CISC,无论架构如何。毫无疑问,浮点RISC架构比8位CISC处理器复杂得多。甚至RISC芯片上的寻址模式通常比许多CISC处理器更复杂。现代RISC处理器的很好的例子是Microchip的PIC®系列以及许多基于ARM™内核的制造商的设备。
PIC芯片
PIC或外围设备(有时称为可编程)接口控制器的起源在20世纪70年代,1975年开发的第一个8位PIC用于从通用仪器CP1600 16位CPU卸载I/O.只是后来,随着RISC的广泛应用,PIC设计被归类为RISC系列的一部分。
1987年,通用仪器公司剥离其微控制器业务,创建了所谓的Microchip Technology,后者也宣称首字母缩略词PIC现在代表可编程智能计算机。
ARM核心
目前最流行的RISC设计是基于ARM内核的设计。这些可以追溯到20世纪80年代的Acorn Computers,它设计了支持台式计算机的架构。该技术后来被分拆到自己的公司 - ARM Holdings。与PIC一样,ARM的首字母缩略词从最初的Acorn RISC Machine改写为今天的Advanced RISC Machine。
ARM的成功归功于移动设备的普及,其内核几乎可以在所有手机中找到,以及平板电脑和PDA。该架构本身代表了现代RISC设备,因为它很复杂,但仍归类为RISC,因为它使用了加载存储器内存访问方法。
典型的ARM产品是Cortex®-M系列,它由极其强大的功能组成。 RISC芯片。 STMicrolectronics的STM32F051K8U6中使用的Cortex-M0提供32位性能,但代码尺寸比许多8位器件小。降低内存要求使其能够充分利用片上闪存。与Cortex-M系列中的所有处理器一样,它的16位指令基础可以扩展为包含32位指令。 Cortex-M0还向上兼容功能更强大的Cortex-M3和Cortex-M4处理器,后者可以在德州仪器的TM4C123BE6PZI中找到。这为复杂的数字信号处理技术带来了低功耗的32位市场。
图1:ARM的Cortex-M4内核。
示例和应用
如上所述, STMicrolectronics的STM32F051K8U6是RISC芯片的一个很好的例子。它使用工作频率为48 MHz的ARM Cortex-M0 32位RISC内核。 Cortex-M0的开发旨在提供低成本平台,满足MCU实现的需求,减少引脚数和降低功耗,同时仍然提供必要的计算性能和对中断的高级系统响应。虽然是32位RISC处理器,但它具有人们所期望的性能,但内存大小通常与8位和16位器件相关。
图2:STM32F051K8U6的框图。结果典型应用是使用STM32F05xx USART外设的智能卡接口。该应用基于意法半导体的STM320518-EVAL评估板和一些额外的硬件。
智能卡接口采用USART智能卡模式开发,支持异步协议智能卡,如ISO 7816-3(A类)中所定义。 br》启用智能卡模式后,USART必须配置为8个数据位加上奇偶校验,0.5或1.5个停止位。 5位预分频器和智能卡时钟发生器为智能卡提供时钟。 GPIO引脚用于提供与智能卡接口所需的其他功能。
STM32F0xx微控制器还具有支持HDMI-CEC v1.4的高清多媒体接口消费电子控制(HDMI-CEC)控制器。协议。 HDMI-CEC控制器为该协议提供硬件支持,并支持CEC设备提供的所有功能。因此,另一个应用程序可以实现基于HDMI-CEC控制器的CEC协议软件和硬件。
CEC总线是一种单线协议,可通过标准HDMI电缆连接多达十个视听设备。 CEC行上的所有交易都包括发起人和一个或多个粉丝。发起者负责发送消息结构和数据。跟随者是任何数据的接收者,负责设置任何确认位。消息在单个帧中传送,包括起始位后跟一个标题块,以及可选的操作码和可变数量的操作数块。
STM32F0xx HDMI-CEC控制器为CEC协议提供硬件支持,因此,这是一个构建CEC固件应用程序的简易平台。但是,为了完全符合HDMI 1.4规范,特别是当CEC器件处于断电状态时,应在STM32F0xx外部添加完全集成的ESD保护。
另外使用32位ARM内核但这次是Cortex-M4 89 MHz处理器,是德州仪器公司的TM4C123BE6PZI。该微控制器适用于工业应用,包括远程监控,电子销售点机器,测试和测量设备,网络设备和开关,工厂自动化,HVAC和楼宇控制,游戏设备,运动控制,运输以及消防和安全。
核心功能包括系统定时器(SysTick),集成嵌套向量中断控制器(NVIC),带时钟门控的唤醒操作中断控制器(WIC),内存保护单元(MPU),符合IEEE754标准的单精度浮点单元(FPU),嵌入式跟踪宏和端口以及系统控制模块(SCB)。
可以将工作设计从Stellaris®LM3S微控制器(使用Cortex-M3架构)迁移到这些微控制器。在StellarisWare®和TivaWare™for C系列软件中使用驱动程序库API时,软件迁移非常简单。两个系列都基于Cortex-M内核,外设通常非常相似,在某些情况下相同
图3:Tiva TM4C123BE6PZ微控制器的高级框图。
MCU具有高水平的连接性和传感器聚合,使其适用于家庭等连接应用。建筑和工业自动化。 Cortex-M4内核通过添加DSP扩展和单指令,多数据(SIMD)指令扩展了Cortex-M3的指令集。 DSP操作包括单周期32位或双16位乘法累加(MAC)指令和饱和算术指令。优化的SIMD指令可以在一个周期内执行四个8位或两个16位算术运算,因此可以有效地对大型数据阵列执行算术运算。除了为数学密集型运算提供性能提升,浮动 - 点支持简化了浮点例程的实现和编程。工程师可以花一周时间在Matlab中开发数字滤波器,并在一个月内将滤波器转换为定点实现,以确保其精确和稳定。程序员可以采用原生浮点格式对滤波器进行编程时,不需要此时间。
集成的高分辨率12位ADC可以采样速率高达1 MSPS,采样速率支持全分辨率和精度的ADC。这意味着读数的质量不必降低,以实现更高的采样率。其中两个转换器是片内的,可以从24个独立输入馈电。为了提高精度,差分外部参考电压可以应用于专用输入。 ADC可以生成基于转换完成和与八个数字比较器之一匹配的处理器中断。来自ADC的读数可以在ADC内进行排队,比较和平均。
片上直接存储器访问控制器可以将ADC FIFO的ADC读数提供给RAM或其他外设,而不会唤醒或分散ARM内核。还有三个片上模拟比较器,可与可编程内部参考电压一起使用,以检测输入模拟信号何时超过特定阈值。这些比较器与数字比较器一起消除了连续轮询输入ADC值的需求,从而释放CPU以专注于实时应用。
一种可以利用ADC快速,准确浮点的应用性能是运行控制,用于运行更复杂的算法和片上比较器。电机驱动器在运行期间可以更快速和精确地跟踪电机的动态特性,所产生的PWM将遇到的阻力越小,控制信号就越有效。这样可以消耗更少的能量,轴可以更平稳地旋转并保持速度或在不同负载下加速。片上比较器可用于检查系统中的故障情况,这需要立即响应。
PIC范围
尽管ARM已经成为RISC架构的主要参与者,但它并不是唯一的公司。事实上,更多传统的RISC产品可以在Microchip的PIC系列中找到,PIC10F200T-I/OT就是一个很好的例子。这是一款低成本,高性能,8位,静态,基于闪存的CMOS微控制器。 RISC架构只有三十三个单字或单周期指令。除程序分支外,所有指令均为单周期(1μs),程序分支需要两个周期。易于使用且易于记忆的指令集可以显着缩短开发时间。
图4:PIC10F200和202系列的框图。
PIC10F20x器件具有降低系统成本和功耗要求的功能。上电复位(PoR)和器件复位定时器(DRT)无需外部复位威廉希尔官方网站 。此外,内部振荡器模式可保留有限数量的I/O.其他功能包括省电睡眠模式,看门狗定时器和代码保护。
应用范围从个人护理设备和安全系统到低功率远程发射器和接收器。闪存技术可以快速方便地定制应用程序,例如变送器代码,设备设置和接收器频率。通孔或表面安装的占地面积小,适用于空间有限的应用。它们甚至可以用于以前没有考虑过微控制器的地方,例如大型系统和协处理器应用中的定时器功能,逻辑和PLD。
它们还有一个板载比较器,可用于触摸控制应用中的电容式感应。这是通过使用比较器作为张弛振荡器来完成的,其中输出用于对感测电容器充电和放电,感测电容器由威廉希尔官方网站 板上的焊盘形成。充电速率可以通过RC时间常数来确定,该时间常数可以通过外部电阻和焊盘的电容来创建。
当人的手指触摸按键时,引入额外的电容,创建接地路径,导致频率改变。 PIC MCU可以测量这种变化以检测手指按压。
另一种应用可以在厨房中找到,其中可调节机械恒温器通常用于改变电灶,煎锅和油炸锅的热量输出。这些恒温器往往昂贵且有问题。它们必须在工厂进行校准,它们的慢煮性能较差,因为在低温下控制不够精确,它们的精度通常很差,而且机械性能会磨损。
PIC MCU可以用作心脏基于微控制器的低成本替代品。 PIC可以从电位计获取输入,并通过三端双向可控硅开关控制电流到加热元件。因此,因为该应用使用三端双向可控硅开关,所以它可以适用于与AC线路接口的其他应用,例如灯开关,真空吸尘器和各种家用电器。 PIC的电源直接通过电阻电源从交流线路供电三端双向可控硅开关元件的一个有用特性是它由电流而不是电压触发,因为在栅极处注入的电流量而不是施加到栅极的电压幅度决定了三端双向可控硅开关是否导通。这使得三端双向可控硅开关在电压显着低于115或220 VAC的数字领域中非常有用。 PIC单片机工作在2.5至5 V范围内,但可在其I/O引脚上吸收并提供25 mA电流。在AC波形的任何半周期期间,足够宽度和幅度的负电流脉冲将触发三端双向可控硅开关,其将传导电流直到半周期完成,然后恢复到非导通或阻断状态。
这种相位控制在调光器中很常见。另一种选择是零交叉切换,它可以消除大多数EMI问题,因为整个周期都是开启或关闭的。为了改变发送到负载的平均电流,可以跳过交替循环。这不适用于调光器,因为光的强度会明显波动。然而,这种方法对于电阻加热元件更好,因为EMI较低。在此应用中,通过将微控制器的引脚直接连接到齐纳二极管的阳极来检测零交叉。与机械恒温器相比,该应用提供了设计灵活性,包括额外的功能,例如状态LED指示范围是否是打开或关闭以及自动关机,如果无人看管,将在两小时后关闭范围。
RISC与未来的CISC
移动设备领域正在成为RISC和CISC的战场,以两大为典型ARM和英特尔的玩家。 ARM已经控制了智能手机和平板电脑市场,因为其许可证持有者生产的功能强大的芯片功耗非常低。英特尔试图通过进入低功耗领域进行反击,特别是其Atom系列,但仍然很少进入ARM领域。另一方面,在功能更强大的计算机中寻求更低功耗已经让一些人考虑使用ARM设备,而在过去,x86系列是他们唯一可以看到的地方。不过,英特尔有很大的影响力并且正在反击。
连接设备的整体增长,即所谓的物联网,正在越来越小的设备中看到智能,其中功耗是关键。在这里,Microchip的PIC架构已经做得很好。在更智能的设备中使用ARM的RISC内核,在这个快速增长的领域中,x86几乎没有空间。在较大的计算机市场中,ARM将难以取代x86的优势,但会尝试。未来有趣的时刻。
-
处理器
+关注
关注
68文章
19286浏览量
229811 -
芯片
+关注
关注
455文章
50812浏览量
423574 -
存储器
+关注
关注
38文章
7492浏览量
163828
发布评论请先 登录
相关推荐
评论