“網絡就是計算機”,這是太陽微系統公司的John Gage在1984年提出的理論,被證明是非常有見地的。如今在SoC領域這個想法再次出現。在一個芯片中,相互通信的功能——不是通過簡單的電線,而是通過如交換機、協議轉換器、封裝器等復雜的網絡元件。這與1984年在一個機柜或房間中通過網絡進行通信的一組計算機沒太大區別。
在SoC出現之前,為了在一塊板子上從A連接到B,工程師們可以通過一堆電線來傳輸數據。最大的擔憂是管理電線長度,并確保A和B使用完全相同的協議進行通信,但僅此而已。真正的動作是在計算元素中。在這些珍貴的組件之間連接是一個簡單的設計任務。
但在過去的幾十年里,集成電路制造工藝技術、封裝與測試技術、設計方法學和EDA 工具等微電子相關技術始終保持著快速的發展。根據國際半導體技術發展路線圖(International Technology Roadmap for Semiconductors, ITRS)預測,到2024年每平方毫米集成的晶體管數目將達到90 億個。但是,全局互連線的性能提升程度明顯低于晶體管性能提升程度。受到亞閾值漏電流功耗、動態功耗、器件可靠性以及全局互連線等影響,通過提升單個處理器核的性能來提升系統整體性能已變得非常難以實現,同時芯片設計的難度和復雜度也在進一步增加。這個時候SoC就誕生了。SoC具有集成度高、功耗低、成本低、體積小等優點,已經成為超大規模集成電路系統設計的主流方向。隨著片上系統SoC 的應用需求越來越豐富、越來越復雜,片上多核MPSoC已經成為發展的必然趨勢,同時MPSoC 上集成的IP核數量也將會按照摩爾定律繼續發展。
從電線到主動總線邏輯
隨著SoC能力的增長,將整個板甚至更大的系統整合到單個芯片上成為可能,所有這些都由一個中央處理單元(CPU)或處理器集群管理。每個CPU運行軟件來協調系統以處理需要軟件支持的靈活性的功能。提供處理器的Arm等公司的解決方案迅速興起,其他供應商也在跟進,包括CPU以外功能IP供應商。首先,通過提供外圍IP來處理許多接口協議,然后發展為用于無線通信、圖形處理、音頻、計算機視覺和人工智能(AI)這些專門的處理器。此外,還包括片上工作存儲器、緩存存儲器、到片外或片外DRAM的雙數據速率(DDR)接口等。
而且,還有許多很棒的功能可以集成到高級SoC中,但是它們如何通信呢?這里不能通過直接連接,因為整個芯片會被電線覆蓋。CPU和內存在確定下一步要服務什么方面會慢得無法想象。相反,“所有的交通都必須通過高速公路,并設有計量入口匝道?!比绻粋€IP想要與中央處理器通信,它必須等待輪到它進入高速公路。
現在的Bus總線不再只是一種愚蠢的電線。監視正在進行的操作和下一步要允許的操作,二者是有邏輯的,此外,隊列支持的數據在以不同速度運行的域之間流動。流水線寄存器幫助跨越很大的距離,同時滿足時間限制。我們將其稱為“總線結構”,通過控制邏輯、多路復用技術、寄存器和先入先出的通信順序將連接編織起來。
總線體系結構的發展
既然有了總線結構的架構,就可以為不同的目的設想不同的架構了。高級微控制器總線體系結構(AMBA)家族本身就有多種風格,每一種都有自己的優勢和限制。很可能,在一個復雜的SoC中需要幾個。但是還有另一種非常不同的技術——芯片上網絡(NoC),它在概念上非常不同,NoC并沒有緊密地耦合互連通信和物理傳輸,而是開辟了新的架構選項。
Noc的發展是以SoC為基礎。SoC通常是指在單一芯片上實現的數字計算機系統,通過總線完成其中各模塊之間的交互,但隨著半導體工藝和需求的快速發展,總線的寬度已經成為SoC發展的瓶頸,大大限制了SoC內部通信的速度。90年代NoC技術的提出也是因為借鑒了并行計算機的互聯網絡和以太網絡的分層思想,二者的相同點有:支持包交換、路由協議、任務調度、可擴展等。NoC更關注交換電路和緩存器的面積占用,在設計時主要考量的方面也是這些。
還有另一個重要的考慮因素。典型的SoC現在將圍繞眾多第三方IP和一些集成商具有定制優勢的自有IP構建。這其中優勢有多大呢?競爭對手可以購買相同的第三方產品,這就稀釋了可能的差異化。然后,挑戰就變成了設計團隊如何有效地集成SoC。
我們確實有這樣做的空間。帶寬、吞吐量、服務質量(QoS)、功率、安全性和成本都由集成方案所決定。這些因素都受到已實現的通信架構的影響,很可能是一個NoC。最終,使芯片具有競爭力的是對IP和片上通信架構的謹慎選擇。