嵌入式_cpu微架构、互连结构与总线

一、cpu微架构

(一)、定义

处理器微架构又称为微体系结构/微处理器体系结构,是在计算机工程中,将一种给
定的 指令集架构在处理器中执行的方法和具体硬件实现方案。
• 一种给定指令集可以在不同的微架构中执行。实施中可能因应不同的设计目的和技
术提升而有所不同。
• 计算机架构是微架构和指令集设计的结合。

(二)、分类

1、X86架构

X86架构是微处理器执行的计算机语言指令集,基于Intel 8086且向后兼容的中央处理器指令集架构,包括Intel 8086、80186、80286、80386以及80486,由于以“86”作为结尾,因此其架构被称为“x86”。
应用领域:个人计算机、服务器等
类别:
IA:Intel(英特尔)处理器的服务器称之为IA(Intel Architecture)架构服务器
IA-32:英特尔32位体系架构,X86从16位到32位是在原有的架构基础上进行修改(Intel称之为IA32)
x86-32:现如今Intel把x86-32称为IA-32
x86-64:
AMD64:x86架构的64位拓展,向后兼容于16位及32位的x86架构。x64于1999年由AMD设计,AMD首次公开64位集以扩展给x86,称为“AMD64”,AMD64和Intel64基本上一致。
Intel64:EM64T(Extended Memory 64 Technology)扩展64bit内存技术,本质上和AMD64一样都是IA-32的增强版本。
IA-64:1999年推出的64位的英特尔安腾架构(Intel Itanium architecture),不属于X86架构

2、IA-64

64位的英特尔架构,英特尔安腾架构(Intel Itanium architecture),使用在
Itanium处理器家族上的64位指令集架构,由英特尔公司与惠普公司在1999年共同
开发。IA是Intel Architecture(英特尔架构)的缩写,64指64位系统。使用这种
架构的CPU,包括Itanium和Itanium 2。此架构与x86及x86-64并不相容,操作系
统与软件需使用IA-64专用版本。
• intel采用EPIC技术的服务器CPU安腾Itanium(开发代号即Merced)就是IA-64系
列中的第一款。
• IA-64 在很多方面来说,都比x86有了长足的进步。突破了传统IA-32架构的许多限
制,在数据的处理能力,系统的稳定性、安全性、可用性、可管理性等方面获得了
突破性的提高。
• IA-64微处理器最大的缺陷是它们缺乏与x86的兼容,而Intel为了IA-64处理器能够
更好地运行两个朝代的软件,它在IA-64处理器上(Itanium、Itanium2 ……)引入
了x86-to-IA-64的解码器,这样就能够把x86指令翻译为IA-64指令。这个解码器并
不是最有效率的解码器,也不是运行x86代码的最好途径(最好的途径是直接在x86
处理器上运行x86代码),因此Itanium 和Itanium2在运行x86应用程序时候的性能
非常糟糕。这也成为X86-64产生的根本原因。

3、ARM架构

ARM架构:精简指令集机器RISC(Advanced RISC Machine,更早称作:Acorn RISC Machine),是一个32位精简指令集(RISC)处理器架构,广泛地使用在许多嵌入式系统设计。由于节能的特点,ARM处理器非常适用于移动通讯领域,符合其主要设计目标为低耗电的特性。ARM家族占了所有32位嵌入式处理器75%的比例,使它成为占全世界最多数的32位架构之一。
应用领域:手机、PAD、导航系统、网络设备、电脑周边设备(硬盘、桌上型路由器)甚至在导弹的弹载计算机等军用设施中都有他的存在。目前世界上使用最广泛的CPU就是ARM。
ARM架构的特点:

  1. 体积小,低功耗,低成本,高性能;
  2. 支持 Thumb ( 16 位) /ARM ( 32 位)双指令集,能很好的兼容8 位 /16 位器件;
  3. 大量使用寄存器,指令执行速度更快;
  4. 大多数数据操作都在寄存器中完成;
  5. 寻址方式灵活简单,执行效率高;
  6. 指令长度固定;
  7. 流水线处理方式
  8. Load_store结构:在RISC中,所有的计算都要求在寄存器中完成。而寄存器和内存的通信则
    由单独的指令来完成。而在CSIC中,CPU是可以直接对内存进行操作的。
