一、處理器簡介
處理器一般指中央處理器。中央處理器(CPU,Central Processing Unit)是一塊超大規(guī)模的集成電路,是一臺(tái)計(jì)算機(jī)的運(yùn)算核心(Core)和控制核心( Control Unit)。它的功能主要是解釋計(jì)算機(jī)指令以及處理計(jì)算機(jī)軟件中的數(shù)據(jù)。
中央處理器主要包括運(yùn)算器(算術(shù)邏輯運(yùn)算單元,ALU,Arithmetic Logic Unit)和高速緩沖存儲(chǔ)器(Cache)及實(shí)現(xiàn)它們之間聯(lián)系的數(shù)據(jù)(Data)、控制及狀態(tài)的總線(Bus)。它與內(nèi)部存儲(chǔ)器(Memory)和輸入/輸出(I/O)設(shè)備合稱為電子計(jì)算機(jī)三大核心部件。
處理器主要功能:
處理指令
英文Processing instructions;這是指控制程序中指令的執(zhí)行順序。程序中的各指令之間是有嚴(yán)格順序的,必須嚴(yán)格按程序規(guī)定的順序執(zhí)行,才能保證計(jì)算機(jī)系統(tǒng)工作的正確性。
執(zhí)行操作
英文Perform an action;一條指令的功能往往是由計(jì)算機(jī)中的部件執(zhí)行一系列的操作來實(shí)現(xiàn)的。CPU要根據(jù)指令的功能,產(chǎn)生相應(yīng)的操作控制信號(hào),發(fā)給相應(yīng)的部件,從而控制這些部件按指令的要求進(jìn)行動(dòng)作。
控制時(shí)間
英文Control time;時(shí)間控制就是對(duì)各種操作實(shí)施時(shí)間上的定時(shí)。在一條指令的執(zhí)行過程中,在什么時(shí)間做什么操作均應(yīng)受到嚴(yán)格的控制。只有這樣,計(jì)算機(jī)才能有條不紊地工作。
處理數(shù)據(jù)
即對(duì)數(shù)據(jù)進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算,或進(jìn)行其他的信息處理。
其功能主要是解釋計(jì)算機(jī)指令以及處理計(jì)算機(jī)軟件中的數(shù)據(jù), 并執(zhí)行指令。在微型計(jì)算機(jī)中又稱微處理器,計(jì)算機(jī)的所有操作都受CPU控制,CPU的性能指標(biāo)直接決定了微機(jī)系統(tǒng)的性能指標(biāo)。CPU具有以下4個(gè)方面的基本功能:數(shù)據(jù)通信,資源共享,分布式處理,提供系統(tǒng)可靠性。運(yùn)作原理可基本分為四個(gè)階段:提取(Fetch)、解碼(Decode)、執(zhí)行(Execute)和寫回(Writeback)。
處理器工作過程:
CPU從存儲(chǔ)器或高速緩沖存儲(chǔ)器中取出指令,放入指令寄存器,并對(duì)指令譯碼。它把指令分解成一系列的微操作,然后發(fā)出各種控制命令,執(zhí)行微操作系列,從而完成一條指令的執(zhí)行。指令是計(jì)算機(jī)規(guī)定執(zhí)行操作的類型和操作數(shù)的基本命令。指令是由一個(gè)字節(jié)或者多個(gè)字節(jié)組成,其中包括操作碼字段、一個(gè)或多個(gè)有關(guān)操作數(shù)地址的字段以及一些表征機(jī)器狀態(tài)的狀態(tài)字以及特征碼。有的指令中也直接包含操作數(shù)本身。
提取
第一階段,提取,從存儲(chǔ)器或高速緩沖存儲(chǔ)器中檢索指令(為數(shù)值或一系列數(shù)值)。由程序計(jì)數(shù)器(Program Counter)指定存儲(chǔ)器的位置。(程序計(jì)數(shù)器保存供識(shí)別程序位置的數(shù)值。換言之,程序計(jì)數(shù)器記錄了CPU在程序里的蹤跡。)
解碼
CPU根據(jù)存儲(chǔ)器提取到的指令來決定其執(zhí)行行為。在解碼階段,指令被拆解為有意義的片段。根據(jù)CPU的指令集架構(gòu)(ISA)定義將數(shù)值解譯為指令。一部分的指令數(shù)值為運(yùn)算碼(Opcode),其指示要進(jìn)行哪些運(yùn)算。其它的數(shù)值通常供給指令必要的信息,諸如一個(gè)加法(Addition)運(yùn)算的運(yùn)算目標(biāo)。

