1ALUs和CPUs
最近我一直在思考這個(gè)問(wèn)題,下文是我的解釋。計(jì)算機(jī)的核心是一個(gè)稱(chēng)為算術(shù)邏輯單元(ALU)的功能塊。毫不奇怪,這是執(zhí)行算術(shù)和邏輯運(yùn)算的地方,比如算術(shù)上兩個(gè)數(shù)字相加求和、邏輯上兩個(gè)數(shù)值進(jìn)行“與”運(yùn)算。
算術(shù)邏輯單元(ALU)是計(jì)算機(jī)的核心
(圖片來(lái)源:Max Maxfield)
請(qǐng)注意,我沒(méi)有用任意形狀表示ALU,這種‘Y’字形是工程師通常使用的符號(hào),因?yàn)锳LU接受兩個(gè)輸入值并返回一個(gè)輸出。
當(dāng)我們將ALU與一系列寄存器(另請(qǐng)參閱“寄存器vs鎖存器vs觸發(fā)器”)、一些指令邏輯、一些尋址邏輯和一些控制邏輯結(jié)合在一起使用時(shí),我們最終會(huì)得到一個(gè)中央處理器(CPU)。請(qǐng)注意,在這種情況下,當(dāng)我們說(shuō)“邏輯”時(shí),我們指的是用于形成數(shù)字電子系統(tǒng)的原始邏輯門(mén)和寄存器元件。
中央處理器(CPU)是計(jì)算機(jī)的大腦
(圖片來(lái)源:Max Maxfield)
中央處理器負(fù)責(zé)通過(guò)執(zhí)行由指令指定的算術(shù)、邏輯、控制和輸入/輸出(I/O)操作來(lái)執(zhí)行形成計(jì)算機(jī)程序的指令。
2內(nèi)存和CPU—內(nèi)存體系結(jié)構(gòu)
為了讓CPU發(fā)揮魔力,它需要訪問(wèn)用于存儲(chǔ)指令和數(shù)據(jù)的內(nèi)存子系統(tǒng)。這就是事情變得有點(diǎn)棘手的地方,因?yàn)橛袃煞N基本的計(jì)算機(jī)體系結(jié)構(gòu),稱(chēng)為馮·諾伊曼(或普林斯頓)體系結(jié)構(gòu)和哈佛體系結(jié)構(gòu)。元器件購(gòu)買(mǎi),上唯樣商城。
在馮·諾伊曼/普林斯頓體系結(jié)構(gòu)中,數(shù)據(jù)和指令都存儲(chǔ)在相同的物理存儲(chǔ)空間中,并使用相同的地址、數(shù)據(jù)和控制總線進(jìn)行訪問(wèn)。相比之下,在哈佛體系結(jié)構(gòu)中,指令和數(shù)據(jù)存儲(chǔ)在物理上不同的存儲(chǔ)器件中,使用它們自己的總線進(jìn)行訪問(wèn)。
基本計(jì)算機(jī)體系結(jié)構(gòu):馮·諾依曼/普林斯頓、哈佛和改良哈佛
(圖片來(lái)源:Max Maxfield)
還有一種風(fēng)格稱(chēng)為“改良哈佛體系結(jié)構(gòu)”,其中指令和數(shù)據(jù)共享相同的物理存儲(chǔ)器件,但是使用它們自己的總線進(jìn)行訪問(wèn)(特殊的機(jī)制可以防止指令被誤認(rèn)為數(shù)據(jù),反之亦然)。
在接下來(lái)的討論中,我們將重點(diǎn)討論馮·諾依曼/普林斯頓架構(gòu)(因?yàn)樗鼘?duì)我來(lái)說(shuō)更容易畫(huà)),但是我們討論的所有內(nèi)容都適用于所有三種體系結(jié)構(gòu)。
3有緩存嗎?
計(jì)算機(jī)的一個(gè)問(wèn)題是,指令和數(shù)據(jù)在主存儲(chǔ)器和CPU之間來(lái)回傳遞需要相對(duì)較長(zhǎng)的時(shí)間。問(wèn)題是,絕大多數(shù)的程序都包含大量的小循環(huán),在這些小循環(huán)中,相同的操作被一次又一次地執(zhí)行。購(gòu)買(mǎi)元器件,到唯樣商城解決方案是創(chuàng)建一個(gè)(相對(duì))較小的高速內(nèi)存,稱(chēng)為高速緩存,以及一個(gè)特殊的高速緩存控制器,它位于CPU附近,保存經(jīng)常訪問(wèn)的指令和數(shù)據(jù)的副本。
高速緩存是一個(gè)(相對(duì))小的高速內(nèi)存,位于CPU附近
(圖像來(lái)源:Max Maxfield)
請(qǐng)注意,上圖是一個(gè)粗略的簡(jiǎn)化圖。現(xiàn)代處理器有獨(dú)立的指令和數(shù)據(jù)緩存。此外,還有一個(gè)稱(chēng)為L(zhǎng)1、L2、L3等的緩存層次結(jié)構(gòu)。(其中“L”代表“Level”,即級(jí)別)。L1緩存是最小、最快、最靠近CPU的緩存。
系統(tǒng)設(shè)計(jì)人員必須考慮的一個(gè)問(wèn)題是,確保CPU對(duì)緩存內(nèi)容所做的任何更改隨后都反映在主內(nèi)存中(如果合適的話)。同步緩存和主內(nèi)存的內(nèi)容,同時(shí)保持這些內(nèi)容的完整性是一項(xiàng)極其復(fù)雜的任務(wù),因此你會(huì)很高興地發(fā)現(xiàn),我們?cè)谶@里將不再進(jìn)一步討論它。
然而,我們必須提的一件事是緩存一致性,它在擁有多個(gè)CPU(每個(gè)CPU都有自己的高速緩存子系統(tǒng))共享公共內(nèi)存資源的系統(tǒng)中開(kāi)始顯露出問(wèn)題。
當(dāng)多個(gè)CPU共享公共內(nèi)存資源時(shí)可能會(huì)出現(xiàn)問(wèn)題
(圖片來(lái)源:Max Maxfield)
正如維基百科告訴我們的:“在一個(gè)共享內(nèi)存多處理器系統(tǒng)中,每個(gè)處理器都有一個(gè)單獨(dú)的高速緩存,因此可能有多個(gè)共享數(shù)據(jù)副本:一個(gè)副本在主存儲(chǔ)器中,一個(gè)副本在請(qǐng)求它的每個(gè)處理器的本地高速緩存中。當(dāng)數(shù)據(jù)的一個(gè)副本發(fā)生更改時(shí),其他副本必須反映這個(gè)更改。緩存一致性是確保共享操作數(shù)(數(shù)據(jù))值的變化在整個(gè)系統(tǒng)中及時(shí)傳播的規(guī)則。”我自己說(shuō)得再好不過(guò)了。
4添加FPU
早期的CPU使用重復(fù)加法進(jìn)行整數(shù)乘法運(yùn)算。他們還使用了非常復(fù)雜的技術(shù)來(lái)進(jìn)行整數(shù)除法運(yùn)算。(另請(qǐng)參閱“計(jì)算機(jī)如何進(jìn)行數(shù)學(xué)運(yùn)算”)。沒(méi)過(guò)多久,設(shè)計(jì)師就開(kāi)始添加特殊的乘法器/除法器功能。
類(lèi)似地,許多早期的CPU被設(shè)計(jì)為執(zhí)行定點(diǎn)算術(shù)運(yùn)算。當(dāng)涉及到更復(fù)雜的浮點(diǎn)運(yùn)算時(shí),這些是通過(guò)將浮點(diǎn)運(yùn)算分解成更簡(jiǎn)單的運(yùn)算序列并使用定點(diǎn)架構(gòu)來(lái)執(zhí)行這些運(yùn)算來(lái)實(shí)現(xiàn)的。
隨著人們?cè)絹?lái)越多地使用計(jì)算機(jī),人們希望自己的計(jì)算機(jī)運(yùn)行得越來(lái)越快,實(shí)現(xiàn)這一點(diǎn)的一種方法是添加一個(gè)特殊的浮點(diǎn)運(yùn)算單元(FPU)。FPU的作用是對(duì)浮點(diǎn)數(shù)執(zhí)行加、減、乘、除、平方根和移位操作。
FPU對(duì)浮點(diǎn)數(shù)進(jìn)行運(yùn)算
(圖片來(lái)源:Max Maxfield)
FPU作為一個(gè)單獨(dú)的功能單元來(lái)實(shí)現(xiàn)是很常見(jiàn)的,但將一個(gè)或多個(gè)FPU集成為CPU中的特殊執(zhí)行單元也并不少見(jiàn)。
5內(nèi)存保護(hù)和管理:MPUs和MMUs
內(nèi)存保護(hù)單元允許特權(quán)軟件(如操作系統(tǒng))定義內(nèi)存中的區(qū)域,并為這些區(qū)域分配訪問(wèn)權(quán)限和屬性。
添加內(nèi)存保護(hù)單元(MPU)
(圖片來(lái)源:Max Maxfield)
MPU監(jiān)視CPU和內(nèi)存之間的事務(wù),并在檢測(cè)到訪問(wèn)違規(guī)時(shí)發(fā)出警報(bào)(觸發(fā)故障異常)。MPU的主要目的是防止程序訪問(wèn)沒(méi)有分配給它的內(nèi)存。這可以防止普通程序或惡意軟件程序中的無(wú)辜錯(cuò)誤影響其他進(jìn)程或操作系統(tǒng)本身。
層次結(jié)構(gòu)的下一步是使用內(nèi)存管理單元(MMU),它通過(guò)附加功能增強(qiáng)了內(nèi)存保護(hù)單元(MPU)的功能。
將內(nèi)存保護(hù)單元升級(jí)為內(nèi)存管理單元(MMU)
(圖片來(lái)源:Max Maxfield)
這就是事情開(kāi)始變得有點(diǎn)棘手的地方。最簡(jiǎn)單的級(jí)別是在“裸機(jī)”上運(yùn)行單個(gè)程序,裸機(jī)指的是計(jì)算機(jī)直接在中央處理器上執(zhí)行程序,沒(méi)有中間的操作系統(tǒng)。在這種情況下,可以使用絕對(duì)(物理)地址編譯程序。
更復(fù)雜的系統(tǒng)運(yùn)行一種叫做操作系統(tǒng)(OS)的特殊程序。操作系統(tǒng)允許用戶(hù)同時(shí)運(yùn)行多個(gè)程序。以你自己的個(gè)人計(jì)算機(jī)為例,你可能在計(jì)算機(jī)上同時(shí)運(yùn)行文字處理程序、圖像程序和電子郵件程序。其工作方式是使用相對(duì)尋址來(lái)編譯這些程序。MMU的任務(wù)是將程序中的虛擬地址轉(zhuǎn)換成主內(nèi)存中的物理地址。
請(qǐng)注意,由于MMU包含了MPU的功能,因此它們是相互排斥的——一個(gè)系統(tǒng)可以有MMU,也可以有MPU(或兩個(gè)都沒(méi)有),但不能同時(shí)有兩個(gè)。
如今,當(dāng)我們使用“計(jì)算機(jī)”一詞時(shí),大多數(shù)人(非工程師)通常會(huì)想到他們的臺(tái)式機(jī)、筆記本電腦或平板電腦。相比之下,根據(jù)不同的領(lǐng)域,工程師可能會(huì)想到工作站或服務(wù)器,或想到微處理器和微控制器。
然而,在我們開(kāi)始討論微處理器和微控制器之前,我們應(yīng)該注意,上面討論的所有概念一般都適用于計(jì)算機(jī)體系結(jié)構(gòu)。例如,大約在20世紀(jì)60年代早期的計(jì)算機(jī)是由一屋子的被稱(chēng)為“大型機(jī)”的大柜子組成的。每個(gè)機(jī)柜都有不同的功能,比如CPU或主存儲(chǔ)器。通俗地說(shuō),這種類(lèi)型的計(jì)算機(jī)被稱(chēng)為“大鐵”機(jī)器。
大約在20世紀(jì)70年代作為集成電路(“芯片”)實(shí)現(xiàn)的第一批CPU被稱(chēng)為微處理器(μP)。后來(lái),它們開(kāi)始被稱(chēng)為微處理器/微處理單元(MPU)。如今,μP和MPU被認(rèn)為是同義詞。
早期的MPU僅包含CPU。諸如浮點(diǎn)運(yùn)算單元(FPU,也稱(chēng)為數(shù)學(xué)協(xié)處理器)和內(nèi)存保護(hù)單元(MPU)或內(nèi)存管理單元(MMU)之類(lèi)的功能是在單獨(dú)的器件上實(shí)現(xiàn)的,所有這些器件都緊密地安裝在印刷電路板上。
當(dāng)然,使用MPU這三個(gè)字母代表同時(shí)微處理器單元和記憶保護(hù)單元只會(huì)增加樂(lè)趣和誤會(huì),但你通常可以從談話的上下文中看出人們?cè)谡f(shuō)什么(如果沒(méi)有,那就讓他們先把事情說(shuō)清楚,然后再掏錢(qián))。
這些天,有成千上萬(wàn)的MPU產(chǎn)品。一些只包含一個(gè)單獨(dú)的CPU,一些包含一個(gè)CPU以及緩存、FPU和內(nèi)存保護(hù)或內(nèi)存管理單元的各種組合,還有一些包含多個(gè)CPU、FPU等。(請(qǐng)注意,MPU可能包含額外功能——出于討論的目的,我們將重點(diǎn)放在核心功能上。)
微處理器單元(MPU)有多種形狀、大小和配置
(圖片來(lái)源:Max Maxfield)
與內(nèi)存管理單元(MMU)相反,一些微處理器單元(MPU)可能包含內(nèi)存保護(hù)單元(MPU),但是為了避免混淆,我們?cè)谶@里寫(xiě)出了全名。此外,根據(jù)經(jīng)驗(yàn),更常見(jiàn)的是在微處理器中找到內(nèi)存管理單元,在微控制器中找到內(nèi)存保護(hù)單元,如下所述。
微處理器的一個(gè)顯著特點(diǎn)是它不包含任何內(nèi)存(不包括任何緩存)。也就是說(shuō),它的所有內(nèi)存都是器件外部提供的。相比之下,微控制器(μC,也稱(chēng)為微控制器單元,MCU)包含的存儲(chǔ)器包括Flash形式的非易失性程序存儲(chǔ)器(NVM)和SRAM形式的易失性工作存儲(chǔ)器。MCU通常包含各種附加功能和能力,包括計(jì)數(shù)器和定時(shí)器,以及帶有模數(shù)轉(zhuǎn)換器(ADC)的模擬輸入。
微控制器單元(MCU)有多種形狀、大小和配置
(圖片來(lái)源:Max Maxfield)
MCU通常不包含任何高速緩存存儲(chǔ)器的一個(gè)原因是它們經(jīng)常必須提供實(shí)時(shí)控制功能和性能。這可能涉及運(yùn)行“裸機(jī)”程序——或者在內(nèi)核或?qū)崟r(shí)操作系統(tǒng)(RTOS)下運(yùn)行程序——而擁有緩存內(nèi)存子系統(tǒng)往往會(huì)扼殺確定性。
此外,微處理器通常不運(yùn)行像Linux或Unix這樣的復(fù)雜操作系統(tǒng),因此不需要內(nèi)存管理單元(MMU)。如果它們有內(nèi)存保護(hù)的話,也通常不會(huì)比內(nèi)存保護(hù)單元(MPU)更復(fù)雜。同樣,MCU可能包含額外的功能——出于討論的目的,我們將重點(diǎn)放在核心功能上。
7圖形處理單元(GPUs)
最后,但同樣重要的是,在本專(zhuān)欄中,我們會(huì)討論圖形處理單元(GPU)。雖然微處理器單元(MPU)僅包含幾個(gè)(例如,1個(gè)、2個(gè)、4個(gè)或8個(gè))復(fù)雜的CPU內(nèi)核,但GPU可以包含數(shù)百或數(shù)千個(gè)較簡(jiǎn)單的CPU核心,每個(gè)CPU核心具有少量的本地存儲(chǔ)器,以及FPU等。
顧名思義,GPU最初是為圖形應(yīng)用程序設(shè)計(jì)的,在圖形應(yīng)用中,需要在屏幕上對(duì)數(shù)十萬(wàn)或數(shù)百萬(wàn)像素執(zhí)行相同的操作。但是,GPU還可以在受益于大規(guī)模并行處理的應(yīng)用程序中使用,包括硬件加速,網(wǎng)絡(luò)貨幣(“比特幣”)挖掘和高性能計(jì)算(HPC)。
MPU(微處理器)和GPU組合可以在手機(jī)、筆記本電腦、平板電腦、工作站和游戲機(jī)等系統(tǒng)中找到。同時(shí),在嵌入式系統(tǒng)中可能會(huì)發(fā)現(xiàn)MCU(微控制器)和GPU組合。
8模擬、數(shù)字、混合信號(hào)和RF ASICs
以術(shù)語(yǔ)ASIC為例。當(dāng)你聽(tīng)到或看到這個(gè)詞時(shí),你會(huì)想到什么?如果你的下意識(shí)反應(yīng)是說(shuō)ASIC指的是一種定制的數(shù)字集成電路,包含數(shù)十萬(wàn)、數(shù)百萬(wàn)甚至數(shù)十億個(gè)晶體管,那么這可能意味著你來(lái)自數(shù)字背景。
讓我們從ASIC代表特定應(yīng)用集成電路的事實(shí)開(kāi)始,即為執(zhí)行特定任務(wù)而創(chuàng)建的自定義器件。在這個(gè)標(biāo)題中,我們看不到“數(shù)字”這個(gè)詞。同樣值得提醒自己的是,沒(méi)有所謂的模擬晶體管或數(shù)字晶體管——只有晶體管可以認(rèn)為是在模擬域(信號(hào)在一個(gè)連續(xù)的范圍內(nèi)工作)或數(shù)字域(信號(hào)在一定數(shù)量的定義電平下工作)中發(fā)揮它們的魔力。
在現(xiàn)實(shí)中,我們可以創(chuàng)建包含晶體管和其他組件的模擬ASIC,以實(shí)現(xiàn)類(lèi)似放大器或濾波器的模擬功能。這種器件通常只包含相對(duì)較少的晶體管(數(shù)量在幾十、幾百或幾千個(gè)),而且這些晶體管通常體積大而堅(jiān)固,它們的形狀和大小都經(jīng)過(guò)了微調(diào),以滿足嚴(yán)格的規(guī)格要求。(我們所說(shuō)的“大”指的是“在事物的體系中”,與用來(lái)制造數(shù)字集成電路的晶體管相比——它們?cè)谌祟?lèi)存在的尺度上仍然小得令人難以置信。)
我們也有可能創(chuàng)造出包含晶體管和其他元件的數(shù)字專(zhuān)用集成電路,以實(shí)現(xiàn)一系列的數(shù)字功能。這類(lèi)器件通常包含相對(duì)大量的晶體管(以數(shù)十萬(wàn)、數(shù)百萬(wàn)或數(shù)十億計(jì)),而這些晶體管通常體積小、活躍、非常集中。
如果我們能把世界分成模擬和數(shù)字兩部分,生活就會(huì)變得如此簡(jiǎn)單,但是,情況無(wú)疑會(huì)更復(fù)雜,因?yàn)樵S多ASIC包含模擬和數(shù)字功能的混合,因此被稱(chēng)為混合信號(hào)器件。這類(lèi)元件的典型例子是模數(shù)轉(zhuǎn)換器(ADC)和數(shù)模轉(zhuǎn)換器(DAC)。在現(xiàn)實(shí)中,即使是你可能認(rèn)為是“純數(shù)字”的器件,也可能仍然包含一些以鎖相環(huán)(PLL)等功能形式存在的少量模擬功能。
而且,僅僅為了增加樂(lè)趣,還可以有射頻(RF)ASIC,有些人將其稱(chēng)為射頻集成電路(RFIC)。
9ASICs與ASSPs
一般而言,專(zhuān)用集成電路(ASIC)是由單個(gè)公司在特定系統(tǒng)中設(shè)計(jì)和/或使用的組件。相比之下,專(zhuān)用標(biāo)準(zhǔn)部件(ASSP)是一種更通用的器件,旨在供多個(gè)系統(tǒng)中的多個(gè)系統(tǒng)設(shè)計(jì)機(jī)構(gòu)使用(例如USB接口芯片)。這就引出了一個(gè)有趣的問(wèn)題——我們是將ASIC和ASSP視為在模擬、數(shù)字、混合信號(hào)和RF之下(圖1a),還是將其看作相反的情況(圖1b)?
圖1 ASIC和ASSP器件與模擬、數(shù)字、混合信號(hào)和RF領(lǐng)域的關(guān)系是什么樣的?
(圖片來(lái)源:Max Maxfield)
在現(xiàn)實(shí)中(我不得不停止這樣說(shuō)),這些術(shù)語(yǔ)都只是我們?yōu)樽约簞?chuàng)造的“盒子”,但反思一下不同的人以不同的方式思考這些事情仍然很有趣。(如果你愿意在下面的評(píng)論中分享你更喜歡哪種表達(dá)方式,那就太好了。)
每個(gè)實(shí)現(xiàn)域(模擬、數(shù)字等)通常基于自己的專(zhuān)用半導(dǎo)體襯底和工藝,并且每個(gè)開(kāi)發(fā)團(tuán)隊(duì)通常使用他們自己的專(zhuān)用設(shè)計(jì)、驗(yàn)證和分析工具。
為了進(jìn)行這些討論,我們假設(shè)我們談?wù)摰氖菙?shù)字ASIC和ASSP。此處要理解的關(guān)鍵點(diǎn)是,這些器件是使用相同的設(shè)計(jì)、驗(yàn)證和分析工具開(kāi)發(fā)的,而且是使用相同的半導(dǎo)體工藝和技術(shù)實(shí)現(xiàn)的。
ASIC與ASSP的惟一區(qū)別在于它的目標(biāo)受眾和部署——特定系統(tǒng)(或系統(tǒng)系列)中的單個(gè)公司vs各類(lèi)系統(tǒng)中的多個(gè)公司。我們甚至可以說(shuō),一個(gè)在早上被認(rèn)為是ASIC的器件,如果它的主人決定與世界分享,那么它就可以在下午被改造成ASSP。
我們要說(shuō)最后一點(diǎn)是,數(shù)字ASIC(或ASSP)有不同類(lèi)型。就日益增加的復(fù)雜性而言,它們將被分為門(mén)陣列、結(jié)構(gòu)化ASIC、標(biāo)準(zhǔn)單元和全定制。
圖2.不同風(fēng)格的數(shù)字ASIC/ASSP
(圖片來(lái)源:Max Maxfield)
你會(huì)高興地發(fā)現(xiàn),我們不會(huì)在這個(gè)泥潭里挖得更深。我只想說(shuō),如果你想了解更多關(guān)于這些家伙的信息,我的書(shū)《Bebop to the Boolean Boogie》(世界上第一本也是唯一一本以海鮮秋葵湯食譜為特色的電子學(xué)書(shū)籍)對(duì)它們進(jìn)行了極其詳細(xì)的討論。
10MPUs、MCUs、DSPs、FPGA和內(nèi)存器件
莎士比亞表現(xiàn)出了他一貫的先見(jiàn)之明,當(dāng)他讓李爾王說(shuō):“哦,那是瘋狂的謊言。”我很肯定他在想,如果人們開(kāi)始嘗試把微處理器(MPU)、微控制器(MCU)、數(shù)字信號(hào)處理器(DSP)、現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)和內(nèi)存器件(DRAM、SRAM、Flash等)分成ASIC和ASSP會(huì)如何。
不幸的是,如果你不小心,你會(huì)發(fā)現(xiàn)自己拼命地想要把一顆方釘子釘進(jìn)一個(gè)圓孔里。就我個(gè)人而言,我花在這款游戲上的時(shí)間遠(yuǎn)遠(yuǎn)超過(guò)了應(yīng)該花的時(shí)間。多年來(lái),我已經(jīng)得出結(jié)論,說(shuō)“MPU就是MPU”、“SRAM內(nèi)存芯片只是SRAM內(nèi)存芯片芯片”更容易,就這樣吧。
11片上系統(tǒng)(SoC)器件
片上系統(tǒng)(SoC)是指充當(dāng)整個(gè)子系統(tǒng)的ASIC或ASSP。除了一堆定制功能塊(其中大多數(shù)通常是數(shù)字的,但也可以包括一些模擬和/或混合信號(hào)功能),SoC還包括一個(gè)或多個(gè)處理器內(nèi)核(處理器和/或DSP)、輔助內(nèi)核(例如FPU、計(jì)數(shù)器/定時(shí)器)、片上存儲(chǔ)器和外圍/通信內(nèi)核/功能。
有些人認(rèn)為SoC比ASIC/ASSP“更高”,因?yàn)樗鼈兪腔贏SIC/ASSP技術(shù)加上處理器核心等。相比之下,在并非所有ASIC/ASSP都包含處理器內(nèi)核的基礎(chǔ)上,其他人則認(rèn)為ASIC/ASSP技術(shù)是父項(xiàng),而SoC構(gòu)成了這些器件的子集。
再說(shuō)一次,這些術(shù)語(yǔ)都是我們?yōu)樽约簞?chuàng)造的“盒子”,但反映出不同的人以不同的方式思考這些事情仍然很有趣。
122.5D和3D ICs
最初,在集成電路的背景下,人們對(duì)于2.5D和3D有很多混淆。很多這種困惑是由公司造成的,他們有我們現(xiàn)在認(rèn)為是2.5D IC的東西,而在他們的營(yíng)銷(xiāo)文案中則聲稱(chēng)是3D IC(小小的騙局)。
每個(gè)未封裝的集成電路稱(chēng)為裸片。在2.5D IC的情況下,多個(gè)裸片安裝在稱(chēng)為硅插入器的基礎(chǔ)層上。硅插入器及其所附的裸片全部呈現(xiàn)在單個(gè)封裝中。硅插入器用于將芯片相互連接,也可連接到封裝的端子(引腳或焊盤(pán))。
在3D IC的情況下,多個(gè)裸片彼此堆疊,并使用硅通孔(TSV)進(jìn)行連接。單個(gè)多裸片堆疊可以以其自己的封裝呈現(xiàn),或者多個(gè)多裸片堆疊可以安裝在硅插入器上,而整個(gè)組件以單個(gè)封裝呈現(xiàn)。
13SiPs、PiPs、PoPs和MCMs
多芯片組件(MCM)在概念上類(lèi)似于2.5D IC,安裝裸片和其他組件的統(tǒng)一高密度互連(HDI)基板不同于硅插入器,范圍從陶瓷到印刷電路板(PCB)。
順便說(shuō)一句,組成MCM的單個(gè)裸片被稱(chēng)為“chiplet”。一切都放在一個(gè)單獨(dú)的封裝中,這意味著MCM在外界看來(lái)就像一個(gè)大型IC。
根據(jù)設(shè)計(jì)的復(fù)雜性和目標(biāo)應(yīng)用程序和/或環(huán)境的不同,MCM有多種風(fēng)格。它們通常分為MCM-L(基板是多層層壓PCB)、MCM-D(組件使用薄膜技術(shù)沉積在基板上)和MCM-C(基板是陶瓷)。
術(shù)語(yǔ)System-in-Package(Sip)對(duì)不同的人意味著不同的事情。有些人認(rèn)為SiP只是MCM的一個(gè)更現(xiàn)代和新潮的名字。其他人則認(rèn)為SiP介于MCM(因?yàn)镾iP的裸片可能堆疊在彼此的頂部)和3D IC之間(因?yàn)镾iP不使用最高級(jí)別的TSV互連,而這正是3D IC的特點(diǎn))。
到頭來(lái),SiP需要將多個(gè)裸片和其他組件安裝在同一塊基板(通常是HDI PCB)上,并作為單個(gè)封裝呈現(xiàn)給外界。
最后,但同樣重要的是,對(duì)于我們討論的這一部分,我們有Package-in-Package(PiP)和Package-on-Package(PoP)。多個(gè)裸片(每個(gè)裸片在它們自己的芯片級(jí)封裝(CSp))和/或SiP被安裝、連接,并作為單個(gè)封裝呈現(xiàn)給外界。相比之下,在PoP組件的情況下,兩個(gè)或更多的封裝安裝在彼此的頂部,它們之間有一個(gè)接口來(lái)路由信號(hào)。所有這些技術(shù)都允許在移動(dòng)電話、個(gè)人數(shù)字助理(PDA)、平板電腦、數(shù)碼相機(jī)等產(chǎn)品中實(shí)現(xiàn)更高的組件密度。
14COMs和SOMs
遺憾的是,術(shù)語(yǔ)嵌入式模塊計(jì)算機(jī)(COM)和系統(tǒng)模塊(SOM)同樣有多種解釋。
一種非常常見(jiàn)的解釋是將系統(tǒng)的所有功能集成在單個(gè)模塊上的PCB級(jí)電路(與SoC相反,SoC必須安裝在電路板上,并且通常依賴(lài)于諸如存儲(chǔ)器器件的外部組件來(lái)完成系統(tǒng))。
為了更好地理解COMs/SOMs的這種解釋?zhuān)?qǐng)參考來(lái)自Toradex的Apalis Arm家族COM和Colibri Arm家族SOM。此外,請(qǐng)參考我的專(zhuān)欄《COM-HPC為邊緣計(jì)算定義服務(wù)器級(jí)功能》。
另一種解釋是SOM不大于大型IC。這種解釋的一個(gè)經(jīng)典例子是Microchip Technology的SAMA5D27 SOM。
讓我們從SAMA5D27 SiP開(kāi)始,它采用32位ARM Cortex-A5微控制器,128Mb、512Mb或1Gb DDR2內(nèi)存。該SiP可以用作獨(dú)立器件,也可以集成到更大的組件中,如SAMA5D27 SOM。
除了SAMA5D27 SiP之外,SAMA5D27 SOM還包含64Mb QSPI閃存器件、2Kb EEPROM芯片(帶有預(yù)編程MAC地址),帶時(shí)鐘的10/100以太網(wǎng)PHY、一個(gè)高性能電源管理IC(MIC2800)和103個(gè)輸入/輸出(I/O)。使用SAMA5D27 SOM的結(jié)果是縮小印刷電路板的尺寸和層數(shù),將設(shè)計(jì)風(fēng)險(xiǎn)降至最低,并大大縮短產(chǎn)品開(kāi)發(fā)時(shí)間。
審核編輯:湯梓紅
-
處理器
+關(guān)注
關(guān)注
68文章
19274瀏覽量
229731 -
芯片
+關(guān)注
關(guān)注
455文章
50760瀏覽量
423362 -
cpu
+關(guān)注
關(guān)注
68文章
10858瀏覽量
211658
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論