4、PowerPC架构

PowerPC 是一种精简指令集(RISC)架构的中央处理器(CPU),其基本的设计源自IBM(国际商用机器公司)的IBM PowerPC 601 微处理器POWER(Performance Optimized With Enhanced RISC;《IBM Connect 电子报》2007年8月号译为“增强RISC性能优化”)架构。二十世纪九十年代,
IBM(国际商用机器公司)、Apple(苹果公司)和Motorola(摩托罗拉)公司开发PowerPC芯片成功,并制造出基于PowerPC的多处理器计算机。PowerPC架构的特点是可伸缩性好、方便灵活。
PowerPC 处理器有广泛的实现范围,包括从诸如 Power4 那样的高端服务器 CPU 到嵌入式 CPU 市场(任天堂 Gamecube 使用了 PowerPC)。PowerPC 处理器有非常强的嵌入式表现,因为它具有优异的性能、较低的能量损耗以及较低的散热量。除了象串行和以太网控制器那样的集成 I/O,该嵌入式处理器与“台式机”CPU 存在非常显著的区别。
PowerPC相比ARM的优势
1、整合度高以及技术先进性,现在PowerPC 处理器集成USB,PCI,DDR控制器,SATA控制器,千兆网口控制器,CAN控制器,RapidIO以及PCI_Express控制器,IEEE1588通信协议,支持各种通信协议CPM协处理器 ,DMA,SPI,I2C.UART等,客户无须设计复杂的外围电路,减少设计复杂程度以及物料使用。
2、芯片可选范围大,性能高,升级容易,从50M-1.7G都有处理器,而且POwerPC将象多核处理器发展,如已经推出集成双e500 core MPC8572,MIPS性能高达6897,ARM 大概是 1.1 MIPS/MHz,Power Architecture 是大于2.0MIPS/MHz,所以PowerPC在高端嵌入式应用,占有很大比例。

5、MIPS架构

MIPS是世界上很流行的一种开源RISC处理器。MIPS的意思是“无内部互锁流水级的微处理器”(Microprocessor without interlocked piped stages),其机制是尽量利用软件办法避免流水线中的数据相关问题。它最早是在80年代初期由斯坦福(Stanford)大学Hennessy教授领导的研究小组研制出来的。MIPS公司的R系列就是在此基础上开发的RISC工业产品的微处理器。这些系列产品为很多计算机公司采用构成各种工作站和计算机系统。
应用领域:工作站等计算机平台,目前国内龙芯主要使用MIPS架构机器。
与ARM架构相比,MIPS的优势主要有以下几点:
1、 MIPS支持64bit指令和操作,ARM目前只到32bit
2.、MIPS有专门的除法器,可以执行除法指令
3、 MIPS的内核寄存器比ARM多一倍,所以同样的性能下MIPS的功耗会比ARM更低,同样功耗下性能比ARM更高MIPS指令比ARM稍微多一点,稍微灵活一点
与ARM架构相比,MIPS架构也存在着以下几点不足:
MIPS的内存地址起始有问题,这导致了MIPS在内存和cache的支持方面都有限制,现在的MIPS处理器单内核面对高容量内存时有问题MIPS今后的发展方向是并行线程,类似INTEL的超线程,而ARM未来的发展方向是物理多核,目前来看物理多核占优。MIPS虽然结构更加简单,但是到现在还是顺序单发射,ARM已经进化到了乱序双发射,甚至NV的丹佛已经是乱序三发射了。

5、RISC-V,大道至简,芯片中的网红战斗机

