系統匯流排的問題,透過圖書和論文來找解法和答案更準確安心。 我們找到下列懶人包和總整理

系統匯流排的問題,我們搜遍了碩博士論文和台灣出版的書籍,推薦吳寧寫的 微型計算機原理及應用(第4版) 和何賓的 Xilinx Zynq-7000嵌入式系統設計與實現:基於Arm Cortex-A9雙核處理器和Vivado的設計方法(第二版)都 可以從中找到所需的評價。

另外網站PC語彙也說明:最早是由Intel、Microsoft及Toshiba所共同開發的電力管理系統介面。 ... AGP不透過PCI 匯流排而直接存取記憶體, 並能夠使用主機板上的記憶體來存放TEXTURE ...

這兩本書分別來自電子工業 和電子工業所出版 。

國立陽明交通大學 電子研究所 黃俊達所指導 胡嘉恆的 具高效率及擴展性且完成系統單晶片整合準備並採用 VLIW 指令集驅動之卷積神經網路加速器 (2021),提出系統匯流排關鍵因素是什麼,來自於卷積神經網路、硬體加速器、低功耗、高資源使用率、高效能、單晶片系統整合。

而第二篇論文國立交通大學 網路工程研究所 王協源所指導 蕭任鈞的 在 P4 實體交換機上設計與實作深度封包檢測 (2020),提出因為有 深度封包檢測、協定獨立的可程式化封包處理器、軟體定義網路的重點而找出了 系統匯流排的解答。

最後網站創新型數位匯流排架構降低音訊系統成本 - 電子工程專輯則補充:然而,MOST和乙太網路EAVB雖然能夠提高性能和靈活性,但需要加入高價格的微控制器來實施相關軟體協定堆疊,而進一步增加了系統成本。此外,這些數位匯流排 ...

接下來讓我們看這些論文和書籍都說些什麼吧:

除了系統匯流排,大家也想知道這些:

微型計算機原理及應用(第4版)

為了解決系統匯流排的問題,作者吳寧 這樣論述:

本書是“十二五”普通高等教育本科國家級規劃教材和國家精品課程建設成果,力求做到“基礎性、系統性、實用性和先進性”的統一。   全書共8章,包括電腦基礎、80x86/Pentium微處理器、80x86/Pentium指令系統、組合語言程式設計、半導體記憶體、輸入/輸出和中斷、微型機介面技術和微型計算機系統的發展等。該書為任課老師提供電子課件和附錄清單。    本書適合作為高校工科各專業微機原理及應用(或微機原理與介面技術)課程教材,也可作為考研參考書和從業人員的參考手冊。 吳甯,博士生導師,中國電子學會高級會員。1982 年畢業於中國科學技術大學無線電系後繼續在該校攻讀碩士學