解碼線路
執(zhí)行
在提取和解碼階段之后,緊接著進(jìn)入執(zhí)行階段。該階段中,連接到各種能夠進(jìn)行所需運(yùn)算的CPU部件。
例如,要求一個(gè)加法運(yùn)算,算術(shù)邏輯單元(ALU,Arithmetic Logic Unit)將會(huì)連接到一組輸入和一組輸出。輸入提供了要相加的數(shù)值,而輸出將含有總和的結(jié)果。ALU內(nèi)含電路系統(tǒng),易于輸出端完成簡單的普通運(yùn)算和邏輯運(yùn)算(比如加法和位元運(yùn)算)。如果加法運(yùn)算產(chǎn)生一個(gè)對(duì)該CPU處理而言過大的結(jié)果,在標(biāo)志暫存器里可能會(huì)設(shè)置運(yùn)算溢出(Arithmetic Overflow)標(biāo)志。
寫回
最終階段,寫回,以一定格式將執(zhí)行階段的結(jié)果簡單的寫回。運(yùn)算結(jié)果經(jīng)常被寫進(jìn)CPU內(nèi)部的暫存器,以供隨后指令快速存取。在其它案例中,運(yùn)算結(jié)果可能寫進(jìn)速度較慢,但容量較大且較便宜的主記憶體中。某些類型的指令會(huì)操作程序計(jì)數(shù)器,而不直接產(chǎn)生結(jié)果。這些一般稱作“跳轉(zhuǎn)”(Jumps),并在程式中帶來循環(huán)行為、條件性執(zhí)行(透過條件跳轉(zhuǎn))和函式。許多指令會(huì)改變標(biāo)志暫存器的狀態(tài)位元。這些標(biāo)志可用來影響程式行為,緣由于它們時(shí)常顯出各種運(yùn)算結(jié)果。例如,以一個(gè)“比較”指令判斷兩個(gè)值大小,根據(jù)比較結(jié)果在標(biāo)志暫存器上設(shè)置一個(gè)數(shù)值。這個(gè)標(biāo)志可藉由隨后跳轉(zhuǎn)指令來決定程式動(dòng)向。在執(zhí)行指令并寫回結(jié)果之后,程序計(jì)數(shù)器值會(huì)遞增,反覆整個(gè)過程,下一個(gè)指令周期正常的提取下一個(gè)順序指令。
二、內(nèi)核簡介
內(nèi)核是操作系統(tǒng)最基本的部分。它是為眾多應(yīng)用程序提供對(duì)計(jì)算機(jī)硬件的安全訪問的一部分軟件,這種訪問是有限的,并且內(nèi)核決定一個(gè)程序在什么時(shí)候?qū)δ巢糠钟布僮鞫嚅L時(shí)間。內(nèi)核的分類可分為單內(nèi)核和雙內(nèi)核以及微內(nèi)核。嚴(yán)格地說,內(nèi)核并不是計(jì)算機(jī)系統(tǒng)中必要的組成部分。
內(nèi)核的優(yōu)點(diǎn):
抽象隱藏
內(nèi)核提供一種硬件抽象的方法來完成對(duì)硬件操作,因?yàn)檫@些操作是非常復(fù)雜的,硬件抽象隱藏了復(fù)雜性,為應(yīng)用軟件和硬件提供了一套簡潔,統(tǒng)一的接口,使程序設(shè)計(jì)更為簡單。
源代碼管理
歷史上,從來沒有出現(xiàn)過用于Linux內(nèi)核的正式的源代碼管理或修正控制系統(tǒng)。實(shí)際上,很多開發(fā)者實(shí)現(xiàn)了他們自己的修正控制器,但是并沒有官方的LinuxCVS檔案庫,讓LinusTorvalds檢查加入代碼,并讓其他人可以由此獲得代碼。修正控制器的缺乏,常常會(huì)使發(fā)行版本之間存在“代溝”,沒有人真正知道加入了哪些改變,這些改變是否能很好地融合,或者在即將發(fā)行的版本中哪些新內(nèi)容是值得期待的。通常,如果更多的開發(fā)者可以像了解他們自己所做的改變一樣了解到那些變化,某些問題就可以得到避免。
非常有必要使用一個(gè)實(shí)時(shí)的、集中的檔案庫來保存對(duì)Linux內(nèi)核的最新更新。每一個(gè)被內(nèi)核接受的改變或者補(bǔ)丁都被作為一個(gè)改變集被追蹤。終端用戶和開發(fā)者可以保存他們自己的源文件檔案庫,并根據(jù)需要可以通過一個(gè)簡單的命令用最新的改變集進(jìn)行更新。對(duì)開發(fā)者來說,這意味著可以始終使用最新的代碼拷貝。測試人員可以使用這些邏輯的改變集合來確定哪些變化導(dǎo)致了問題的產(chǎn)生,縮短調(diào)試所需要的時(shí)間。甚至那些希望使用最新內(nèi)核的用戶也可以直接利用實(shí)時(shí)的、集中的檔案庫,因?yàn)橐坏┧麄兯枰牟考蛉毕菪迯?fù)加入到內(nèi)核中,他們就可以馬上進(jìn)行更新。當(dāng)代碼融合到內(nèi)核時(shí),任何用戶都可以提供關(guān)于這些代碼的即時(shí)反饋和缺陷報(bào)告。
并行開發(fā)
隨著Linux內(nèi)核的成長,變得更加復(fù)雜,而且吸引更多開發(fā)者將注意 力集中到內(nèi)核的特定方面的專門開發(fā)上來,出現(xiàn)了另一個(gè)開發(fā)Linux方法的有趣改變。在2.3內(nèi)核版本的開發(fā)期間,除了由LinusTorvalds發(fā)行的主要的一個(gè)內(nèi)核樹之外,還有一些其他的內(nèi)核樹。
在2.5的開發(fā)期間,內(nèi)核樹出現(xiàn)了爆炸式的增長。由于使用源代碼管理工具可以保持開發(fā)的同步并行進(jìn)行,這樣就可能實(shí)現(xiàn)開發(fā)的部分并行化。為了讓其他人在他們所做的改變被接受之前可以進(jìn)行測試,有一些開發(fā)需要并行化。那些保持自己的樹的內(nèi)核維護(hù)者致力于特定的組件和目標(biāo),比如內(nèi)存管理、NUMA部件、改進(jìn)擴(kuò)展性和用于特定體系結(jié)構(gòu)的代碼,還有一些樹收集并追蹤對(duì)許多小缺陷的糾正。
這種并行開發(fā)模型的優(yōu)點(diǎn)是,它使得需要進(jìn)行重大改變的開發(fā)者,或者針對(duì)一個(gè)特定的目標(biāo)進(jìn)行大量類似改變的那些開發(fā)者可以自由地在一個(gè)受控環(huán)境中開發(fā),而并不影響其他人所用內(nèi)核的穩(wěn)定性。當(dāng)開發(fā)者完成工作后,他們可以發(fā)布針對(duì)Linux內(nèi)核當(dāng)前版本的補(bǔ)丁,以實(shí)現(xiàn)到此為止他們所完成的改變。這樣,社區(qū)中的測試人員就可以方便地測試這些改變并提供反饋。當(dāng)每一部分都被證明是穩(wěn)定的之后,那些部分可以單獨(dú)地,或者甚至同時(shí)全部地,融合到主要Linux內(nèi)核中。
代碼覆蓋分析
新工具為內(nèi)核提供了代碼覆蓋分析的功能。覆蓋分析表明,在一個(gè)給定的測試運(yùn)行時(shí),內(nèi)核中哪些行代碼被執(zhí)行。更重要的是,覆蓋分析提示了內(nèi)核的哪些部分還根本沒有被測試到。這個(gè)數(shù)據(jù)是重要的,因?yàn)樗赋隽诵枰倬帉懩男┬聹y試來測試內(nèi)核的那些部分,以使內(nèi)核可以得到更完備的測試。
大量信息
在為將來的2.6Linux內(nèi)核進(jìn)行開的過程中,除了這些自動(dòng)化的信息管理方法之外,開放源代碼社區(qū)的不同成員還收集和追蹤了數(shù)量驚人的信息。
例如,在KernelNewbies站點(diǎn)上創(chuàng)建了一個(gè)狀態(tài)列表,來保持對(duì)已經(jīng)提出的內(nèi)核新部件的追蹤。這個(gè)列表包含了以狀態(tài)排序的條目,如果它們已經(jīng)完成了,則說明它們已經(jīng)包含在哪個(gè)內(nèi)核中,如果還沒有完成,則指出還需要多長時(shí)間。列表上很多條目的鏈接指向大型項(xiàng)目的Web站點(diǎn),或者當(dāng)條目較小時(shí),鏈接指向一個(gè)解釋相應(yīng)部件的電子郵件信息的拷貝。

