文學(xué)研究多核軟件開發(fā)技術(shù)多核技術(shù)導(dǎo)_第1頁
文學(xué)研究多核軟件開發(fā)技術(shù)多核技術(shù)導(dǎo)_第2頁
文學(xué)研究多核軟件開發(fā)技術(shù)多核技術(shù)導(dǎo)_第3頁
文學(xué)研究多核軟件開發(fā)技術(shù)多核技術(shù)導(dǎo)_第4頁
文學(xué)研究多核軟件開發(fā)技術(shù)多核技術(shù)導(dǎo)_第5頁
已閱讀5頁,還剩54頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

多核軟件開發(fā)技術(shù)第一講:多核技術(shù)導(dǎo)論本講主要內(nèi)容微處理器發(fā)展史并行計算機超大規(guī)模集成電路與系統(tǒng)芯片發(fā)展片上多核處理器架構(gòu)芯片組對多核的支持操作系統(tǒng)對多核處理器的支持方法微處理器發(fā)展史計算機與微處理器1945年,美國研制世界上第一臺數(shù)字計算機第一代(

1946

~

1958

):電子管數(shù)字計算機第二代(

1958

~

1964

):晶體管數(shù)字計算機第三代(

1964

~

1971

):集成電路數(shù)字計算機第四代(1971年以后):大規(guī)模集成電路數(shù)字計算機4位、8位與16位微處理器第一代處理器:4位1971年,英特爾推出微處理器4004世界上第一款微處理器第二代處理器:Intel公司的8080、8085Zilog公司的Z80摩托羅拉公司的6800第三代處理器Intel公司的8086、8088、80286Zilog公司的Z8000摩托羅拉公司的6800032位微處理器1985年10月17日,英特爾80386

DX正式發(fā)布1989年,英特爾推出80486芯片1993年,586

CPU問世:Pentium(奔騰)2002年,新款I(lǐng)ntel

Pentium

4處理器內(nèi)含超線程技術(shù)2005年4月18日,英特爾首發(fā)基于雙核技術(shù)桌面產(chǎn)品英特爾奔騰D處理器并行計算機并行計算機由一組處理單元組成各處理單元之間相互通信與協(xié)作以更快的速度共同完成一項大規(guī)模計算任務(wù)并行計算機的分類:Flynn分類法根據(jù)指令流和數(shù)據(jù)流的不同組織方式單指令流單數(shù)據(jù)流(

Single

Instruction

stream

Single

Data

stream,SISD)單指令流多數(shù)據(jù)流(

Single

Instruction

stream

Multiple

Data

stream,SIMD)多指令流單數(shù)據(jù)流(

Multiple

Instruction

stream

Single

Data

stream,MISD)多指令流多數(shù)據(jù)流(

Multiple

Instruction

stream

Multiple

Data

stream,MISD)超級計算機分布式存儲器的SIMD處理機含有多個同樣結(jié)構(gòu)的處理單元(PE)通過尋徑網(wǎng)絡(luò)以一定方式互相連接在陣列控制部件的統(tǒng)一指揮下,實現(xiàn)并行操作向量超級計算機(共享式存儲器SIMD)共享的多個并行存儲器通過對準網(wǎng)絡(luò)與各處理單元PE相連對稱多處理器(SMP)在一個計算機上匯集了一組處理器各處理器之間共享內(nèi)存子系統(tǒng)以及總線結(jié)構(gòu)工作負載能夠均勻地分配到所有可用處理器之上超級計算機并行向量處理機(

PVP)通過向量處理和多個向量處理器并行處理兩條途徑來提高處理能力使用定制的高帶寬網(wǎng)絡(luò)將向量處理器連向共享存儲器模塊集群計算機是一種并行或分布式處理系統(tǒng)由很多連接在一起的獨立計算機組成像一個單獨集成的計算機資源一樣協(xié)同工作超大規(guī)模集成電路與系統(tǒng)芯片發(fā)展超大規(guī)模集成電路技術(shù)集成電路:采用半導(dǎo)體制作工藝,在一塊較小的單晶硅片上制作許多晶體管及電阻器、電容器等元器件,并按照多層布線或隧道布線的方法將元器件組合成完整的電子電路摩爾定律:微芯片上集成的晶體管數(shù)目每12個月翻一番系統(tǒng)芯片(

So

C):定義狹義上:指在一個芯片上實現(xiàn)信號采集、轉(zhuǎn)換、存儲、處理和I/O等功能,包含嵌入軟件及整個系統(tǒng)的全部內(nèi)容廣義上:指一種芯片設(shè)計技術(shù),可以實現(xiàn)從確定系統(tǒng)功能開始,到軟硬件劃分,并完成設(shè)計的整個過程IP核IP核(

IP,Intellectual

Property,知識產(chǎn)權(quán))是具有復(fù)雜系統(tǒng)功能的能夠獨立出售的VLSI塊So

C一般由可設(shè)計重用的IP核組成其IP核應(yīng)采用深亞微米以上工藝技術(shù)So