RISC-V是2015年12月一个由U.C. Berkeley开发的开源和模块化RISC指令集,“V”包含两层意思,一是这是Berkeley从RISC I开始设计的第五代指令集架构,
二是它代表了变化(variation)和向量(vectors)。
负责带队研制这些RISC指令集的正是伯克利分校的图灵奖得主David Patterson教授,RISC指令集的真正创始人。
• RISC-V 基金会的会员包括谷歌、英伟达、高通、Rambus、三星、恩智浦、美光、IBM、GlobalFoundries、UltraSoC 和西门子等。
• 鉴于我们国家芯片研发长期受制于人,利用开源的RISC-V架构,对于我国做出基本自主知识产权的芯片具有重大意义。
• 2018年10月,中国RISC-V产业联盟成立。
• 中科院计算所、华为、阿里巴巴集团等在内的20多个国内企事业单位,选择加入了RISC-V基金会。
• 华米的黄山1号,可穿戴人工智能芯片。

二、总线

(一)、定义

定义1(片面观点):总线是连接各个功能部件的公共导线。
定义2(全面观点):完整的总线应当包含连接各个功能部件的导线、各个功能部件内部的接口电路以及可能存在的总线控制与管理部件。
传输媒介(导线) + 分散于各个模块( 内部的接口电路) + 总线控制与管理(总线申请,总线仲裁,总线传输,总线释放等协议与规范

(二)、总线规范

总线是一组信号线的集合,是一种在各部件间传送信息的公共通路。总线规范就是对总线的描述,一般都要包括物理特性、功能特性、电气特性、时间特性几个部分定义。

(三)、总线分类

1、按数据格式分类

按总线数据格式分为串行总线、并行总线两种。
1).串行总线:以串行方式传输数据的总线。
2).并行总线:以并行方式传输数据的总线。

2. 按时序控制方式分类(共享时钟信号)

按照总线的时序控制方式分类,总线可分为同步总线、异步总线两种。
1).同步总线互连的计算机部件间均通过统一的时钟进行同步,即所有互连部件都必须使用同一个时钟(同步时钟),在规定的时钟节拍内进行规定的总线操作,来完成部件之间的信息交换。
2).异步总线指没有统一的时钟而依靠各部件内部定时操作,所有部件是以信号握手的方式进行,即发送方和接受方互用请求和确认信号来协调动作,总线操作时序不固定。

3. 按照总线内部信息传输的性质分

•数据总线:DB 用于传送数据信息
•地址总线:AB 是专门用来传送地址的
•控制总线:CB 控制总线包括控制、时序和中断信号线
•电源总线:PB 用于向系统提供电源

4. 按总线在系统结构中的层次位置

•片内总线 (On-Chip Bus)
在集成电路的内部,用来连接各功能单元的信息通路。芯片(CPU)内部的总线,用于连接芯片内部各元件(ALU、寄存器、指令部件)。芯片(CPU)内部的总线,用于连接芯片内部各元件(ALU、寄存器、指令部件)。
•系统总线 (System Bus):又称内部总线用于计算机内部模块(板)之间通信
•局部总线(Local Bus):连接计算机硬件系统的某一个子系统或部分部件的总线。一般将具有总线仲裁能力的多主控模块之间的总线称为系统总线,将不具有总线仲裁能
力的多主控模块之间的总线称为局部总线。
•外部总线 (External Bus):又称通讯总线用于计算机之间或计算机与设备之间通信。通信总线又称外部总线或外设总线,如RS-232C、RS-485、USB总线、IIC总线、SPI总线、CAN总线等。

5、俗称:

• CPU内部的总线称为片内总线
• CPU与北桥之间的总线称为前端总线FSB,
• 内存与北桥的总线称为内存总线
• 通过北桥与CPU相连的总线称为局部总线,
• 把与南桥相连的总线成为I/O总线。