三、芯片簡介
芯片,又稱微電路(microcircuit)、微芯片(microchip)、集成電路(英語:integrated circuit, IC)。是指內(nèi)含集成電路的硅片,體積很小,常常是計(jì)算機(jī)或其他電子設(shè)備的一部分。
芯片的制造過程:
1、芯片的原料晶圓
晶圓的成分是硅,硅是由石英沙所精練出來的,晶圓便是硅元素加以純化(99.999%),接著是將這些純硅制成硅晶棒,成為制造集成電路的石英半導(dǎo)體的材料,將其切片就是芯片制作具體所需要的晶圓。晶圓越薄,生產(chǎn)的成本越低,但對(duì)工藝就要求的越高。
2、晶圓涂膜
晶圓涂膜能抵抗氧化以及耐溫能力,其材料為光阻的一種。
3、晶圓光刻顯影、蝕刻
該過程使用了對(duì)紫外光敏感的化學(xué)物質(zhì),即遇紫外光則變軟。通過控制遮光物的位置可以得到芯片的外形。在硅晶片涂上光致抗蝕劑,使得其遇紫外光就會(huì)溶解。這時(shí)可以用上第一份遮光物,使得紫外光直射的部分被溶解,這溶解部分接著可用溶劑將其沖走。這樣剩下的部分就與遮光物的形狀一樣了,而這效果正是我們所要的。這樣就得到我們所需要的二氧化硅層。
4、摻加雜質(zhì)
將晶圓中植入離子,生成相應(yīng)的P、N類半導(dǎo)體。
具體工藝是是從硅片上暴露的區(qū)域開始,放入化學(xué)離子混合液中。這一工藝將改變攙雜區(qū)的導(dǎo)電方式,使每個(gè)晶體管可以通、斷、或攜帶數(shù)據(jù)。簡單的芯片可以只用一層,但復(fù)雜的芯片通常有很多層,這時(shí)候?qū)⑦@一流程不斷的重復(fù),不同層可通過開啟窗口聯(lián)接起來。這一點(diǎn)類似多層PCB板的制作原理。 更為復(fù)雜的芯片可能需要多個(gè)二氧化硅層,這時(shí)候通過重復(fù)光刻以及上面流程來實(shí)現(xiàn),形成一個(gè)立體的結(jié)構(gòu)。
5、晶圓測試
經(jīng)過上面的幾道工藝之后,晶圓上就形成了一個(gè)個(gè)格狀的晶粒。通過針測的方式對(duì)每個(gè)晶粒進(jìn)行電氣特性檢測。一般每個(gè)芯片的擁有的晶粒數(shù)量是龐大的,組織一次針測試模式是非常復(fù)雜的過程,這要求了在生產(chǎn)的時(shí)候盡量是同等芯片規(guī)格構(gòu)造的型號(hào)的大批量的生產(chǎn)。數(shù)量越大相對(duì)成本就會(huì)越低,這也是為什么主流芯片器件造價(jià)低的一個(gè)因素。
6、封裝
將制造完成晶圓固定,綁定引腳,按照需求去制作成各種不同的封裝形式,這就是同種芯片內(nèi)核可以有不同的封裝形式的原因。比如:DIP、QFP、PLCC、QFN等等。這里主要是由用戶的應(yīng)用習(xí)慣、應(yīng)用環(huán)境、市場形式等外圍因素來決定的。
7、測試、包裝
經(jīng)過上述工藝流程以后,芯片制作就已經(jīng)全部完成了,這一步驟是將芯片進(jìn)行測試、剔除不良品,以及包裝。
四、處理器,內(nèi)核,芯片三個(gè)概念的區(qū)別
芯片是最大的統(tǒng)稱,只要是包含了各種半導(dǎo)體元件的集成電路都是芯片。
處理器是芯片的一種,指可以執(zhí)行程序的邏輯機(jī)器。電腦里用的CPU其實(shí)名字是中央處理器,是處理器的一種。其他還可以有諸如圖像處理器,數(shù)字信號(hào)處理器等。
內(nèi)核有多種概念,在計(jì)算機(jī)硬件方面的內(nèi)核指處理器的內(nèi)部核心,包裝在一個(gè)元件中的獨(dú)立處理單元,稱為core。在計(jì)算機(jī)軟件方面指操作系統(tǒng)最基本的部分,負(fù)責(zé)管理系統(tǒng)資源和提供對(duì)系統(tǒng)資源的訪問,稱為kernel。芯片包含了CPU 但是工作方式不同 芯片代替不了CPU 因?yàn)镃PU內(nèi)部電路都是很多晶體管組成
-
處理器
+關(guān)注
關(guān)注
68文章
20250瀏覽量
252211 -
芯片
+關(guān)注
關(guān)注
463文章
54007瀏覽量
465947 -
內(nèi)核
+關(guān)注
關(guān)注
4文章
1467瀏覽量
42872
發(fā)布評(píng)論請(qǐng)先 登錄
鴻蒙內(nèi)核源碼分析:關(guān)于內(nèi)存涉及的C7,C2,C13三個(gè)寄存器
dsp芯片和通用微處理器有什么區(qū)別
英特爾為云計(jì)算服務(wù)器小型化開發(fā)48內(nèi)核芯片處理器
amd處理器與intel區(qū)別對(duì)比_amd處理器與intel哪個(gè)好
一文讀懂處理器流水線
如何選擇處理器的三個(gè)關(guān)鍵:工作頻率(時(shí)鐘速度)、緩存和內(nèi)核數(shù)量
架構(gòu),內(nèi)核,處理器,芯片、指令集概念;寄存器和內(nèi)存關(guān)系;數(shù)據(jù)線、地址線、控制線作用
一文讀懂處理器,內(nèi)核,芯片三個(gè)概念的區(qū)別
評(píng)論