C的一般構(gòu)成邏輯核:包括CPU、時鐘電路、定時器、中斷控制器、串并行接口、其它外圍設(shè)備、I/O端口以及用于各種IP核之間的粘合邏輯等等存儲器核:包括各種易失、非易失以及Cache等存儲器;模擬核:包括ADc、DAc、PLL以及一些高速電路中所用的模擬電路So

C的優(yōu)點采用內(nèi)部訊號的傳輸,降低耗電量系統(tǒng)整合在一塊芯片上,減少體積和重量在相同面積上整合更多的功能元件和組件,豐富系統(tǒng)功能芯片內(nèi)部信號傳遞的距離縮短,速度提高IP模塊的出現(xiàn)可以減少研發(fā)成本,降低研發(fā)時間,可適度節(jié)省成本片上多核處理器架構(gòu)多核芯片IBM在2001年發(fā)布雙核RISC處理器POWER

4它將兩個64位Power

PC處理器內(nèi)核集成在同一顆芯片上,成為首款采用多核設(shè)計的服務(wù)器處理器HP和Sun也相繼在2004年2月和3月發(fā)布名為PA-RISC

8800和Ultra

SPARCIV的雙內(nèi)核處理器AMD在2005年4月推出了它的雙核處理器Opteron

V的雙內(nèi)核處理器2006年11月,英特爾搶先推出了四核產(chǎn)品片上多核處理器體系結(jié)構(gòu)片上多核處理器(

CMP):將多個計算內(nèi)核集成在一個處理器芯片中CMP可分為同構(gòu)多核和異構(gòu)多核計算內(nèi)核相同,地位對等的稱為同構(gòu)多核計算內(nèi)核不同,地位不對等的稱為異構(gòu)多核異構(gòu)多核多采用“主處理核+協(xié)處理核”的設(shè)計典型多核芯片架構(gòu)芯片組對多核的支持南、北橋芯片按照在主板上的排列位置的不同,芯片組通常分為北橋芯片和南橋芯片北橋芯片:提供對CPU的類型和主頻、內(nèi)存的類型和最大容量、ISA/PCI/AGP插槽、ECC糾錯等支持南橋芯片:提供對KBC(鍵盤控制器)、RTC(實時時鐘控制器)、USB(通用串行總線)、UltraDMA/33(66)EIDE數(shù)據(jù)傳輸方式和ACPI(高級能源管理)等的支持固件固件是一種嵌入到硬件設(shè)備中的軟件通常燒寫在flash等擦寫可編程芯片中其上的程序可以通過專門外部硬件進行修改不能被一般的應(yīng)用程序改動傳統(tǒng)的固件就是BIOSBIOS(

Basic

Input/

Output

System

)系統(tǒng)硬件和操作系統(tǒng)之間的抽象層啟動操作系統(tǒng)并提供對系統(tǒng)設(shè)備底層的通訊通常由兩部分組成:上電自舉即POST(

Power

On

Self

Test)在線的中斷服務(wù)(主要由legacy操作系統(tǒng)使用)EFI(

Extensible

Firmware

Interface)新一代固件技術(shù)在操作系統(tǒng)與平臺固件之間的軟件接口EFI規(guī)范定義的接口包括:包含平臺信息的數(shù)據(jù)表啟動時及啟動后的服務(wù),例如時間,日期等Tiano是EFI的一個具體實現(xiàn),完全符合EFI規(guī)范Framework是一種固件的架構(gòu)是EFI固件接口的一種實現(xiàn)用來完全替代傳統(tǒng)的BIOS是層次化和模塊化的由C語言來實現(xiàn)圖表14

Framework結(jié)構(gòu)圖Framework結(jié)構(gòu)圖TianoEFI的一個具體實現(xiàn)完全符合EFI規(guī)范支持所有的Intel體系結(jié)構(gòu)系列Tiano按階段來初始化平臺Tiano固件階段EFI對多核支持Framework在多核計算機中初始化過程如下SEC:從實模式切換到保護模式,處理不同的重啟事件、對每個處理器進行緩存設(shè)置PEI:做少量的硬件初始化DXE:

對所有可用的硬件設(shè)備進行初始化,為建立控制臺和啟動操作系統(tǒng)提供必要的服務(wù)BDS:建立所需的控制臺設(shè)備,并在輸出控制臺上顯示用戶界面操作系統(tǒng)對多核處理器的支持方法系統(tǒng)調(diào)度目前還沒有明確的標準與規(guī)范,研究熱點:程序的并行研究多進程的時間相關(guān)性研究任務(wù)的分配與調(diào)度緩存的錯誤共享一致性訪問研究進程間通信多處理器核內(nèi)部資源競爭等有代表性的多核調(diào)度算法對任務(wù)的分配進行優(yōu)化對任務(wù)的共享數(shù)據(jù)優(yōu)化對任務(wù)的負載均衡優(yōu)化輸入輸出系統(tǒng)高級編程中斷控制器(APIC):