6、通信总线按数据同时传输方向可分为单工、半双工、全双工通信三种:

• 单工通信:是指消息只能单方向传输的工作方式,只能有一个方向的通信而没有反方向的交互;
• 半双工通信:是指数据可以沿两个方向传送,但同一时刻一个半双工总线结构信道只允许单方向传送,因此又称为双向交替通信;
• 全双工通信:通信的双方可以同时发送和接收信息,又称双向同时通信。
在这里插入图片描述

(四)、总线的性能指标

需要引入某种技术指标,就像描述计算机性能的MIPS和MFLOPS那样,可以描述总线的性能。
• 总线频宽:总线本身所能达到的最高传输率
总线频宽(MB/s) = 总线频率f× 数据线宽度W
• 总线传输率:1个时钟周期能传输的数据的数量。
总线传输率Q = 总线频率f × 传输数据宽度W / 传输一次数据所需时钟周期个数N
其它常见指标:总线时钟频率,总线可挂接设备数量,最大物理长度,数据宽度,地址宽度。

(五)、总线工作原理

• 先从总线结构谈起
• 完整的总线应当包含连接各个模块之间的连接导线、各个模块内部的
总线接口电路以及可能存在的总线控制与管理部件。
• 这种结构导致总线工作具有如下特征:

  1. 共享媒介
  2. 媒介争用与总线仲裁
  3. 集中式仲裁和分布式仲裁
  4. 总线接口和设备接口相配合

• 常见的总线结构至少包括这样三部分:

  1. 地址部分
    • 如果是I/O地址,一般在0000H-FFFFH之间
    • 如果是内存地址,则与芯片架构有关
    • 20 bits (8086/8088), 24 bits (80286), 32 bits (80386DX, 486, Pentium,
    Pentium Pro / II / III)
  2. 数据部分
    • 8 bits (8088), 16 bits(8086, 80286, …Pentium), 64 bits (Pentium/ Pro/II/III)
  3. 控制部分
    • 不可缺少的四根控制线:MRDC, MWRC, IORC, IOWC
    • 经常还会有:总线请求、传输响应、中断控制 (INT / INTA),DMA控制 (DREQ,
    DACK)
    • 其它:总线锁定LOCK

(六)、如何传输数据

• 总线传输四阶段:总线申请,总线仲裁,总线传输,总线释放
• 总线仲裁:链式查询,计数器查询和独立请求
• 数据传输:同步方式、异步方式和半同步方式
• 总线驱动
• 出错处理
1、总线仲裁
• 连接到总线上的功能模块有主动(主方)和被动(从方)两种形态
• 主方可以启动一个总线周期
• 从方只能响应主方请求
• 每次总线操作,只能有一个主方,但是可以有多个从方。
• 总线占用期:主方持续控制总线的时间。
• 为了解决多个功能模块争用总线的问题,必须设置总线仲裁部件。
• 仲裁策略:
• 公平策略
• 优先策略

三、互连结构

(一)、如何应用总线实现计算机内部各个模块之间的互连?

• 最简单的方式:将各个模块通过“插槽”直接连接到总线上
• 扩展方式:中继(Repeater)、级联(Uplink)和堆叠(Stack)
• 中继就是通过连接将信号从一个中继点传递到下一个中继点,实现信号的增强,最终达到延伸信号传播距离和范围的目的。
• 级联就是把二个以上的总线设备通过某种方式连接起来,能起到扩容和传输距离和范围的效果。
• 堆叠是把两个相同或相近的总线设备组合起来形成一个整体设备,起到扩容的效果。
• 不同总线之间的转换:桥接器(Bridge)

(二)、交换

1、定义:
• 类比:电话系统的交换机(交换原理)
• 交换取消了对传输媒介的共享,提高了并行使用情况下单个端口的带宽(数据传输率)。

猜你喜欢

转载自blog.csdn.net/Kattlin_gsc/article/details/106845906