特权和你一起学NIOS2 第一章
0赞第一章 海阔天空聊概念
虽然这个教程的大标题美名其曰“特权和你一起学NIOS2”,但是更确切的说应该称之为“特权和你一起学SOPC”。之所以用NIOS2替代SOPC,其 实只是因为SOPC的概念着实有些大了,而NIOS2是全球两大FPGA厂商之一的Altera公司为他们的SOPC系统架构量身打造的软核处理器。咱比 较厚道,就小不就大,只能给个小名“NIOS2”了。
CPU之软核与硬核
既然说到了处理器,而且还给它戴了个“软核”的帽子,那么就不能让这个帽子戴得不明不白。说概念咱就要说得清清楚楚,特权同学在本章的目标是扫盲,所以大 家别嫌我啰嗦,如果你觉得都是废话,证明你的等级够高,那么请无视这些啰嗦的叙述,直接跳到下一章是个不错的选择~-~。好了,说正紧的。处理器,不懂电 子的也知道电脑的CPU中文名也叫处理器,而咱们做嵌入式这一行的就不能够让处理器一词仅仅局限于“CPU”了。从最简单的51单片机来看,它也算是一个 包含了“CPU”的“MCU”(Micro Controller Unit)),其实非要寻根问底搞清楚MCU为何物的话,我还是喜欢拿大家熟悉的PC机来做比方。一台PC机,有CPU(大家都知道它是大脑)、有硬盘 (存储海量的数据)、有内存(暂时存放数据的地方,高速运转的处理和运算都要靠它,操作系统跑起来还是有赖于它的)、有电源、有显卡、有键盘鼠标等等,当 然还有一些乱七八糟的外设了,如光驱啊、音箱啊、USB口啊、串口啊、并口啊,总之是五花八门应有尽有。而这个小小的MCU哪怕是DIP40封装的“大家 伙”也只是食指大小,可别看它小,它可是“麻雀虽小、五脏俱全”,它其实在芯片家族中不算小,但比起那个动辄上千个“脚脚”的电脑CPU和那个庞大的机箱 来,可真算得上是“迷你精致”了。拿它和PC比还真不能比性能,咱们要比概念。但凡用过MCU的同志们都知道它的“强大”,它不仅能够跑程序做运算和控制 (处理器),而且能够存程序和数据(ROM和RAM,堪比硬盘和内存),当然也有一些简单的外设了,常见的如GPIO、串口、定时器、看门狗,强大一点的 集成USB口、网口甚至一些奇形怪状特权叫都叫不上来的接口。那么,你现在应该明白MCU是什么了吧?啊,说完这些发现还没有谈论CPU是什么。CPU就 是处理器,处理器就是Central Process Unit,Central Process Unit就是中央处理单元,中央处理器就是能够跑程序的一颗芯片而已,哈哈,没把你绕晕吧。CPU上面可以跑程序,程序可以做很多事,你可以做一个运算, 实现各种各样的复杂算法;你也可以写一段驱动,控制各种各样的外围设备。总之,人脑可以想到的事,绝对都是CPU可以办到的事。这么说,知道CPU的 powerful了吧。
说完CPU,再说为什么是“软核CPU”,是不是也有“硬核CPU”呢?答案是肯定的,通常大家看到的CPU都是指一些芯片制造商完全定制好强大运算功能 且硬件结构固定的“芯”。用户没有办法对它做的硬件构造进行任何的更改,只能够看着制造商提供的芯片datasheet进行编程控制。而“软核”、“硬 核”的说法主要还是针对可编程逻辑器件如FPGA上嵌入的CPU而言的。那么有些人可能就纳闷了,既然都嵌在FPGA上,又为何有软硬之分呢?FPGA不 都是硬件吗?没有错,FPGA是硬件,它所实现的逻辑功能也确确实实是各种各样门电路的集合。但这里的软硬叫法和通常所言的软件硬件叫法是有区别的。别 急,马上就要说区别了。如果一个FPGA像Xilinx家的什么Virtex XX系列号称内嵌了最多数个PowerPC(想知道它是什么吗?自己动手丰衣足食,搜去),那么这里的“内嵌”就意味着这个FPGA器件的CPU是“硬核 CPU”。而Altera家主推它的“NIOS2软核CPU”,软就是只要资源足够那么就可以用逻辑堆砌起来的一个“CPU”。再具体点说,硬核就是 FPGA本身就嵌入了一个这样的CPU硬件结构,只是用与不用、如何使用的问题交给设计者决定而已;而软核则是FPGA本来并不存在这样的硬件结构,设计 者使用了某种硬件描述语言(或者说是最基本的逻辑门电路)活生生的搭建了一个CPU来。这么说好像还不过瘾,那就打个比方加深一下理解。记不记得小时候咱 们刚上学时练字的“美好时光”,我是记得还有什么专门的一节“写字课”,开始练字的时候还要用字帖(字帖上模模糊糊的有字的轮廓,照着写就行),练到一定 水平就要抛开字帖,拿着白纸写就可以了。而硬核就好比这个字帖,每个要写的字都是固定好的,你必须照着去写;而软核就好比这个白纸,上面什么都没有,要写 什么字都可以。同样写一个“爱”字,在写之前,硬核是有轮廓在那里的,软核上什么都没有。硬核临摹一下就好,并且只能写这个字;软核靠自由发挥,你也可以 写别的字。“临摹”出来的硬核写的肯定漂亮,并且稳定性好、性能佳,但是可“临摹”的功能是固定的,这块电路是“死”的,不能写别的“字”了;而自由发挥 的软核虽然可能没那么端端正正、稳定性可靠性都差一些,但是可写的“字”不受局限,灵活性也高得多。
SOPC是什么
》》》》
NIOS2的优势在哪里
》》》》
更多内容请下载.pdf