位,1985年獲通信與電子系統專業工學碩士學位。   1985 年6月至今在南京航空航太大學電子工程系任教。主要從事信號獲取與處理,數位系統設計與自動測試,電子系統集成與專用積體電路設計技術領域的教學科研工作。先後承擔了"921”國家重點工程、航空基金、江蘇省自然科學基金、國防重點型號等科研課題數十項,獲省部級科技進步獎4項。其中重大科研項目有:研究數位系統設計、驗證與測試一體化的原理和方法(航空基金),並開發了相關的軟體平臺用於數位系統設計、驗證與測試;設計並研製"神舟號”載人飛船熱控系統地面 類比試驗台("921”國家重點工程),用於載人飛船熱控系統地面類比裝置的原理性試驗研究及系統部件的

性能測試,為船用液體冷卻回路主動熱控系統提供試驗資料;基於動態路徑分配的低功耗高性能片上網路關鍵技術研究(江蘇省自然科學基金);高速資料獲取與測控系統,用於國防重點型號燃油、液壓系統的設計和 性能測試研究;數位元影像處理與目標識別(航空基金),主要研究小波變換在圖像壓縮處理中的應用及逆合成孔徑雷達飛機圖像的後處理、特徵提取、分類與識別;雷達發射及接收元件故障測試方法研究與實現,當雷達發射或接收元件發生故障時,能夠自動快速定位故障並隔離至元件級。 第1章 電腦基礎 1 1.1 電腦及系統組成 1 1.1.1 微型電腦硬體系統組成 2 1.1.2 微型電腦軟體系統 7 1.1.

3 微型電腦中指令執行的基本過程 7 1.1.4 微型電腦性能的評估指標 10 1.2 電腦中數值資料資訊的表示 12 1.2.1 機器數和真值 12 1.2.2 數的表示方法――原碼、反碼和補數 13 1.2.3 補數的運算 16 1.2.4 定點數與浮點數 17 1.2.5 BCD碼及其十進位調整 20 1.3 電腦中非數值資料的資訊表示 22 1.3.1 西文資訊的表示 22 1.3.2 中文資訊的表示 23 習題1 24 第2章 微處理器 25 2.1 微處理器概述 25 2.2 80x86/Pentium微處理器的內部結構 28 2.2.1 8086/8088 CPU基本結構 28

2.2.2 80386 CPU內部結構 34 2.2.3 80x87數學輔助處理器 48 2.2.4 Pentium CPU內部結構 51 2.2.5 Pentium系列其他微處理器 56 2.3 微處理器的主要引腳及功能 56 2.3.1 8086/8088 CPU引腳功能 56 2.3.2 80386 CPU主要引腳功能 61 2.3.3 Pentium CPU主要引腳功能 62 2.4 系統匯流排與典型時序 64 2.4.1 CPU系統匯流排及其操作 64 2.4.2 基本匯流排操作時序 65 2.4.3 特殊匯流排操作時序 67 2.5 典型CPU應用系統 69 2.5.1 8086

/8088支援晶片 69 2.5.2 8086/8088單CPU(最小模式)系統 73 2.5.3 8086/8088多CPU(最大模式)系統 74 2.6 CPU的工作模式 77 2.6.1 真實位元址模式 77 2.6.2 保護模式 77 2.6.3 虛擬8086模式 78 2.6.4 系統管理模式 78 習題2 78 第3章 微處理器指令系統 81 3.1 指令格式 81 3.2 定址方式 83 3.2.1 定址方式與有效位元址EA的概念 83 3.2.2 80x86/Pentium各種定址方式 83 3.2.3 80x86/Pentium記憶體定址的段約定 86 3.2.4 幾種處理

器定址方式比較 87 3.3 8086/8088 CPU指令系統 88 3.3.1 資料傳送類指令 88 3.3.2 算數運算類指令 92 3.3.3 邏輯運算與移位元元指令 98 3.3.4 串操作指令 101 3.3.5 控制轉移類指令 104 3.3.6 處理器控制類指令 111 3.4 80x86/Pentium CPU指令系統 112 3.4.1 80286 CPU的增強與增加指令 113 3.4.2 80386 CPU的增強與增加指令 115 3.4.3 80486 CPU增加的指令 117 3.4.4 Pentium系列CPU增加的指令 117 3.5 80x87浮點運算指令 1

20 3.5.1 80x87的資料類型與格式 120 3.5.2 浮點寄存器 121 3.5.3 80x87指令簡介 121 習題3 122 第4章 組合語言程式設計 127 4.1 程式設計語言概述 127 4.2 組合語言的程式結構與語句格式 129 4.2.1 組合語言來源程式的框架結構 129 4.2.2 組合語言的語句 130 4.3 組合語言的虛擬指令 134 4.3.1 基本虛擬指令語句 134 4.3.2 80x86/Pentium CPU擴展虛擬指令 146 4.4 組合語言程式設計方法 149 4.4.1 程式設計的基本過程 149 4.4.2 順序結構程式設計 150

4.4.3 分支結構程式設計 151 4.4.4 迴圈結構程式設計 155 4.4.5 副程式設計與調用技術 158 4.5 模組化程式設計技術 167 4.5.1 模組化程式設計的特點與規範 167 4.5.2 程式中模組間的關係 168 4.5.3 模組化程式設計舉例 168 4.6 綜合應用程式設計舉例 170 4.6.1 16位元真實模式程式設計 170 4.6.2 基於32位元元指令的真實模式程式設計 174 4.6.3 基於多媒體指令的真實模式程式設計 175 4.6.4 保護模式程式設計 177 4.6.5 浮點指令程式設計 180 4.7 組合語言與C/C++語言混合程式設計

181 4.7.1 內嵌模組方法 181 4.7.2 多模組混合程式設計 181 習題4 184 第5章 半導體記憶體 188 5.1 半導體記憶體概述 188 5.1.1 半導體記憶體的分類 189 5.1.2 存儲原理與位址解碼 190 5.1.3 主要性能指標 192 5.2 隨機存取記憶體(RAM) 193 5.2.1 靜態RAM(SRAM) 193 5.2.2 動態RAM(DRAM) 196 5.2.3 隨機存取記憶體RAM的應用 198 5.3 唯讀記憶體(ROM) 201 5.3.1 掩膜ROM和PROM 201 5.3.2 EPROM(可擦除的PROM) 202 5.4 記憶

體連接與擴充應用 207 5.4.1 記憶體晶片選擇 207 5.4.2 記憶體容量擴充 209 5.4.3 RAM存儲模組 210 5.5 CPU與記憶體的典型連接 212 5.5.1 8086/8088 CPU的典型記憶體連接 212 5.5.2 80386/Pentium CPU的典型記憶體連接 214 5.6 微機系統的記憶體結構 215 5.6.1 分級存儲結構 216 5.6.2 快取記憶體Cache 216 5.6.3 虛擬記憶體與段頁結構 218 習題5 219 第6章 輸入/輸出和中斷 220 6.1 輸入/輸出及介面 220 6.1.1 I/O資訊的組成 220 6.1.

2 I/O介面概述 220 6.1.3 I/O埠的編址 221 6.1.4 簡單的I/O介面 224 6.2 輸入/輸出的傳送方式 225 6.2.1 程式控制的輸入/輸出 225 6.2.2 中斷控制的輸入/輸出 228 6.2.3 直接資料通道傳送 229 6.3 中斷技術 230 6.3.1 中斷的基本概念 230 6.3.2 中斷優先權 232 6.4 80x86/Pentium中斷系統 234 6.4.1 中斷結構 234 6.4.2 中斷向量表 236 6.4.3 中斷回應過程 237 6.4.4 80386/80486/Pentium CPU中斷系統 239 6.5 8259A可

程式設計中斷控制器 242 6.5.1 8259A晶片的內部結構與引腳 243 6.5.2 8259A晶片的工作過程及工作方式 244 6.5.3 8259A命令字 247 6.5.4 8259A晶片應用舉例 252 6.6 中斷程式設計 256 6.6.1 設計方法 256 6.6.2 中斷程式設計舉例 258 習題6 261 第7章 微型機介面技術 265 7.1 介面技術概述 265 7.2 可程式設計定時/計數器 266 7.2.1 可程式設計定時/計數器8253 267 7.2.2 可程式設計定時/計數器8254 273 7.3 可程式設計平行介面 274 7.3.1 可程式設計平

行介面晶片8255A 274 7.3.2 平行埠印表機介面應用 281 7.3.3 鍵盤和顯示器介面 285 7.4 序列介面與串列通信 289 7.4.1 串列通信的基本概念 289 7.4.2 可程式設計串列通信介面8251A 295 7.4.3 可程式設計非同步通信介面INS8250 302 7.4.4 通用序列匯流排USB 302 7.4.5 I2C與SPI串列匯流排 305 7.5 DMA控制器介面 307 7.5.1 8237A晶片的基本功能和引腳特性 307 7.5.2 8237A晶片內部寄存器與程式設計 309 7.5.3 8237A應用與程式設計 312 7.6 類比量輸入/

輸出介面 314 7.6.1 概述 314 7.6.2 並行和串列D/A轉換器 315 7.6.3 並行和串列A/D轉換器 321 習題7 329 第8章 微型電腦系統的發展 332 8.1 微型電腦體系結構及系統匯流排 332 8.1.1 微型電腦體系結構 332 8.1.2 系統外部匯流排 335 8.2 工作站 338 8.2.1 配置和功能 338 8.2.2 分類 338 8.2.3 工作站的特點 339 8.3 伺服器 340 8.3.1 分類 340 8.3.2 硬體特點 341 8.3.3 外形 342 8.3.4 電腦、工作站和伺服器 343 8.4 SoC與嵌入式系統 3

43 8.4.1 SoC 343 8.4.2 嵌入式系統 345 8.5 多核處理器 347 8.5.1 發展歷程 347 8.5.2 多核技術 348 8.5.3 多核處理器開發應用 349 8.6 平行計算與分散式運算 349 8.6.1 平行計算 349 8.6.2 分散式運算 351 8.6.3 雲計算、集群計算及網格計算 353 參考文獻 356

系統匯流排進入發燒排行的影片

Twitch傳送門: https://www.twitch.tv/otakuarmy2

君要臣死,臣不得不死,但死前總是可以說真話吧?台電工程師多年以來在沒有專業背景的迫害下每天都在被迫洗地,綠營還有臉指控 #台電 ?

這是台電官派董事長寫給員工的信:【台電二萬多名員工遍布在台灣各地,平時或許沒有人注意,但其實你們每一個人,都是支撐全台民眾能夠享受穩定電力、舒適生活的依靠;現在疫情當前,全台灣的民眾充滿著不安的情緒,在這個時候,我們多一分努力,就能減少一分民眾的不安,我想跟各位同仁說,大家千萬不要因為遭遇一時的挫折,就失去了鬥志和信心。】

但問題就是台電員工至今背負的都是歷代做官高層曲意奉承執政黨的包袱,說要廢核就廢核,說要非核家園就要非核家園,文組畫完梗圖寫完口號之後沒有任何解決方案,做不到就是做不到,政治人物都把工程師當煉金術師,卻沒有賢者之石,這是要怎麼辦到全世界都辦不到的事情?用愛鍊金嗎?

最近媒體還報導有綠營民代質疑是不是台電基層刻意弄壞系統,要讓執政黨難堪,更北七的還有說這是擁核派反撲,講得好像全台灣都有很多擁核恐怖分子會偷偷的攻擊電廠一樣,這世界真的這麼北七嗎?

根據聯合報的報導:【近來一周內全台二度大停電,民進黨立委洪申翰在臉書表示,517大停電主因是台電電廠的歲修排程,未考量用電高峰5月提前大增所致,因應之道是要大幅提高電力系統因應風險能力,而核電應變升降速度最慢,無法成為救援應變的選項。】然後他就被幹爆了,王廠長可不可以講一下到底無知的民進黨立委洪申翰錯在哪裡?

說到 #核四 到底可不可以用的問題,當年主持核四總體檢的安檢總顧問,曾任美國芝加哥最大電力公司的部門經理及美國機械工程師學會核能法規委員會主席的蔡維綱博士,今年四月在信中是這樣寫的:【在2013-2014年期間,安檢小組成功的完成了所有系統複審和運轉前測試以及重新驗證。安檢小組執行的所有任務均由經過全面培訓合格的人員執行,並按照經批准的國際和台電品質保證標準進行。測試程序書均由系統供應廠商和台電審查和批准。所有測試結果全部符合驗收標準,確認了系統功能和跨系統交互功能以滿足所有設計規範。這也證明了龍門已依據美國相關核能法規要求的建廠初始測試計畫(如 10CFR50.34,10CFR52.79,10CFR50 Appendix B 及 RG 1.68 等)。

基於我近40年的美國和國際核能經驗和專業知識,更重要的是根據龍門「系統複審」和「運轉前測試和重新驗證」的結果。

我的結論是:龍門系統符合所有設計要求,可以保證在正常或異常情況下為公眾的健康和安全提供全面保護。這給龍門法律和技術基礎去申請台灣原能會的批准做燃料裝載,啟動測試和商業運轉。】但最後政治決定還是不准運轉,你說政客機歪不機歪?

好啦,最近這兩天又全台灣大 #停電 ,根據鏡周刊的報導是這樣的,請王廠長看看是真的嗎:【台電發言人張廷抒說明,513大停電,源於人為疏失:台電一名工作人員進行輸電擴充工程測試時,誤開隔離開關,導致匯流排接地故障。匯流排是乘載電力輸配的關鍵設備。發電機組發電後,電力會傳輸到匯流排經變壓,再分配至電力配送線路。匯流排故障時,為避免接地故障產生的高熱波及發電機組造成更大的危險,會自動開啟保護設施,自動斷電、發電機組也會自動跳機。4部機組共影響約220萬瓩電力、占尖峰負載6%。至於17日的事件,張廷抒指出,當天下午2時9分的尖峰負載達到3,744.3萬瓩,「比預期多了64萬瓩、打破歷史5月用電紀錄,供電高峰比往年提早到來;入夜後至晚間19時30分,負載仍接近3,500萬瓩。如果歲修機組歸隊,供電是可運作的,可惜沒有,才會用電吃緊。」】


阿宅萬事通語錄貼圖上架囉 https://reurl.cc/dV7bmD​

【加入YT會員按鈕】 https://reurl.cc/raleRb​
【訂閱YT頻道按鈕】 https://reurl.cc/Q3k0g9​
購買朱大衣服傳送門: https://shop.lucifer.tw/

具高效率及擴展性且完成系統單晶片整合準備並採用 VLIW 指令集驅動之卷積神經網路加速器

為了解決系統匯流排的問題,作者胡嘉恆 這樣論述:

本篇論文提出一高效能低功耗之卷積神經網路(CNN)硬體加速器設計。此加速器採用基於雙卷積器計算核心之架構,除了支援一般常見之3x3及1x1卷積運算之外,尚還支援反卷積(Deconvolution)運算,使其具備執行物件偵測以及圖像語義分割等高階影像處理任務之能力。本加速器採用512位元的超長指令(VLIW)集,一個指令即可完成整個卷積層運算所需之設定。此外指令集亦原生支援具跨層資料串接(Concatenation)之當前最先進的卷積網路模型例如:DenseNet [7]。可以有效解決輸入特徵圖由數個不同卷積層輸出串接而來之問題。加速器亦具有多模輸入對位器(Multi-Mode Input A

ligner, MMIA)設計,在不同的卷積運算模式下,皆能有效率地將輸入資料正確重組排列後饋入計算核心,確保計算核心全速滿載運作。而此多模輸入對位器亦同時支援自動零填充(Zero-Padding)的操作,大幅改善傳統上藉由軟體來執行此操作的整體系統效率。本加速器亦搭配一零初始延遲緩衝器(Zero-Initial-Latency Buffer)設計,確保計算核心於輸入資料換列之際依舊勿需暫停運作。本加速器之輸出入資料格式為8位元定點數,而內部計算資料格式則提升為24位元,如此可同時達成記憶體減量以及維持計算精確度兩項目標。而加速器之輸出入資料流皆經過排程優化,確保輸出入資料僅需進出加速器一次,

藉以大幅節省DRAM存取時所需之功耗與延遲。本加速器採用高度彈性且易於擴充架構設計,具備同時處理多個輸入及輸出資料通道的平行計算能力。一加速器能提供的最大算力由所配置之雙卷積器計算核心個數來決定。使用者可依其目標應用所需之計算量來決定最適當的硬體架構組態。本加速器設計亦完整考量未來SoC整合時之所需,加速器對外部系統的資料與控制界面採用目前業界最被廣泛使用的AXI-4匯流排標準,故將本加速器整合至目標SoC系統晶片時所需之工作可被大幅簡化並加速。所有資料進出AXI-4匯流排時皆經過交替緩衝器(Ping-Pong Buffer)機制來維持與計算核心同時運作。因此對內不會降低計算核心效能,對外不會

拖慢整體SoC系統匯流排效能。於台積電40奈米製程下,本加速器(具576個MAC單元版本)之重要性能諸元為:操作頻率可達1.25GHz,效能峰值為每秒1.44TOPS,面積效率為2.94GOPS/K-Gate,而能源效率更高達8.71TOPS/W,表現極為優異。

Xilinx Zynq-7000嵌入式系統設計與實現:基於Arm Cortex-A9雙核處理器和Vivado的設計方法(第二版)

為了解決系統匯流排的問題,作者何賓 這樣論述:

本書是作者在已經出版的《Xilinx Zynq-7000嵌入式系統設計與實現:基於ARM Cortex-A9雙核處理器和Vivado的設計方法》一書的基礎上進行修訂而成的。   本書新修訂後內容增加到30章。修訂後,本書的一大特色就是加入了Arm架構及分類、使用PetaLinux工具在Zynq-7000 SoC上搭建Ubuntu作業系統,以及在Ubuntu作業系統環境下搭建Python語言開發環境,並使用Python語言開發應用程式的內容。   本書修訂後。進一步降低了讀者學習Arm Cortex-A9嵌入式系統的門檻,並引入了在Zynq-7000 SoC上搭建Ubuntu作業系統的新方法。此

外,將流行的Python語言引入到Arm嵌入式系統中,進一步拓寬了在Arm嵌入式系統上開發應用程式的方法。 第1章 Zynq - 7000 SoC設計導論 1 1.1 全可程式設計片上系統基礎知識 1 1.1.1 全可程式設計片上系統的演進 1 1.1.2 SoC與MCU和CPU的比較 3 1.1.3 全可程式設計SoC誕生的背景 4 1.1.4 可程式設計SoC系統技術特點 5 1.1.5 全可程式設計片上系統中的處理器類型 5 1.2 Arm架構及分類 6 1.2.1 M - Profile 7 1.2.2 R - Profile 9 1.2.3 A - Profile

10 1.3 Zynq - 7000 SoC功能和結構 11 1.3.1 Zynq - 7000 SoC產品分類及資源 12 1.3.2 Zynq - 7000 SoC的功能 12 1.3.3 Zynq - 7000 SoC處理系統PS的構成 14 1.3.4 Zynq - 7000 SoC可程式設計邏輯PL的構成 19 1.3.5 Zynq - 7000 SoC內的互聯結構 20 1.3.6 Zynq - 7000 SoC的供電引腳 22 1.3.7 Zynq - 7000 SoC內MIO到EMIO的連接 23 1.3.8 Zynq - 7000 SoC內為PL分配的信號 28 1.4 Z

ynq - 7000 SoC在嵌入式系統中的優勢 30 1.4.1 使用PL實現軟體演算法 30 1.4.2 降低功耗 32 1.4.3 即時減負 33 1.4.4 可重配置計算 34 第2章 AMBA規範 35 2.1 AMBA規範及發展 35 2.1.1 AMBA 1 36 2.1.2 AMBA 2 36 2.1.3 AMBA 3 36 2.1.4 AMBA 4 37 2.1.5 AMBA 5 38 2.2 AMBA APB規範 40 2.2.1 AMBA APB寫傳輸 40 2.2.2 AMBA APB讀傳輸 42 2.2.3 AMBA APB錯誤回應 43 2.2.4 操作狀態 44

2.2.5 AMBA 3 APB信號 44 2.3 AMBA AHB規範 45 2.3.1 AMBA AHB結構 45 2.3.2 AMBA AHB操作 46 2.3.3 AMBA AHB傳輸類型 48 2.3.4 AMBA AHB猝發操作 50 2.3.5 AMBA AHB傳輸控制信號 53 2.3.6 AMBA AHB位址解碼 54 2.3.7 AMBA AHB從設備傳輸回應 55 2.3.8 AMBA AHB資料匯流排 58 2.3.9 AMBA AHB傳輸仲裁 59 2.3.10 AMBA AHB分割傳輸 64 2.3.11 AMBA AHB復位 67 2.3.12 關於AHB資料匯

流排的位元寬 67 2.3.13 AMBA AHB周邊設備 68 2.4 AMBA AXI4規範 69 2.4.1 AMBA AXI4概述 69 2.4.2 AMBA AXI4功能 70 2.4.3 AMBA AXI4互聯結構 78 2.4.4 AXI4 - Lite功能 79 2.4.5 AXI4 - Stream功能 80 第3章 Zynq - 7000系統公共資源及特性 83 3.1 時鐘子系統 83 3.1.1 時鐘子系統架構 83 3.1.2 CPU時鐘域 84 3.1.3 時鐘程式設計實例 86 3.1.4 時鐘子系統內的生成電路結構 87 3.2 復位子系統 91 3.2.1

重定子系統結構和層次 92 3.2.2 重定流程 93 3.2.3 復位的結果 94 第4章 Zynq調試和測試子系統 95 4.1 JTAG和DAP子系統 95 4.1.1 JTAG和DAP子系統功能 97 4.1.2 JTAG和DAP子系統I/O信號 99 4.1.3 程式設計模型 99 4.1.4 Arm DAP控制器 101 4.1.5 跟蹤埠介面單元(TPIU) 102 4.1.6 Xilinx TAP控制器 102 4.2 CoreSight系統結構及功能 103 4.2.1 CoreSight結構概述 103 4.2.2 CoreSight系統功能 104 第5章 Corte

x - A9處理器及指令集 107 5.1 應用處理單元概述 107 5.1.1 基本功能 107 5.1.2 系統級視圖 108 5.2 Cortex - A9處理器結構 110 5.2.1 處理器模式 111 5.2.2 寄存器 113 5.2.3 流水線 118 5.2.4 分支預測 118 5.2.5 指令和資料對齊 119 5.2.6 跟蹤和調試 121 5.3 Cortex - A9處理器指令集 122 5.3.1 指令集基礎 122 5.3.2 資料處理操作 125 5.3.3 記憶體指令 130 5.3.4 分支 131 5.3.5 飽和算術 133 5.3.6 雜項指令 13

4 第6章 Cortex - A9片上記憶體系統結構和功能 138 6.1 L1快取記憶體 138 6.1.1 快取記憶體背景 138 6.1.2 快取記憶體的優勢和問題 139 6.1.3 記憶體層次 140 6.1.4 快取記憶體結構 140 6.1.5 緩存策略 145 6.1.6 寫和取緩衝區 147 6.1.7 緩存性能和命中速度 147 6.1.8 無效和清除緩存 147 6.1.9 一致性點和統一性點 149 6.1.10 Zynq - 7000中Cortex - A9 L1快取記憶體的特性 151 6.2 記憶體順序 153 6.2.1 普通、設備和強順序記憶體模型 154

6.2.2 記憶體屬性 155 6.2.3 記憶體屏障 155 6.3 記憶體管理單元 159 6.3.1 MMU功能描述 160 6.3.2 虛擬記憶體 161 6.3.3 轉換表 162 6.3.4 頁表入口域的描述 165 6.3.5 TLB構成 167 6.3.6 記憶體訪問順序 169 6.4 偵聽控制單元 170 6.4.1 地址過濾 171 6.4.2 SCU主設備埠 171 6.5 L2快取記憶體 171 6.5.1 互斥L2 - L1快取記憶體配置 173 6.5.2 快取記憶體替換策略 174 6.5.3 快取記憶體鎖定 174 6.5.4 使能/禁止L2快取記憶體控制器

176 6.5.5 RAM訪問延遲控制 176 6.5.6 保存緩衝區操作 176 6.5.7 在Cortex - A9和L2控制器之間的優化 177 6.5.8 預取操作 178 6.5.9 程式設計模型 179 6.6 片上記憶體 180 6.6.1 片上記憶體概述 180 6.6.2 片上記憶體功能 181 6.7 系統位址分配 186 6.7.1 位址映射 186 6.7.2 系統匯流排主設備 188 6.7.3 I/O外設 188 6.7.4 SMC記憶體 188 6.7.5 SLCR寄存器 188 6.7.6 雜項PS寄存器 189 6.7.7 CPU私有寄存器 189 第7章

Zynq - 7000 SoC的Vivado基本設計流程 190 7.1 創建新的工程 190 7.2 使用IP集成器創建處理器系統 192 7.3 生成頂層HDL並匯出設計到SDK 197 7.4 創建應用測試程式 199 7.5 設計驗證 202 7.5.1 驗證前的硬體平臺準備 202 7.5.2 設計驗證的具體實現 203 7.6 SDK調試工具的使用 205 7.6.1 打開前面的設計工程 205 7.6.2 導入工程到SDK 205 7.6.3 建立新的記憶體測試工程 205 7.6.4 運行記憶體測試工程 206 7.6.5 調試記憶體測試工程 207 7.7 SDK性能分析工具

209 第8章 Arm GPIO的原理和控制實現 213 8.1 GPIO模組原理 213 8.1.1 GPIO介面及功能 214 8.1.2 GPIO程式設計流程 217 8.1.3 I/O介面 218 8.1.4 部分寄存器說明 218 8.1.5 底層讀/寫函數說明 220 8.1.6 GPIO的API函數說明 220 8.2 Vivado環境下MIO讀/寫控制的實現 221 8.2.1 調用底層讀/寫函數編寫GPIO應用程式 221 8.2.2 調用API函數編寫控制GPIO應用程式 224 8.3 Vivado環境下EMIO讀/寫控制的實現 226 8.3.1 調用底層讀/寫函數

編寫GPIO應用程式 227 8.3.2 調用API函數編寫控制GPIO應用程式 232 第9章 Cortex - A9異常與中斷原理及實現 236 9.1 異常原理 236 9.1.1 異常類型 237 9.1.2 異常處理 241 9.1.3 其他異常控制碼 242 9.1.4 Linux異常程式流 243 9.2 中斷原理 244 9.2.1 外部插斷要求 244 9.2.2 Zynq - 7000 SoC內的中斷環境 247 9.2.3 中斷控制器的功能 248 9.3 Vivado環境下中斷系統的實現 252 9.3.1 Cortex - A9處理器中斷及異常初始化流程 252 9

.3.2 Cortex - A9 GPIO控制器初始化流程 252 9.3.3 匯出硬體設計到SDK 253 9.3.4 創建新的應用工程 253 9.3.5 運行應用工程 256 第10章 Cortex - A9計時器原理及實現 257 10.1 計時器系統架構 257 10.1.1 CPU私有計時器和看門狗計時器 257 10.1.2 全域計時器/計數器 258 10.1.3 系統級看門狗計時器 259 10.1.4 3重計時器/計數器 261 10.1.5 I/O信號 264 10.2 Vivado環境下計時器的控制實現 264 10.2.1 打開前面的設計工程 265 10.2.2

創建SDK軟體工程 265 10.2.3 運行軟體應用工程 267 第11章 Cortex - A9 DMA控制器原理及實現 268 11.1 DMA控制器架構 268 11.2 DMA控制器功能 271 11.2.1 考慮AXI交易的因素 272 11.2.2 DMA管理器 273 11.2.3 多通道資料FIFO(MFIFO) 274 11.2.4 記憶體―記憶體交易 274 11.2.5 PL外設AXI交易 274 11.2.6 PL外設請求介面 275 11.2.7 PL外設長度管理 276 11.2.8 DMAC長度管理 277 11.2.9 事件和中斷 278 11.2.10 異

常終止 278 11.2.11 安全性 280 11.2.12 IP配置選項 282 11.3 DMA控制器程式設計指南 282 11.3.1 啟動控制器 282 11.3.2 執行DMA傳輸 282 11.3.3 插斷服務常式 282 11.3.4 寄存器描述 283 11.4 DMA引擎程式設計指南 284 11.4.1 寫微代碼程式設計用於AXI交易的CCRx 284 11.4.2 記憶體到記憶體傳輸 284 11.4.3 PL外設DMA傳輸長度管理 287 11.4.4 使用一個事件重新啟動DMA通道 289 11.4.5 中斷一個處理器 289 11.4.6 指令集參考 290 11

.5 程式設計限制 291 11.6 系統功能之控制器重定配置 292 11.7 I/O介面 293 11.7.1 AXI主介面 293 11.7.2 外設請求介面 293 11.8 Vivado環境下DMA傳輸的實現 294 11.8.1 DMA控制器初始化流程 295 11.8.2 中斷控制器初始化流程 295 11.8.3 中斷服務控制碼處理流程 296 11.8.4 匯出硬體設計到SDK 296 11.8.5 創建新的應用工程 297 11.8.6 運行軟體應用工程 303 第12章 Cortex - A9安全性擴展 305 12.1 TrustZone硬體架構 305 12.1.1

多核系統的安全性擴展 307 12.1.2 普通世界和安全世界的交互 307 12.2 Zynq - 7000 APU內的TrustZone 308 12.2.1 CPU安全過渡 309 12.2.2 CP15寄存器存取控制 310 12.2.3 MMU安全性 310 12.2.4 L1緩存安全性 311 12.2.5 安全異常控制 311 12.2.6 CPU調試TrustZone存取控制 311 12.2.7 SCU寄存器存取控制 312 12.2.8 L2緩存中的TrustZone支持 312 第13章 Cortex - A9 NEON原理及實現 313 13.1 SIMD 313

13.2 NEON架構 315 13.2.1 與VFP的共性 315 13.2.2 資料類型 316 13.2.3 NEON寄存器 316 13.2.4 NEON指令集 318 13.3 NEON C編譯器和彙編器 319 13.3.1 向量化 319 13.3.2 檢測NEON 319 13.4 NEON優化庫 320 13.5 SDK工具提供的優化選項 321 13.6 使用NEON內聯函數 324 13.6.1 NEON資料類型 325 13.6.2 NEON內聯函數 325 13.7 優化NEON彙編器代碼 327 13.8 提高記憶體訪問效率 328 13.9 自動向量化實現 329

13.9.1 匯出硬體設計到SDK 329 13.9.2 創建新的應用工程 330 13.9.3 運行軟體應用工程 331 13.10 NEON彙編代碼實現 331 13.10.1 匯出硬體設計到SDK 331 13.10.2 創建新的應用工程 332 13.10.3 運行軟體應用工程 333 第14章 Cortex - A9外設模組結構及功能 334 14.1 DDR記憶體控制器 334 14.1.1 DDR記憶體控制器介面及功能 335 14.1.2 AXI記憶體介面 337 14.1.3 DDR核和交易調度器 338 14.1.4 DDRC仲裁 338 14.1.5 DDR記憶體控制

器PHY 340 14.1.6 DDR初始化和標定 340 14.1.7 改錯碼 341 14.2 靜態記憶體控制器 342 14.2.1 靜態記憶體控制器介面及功能 343 14.2.2 靜態記憶體控制器和記憶體的信號連接 344 14.3 四 - SPI Flash控制器 345 14.3.1 四 - SPI Flash控制器功能 347 14.3.2 四 - SPI Flash控制器回饋時鐘 349 14.3.3 四 - SPI Flash控制器介面 349 14.4 SD/SDIO外設控制器 351 14.4.1 SD/SDIO控制器功能 352 14.4.2 SD/SDIO控制器傳輸

協議 353 14.4.3 SD/SDIO控制器埠信號連接 356 14.5 USB主機、設備和OTG控制器 356 14.5.1 USB控制器介面及功能 358 14.5.2 USB主機操作模式 361 14.5.3 USB設備操作模式 363 14.5.4 USB OTG操作模式 365 14.6 吉比特乙太網控制器 365 14.6.1 吉比特乙太網控制器介面及功能 367 14.6.2 吉比特乙太網控制器介面程式設計嚮導 368 14.6.3 吉比特乙太網控制器介面信號連接 372 14.7 SPI控制器 373 14.7.1 SPI控制器的介面及功能 374 14.7.2 SPI控制

器時鐘設置規則 376 14.8 CAN控制器 376 14.8.1 CAN控制器介面及功能 377 14.8.2 CAN控制器操作模式 379 14.8.3 CAN控制器消息保存 380 14.8.4 CAN控制器接收篩檢程式 381 14.8.5 CAN控制器程式設計模型 382 14.9 UART控制器 383 14.10 I2C控制器 387 14.10.1 I2C速度控制邏輯 388 14.10.2 I2C控制器的功能和工作模式 388 14.11 XADC轉換器介面 390 14.11.1 XADC轉換器介面及功能 391 14.11.2 XADC命令格式 392 14.11.3

供電感測器報警 392 14.12 PCI - E介面 393 第15章 Zynq - 7000內的可程式設計邏輯資源 395 15.1 可程式設計邏輯資源概述 395 15.2 可程式設計邏輯資源功能 396 15.2.1 CLB、Slice和LUT 396 15.2.2 時鐘管理 396 15.2.3 塊RAM 398 15.2.4 數位信號處理 - DSP Slice 398 15.2.5 輸入/輸出 399 15.2.6 低功耗串列收發器 400 15.2.7 PCI - E模組 401 15.2.8 XADC(類比 - 數位轉換器) 402 15.2.9 配置 402 第16章

Zynq - 7000內的互聯結構 404 16.1 系統互聯架構 404 16.1.1 互聯模組及功能 404 16.1.2 資料路徑 406 16.1.3 時鐘域 407 16.1.4 連線性 408 16.1.5 AXI ID 409 16.1.6 寄存器概述 409 16.2 服務品質 410 16.2.1 基本仲裁 410 16.2.2 不錯QoS 410 16.2.3 DDR埠仲裁 411 16.3 AXI_HP介面 411 16.3.1 AXI_HP介面結構及特點 411 16.3.2 介面資料寬度 415 16.3.3 交易類型 416 16.3.4 命令交替和重新排序 416

16.3.5 性能優化總結 416 16.4 AXI_ACP介面 417 16.5 AXI_GP介面 418 16.6 AXI信號總結 418 16.7 PL介面選擇 422 16.7.1 使用通用主設備埠的Cortex - A9 423 16.7.2 通過通用主設備的PS DMA控制器(DMAC) 423 16.7.3 通過高性能介面的PL DMA 426 16.7.4 通過AXI ACP的PL DMA 426 16.7.5 通過通用AXI從(GP)的PL DMA 426 第17章 Zynq - 7000 SoC內定制簡單AXI - Lite IP 429 17.1 設計原理 429 1

7.2 定制AXI - Lite IP 429 17.2.1 創建定制IP範本 429 17.2.2 修改定制IP設計範本 432 17.2.3 使用IP封裝器封裝外設 436 17.3 打開並添加IP到設計中 440 17.3.1 打開工程和修改設置 440 17.3.2 添加定制IP到設計 442 17.3.3 添加XDC約束檔 445 17.4 匯出硬體到SDK 446 17.5 建立和驗證軟體應用工程 446 17.5.1 建立應用工程 447 17.5.2 下載硬體位元流檔到FPGA 449 17.5.3 運行應用工程 450 第18章 Zynq - 7000 SoC內定制複雜AX

I Lite IP 451 18.1 設計原理 451 18.1.1 VGA IP核的設計原理 451 18.1.2 移位暫存器IP核的設計原理 453 18.2 定制VGA IP核 454 18.2.1 創建定制VGA IP範本 454 18.2.2 修改定制VGA IP範本 455 18.2.3 使用IP封裝器封裝VGA IP 459 18.3 定制移位暫存器IP核 460 18.3.1 創建定制SHIFTER IP範本 460 18.3.2 修改定制SHIFTER IP範本 462 18.3.3 使用IP封裝器封裝SHIFTER IP 463 18.4 打開並添加IP到設計中 464 1

8.4.1 打開工程和修改設置 464 18.4.2 添加定制IP到設計 466 18.4.3 添加XDC約束檔 470 18.5 匯出硬體到SDK 471 18.6 建立和驗證軟體工程 472 18.6.1 建立應用工程 472 18.6.2 下載硬體位元流檔到FPGA 476 18.6.3 運行應用工程 477 第19章 Zynq - 7000 AXI HP資料傳輸原理及實現 478 19.1 設計原理 478 19.2 構建硬體系統 479 19.2.1 打開工程和修改設置 479 19.2.2 添加並連接AXI DMA IP核 480 19.2.3 添加並連接FIFO IP核 482

19.2.4 連接DMA中斷到PS 485 19.2.5 驗證和建立設計 487 19.3 建立和驗證軟體工程 487 19.3.1 匯出硬體到SDK 488 19.3.2 創建軟體應用工程 488 19.3.3 下載硬體位元流檔到FPGA 497 19.3.4 運行應用工程 497 第20章 Zynq - 7000 ACP資料傳輸原理及實現 499 20.1 設計原理 499 20.2 打開前面的設計工程 499 20.3 配置PS埠 499 20.4 添加並連接IP到設計 500 20.4.1 添加IP到設計 501 20.4.2 系統連接 501 20.4.3 分配位址空間 502

20.5 使用SDK設計和實現應用工程 504 20.5.1 創建新的軟體應用工程 504 20.5.2 導入應用程式 504 20.5.3 下載硬體位元流檔到FPGA 507 20.5.4 運行應用工程 508 第21章 Zynq - 7000軟體和硬體協同調試原理及實現 509 21.1 設計目標 509 21.2 ILA核原理 510 21.2.1 ILA觸發器輸入邏輯 510 21.2.2 多觸發器埠的使用 510 21.2.3 使用觸發器和存儲限制條件 510 21.2.4 ILA觸發器輸出邏輯 512 21.2.5 ILA資料捕獲邏輯 512 21.2.6 ILA控制與狀態邏輯

513 21.3 VIO核原理 513 21.4 構建協同調試硬體系統 514 21.4.1 打開前面的設計工程 514 21.4.2 添加定制IP 514 21.4.3 添加ILA和VIO核 515 21.4.4 標記和分配調試網路 516 21.5 生成軟體工程 518 21.6 S/H協同調試 520 第22章 Zynq - 7000 SoC啟動和配置原理及實現 527 22.1 Zynq - 7000 SoC啟動過程 527 22.2 Zynq - 7000 SoC啟動要求 527 22.2.1 供電要求 528 22.2.2 時鐘要求 528 22.2.3 復位要求 528 22.

2.4 模式引腳 528 22.3 Zynq - 7000 SoC內的BootROM 530 22.3.1 BootROM特性 530 22.3.2 BootROM頭部 531 22.3.3 啟動設備 535 22.3.4 BootROM多啟動和開機磁碟分割查找 538 22.3.5 調試狀態 539 22.3.6 BootROM後狀態 540 22.4 Zynq - 7000 SoC器件配置介面 543 22.4.1 描述功能 544 22.4.2 器件配置流程 545 22.4.3 配置PL 549 22.4.4 寄存器概述 550 22.5 生成SD卡鏡像檔並啟動 551 22.5.1

SD卡與XC7Z020介面設計 551 22.5.2 打開前面的設計工程 552 22.5.3 創建級啟動引導 553 22.5.4 創建SD卡啟動鏡像 553 22.5.5 從SD卡啟動引導系統 555 22.6 生成QSPI Flash鏡像並啟動 556 22.6.1 QSPI Flash介面 556 22.6.2 創建QSPI Flash鏡像 557 22.6.3 從QSPI Flash啟動引導系統 558 22.7 Cortex - A9雙核系統的配置和運行 558 22.7.1 構建雙核硬體系統工程 558 22.7.2 添加並互聯IP核 559 22.7.3 匯出硬體設計到SDK中

561 22.7.4 設置板級包支援路徑 561 22.7.5 建立FSBL應用工程 562 22.7.6 建立CPU0應用工程 562 22.7.7 建立CPU1板級支持包 566 22.7.8 建立CPU1應用工程 566 22.7.9 創建SD卡鏡像文件 570 22.7.10 雙核系統運行和測試 571 22.7.11 雙核系統的調試 571 第23章 Zynq - 7000 SoC內XADC原理及實現 574 23.1 ADC轉換器介面結構 574 23.2 ADC轉換器功能 575 23.2.1 XADC的命令格式 576 23.2.3 供電感測器報警 576 23.3 XAD

C IP核結構及信號 577 23.4 開發平臺上的XADC介面 578 23.5 在Zynq - 7000 SoC內構建數模混合系統 579 23.5.1 打開前面的設計工程 579 23.5.2 配置PS埠 579 23.5.3 添加並連接XADC IP到設計 580 23.5.4 查看位址空間 582 23.5.5 添加用戶約束檔 583 23.5.6 設計處理 583 23.6 使用SDK設計和實現應用工程 584 23.6.1 生成新的應用工程 584 23.6.2 導入應用程式 585 23.6.3 下載硬體位元流檔到FPGA 591 23.6.4 運行應用工程 591 第24章

Linux開發環境的構建 592 24.1 構建虛擬機器環境 592 24.2 安裝和啟動Ubuntu 14.04客戶機作業系統 595 24.2.1 新添加兩個磁片 595 24.2.2 設置CD/DVD(SATA) 596 24.2.3 安裝Ubuntu 14.04 597 24.2.4 更改Ubuntu 14.04作業系統啟動設備 600 24.2.5 啟動Ubuntu 14.04作業系統 600 24.2.6 添加搜索連結資源 600 24.3 安裝FTP工具 601 24.3.1 Windows作業系統下LeapFTP安裝 601 24.3.2 Ubuntu作業系統環境下FTP安裝

602 24.4 安裝和啟動SSH和GIT組件 603 24.4.1 安裝和啟動SSH組件 603 24.4.2 安裝和啟動GIT組件 604 24.5 安裝交叉編譯器環境 604 24.5.1 安裝32位支援工具包 604 24.5.2 安裝和設置SDK 2015.4工具 605 24.6 安裝和配置Qt集成開發工具 606 24.6.1 Qt集成開發工具功能 606 24.6.2 構建PC平臺Qt環境 607 24.6.3 構建Arm平臺Qt環境 613 第25章 構建Zynq - 7000 SoC內Ubuntu硬體運行環境 622 25.1 建立新的設計工程 622 25.2 添加I

P核路徑 623 25.3 構建硬體系統 623 25.3.1 添加和配置ZYNQ7 IP 624 25.3.2 添加和配置VDMA IP核 625 25.3.3 添加和配置AXI Display Controller IP核 626 25.3.4 添加和配置HDMI Transmitter IP核 627 25.3.5 添加和配置VGA IP核 627 25.3.6 連接用戶自訂IP核 627 25.3.7 添加和配置Processor System Reset IP核 630 25.3.8 連接系統剩餘部分 630 25.4 添加設計約束檔 632 25.5 匯出硬體檔 633 第26章

構建Zynq - 7000 SoC內Ubuntu軟體運行環境 635 26.1 u - boot原理及實現 635 26.1.1 下載u - boot源碼 635 26.1.2 u - boot檔結構 636 26.1.3 u - boot工作模式 637 26.1.4 u - boot啟動過程 637 26.1.5 編譯u - boot 650 26.1.6 連結指令檔結構 652 26.2 內核結構及編譯 654 26.2.1 內核結構 654 26.2.2 下載Linux內核源碼 655 26.2.3 內核版本 655 26.2.4 內核系統組態 655 26.2.5 Bootload

er 啟動過程 658 26.2.6 Linux內核啟動過程 660 26.2.7 編譯內核 662 26.3 設備樹原理及實現 662 26.3.1 設備樹概述 662 26.3.2 設備樹資料格式 663 26.3.3 設備樹的編譯 664 26.4 檔案系統原理及下載 664 26.5 生成Ubuntu啟動鏡像 665 26.5.1 生成FSBL檔 666 26.5.2 生成BOOT.bin開機檔案 666 26.5.3 製作SD卡 668 26.5.4 複製BOOT. bin文件 670 26.5.5 複製編譯後的內核檔 670 26.5.6 複製編譯後的設備樹檔 671 26.5.7

複製檔案系統 671 26.6 啟動Ubuntu作業系統 672 第27章 Linux環境下簡單字元設備驅動程式的開發 674 27.1 驅動程式的必要性 674 27.2 Linux作業系統下的設備檔案類型 675 27.3 Linux驅動的開發流程 676 27.4 驅動程式的結構框架 676 27.4.1 載入和卸載函數模組 676 27.4.2 字元設備中重要的資料結構和函數 677 27.5 編寫makefile檔 683 27.6 編譯驅動程式 684 27.7 編寫測試程式 685 27.8 運行測試程式 686 第28章 Linux環境下包含中斷機制驅動程式的開發 688

28.1 設計原理 688 28.2 編寫包含中斷處理的驅動代碼 688 28.2.1 驅動程式標頭檔 688 28.2.2 驅動的載入和卸載函數 689 28.2.3 file_operations初始化 691 28.3 編寫makefile檔 691 28.4 編譯驅動程式 692 28.5 測試驅動程式 693 第29章 Linux環境下影像處理系統的構建 694 29.1 系統整體架構和功能 694 29.2 OV5640攝像頭性能 695 29.2.1 攝像頭捕獲模組的硬體 696 29.2.2 SCCB介面規範 696 29.2.3 寫攝像頭模組寄存器操作 697 29.2.

4 讀攝像頭模組寄存器操作 698 29.2.5 攝像頭初始化流程 700 29.3 Vivado HLS實現拉普拉斯運算元濾波演算法的設計 701 29.3.1 Vivado HLS工具的性能和優勢 701 29.3.2 拉普拉斯演算法與HDL之間的映射 703 29.4 影像處理系統的整體構建 706 29.5 影像處理系統軟體的設計 708 29.5.1 Ubuntu桌面系統的構建 708 29.5.2 Qt影像處理程式的開發 708 29.6 內嵌影像處理系統測試 710 第30章 Zynq-7000 SoC上構建和實現Python應用 712 30.1 設計所需的硬體環境 712

30.2 構建PetaLinux開發環境 712 30.2.1 PetaLinx開發環境概述 712 30.2.2 安裝32位庫 714 30.2.3 安裝並測試tftp伺服器 714 30.2.4 下載並安裝PetaLinux 715 30.3 構建嵌入式系統硬體 717 30.3.1 下載並安裝Vivado 2018.2整合式開發環境 717 30.3.2 添加板級支援包檔 717 30.3.3 建立新的Vivado工程 717 30.3.4 構建硬體系統 718 30.4 構建嵌入式Python開發環境 721 30.5 構建PC端Python開發環境 723 30.6 伺服器和用戶端P

ython的開發 724 30.6.1 伺服器端Python的開發 725 30.6.2 用戶端Python的開發 726 30.7 設計驗證 728 30.7.1 啟動伺服器程式 728 30.7.2 啟動用戶端程式 729

在 P4 實體交換機上設計與實作深度封包檢測

為了解決系統匯流排的問題,作者蕭任鈞 這樣論述:

深度封包檢測方案可以檢查封包的內容以偵測入侵嘗試。它對於網路安全而言是一個必要的功能。在傳統的作法上,深度封包檢測方案是被實作在一個獨立的伺服器上,伺服器則從硬體交換機那裡接收並檢查被複製的封包。雖然一個基於軟件的深度封包檢測方案,例如Snort,可以在硬體伺服器上靈活地執行,但是它的處理速度會大幅受限於中央處理器的速度與連接中央處理器和網絡介面卡的系統匯流排的頻寬。在本篇論文中,我們在 P4 交換機的資料平面上設計與實作出深度封包檢測方案,此方案可以藉由兩種方法來完成。我們的深度封包檢測方案藉由在 P4 交換機上的匹配與動作的管道執行精確的簽章匹配。實驗結果顯示我們的深度封包檢測方案的方法

一可以達到100 Gbps 的處理速度,這已達到我們使用的 P4 交換機的線路速度。