日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[密码学基础][信息安全][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第一篇]不同类型的处理器

發布時間:2023/12/10 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [密码学基础][信息安全][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第一篇]不同类型的处理器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這是每個密碼學博士生應該知道的52件事系列的第一篇文章。PhD研究生在第一年結束的時候應該掌握這些問題。并且盡可能早的在他們能放棄的時候放棄(23333)無論怎樣,我們會將這些問題在接下來的一年里表達出來,我自愿的為這個第一個事情的編寫做出貢獻。這個第一個主題就是計算機架構,它被表達成下面的問題:

下面這些有什么不同?

  • 一個通用的處理器
  • 一個通用的帶指令集擴展的處理器
  • 一個專用的處理器(協同處理器)
  • 一個FPGA

沒有一個嚴格的通用處理器的定義,然而,一般認為如果處理器是圖靈完備的那么就是通用處理器。這個包括了所有能完成計算可計算任務的處理器。(例如,能夠計算所有圖靈機能計算的)。我不會仔細研究圖靈機的定義,但是如果現在你已經不理解我說什么了,那么我推薦你看Theory of Computation[1]這本書。注意盡管這個沒有性能和指令能力集的概念,事實上,一些研究者已經證明了你只需要一個指令就可以完成圖靈完備[2]。在如今的現代處理器下,大多數可編程的CPU都被認為是通用的。

把一個CPU設計成通用的會導致性能的開銷。一個通用處理器可能計算任何可計算的任務,但是它處理重復復雜的任務的性能將不會很好。處理器設計者會基于最小架構包括擴展指令集來完成那些經常被各種各樣的應用使用的任務。雖然功能上被擴展過的架構和最小架構沒什么不同,但是實際上在終端用戶看來有著巨大的性能差異。

既然我們都為密碼學工作,那么我集中在一個使用擴展指令的密碼學例子。考慮一個使用AES加密的桌面應用機器。任何來自其他儲存設備的讀取都需要在被緩存之前給一個CPU中斷來完成內容的解密。磁盤獲取時刻miss cache已經很糟糕了,同時還要加上解密的時間,我們就不得不重新考慮磁盤加密了。我們很清楚AES是我們復雜的重復任務同時我們只有一個沒有指令集擴展的通用CPU,我們只能用流操作實現解密。Intel和AMD都意識到磁盤加密的需求,為了減少其他存儲器獲得數據使用AES的開銷,在桌面CPU的流水線上設計了AES-NI x86擴展指令集來加速加密磁盤。

如果你想急速所有的計算,最優化的方法就是使用一個專用的處理器或者一個專用集成電路。但是這樣我們就為了性能失去了通用處理器的靈活性。這種處理器通常和通用處理器是緊密耦合的,用術語就是協同處理器(co-processor)。注意,一個協處理器可能和通用處理器有相同的包,但是不必集成通用處理器的架構。也就是說,我們看看現在的處理器架構,Intel和AMD早已集成了聲卡,顯卡和數字信號處理器到它們的CPU。這個額外的功能通過專用寄存器呈現出來,同時協處理器變成一個分離的被通用處理器管理的組件。

最終我們看看FPGA(Field-Programmable Gate Arrays)。這個數字集成電路(ASIC)和通用處理器的中間產品。如果一個應用需要高性能同時需要不頻繁的修改,那么FPGA可能是最好的選擇。為了理解FPGA,想象一下成千上萬個電路接線板和成千上萬的邏輯門和查找表(復用器表示內存)放在電路接線板上。如果你把一個應用描述成一組邏輯門和時序約束,那么你能把他們放在電路板上,然后生成一個電路來計算你的應用。一個FPGA支持重新編程的靈活性。這個和通用處理器主要區別就是你怎樣設計和實現你的應用。為了充分利用硬件,你必須使用**硬件描述語言(Verilog or VHDL)**把應用描述成一組硬件組件和事務。這個過程將會頻繁的使用在通用和專用處理器原型機生產之前。然而,這并不是沒有缺點。設計一個有著底層構建的程序將會使得其十分笨重。同時,能源消耗和硬件花費要比嵌入集成電路的通用處理器要高。近來,FPGA廠家Xilinx已經開始把帶有ARM的FPGA通用處理器集成到一個包中。這個會讓FPGA能夠被ARM核心使用,把它當做一個靈活的協處理器。[3]結果,你能夠構建專用邏輯去計算你的密碼操作急速你的密碼應用。

總結一下,通用處理器能計算所有可計算的事務。相似的,帶擴展指令集的通用處理器也能,并且它可能在特殊的應用上做的更好一個專用處理器(協處理器)也能在特定的任務上非常快但是只能計算特定的任務一個FPGA可能被用于構建上面的硬件但是相對于ASIC為了靈活性犧牲了性能

[1] http://www.amazon.co.uk/Introduction-Theory-Computation-Michael-Sipser/dp/0619217642
[2] http://www.cl.cam.ac.uk/~sd601/papers/mov.pdf
[3] http://www.xilinx.com/products/zynq-7000/extensible-virtual-platform.html

參考鏈接:http://bristolcrypto.blogspot.com/2014/10/52-things-number-1-different-types-of.html
參考鏈接:https://www.cnblogs.com/zhuowangy2k/category/1538813.html

總結

以上是生活随笔為你收集整理的[密码学基础][信息安全][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第一篇]不同类型的处理器的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。