# 理解計算用晶片之硬體架構 ## 簡介 現今的電腦幾乎必須擁有CPU才能運作,而遊戲玩家通常還會加裝GPU作為顯示輸出。在資料中心甚至還會應用FPGA、TPU(Tensor Processing Unit)來加速計算。他們的共同根源就是超大型積體電路,也就是晶片。透過理解晶片上的電路架構,我們可以更有效的發揮晶片的效能,安排合適的工作方式。在理解這些設計思路後,您甚至能推理為何在Apple silicon上,CPU通常只佔了一部分的面積,其他部分的面積為甚麼不放CPU,而是要放GPU、神經網路引擎、光追核心、ProRes加速器 ## CPU {%youtube o_WXTRS2qTY %} {%youtube 5907Hn2-ROE %} {%youtube UoQnCymmKuk %} {%youtube nguILUw_cOo %} {%youtube 8OFSgWE7Qxw %} {%youtube D6YnFvat9No %} dark silicon problem ### PCIe {%youtube drfCCNx4ERI %} ## GPU {%youtube 7Q3QZ9iS6fo %} https://www.youtube.com/playlist?list=PLG9aIrr5hvEdsFh37nUQh-m3VewEAKpiI ## FPGA {%youtube BML1YHZpx2o %} {%youtube 6ha2vCW0PCs %} ## Apple silicon {%youtube JsDgIoBBzGE %} ## 問題討論 1. CPU相較於GPU的優缺點是什麼? 2. 為什麼CPU要引入大小核設計,它和手機上的大小核有甚麼不同? 3. 如果GPU的效能那麼好,為什麼一台電腦還需要CPU? 4. 現代的高速網路交換器,每個port通常可支援100GB甚至400GB,而switching capacity更是以Tbps來估算,以支持wirespeed(實際傳輸速度達到網路支持的最大速度)。對於這種等級的交換器,需要專門的ASIC晶片來處理,CPU顯然不可能承載這麼大的吞吐量,為什麼? 5. FPGA相較於CPU有什麼不可取代的特性? 為什麼現今的高頻交易通常會應用FPGA作為其交易處理的計算單元