动手学树莓派Python篇第2章:近距离看看计算机硬件体系结构

树莓派开发板,也是有核心处理器、主板、”硬盘”(emmc或者TF卡)、电源等组成。

计算机组成

打开PC机机箱,发现一台PC机主要有核心处理器CPU、内存条、主板、硬盘、电源、显卡等组成。

开拆手机或者看看咱们的树莓派开发板,也是有核心处理器、主板、”硬盘”(emmc或者TF卡)、电源等组成。那计算机可以做到手机或者树莓派这么小,台式PC机还有存在的必要吗?

当然有必要,他们的差别就在对数据的处理能力上,这个处理能力主要由核心处理器CPU决定。

核心处理器的分类

按指令集划分:CISC(复杂指令集计算机)和RISC(精简指令集计算机)。

按体系架构划分:x86(intel、AMD)、ARM、PowerPC、MIPS、RISC-V等。x86-CISC,ARM-RISC。复杂指令集追求最高处理能力、精简指令集追求低功耗。指令集说白了就是硬件单元,例如乘法运算,复杂指令集包含乘法器,汇编中一条指令就完成了乘法,计算时间短;而精简指令集,汇编中会翻译成多条加法和移位运算,所以计算时间就长;但快是要付出代价的,就是硬件成本高、功耗高。当然在具体的架构实现上,会彼此借鉴对方的优点。

按处理器一次最多能处理的数据位数划分:8位(80c51)、16位(MSP430)、32位(ARM9-AT91SAM9G45)、64位(ARM_Cortex-A53-BCM2837)。

MIPS——让中国真正意义上实现了自主可控(龙芯系列处理器)。龙芯是真正意义上掌握住MIPS指令集,而不是可以使用MIPS提供的硬核。就像linux给你提供全套源码,同时免费使用;但windows可以想办法免费使用,但你看不见源码,谁知道里面有什么猫腻。

RISC-V——中国CPU架构的“曙光”。开源、授权费很低、吸取前人的优点、面向物联网。RISC-V就像软件里的linux,提供所有指令集源码,可以做到真正的掌握“核心科技”。但RISC-V还年轻,到底在工业现场表现如何,还需要时间来检验。

ARM——现在已经把我们包围了,基本能触碰到智能设备,基本都是ARM处理器。但芯片厂商能生产ARM处理器并不代表,能自行修改ARM指令集,苹果就是在ARM指令集的基础上,修改成苹果的A系列处理器;但像三星,就是购买了ARM的硬核(可以类比成为软件里的windows系统),在硬核基础上自行添加UART、DDR控制器等外设封装成一枚芯片(可以类比为软件里的自行开发的软件),硬核里面什么样,臣妾不知道啊(就微软知道他的windows里什么样)。

NXP公司imx6q处理器原理组成框图

本来想给出树莓派3B+上使用的BCM2837处理器原理组成框图,但搜遍全网找不到,后来得知,这是定制款,官方提供片上外设操作地址空间和寄存介绍。

imx6q片内原理构成理论上跟BCM2837一致。

(1)4个Cortex-A9内核(Cortex-A系列——高性能、Cortex-R系列——高安全、Cortex-M系列——低成本)。
(2)AXI和AHB总线与片上外设相连,高速片上外设直接连接至AXI和AHB总线上,低速设备在通过APB总线连至高速总线上。对于每一种总线,都有好几条,CPU通过总线访问外设,由总线控制器仲裁某个CPU是否有资格使用该条总线访问外设(纯硬件实现)。
(3)局部性原理:时间局部性、空间局部性,加速程序运行。
(4)imx6q包含丰富的片上外设。在再没有接触zynq系统SOC之前,感觉这种SOC就够了。

芯片手册查询网站

芯片还是从官网查询是最最准确的,但有时在官网里不好找,下面推荐一个网站,基本满足你日常芯片查询。
https://alldatasheet.com/

zynq系列内部组成

zynq内部分为PS端和PL端。PS端就是CPU端,与刚刚介绍的imx6q基本一致;PL端就是逻辑单元端。

zynq有什么优势?
(1)片上部分硬核外设既可以由PS端控,可以有PL端控制。但一旦PS端控制了,PL端就不能控制,同理,PL端控制了,PS端就不能控制。这些硬核外设由谁控制,芯片上电运行的FPGA配置文件决定。
(2)片上硬核不够用了怎么办?例如,你需要10各uart控制器,这时你可以用PL端逻辑资源来搭uart控制。

zynq这么好,有什么缺点吗?
(1)太贵了、功耗大。可以比较下一片如此强大的imx6q多少钱,一片zynq7020多少钱。
(2)开发门槛太好,一般人hold不住。

课程 bilibili 视频地址: https://www.bilibili.com/video/av71878718/?p=4

- 本文内容来自网络,如有侵权,请联系本站处理。

2022-12   阅读(77)   评论(0)
 标签: 编程

涨知识
LED

发光二极管,简称为LED,是一种常用的发光器件,通过电子与空穴复合释放能量发光, 发光二极管可高效地将电能转化为光能,在现代社会具有广泛的用途,如照明、平板显示、医疗器件等。

评论:
相关文章
Blockly 工具箱

工具箱是用户可以从中创建新块的侧面菜单。工具箱的结构由XML指定,它可以是节点树或字符串表示形式。当该XML注入页面时,它将传递给Blockly。


App Inventor 编程实例及指南-第5章 飘虫快跑

游戏是移动应用中最令人兴奋的部分,无论是玩游戏,还是做游戏。


Start from SCRATCH!Project X的Scratch创造力编程课

Project X是清华大学终身学习实验室践行终身学习理念的重点教学实践项目之一,第一年主题为“不插电的编程课”收到了良好的反馈,带领孩子们进入程序、逻辑、算法的世界。


全国青少年软件编程等级考试Scratch知识点

图形化编程需要了解的技能和知识点,以实践应用能力为主。


面向智能体构建的低代码编程活动对学生计算思维与编程兴趣影响的实证研究

本研究设计了系列面向智能体构建的低代码编程教学活动, 采用面向问题解决的四阶段教学法实施教学, 并通过准实验法评估其对学生计算思维及编程兴趣的影响。


App Inventor 编程实例及指南-第9章 木琴

很难相信,利用技术来记录和播放音乐只能追溯到1878年,也就是爱迪生获得留声机专利时。


micro:bit资源汇总中文版

micro:bit 是一款由英国广播电视公司(BBC)推出的为青少年编程教育设计的微型电脑开发板, 集成了低功耗蓝牙,加速度计,磁力计,三个按钮,5 x 5 LED点阵以及GPIO。




动手学树莓派Python篇第1章:先唠叨两句

未来是AIOT时代,更是人才的竞争。时代对人才有了新的要求,您是否准备好了呢?