在美國時間10月20日至10月29日在線舉行的“ 2020年秋季Linley處理器大會”的最后一天,Arm透露了Cortex-X1以及Cortex-A78的衍生產品Cortex-A78C的細節(jié)。
什么是Cortex-X1?
Cortex-X1是5月26日與Cortex-A78一起公布的CXC(Cortex-X定制)計劃的第一款產品,之前曾經做過簡單的介紹。在這次線上研討會上Arm公司對 Cortex-X1做了更加詳細的介紹。(圖一)。
X1面向更高的性能而不是效率,是一個不同于傳統(tǒng)產品的高性能產品線。
在前端方面,BTB的容量提高了50%,X1 Fetch的指令5條/周期,Micro-Op的Cache有8個微操作/周期的指令要傳遞給解碼器。而Cortex-A78 Fetch的指令為4條/周期,Micro-Op Cache為6個微操作/周期。BranchPredictor最多可以處理2個Branch/cycle,這對于Cortex-X1和Cortex-A78來說是一樣的。
圖2:微碼Cache的大小可能與Zen 3或Sunny Cove相當。
指令分派同時發(fā)出8條微碼(圖3)。ALU有6個執(zhí)行單元,F(xiàn)PU有4個執(zhí)行單元。此外,據(jù)說由于指令分派的增強,亂序窗口的大小增加了40%。盡管未在此處列出,但ROB等似乎也在變大。此外,F(xiàn)P / ASIMD端的IQ大小將增加一倍。
圖3:Cortex-A78具有與Cortex-X1相同的ALU,但只有兩個FPU,指令分派也為6條微碼
就LSU而言,Cortex-X1(圖4)和Cortex-A78(圖5)的結構本身完全相同。數(shù)據(jù)L1和L2的帶寬增加了一倍的是與Cortex-A77相比,并且認為由加載/存儲單元本身處理的數(shù)據(jù)量已從16字節(jié)/周期增加到32字節(jié)/周期。此外,可以看出正在采取適合數(shù)據(jù)訪問的措施,例如將動態(tài)加載窗口大小增加33%,將L2TLB增加66%。此外,L2已增強到最大1MB,并且還支持8MB L3。
圖4:雙FPU的加載/存儲單元有點差。一個周期最多可以輸出512位數(shù)據(jù)
·
圖5:這是Cortex-A78,L1-D本身是一個選項,并且不支持L3,這可能是因為性能/面積比或性能/功耗比。
Cortex-A78C適用于移動設備,也適用于邊緣應用
接下來是Cortex-A78C。這是Cortex-A78的衍生產品,盡管它是供移動使用的,但我們認為它更適合于固定設備或IoT Edge(圖6)。
圖6:與Cortex-A78的唯一區(qū)別是多核配置和安全性。
首先是多核配置。在使用DynamIQ的所謂big.LITTLE配置中,Cortex-A78成為大內核,Cortex-A55合并為LITTLE內核,但Cortex-A78C是統(tǒng)一的,也就是說,所有內核都是Cortex-A78C,允許6到8個核心和高達8MB的L3(圖7)。
· 圖7:使用了DynamIQ,但是沒有核心調度(因此它不是big.LITTLE)
這款Corte-A78C的目標被定義為“大屏幕設備”,但是當您查看圖8時,您還會看到筆記本PC和幾乎像PC的車載設備。
圖8:簡而言之,它適用于計算密集型設備,我認為它適用于Edge IoT Gateway
在Cortex-A78C中還增加了更多的安全性設計。ROP(面向返回的程序)或JOB(面向跳轉的程序設計)是一種經常用于未經授權的程序入侵的技術,在預先將惡意代碼加載到內存中后,其跳轉類似于Return或Jump。它是一種重寫目標并將控制權轉移到惡意代碼的方法。為此,Arm v8.3-a添加了一個稱為指針身份驗證代碼(PAC)的功能。這是一種用系統(tǒng)中注冊的PAC替換部分跳轉目標地址的機制,如果重寫了跳轉目標地址,則PAC將消失,因此將其判斷為無效的跳轉目標,并且將中斷執(zhí)行。在那兒。它本身也已安裝在Cortex-A78中,但是Cortex-A78C將能夠使用Arm v8.6-A(由Matterhorn實現(xiàn))提供的增強指針認證代碼(EPAC)。(圖9)。
圖9
目前,Arm尚未正式發(fā)布Cortex-A78C。