第一章:ASPEED AST2600芯片
AST2600 是ASPEED 信骅科技出品的第七代服务器管理处理器,采用双核 ARM Cortex A7处理器,优化了性能和计算能力,是目前主流的 BMC(Baseboard Management Controller)处理器芯片。它不仅具有低功耗、高性能的特点,还集成了多种高级功能和丰富的接口,如:硬件加密引擎、数字信号处理器、硬件监控单元等,可以满足服务器在安全性、稳定性和节能方面的需求。根据官网资料记载,其主要的芯片规格如下表,可以发现AST2600除了作为主CPU的双核Cortex A7(后续简称CA7)核心外,芯片内还内置另外一颗协处理器,也称为辅助服务处理器,即SSP - Secondary Service Processor。SSP是一个ARM Cortex-M3(后续简称CM3)处理器,主要用于监控、控制硬件引擎以减轻CA7处理器的负担。SSP还可以访问许多CA7可访问的子系统,使其可用于卸载BMC固件的部分功能,提高系统的效率和稳定性。
Product Name |
AST2600 Remote Management Server Processor |
Embedded CPU |
Dual-core ARM Cortex A7 Embedded ARM Cortex M3 |
SDRAM Memory |
DDR4 SDRAM with speed grade higher than DDR4-1600Mbps Up to 2G Byte ECC option |
Flash Memory |
SPI flash memory |
Video-Over-IP |
Video Redirection up to 1920x1200 YUV444/YUV420 Video Compression 24 bits video compression quality |
USB-Over-IP |
USB 2.0 virtual hub controller with 5 devices supported USB 1.1 HID device controller |
BMC |
BMC controller with IPMI 2.0/1.5 compliant Remote Presence (iKVM) PCIe host capability eSPI/LPC MCTP over PCIe I2C/I3C/SMBus (Total 16 sets) Virtual UART (1 set) UART (13 sets and 1 set for FW debug) GPIO (244 sets) SGPIO (80 bits) PWM (16 sets) Secure boot engine Fan tachometer (16 sets) PECI 4.0 USB1.1/2.0 Host SD/SDIO (2 ports) Embedded SRAM ADC (16 channels) Port 80h snoop Watchdog (3 sets) Timer (8 sets) |
VGA |
PCIe VGA/2D Controller 1920x1200@60Hz 32bpp |
VGA Drivers |
RHEL SLES Solaris Ubuntu FreeBSD Fedora Windows Server 2012 R2 (WHQL logo'ed) Windows Server 2016 (WHQL logo'ed) Windows Server 2019 (WHQL logo'ed) |
LAN |
Quad 10/100/1000M bps MAC |
Technology |
624-pin 21mmx21mm TFBGA package |
Pin Compatibility |
AST2620 |
第二章:CM3 SSP协处理器设计
AST2600中的CM3作为二级协处理器,有一些特殊和关键的设计包括:
1、与CA7共享DRAM并交换数据:在CM3外部有一个高速缓存控制器,以支持从DRAM获得指令和数据,另外还有一个AHB-Lite-to-AHB桥,它将CM3(SSP)系统AHB的地址范围0x60000000~0xDFFFFFFF映射到CA7(BMC主处理器)的地址范围0x00000000~0x7FFFFFFF。例如,如果我们希望CM3访问芯片寄存器0x1E784014,我们应该让CM3在0x7E784014访问其寻址空间。
2、中断映射:SSP可以通过映射软件中断和复位中断的方式与CA7处理器进行通信。这使得SSP可以用于触发软件中断、清除中断等操作。
3、访问子系统:SSP可以访问许多子系统,包括但不限于温度传感器、电压传感器、风扇控制器等。这使得SSP可以用于读取系统状态、调整系统设置等操作。
4、SSP寄存器是SCU基本寄存器集的一部分:该寄存器集位于BMC寄存器映射的0x1E6E2000处。下表描述了BMC和SSP在寄存器空间中可见的寄存器。请注意,BMC和SSP对于同一寄存器有不同的地址。例如,BMC看到的地址0x1E6E2000与SSP看到的地址0x7E6E2000相同。
BMC(CA7) 侧地址 |
SSP(CM3) 侧地址 |
简写 |
类型 |
寄存器名称 |
0x1E6E2A00 |
0x7E6E2A00 |
SCUA00 |
RW |
CM3 Co-processor Control Register |
0x1E6E2A04 |
0x7E6E2A04 |
SCUA04 |
RW |
CM3 Memory Base Address Register |
0x1E6E2A08 |
0x7E6E2A08 |
SCUA08 |
RW |
CM3 Instruction Memory Address Limit Register |
0x1E6E2A0C |
0x7E6E2A0C |
SCUA0C |
RW |
CM3 Data Memory Address Limit Register |
0x1E6E2A40 |
0x7E6E2A40 |
SCUA400 |
RW |
CM3 Cache-able Area Declaration Register |
0x1E6E2A44 |
0x7E6E2A44 |
SCUA44 |
RW |
CM3 Cache Invalidation Control Register |
0x1E6E2A48 |
0x7E6E2A48 |
SCUA48 |
RW |
CM3 Cache Function Control Register |
第三章:小结
在AST2600系列芯片中,SSP协处理功能发挥了智能监控员的作用,持续监测硬件引擎的运行状态,从而减轻了CA7处理器的负担。在系统应用中,常见的SSP功能包括:
- BIOS、CPLD、FPGA等第三方固件的刷新功能,可降低固件刷新过程中BMC(CA7)的CPU利用率;
- BMC Firmware冷启动、更新、重启过程中,接管风扇控速(Fan Speed Control)功能,达到降噪节能的目的;
- BMC Firmware的冗余软硬开门狗功能,帮助处理芯片层级的恢复和灾难救援;
- SSP增强型安全启动功能,用于度量和评估BIOS等关键系统组件的完整性、合规性。