基于中斷控制器分散在兩個基礎(chǔ)功能單元——本地單元和I/O單元的分布式體系結(jié)構(gòu)本地各I/O單元能夠通過一個叫中斷控制通信(ICC)的總線互相之間通信APIC基本功能:減緩與中斷相關(guān)的內(nèi)存總線傳輸壓力幫助核之間更好的處理來自別的核的中斷接收來自處理器中斷引腳的來自內(nèi)部或外部I/O

APIC的中斷接受發(fā)送核內(nèi)中斷(Interprocessor

interrupt,IPI)消息虛擬化技術(shù)虛擬化:是指對計算機資源進行的抽象,在系統(tǒng),應(yīng)用或用戶與資源進行交互時,對計算機資源的物理特性進行隱藏的一種技術(shù)虛擬化包括:將單一物理資源當(dāng)作多個邏輯資源將多個物理資源當(dāng)作單一邏輯資源虛擬化技術(shù)平臺虛擬化:由指定硬件平臺上宿主軟件來實行,為其它軟件提供一個模擬的計算機模擬環(huán)境資源虛擬化:合并單個資源形成更大的資源或者資源池分區(qū)將單一資源劃分成同種形式更易于管理的資源封裝通過創(chuàng)建簡化的接口來隱藏資源復(fù)雜性典型的支持多核的操作系統(tǒng)Linux

2.0內(nèi)核是第一個支持SMP硬件的內(nèi)核:通過使用一種粗粒度的鎖來保證系統(tǒng)的完整性Linux

2.6中,提出了一種新的O(

1

)的進程調(diào)度器,此調(diào)度器可以更好的支持SMP系統(tǒng)Windows目前能夠在多內(nèi)核處理器上運行,但并沒有針對這類處理器進行優(yōu)化多線程的概念多線程線程是進程上下文中執(zhí)行的代碼序列多線程機制的優(yōu)點創(chuàng)建一個線程比創(chuàng)建一個進程的代價要小線程的切換比進程間的切換代價小充分利用多處理器數(shù)據(jù)共享快速響應(yīng)特性用戶級線程和內(nèi)核級線程根據(jù)多線程實現(xiàn)機制:線程又被分為用戶級線程和內(nèi)核級線程用戶級線程:有關(guān)線程的所有管理工作都由在用戶級實現(xiàn)的線程庫來支持內(nèi)核級線程:所有管理操作都是由操作系統(tǒng)內(nèi)核完成的運行速度:內(nèi)核級線程>用戶級線程>進程多線程的映射模型用戶級線程和內(nèi)核級線程之間的映射方式多對一模型:把多個用戶級線程映射到一個內(nèi)核級線程一對一模型:把每個用戶級線程影射到一個內(nèi)核級線程多對多模型:將m個用戶級線程影射到n個內(nèi)核級線程,m≥n多對多映射線程的生命周期線程的標識線程的創(chuàng)建線程的終止線程的狀態(tài)線程的同步線程共享同一進程的內(nèi)存空間多個線程可能需要同時訪問同一個數(shù)據(jù)在兩個線程訪問共享數(shù)據(jù)時需要同步機制常用的同步機制包括:臨界區(qū)(

critical

section)信號量(

simphore)互斥量(

mutex)管程(

monitor)互斥量(

mutex)互斥量作為一種互斥設(shè)備,有兩個狀態(tài):上鎖和空閑在同一時刻只能有一個線程能夠?qū)コ饬考渔i信號量信號量被定義為一個整數(shù)變量對信號量只能通過兩個原子操作wait和signal和互斥量相比,信號量更加靈活wait(s){while(S

<=

0);

/*no-op*/S――

;}signal(S){S++;}條件變量

等待謂詞條件:

pthread_mutex_lock(&mut);while(x<=y){pthread_cond_wait(&cond,

&mut);}

阻塞在條件變量:

pthread_mutex_lock(&mut);/*modify

x,

y

*/if(x>y)

pthread_cond_signal(&cond);pthread_mutex_unlock(&mut);32位微處理器1985年10月17日,英特爾80386

DX正式發(fā)布1989年,英特爾推出80486芯片1993年,586

CPU問世:Pentium(奔騰)2002年,新款I(lǐng)ntel

Pentium

4處理器內(nèi)含超線程技術(shù)2005年4月18日,英特爾首發(fā)基于雙核技術(shù)桌面產(chǎn)品英特爾奔騰D處理器并行計算機的分類:Flynn分類法根據(jù)指令流和數(shù)據(jù)流的不同組織方式單指令流單數(shù)據(jù)流(

Single

Instruction

stream

Single

Data

stream,SISD)單指令流多數(shù)據(jù)流(

Single

Instruction

stream

Multiple

Data

stream,SIMD)多指令流單數(shù)據(jù)流(

Multiple

Instruction

stream

Single

Data

stream,MISD)多指令流多數(shù)據(jù)流(

Multiple

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論