Linux驱动开发(硬件基础)——处理器

本文探讨了嵌入式硬件处理器的基础知识,包括通用处理器(Soc架构、冯诺依曼与哈佛结构)、数字信号处理器(DSP与算法优化)、专用处理器(如ASP和ASIC)及其在不同领域的应用。还介绍了处理器分类的发展趋势,如融合与改进的哈佛结构,以及RISC和CISC指令集。
摘要由CSDN通过智能技术生成

前言

这一章,主要就是针对我们的嵌入式硬件处理器基础知识进行学习和回顾。

通用处理器(SOC)

目前主流的通用处理器(GPP)多采用Soc(片上系统)的芯片设计方法,集成了各种功能模块,每一种功能都是由硬件描述语言设计程序,然后在Soc内由电路实现的。在Soc中,每一个模块不是一个已经设计成熟的ASIC器件(专用集成电路),而是利用芯片的一部分资源去实现某种传统功能,将各种组件采用类似搭积木的方法组合在一起。

中央处理器的体系结构可以分为两类,**一类为冯诺依曼结构,另一类为哈佛结构。**Intel公司的中央处理器、ARM7,MIPS公司的MIPS处理器采用的是冯诺依曼结构;而AVR,ARM9,ARM10等以及Cortex A系列采用的是哈佛结构。

冯诺依曼结构也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储结构。程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,因此程序指令和数据的宽度相同
哈佛结构将程序指令和数据分开存储,指令和数据可以有不同的数据宽度。此外哈佛结构还采用了独立的程序总线和数据总线,分别作为CPU和每个存储器之间的专用通信路径,具有较高的执行效率
在这里插入图片描述

当然考虑到实际的需求,以及哈佛结构和冯诺依曼结构的各自优势,现在也多在采用改进的哈佛结构。如下
在这里插入图片描述

它具有独立的地址总线和数据总线,两条总线由程序存储器和数据存储器分时共用。因此,改进的哈佛结构针对程序和数据,其实没有独立的总线,而是使用公用数据总线来完成程序存储模块或数据存储模块与CPU之间的数据传输,公用的地址总线来寻址程序和数据。

从指令集的角度来讲,中央处理器也可以分为两类
RISC(精简指令集)强调尽量减少指令集,指令单周期执行,但是目标代码会很大
CSIC(复杂指令集)强调增强指令的能力,减少目标代码的数量,但是指令复杂,指令周期长

ARM,PowerPC,MIPS等采用RISC,现在两者融合逐渐明显。

数字信号处理器(DSP)

数字信号处理器针对通信、图像、语音和视频处理等领域的算法而设计它包含独立的硬件乘法器。DSP的乘法指令一般在单周期内完成,且优化了卷积、数字滤波、FFT(快速傅里叶变换)、相关矩阵运算等算法中的大量重复乘法。

DSP分为两类、一类是定点DSP,另一类是浮点DSP。浮点DSP的浮点运算用硬件来实现,可以在单周期内完成,因为其浮点运算速度远高于定点DSP,定点DSP只能用定点运算来模拟浮点运算。

现在也出现了通用处理器和数字信号处理器相互融合以取长补短的趋势,如数字信号控制器(DSC)即MCU+DSP。

专用处理器和专用集成电路(ASP and ASIC)

针对特定的领域而设计的处理器。如HDTV,ADSL,Cable,Modem等的专用处理器。
网络处理器是一种可编程器件,应用于电信领域的各种任务,如包处理,协议分析等。网络处理器内部通常由若干个微码处理器和若干硬件协议处理器组成,多个微码处理器在网络处理器内部并行处理,通过预先编制的微码来控制处理流程。而对于一些复杂的标准操作(如内存操作,路由表查找算法,QoS的拥塞控制算法,流量调度算法等)则采用硬件协处理器来进一步提高处理器性能。

对于某些特定应用场合,使用ASIC往往比直接使用CPU或其他器件来的更加廉价和高效。

处理器分类图

在这里插入图片描述

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jacky~~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值