开发者学堂课程【高校精品课-南京航空航天大学-数字集成电路设计技术:平头哥 CPU】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/14/detail/15882
平头哥 CPU
内容简介:
一. 嵌入式系统简介
二. 嵌入式微处理器内核
三. 嵌入式微处理器
四. 嵌入式系统的开发流程
五. RTOS 简介
目录分五个内容:第一嵌入式系统的简介;第二嵌式微处理器的内核;第三嵌入式微处理器;第四嵌入式系统的开发流程;第五 RTOS 简介。
一.嵌入式系统简介
l 首先第一个是嵌入式系统的简介,什么是嵌入式系统?
Ø IEEE 的定义是:嵌入式系统是用来控制,监控,或者辅助操作机器,装置,工厂等大规模系统设备。
Ø 第二个定义是:嵌入到对象体系中的专用计算机应用体系。
Ø 第三个普遍接受的定义是:嵌入式系统是指以应用为中心,以计算机技术为基础,软件硬件可剪裁,适应应用系统对功能,可靠性,成本,体积,功耗严格要求的专用计算机系统。
计算机包括:巨型计算机到嵌入式微处理器。包括两个大的种类:通用计算平台包括巨型机与大型机,服务器和桌面系统。专用计算机平台包括:嵌入式系统。
下面是一些典型的兼容式系统应用实例。可以看到上市系统应用在生活的各个方面。如图所示:
l 嵌入式系统的分类
u 按照表现形式分:(硬件范畴)可分为:
Ø 指令集嵌入
Ø 芯片级嵌入
Ø 模块集嵌入
Ø 系统级嵌入
u 按照实施性要求可分为:
Ø 非实时系统
Ø 软实施系统
Ø 硬实时系统
l 嵌入式系统的发展过程
嵌入式系统的发展过程,包含四大过程:在1980年到1990年以单芯片为核心的可编程控制器形式的系统;在1990年到1996年以简单操作系统为核心的嵌入式系统;在1996到1998年以嵌入式操作系统为标志的嵌入式系统;在1998年以后,以因特网为标志的嵌入式操作系统。
l 嵌入式系统的基本要素
嵌入式系统主要包含两大要素:处理器系统和软件系统。
Ø 处理器系统包含了嵌入式的处理器
Ø 各种类型的存储器。
Ø 模拟电路及电源
Ø 以及接口控制器和插件。
软件系统包含:
Ø 实时操作系统
Ø 板级的支持包
Ø 设备驱动
Ø 协议栈
Ø 应用程
l 嵌入式系统的知识体系2;41
Ø 嵌入式系统的知识体系,包括诸多方面。其中算法包括:通信基带算法,多媒体算法,网络通信协议,安全算法,信号处理等等。
Ø 汇编语言包括:C 语言,C ++,Java,汇编等等。
Ø 操作系统虚拟机包含:嵌入式操作系统系统的基本原理,常用的 os 有 linux,安卓等等。
Ø 常见的指令集体系架构:常见嵌入式处理器体系架构和指定系统包括:X86,68K 等等。
Ø 寄存器传输集包括:计算计算机系统架构,计算机组成原理,SoC。
Ø 电路包括:电路分析,电路与系统,数电模电。
Ø 器件上包含了器件物理,器件制造工艺等等。
二.嵌入式微处理器内核
l ARM 内核家族
Ø ‘‘A’‘系列面向尖端的基于虚拟内存的操作系统和用户应用,包括智能手机等;
Ø ‘‘R’‘系列针对于实时系统;
Ø ‘‘M’‘系列针对于微控制器和低成本应用。
l ARM 内核细节
下面是一些 ARM 内核的细节,包括了 ARM7,ARM9,ARM11和基于 ARM 的 Intel 微处理器。
l 阿里平头哥的内核
杭州中天微系统有限公司(‘‘中天微’‘)是中国内地基于自主指令架构研发嵌入式CPU并实现大规模量产的CPU供应商。公司成立于2001年。’‘中国芯,天下行’‘的前两个字是中天名字的由来,也是中天微系统的使命与目标。
2018年4月,中天微被阿里巴巴集团全资收购。2018年9月阿里成立独立芯片企业‘‘平头哥半导体有限公司’‘,该公司由中天微与达摩院芯片团队整合而成。2019年7月旗下处理器更名为玄铁系列处理器。承诺哥拥有自主的玄铁指令系统与处理器架构,是中国大陆地区极少数具备知识产权指定系统,并成功实现产业化的处理器之一。
紫色部分是第一代的指定系统,红色部分是第二代指令系统。可以看到第二代指令系统比第一代的功能以及信用范围丰富了许多。
三.嵌入式微处理器
嵌入式微处理器的一般架构是由高速互联结构连接的高宽带设备和异构计算引擎,以及 DMA 控制器。它们与低速总线转接,低数总线连接着低速外设和中断控制器。这些设备与外部的存储器接口相连,构成了 SoC。SoC 和DRAM进行数据交换。
l 平头哥 Hobbit 芯片
这是这个芯片的一些重要模块,可以看到有许多模块构成包括:从一开始的 ROM,flash 存储,还有包括它的ADC,SPI,PWM 脉环调制,Bridge 桥以及下面的 SRAM 闪存和它的 DMAC。包括下面的 WDG 看门狗,以及 GPIO接口,SPIO 接口等许多模块。
四.嵌入式系统的开发流
l 传统软件的开发流程
从系统要求出发,根据系统分析,系统总体设计模块划分,可分为模块设计和模块编码。根据编码的规范进行代码检查,再进行模块测试,联调后输出为系统测试。
l 面向嵌入式系统的软件开发流程
由软件设计包含:编辑环境和项目管理,编辑环境包含编译器和汇编器,再由连接器连接到转换程序,最后下到目标版进行烧结程序。
l SOC 及嵌入式系统设计平台及流程
这个游戏框图主要是 ic 芯片的设计流程,首先 VCS 是一个软件,用来进行功能仿真,DC 是用来进行逻辑综合,把RTL 级转化成门机网表。STA 是静态分析,验证综合后的门机网表时序是否要满足要求。
P&R 是自动布局布线将综合后的门机网表生成版图。有了版图以后就包含了布线信息,所以还要进行 Sta和功能仿真,也就叫做后仿真。
Merge 就是要迭代,发现有问题就要返回上一步进行修改。要对版图进行分析,是否符合设计规则,版图和原理是否一致,如果一致就可以进行留片。
FPGA 验证就是为了速度快,芯片整个设计流程比较耗时长和成本高,最初验证功能就需要 FPGA 的验证。DFT 是可持续型设计,一般是在综合后布局无线进行的,就是为了降低测试成本。
五.RTOS
l 嵌入式软件危机
Ø 分别有4个原因导致了嵌入式软件的危机。早期的嵌入式开发系统一般都是由一个工程师完成的,软件开发工作只占到全部工作的5%-10%。
Ø 但随着科技的进步,80年代软件开发工作已经占到了全部工作50%。
Ø 近几年,随着硬件复杂性,多样性和应用复杂性的增加,软件开发工作急剧增长,经常达到全国工作的70%到80%。
Ø 传统的开发模式已经不能适应系统复杂性的增长,而嵌入式操作系统的引入,极大地方便了嵌入式软件的开发和维护。
l RTOS 嵌入式系统开发平台
RTOS 嵌入式系统开发平台有四大特点:
Ø 首先,嵌入式操作系统体现了一种新的系统设计思想和一个开放的软件框架,软件工程师只需要做少量的改动,就可以添加或者删除一个系统模块。
Ø 其次通过操作系统所提供的应用程序编程接口 api 访问系统资源,使得应用软件工程师避开繁琐的底层系统底层操作,提升了开发效率。
Ø 它还解决了嵌入式软件开发标准化的问题,更好的支持了系统协同开发。
Ø 最后基于嵌入式系统操作系统开发出的程序,具有较高的可移植性,能够实现90%以上的设备独立。
l 使用 RTOS 最大的一个特点就是能够缩减产品开发的时间。
l RTOS 的演变
RTOS 的演变,主要体现在其供应商在典型嵌入式设备中,提供的软件总量的百分比,可以看到在1980年到1990年期间,占到了10%,1996年到1996年增长30%,1996年到1998年增到了75%,在1998年以后占了90%。
l 嵌入式操作系统的特点
包含以下几个大特点:
Ø 第一高效的任务管理。
Ø 第二快速灵活的任务间通信。
Ø 第三快速有效的中断和异常事件处理。
Ø 第四高速的可剪裁性。
Ø 第五动态链接与部件增量加载。
Ø 第六优化的浮点支持
Ø 第七动态内存管理。
Ø 系统时钟和定时器。
u 其中高效的任务管理包括:
1. 支持多任务。
2. 优先级管理。
3. 任务调度:基于优先级的抢占式调度,时间片轮转调度的算法。
4. 支持快速而确定的上下文切换。
u 对于快速灵活的任务间通信包含:
1. 信号量:二进制,互斥,计数器等。
2. 通信机制包含:消息队列,管道等。
l 几种常见的 RTOS
下面是几种最为常见的 RTOS 包含:
u 软实时 RTOS:
Ø 嵌入式的 Linux
Ø Win CE
Ø 安卓
Ø Ios
Ø 鸿蒙
u 以及硬实时的 RTOS:
Ø VxWorks
Ø Nuclear
u 还有著名的 open RTOS:
Ø UcOS/IIRTEMS
u 自主知识产权的 RTOS:
Ø 包含 HOPEN
Ø Delta OS
Ø ASIX OS