ASR9K #
CPU #
这张图涵盖了 ASR9000 全系列板卡的架构以及使用的芯片, 其中最右边一列为 CPU 的类型; 可以看到最初一代和二代板卡使用的都是 PowerPC 的处理器, PowerPC 采用的都是 32 位的指令集, 这也是为什么这两代板卡没法跑在最新的 64 位 XR 系统上的原因。最新的三代采用的都是 Intel 的处理器, 使用以下命令我们可以查看板卡处理器(CPU)的类型:
0/0/CPU0 使用的是四核 E500 型号的 CPU, 0/6/CPU0 采用的是 8 核英特尔 686。
RP/0/RSP0/CPU0:ASR-9910-A#run attach 0/0/cpu0
Tue Sep 14 10:36:44.758 UTC
attach: Starting session 1 to node 0/0/cpu0
#
#
# pidin in
CPU:PPC Release:6.4.0 FreeMem:3593Mb/8192Mb BootTime:Jan 01 00:00:00 UTC 1970
Processor1: 80230020 E500mc Core 1500MHz FPU
Processor2: 80230020 E500mc Core 1500MHz FPU
Processor3: 80230020 E500mc Core 1500MHz FPU
Processor4: 80230020 E500mc Core 1500MHz FPU
# exi
Terminating attach to node 0/0/cpu0..
RP/0/RSP0/CPU0:ASR-9910-A#run attach 0/6/cpu0
Tue Sep 14 10:45:07.159 UTC
attach: Starting session 1 to node 0/6/cpu0
# pidin in
CPU:X86 Release:6.4.0 FreeMem:18Gb/24Gb BootTime:Jan 01 00:00:50 UTC 2012
Processor1: 197294 Intel 686 F6M14S4 2000MHz FPU
Processor2: 197294 Intel 686 F6M14S4 2000MHz FPU
Processor3: 197294 Intel 686 F6M14S4 2001MHz FPU
Processor4: 197294 Intel 686 F6M14S4 2007MHz FPU
Processor5: 197294 Intel 686 F6M14S4 2007MHz FPU
Processor6: 197294 Intel 686 F6M14S4 1999MHz FPU
下面是在 64bit 系统下查看 CPU 型号的命令:
RP/0/RSP1/CPU0:ASR-9906-B#run
Tue Sep 14 10:50:16.750 UTC
s[xr-vm_node0_RSP1_CPU0:~]$ssh 192.0.12.3
Last login: Wed Jul 7 13:37:52 2021 from 172.0.1.32
[xr-vm_node0_1_CPU0:~]$
[xr-vm_node0_1_CPU0:~]$cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 95
model name : Intel(R) Atom(TM) CPU C3758 @ 2.20GHz <<<<<<
NPU and Fabric #
图示最左侧是 NPU ASIC (network process unit), 我们所说的 cef 表象之类的是存储在这类芯片的 on-chip TCAM 上。
型号分别为 Trident/Typhon/tomahawk/lightspeed/Lightspeed+, 最新一代已经达到 7NM 的工艺。这款芯片也是 CISCO 自研的。
前三代中间有个回形针一样的为 FIA (fabric interface asic)用来连接右侧的 Switch Fabric ASIC, 转发芯片。
最新的两代中虽然没有 FIA 芯片, 但你可以理解位在 NP 上内置类似的功能, 下面两张图显示的是前三代和最新两代 FIA 芯片的位置。
最右侧的织装物为 Switch Fabric, 在 ASR9K 的 LC 中我们也叫它 XBAR, 或者 crossbar, 它与 Fabric 矩阵卡上使用的转发芯片是一样的。
如何去确认 NPU 的型号: #
Trident/Typhon/tomahawk #
prm_server_ty 进程,“ty”代表 typhon 板卡
prm_server_to 进程,“to”代表 tomahawk 板卡
RP/0/RSP0/CPU0:ASR-9006-D#show processes location 0/1/cPU0 | in prm
Sun Dec 12 22:19:42.497 kst
309 1 2 16K 10 Receive 11:15:27:0838 0:00:00:0071 prm_verifier
308 1 3 64K 10 Receive 0:00:00:0060 0:00:10:0177 prm_ssmh
308 2 0 64K 8 Receive 0:00:01:0055 0:00:06:0212 prm_ssmh
308 3 3 64K 10 Receive 11:15:29:0540 0:00:00:0000 prm_ssmh
308 4 0 64K 10 Receive 0:00:07:0447 0:00:19:0099 prm_ssmh
308 5 3 64K 10 Receive 0:00:00:0226 0:00:00:0004 prm_ssmh
308 6 3 64K 10 Sigwaitinfo 11:15:27:0074 0:00:00:0000 prm_ssmh
307 1 0 364K 10 Receive 0:00:00:0491 0:02:51:0560 prm_server_ty
307 2 1 364K 10 Receive 11:15:28:0418 0:00:00:0001 prm_server_ty
RP/0/RSP1/CPU0:ASR-9006-J#show processes location 0/1/CPU0 | in prm
Mon Dec 13 07:04:07.435 UTC
308 1 4 16K 10 Receive 1139:54:35:0430 0:00:00:0016 prm_verifier
307 1 5 64K 10 Receive 0:00:00:0044 0:22:59:0614 prm_ssmh
307 2 5 64K 10 Receive 0:00:01:0897 0:20:01:0533 prm_ssmh
307 3 3 64K 10 Receive 1139:54:39:0402 0:00:00:0000 prm_ssmh
307 4 4 64K 10 Receive 0:00:02:0435 0:00:06:0813 prm_ssmh
307 5 0 64K 10 Receive 0:00:00:0740 0:00:00:0041 prm_ssmh
307 6 3 64K 10 Sigwaitinfo 1139:54:35:0736 0:00:00:0000 prm_ssmh
306 1 4 820K 10 Receive 0:00:00:0107 0:00:15:0766 prm_server_to
306 2 2 820K 10 Receive 844:16:33:0421 0:00:00:0000 prm_server_to
306 3 1 820K 10 Receive 844:16:33:0421 0:00:00:0000 prm_server_to
Lightspeed/Lightspeed+ #
ls_prm_svr 进程, ls 代表是 lightspeed 或者 lightspeed+芯片.
RP/0/RSP0/CPU0:ASR-9904-E-eXR#show processes location 0/0/CPU0 | in prm
Mon Dec 13 06:46:22.322 UTC
121 5520 0K 20 Sleeping punt_lib_prm 0
255 4754 0K 20 Sleeping prm_verifier 0
255 4957 0K 20 Sleeping prm_verifier 0
338 4758 0K 20 Sleeping ls_prm_svr 0
338 5122 0K 20 Sleeping ls_prm_svr 0
338 5134 0K 20 Sleeping ls_prm_svr 0
127 6000 0K 20 Sleeping punt_lib_prm 0
383 5738 0K 20 Sleeping timing_prm_init 0
372 6673 0K 20 Sleeping punt_lib_prm 0
进一步判断,需要查看下面的进程"npu_server_lsp" lightspeed+ 会有 npu_server_lsp 这个进程. lightspeed 则没这个进程。
RP/0/RSP1/CPU0:ASR-9006-F#show processes location 0/0/CPU0 | in npu
Mon Dec 13 07:08:48.649 UTC
234 5260 0K 20 Sleeping npu_server_main 0
234 5673 0K 20 Sleeping npu_server_lsp 0
234 5687 0K 20 Sleeping npu_server_lsp 0
234 5695 0K 20 Sleeping npu_server_gasp 0
234 5939 0K 20 Sleeping npu_server_main 0
234 6121 0K 20 Sleeping npu_server_main 0
NCS55 #
CPU #
NCS55 系列目前使用的 CPU 都是 Intel 的,系统都都是 64bit 的 eXR,使用类似的 命令去查看:
RP/0/RP0/CPU0:NCS-5504-A#run
Mon Dec 13 08:44:47.026 UTC
[xr-vm_node0_RP0_CPU0:~]$
[xr-vm_node0_RP0_CPU0:~]$cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 62
model name : Intel(R) Xeon(R) CPU E5-2420 v2 @ 2.20GHz
stepping : 4
microcode : 0x42d
cpu MHz : 2201.000
cache size : 15360 KB
physical id : 0
siblings : 12
core id : 0
cpu cores : 6
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 13
NPU and Fabric #
NCS55/NCS57 系列产品,其中 NPU 和 fabric 的芯片都是 Broadcom 的 DNX 系列:
使用以下方式确认芯片类型:
RP/0/RP0/CPU0:NCS-5516-A#show controllers npu resources all location 0/0/CPU0
Mon Dec 20 04:30:48.540 UTC
HW Resource Information
Name : lem
Asic Type : Jericho 2
或者:
RP/0/RP0/CPU0:NCS-5516-A#show controller fia diagshell 0 "show unit" location 0/0/CPU0
Thu Jan 13 03:28:07.198 UTC
Node ID: 0/0/CPU0
R/S/I: 0/0/0
Unit 0 chip BCM88690_B1 (current)
再或者
RP/0/RP0/CPU0:NCS-5516-A#show controller fia diagshell 0 "soc" location 0/0/CPU0
Thu Jan 13 03:24:54.251 UTC
Node ID: 0/0/CPU0
R/S/I: 0/0/0
============================================================
| Device General Info |
| UNIT 0 Driver Control Structure |
============================================================
| Chip | Rev | Driver | Family | Board type |
============================================================
| BCM88690_B1 | 0x12 | BCM88690_B0 | jericho2 | 0x0 |
============================================================
========================
| Device Status |
========================
| Flags = 0x40203 |
========================
| attached |
------------------------
| initialized |
========================
===============================================================================
| Device Additional Info |
===============================================================================
| Feature | Values |
===============================================================================
| CM | Base=0x7f44d3800000 |
-------------------------------------------------------------------------------
| Disabled | reg_flags=0x0 mem_flags=0x0 |
-------------------------------------------------------------------------------
| Debug | SchanOps=1742512993 |
-------------------------------------------------------------------------------
| Counter | int=0us |
-------------------------------------------------------------------------------
| Timeout | Schan=300000us MIIM=0(3000000us) |
-------------------------------------------------------------------------------
| Intr | Total=0 Sc=0 ScErr=0 MMU/ARLErr=0 |
-------------------------------------------------------------------------------
| PCI | LinkStat=0 PCIfatal=0 PCIparity=0 |
-------------------------------------------------------------------------------
| ARL | ARLdrop=0 ARLmbuf=0 ARLxfer=0 ARLcnt0=0 |
-------------------------------------------------------------------------------
| DMA | TableDMA=0 TSLAM-DMA=0 |
-------------------------------------------------------------------------------
| Mem | TMemCmd[BSE]=0 MemCmd[CSE]=0 MemCmd[HSE]=0 |
-------------------------------------------------------------------------------
| ChipFunc | ChipFunc[0]=0 ChipFunc[1]=0 ChipFunc[2]=0 ChipFunc[3]=0 |
| | ChipFunc[4]=0 |
-------------------------------------------------------------------------------
| I2C | I2C=0 MII=0 StatsDMA=0 Desc=0 Chain=0 |
===============================================================================
RP/0/RP0/CPU0:NCS-5516-A#
同理, 如果你需要查看 fabric 卡的 chip, 也可以使用同样的命令, 但是得在 admin vm 下运行:
sysadmin-vm:0_RP0# show controller sfe diagshell 0 "show unit" location 0/fc0
Thu Jan 13 03:37:22.130 UTC+00:00
Unit 2 chip BCM88790_b0
Unit 1 chip BCM88790_b0
Unit 0 chip BCM88790_b0 (current)