FPGA跟uProcessor和uController完全是不同的概念,没有必要一定要这么定义。FPGA是一个可编程的逻辑器件,是可以通过软件设置的逻辑处理单元。
最早的时候微处理器和微控制器的定义划分是根据其实现逻辑功能来的,较简单的处理功能被定义为“微控制器”或者单片机,做相对复杂一些的运算和数据处理的叫做“微处理器”或者CPU,GPU。
FPGA好像一个橡皮泥,你可以把它捏成为微处理器,或者捏成微控制器,DSP,还有集成ARM的FPGA。相对不同的应用,FPGA最大的长处是“自定义,可编程“;相对某一项处理能力可能不如专门的器件,但灵活,且结构化适应并行处理,可以自定义逻辑。相当于你特定的芯片,但可以通过软件很快的实现设计。
FPGA应该属于微处理器。
FPGA适合于底层的驱动编写,毕竟是并行的嘛!时序更够跟的上。
ARM高端的适合做协议的解析,跑linux系统啥的,低端的就是个单片机例如Cortex M3内核的。
DSP他处理信号编解码方面挺有优势的。
单片机,就是实现工业控制啥的,前后台程序。