主頁 >  其他 > 蘋果 M1 芯片預示著 RISC-V 完全替代 ARM?

蘋果 M1 芯片預示著 RISC-V 完全替代 ARM?

2020-12-29 13:46:15 其他

編者按:M1 芯片性能強勁的背后主要源自兩個因素:第一,M1芯片使用了大量的解碼器和亂序執行;第二,就是異構計算,本文著重講解第二點,

作者 | Erik Engheim 已獲作者翻譯授權

譯者 | 彎月 責編 | 張文

頭圖 | CSDN 下載自視覺中國

出品 | CSDN(ID:CSDNnews)

以下為譯文:

在大家了解了 M1 芯片表現之后,你肯定想一探究竟其底層核心是什么,本文將從異構計算開始講起,

蘋果非常熱衷于添加多個專用硬體單元的策略,在本文中,我將其稱為協處理器(coprocessor):

  • 圖形處理單元(GPU),用于圖形處理以及其他需要并行處理大量資料的任務(即同時對多個元素執行相同的操作),

  • 神經引擎,機器學習的專用硬體,

  • 影像處理的數字信號處理硬體,

  • 硬體中的視頻編碼,

蘋果沒有在解決方案中添加更多的通用處理器,而是添加了更多的協處理器,你可以稱之為加速器,這種趨勢并不是新出現的,我從 1985 年開始使用的老式 Amiga 1000 就使用協處理器來加快音頻和圖形處理的速度,現代 GPU 本質上就是協處理器,Google 的 Tensor 處理單元也是一種用于機器學習的協處理器,

圖:Google TPU是專用集成電路(ASIC),我們稱之為協處理器,


什么是協處理器?

與 CPU 不同,協處理器不能單獨存在,只使用協處理器無法造出計算機,協處理器作為專用處理器,可以很好地完成某些特定的任務,最早的協處理器當屬英特爾 8087 浮點單元(FPU),英特爾的 8086 微處理器可以執行整數運算,但不能執行浮點運算,這兩者的區別是什么?

圖:英特爾 8087,最早的執行浮點計算的協處理器之一,

整數都是這樣的數字:43、-5、92、4,對于計算機來說,處理這些數字比較容易,你可能只需要將一些簡單的芯片組合在一起,就能處理整數加法,

然而,小數處理就沒那么簡單了,

假設你需要執行小數的加法或乘法:4.25、84.7 或 3.1415,這些是浮點數,如果小數點后面的位數是固定的,則我們稱之為定點數,金錢通常都保留兩位小數,因此都是通過定點數處理的,

然而,你可以使用整數來模擬浮點運算,只不過速度會比較慢,與之類似,早期的微處理器只能處理整數的加法,不能處理乘法,但是,它們仍然可以執行乘法,因為你只需要通過多次的加法來模擬乘法,例如 3×4 = 4 + 4 + 4,

理解下面的示例代碼并不重要,但是可以幫助你理解 CPU 如何通過加、減和分支(代碼跳轉)來執行乘法,

   loadi r3, 0         ; Load 0 into register r3
multiply:        
   add  r3, r1        ; r3 ← r3 + r1
   dec  r2            ; r2 ← r2 - 1
   bgt  r2, multiply  ; goto multiply ifr2 > 0

簡而言之,你可以通過重復簡單的運算來實作更復雜的數學運算,

所有協處理器的作業方式都與之類似,CPU 總有方法完成協處理器的任務,但是,通常這都需要重復多個更簡單的操作,我們之所以使用 GPU,是因為對數百萬個多邊形或像素重復相同的計算,對于 CPU 來說確實很耗時,


如何與協處理器來回傳輸資料

我們來看一看下面的示意圖,以更好地了解協處理器如何與微處理器(CPU)或通用處理器的協同作業,

圖:微處理器的作業原理概述,

數字沿彩色線移動,輸入/輸出可以是協處理器、滑鼠、鍵盤以及其他設備,

我們可以將綠色和淺藍色的公共總線視為管道,數字通過這些管道推送到 CPU 的不同功能單元(圖中為灰色盒子),這些盒子的輸入和輸出連接到了管道,

你可以認為每個盒子的輸入和輸出都帶有閥門,紅色控制線可用于打開和關閉這些閥門,因此,負責紅線的解碼器(Decoder)可以打開兩個灰色盒子上的閥門,讓數字在它們之間流動,

圖:你可以將資料總線視為管道,而紅色控制線則負責打開和關閉閥門,

但是,在電子設備中,這是通過我們所謂的多路復用器完成的,而不是實際的閥門,

下面,我們來介紹一下如何從記憶體中獲取資料,

如果想執行數字運算,則首先需要將數字放入暫存器中,解碼器使用控制線打開灰色盒子“記憶體”和“暫存器”之間的閥門,具體操作為:

  1. 解碼器打開負載存盤單元(LSU)上的閥門,記憶體地址從綠色地址總線上流出,

  2. 打開記憶體盒上的閥門,這樣它就可以接收地址了,而地址由綠色管道(地址總線)負責傳送,所有其他閥門都關閉,這樣輸入/輸出就無法接收地址,

  3. 選中地址指定的記憶體單元,然后解碼器會打開通往資料總線的閥門,這樣選定記憶體單元的內容就會流出到藍色資料總線上,

  4. 記憶體單元的資料可以流到任何地方,但是解碼器僅打開了暫存器的輸入閥門,

滑鼠、鍵盤、顯示幕、GPU、FPU、神經引擎和其他協處理器都是“輸入/輸出”盒子,訪問方式與訪問記憶體一樣,硬碟驅動器、滑鼠、鍵盤、網卡、GPU、DMA(直接記憶體訪問)和協處理器都被映射到自己的記憶體地址,

舉個例子,如果處理器嘗試從記憶體地址 84 讀取資料:滑鼠的 x 坐標,而 85 代表滑鼠的 y 坐標,

因此,為了獲取滑鼠坐標,你可以通過匯編代碼中執行以下操作:

load r1, 84   ; get x-coordinate
loar r2, 85   ; get y-coordinate

對于 DMA 控制器,可能地址 110、111 和 113 有特殊的含義,下面這些偽匯編代碼可以使用這些地址與 DMA 控制器進行互動:

loadi r1, 1024  ; set register r to source address
loadi r2, 50    ; bytes to copy
loadi r3, 2048  ; destination address
store r1, 110   ; tell DMA controller start address
store r2, 111   ; tell DMA to copy 50 bytes
store r3, 113   ; tell DMA where to copy 50 bytes to

一切都以這種方式作業,你只需讀寫特殊的記憶體地址,

當然,一般軟體開發人員不需要知道這些,這些作業都是由設備驅動程式完成的,你使用的程式無法真正看到這些不可見的虛擬記憶體地址,但是,驅動程式會將這些地址映射到其虛擬記憶體地址,

我不打算過多地討論虛擬記憶體,

本質上,我們拿到的是真實的地址,綠色總線上的地址將從虛擬地址轉換為實際物理地址,當我在 DOS 中撰寫 C/C++的程式時,就不會遇到這種情況,我可以將 C 指標直接指向視頻的記憶體地址,然后直接修改圖片,

char *video_buffer = 0xB8000;    // set pointer to CGA video buffer
video_buffer[3] = 42;            // change color of 4th pixel

協處理器的作業方式與此相同,神經引擎、GPU、安全協處理器(Secure Enclave)都擁有可以與之通信的地址,你需要了解這些,同時也需要了解 DMA 控制器可以異步作業,

這意味著 CPU 可以為神經引擎或 GPU 安排一整套指令,并將它們寫入記憶體的緩沖區,然后,通過與 IO 地址的對話,將這些指令的位置通知給神經引擎或 GPU 協處理器,

你肯定不希望 CPU 處于空閑狀態,等待協處理器仔細檢查所有指令和資料,你也不想讓 DMA 遇到這種情況,這就是為什么一般我們都需要使用某種中斷的原因,


中斷如何作業?

你插入到 PC 的各種卡,無論是顯卡還是網卡,都將分配一些中斷線,就像一條直接插入 CPU 的線,這條線被激活后,CPU 就會放下手頭所有的作業來處理中斷,更具體地說,CPU 會將自己的當前位置及其暫存器的值存盤在記憶體中,以方便回頭可以隨時回傳之前的作業,接下來,CPU 會查看中斷表需要做什么,這個表存盤了中斷被觸發時需要運行的程式的地址,

作為程式員,你很少看見這些東西,對你來說,你看到的更多的是某些事件注冊的回呼函式,這些底端的問題一般都是由驅動程式處理的,

我之所以嘮叨了這么多,就是希望幫助你了解使用協處理器時究竟發生了什么,否則,你就搞不清楚協處理器實際上需要進行哪些通信,

我們可以通過中斷并行處理很多任務,當 CPU 被計算機滑鼠中斷時,應用程式可以通過網卡獲取影像,滑鼠移動時,我們需要新的坐標,CPU 可以讀取這些并將其發送到 GPU,然后在新位置上顯示滑鼠游標,當 GPU 繪制滑鼠游標時,CPU 可以趁這段時間處理從網路檢索到的影像,

就像使用這些中斷一樣,我們也可以將復雜的機器學習任務發送給 M1 神經引擎,要求它通過網路攝像頭設別人臉,同時,計算機的其余部分依然在回應,因為在神經引擎處理影像資料期間,CPU 正在處理其他作業,

圖:SiFive 的基于 RISC-V 的主板,能夠運行 Linux


RISC-V 的崛起

早在 2010 年,加州大學伯克利分校的并行計算實驗室就大量使用了協處理器,他們預見了摩爾定律的終結,意味著我們無法再從通用 CPU 核心壓榨出更多性能,我們需要專用的硬體:協處理器,

我們來反思一下為什么,我們知道增加時鐘頻率并不容易,我們一直徘徊在 3–5 GHz,無法突破,進一步增加時鐘頻率,那么功耗和散熱就會出問題,

但是,我們可以添加更多的晶體管,只是我們無法加快晶體管的作業速度,因此,我們需要并行處理很多作業,一種方法是添加大量通用核心,正如我之前討論的那樣,我們可以添加很多解碼器并執行亂序執行,


晶體管預算:CPU 核心還是協處理器?

我們可以無止境地增加 CPU 核心,最后就會得到 Ampere Altra Max ARM 處理器之類 128 個通用核心的處理器,

但這真的是芯片的最佳用法嗎?對于云服務器而言,這個方法沒問題,我們可以通過 128 個核心處理各種客戶端請求,但是,臺式機系統可能甚至無法有效地利用普通臺式機作業負載上的 8 個以上的核心,因此,即便你擁有 32 個核心,其實大部分也都被浪費了,

既然不能增加更多 CPU 核心,那么,我們可以添加更多的協處理器嗎?

我們來算一筆賬:你有一個晶體管預算,早先,也許你有 2 萬個晶體管的預算,你發現可以利用這些晶體管制造出具有 1.5 萬晶體管的 CPU,這與 80 年代初的真實情況很相似,現在,這個 CPU 可以執行 100 個不同的任務,假設為其中一項任務制作專用的協處理器,將花費 1000 晶體管,如果你為每一個任務創建一個協處理器,那么就需要 10 萬個晶體管,這會超過你的預算,


過多的晶體管改變了策略

因此,早期的設計需要專注于通用計算,但是今天,我們的芯片中可以塞入太多的晶體管,但卻不知道該用這些晶體管做什么,

因此,協處理器的設計就成為了一個大問題,

制作各種新型協處理器的相關研究很多,然而,這些研究經常會造出非常笨拙的加速器,我們需要加以制止,與 CPU 不同,它們無法讀取自己需要執行的指令步驟,一般,它們都不知道如何訪問記憶體或組織任何事情,

因此,常見解決方案是將一個簡單的 CPU 作為一種控制器,因此,整個協處理器都是由一個簡單的 CPU 控制的專用加速器電路,CPU 負責配置加速器完成作業,通常這都是高度專業化的作業,例如,神經引擎或張量處理單元等處理的是非常大的暫存器,可以容納矩陣,


通過量身定制的 RISC-V 控制加速器

這正是 RISC-V 的設計初衷,它僅有約 40–50 條指令的最低限度指令集,可以完成所有常見的 CPU 作業,聽起來可能很多,但別忘了,x86 CPU 包含 1500 多個指令,

RISC-V 不需要一套大型的固定指令集,它是圍繞擴展的概念設計的,每個協處理器都是不同的,因此,它將包含一個 RISC-V 處理器來管理核心指令集的實作,以及根據協處理器需要處理的任務而定制的擴展指令集,

蘋果 M1 芯片就在推動整個行業朝著協處理器主導的未來發展,而在協處理器的制造中,RISC-V 將成為重要的一環,

為什么?制作協處理器的人不能發明自己的指令集嗎?不過,我認為蘋果已經做到了,或者可能他們使用了 ARM,我不清楚,如果有人知道,請在下方留言,


堅持在協處理器中采用 RISC-V 有什么好處?

制造芯片已成為一件復雜而耗費巨大的作業,我們需要建立驗證芯片的工具,運行測驗程式,運行診斷程式,以及其他很多的事情都需要付出努力,

這是當前使用 ARM 的優勢之一,他們擁有龐大的工具生態系統,可以幫助你驗證設計,并測驗芯片,因此,尋求定制的專有指令集并不是一個好主意,但是,使用 RISC-V 可以為多家公司提供標準工具,就好像突然出現了生態系統,然后由多家公司共同負擔,

那么,為什么不能使用已有的 ARM 呢?ARM 主要面向通用 CPU,它擁有大型的固定指令集,在客戶和 RISC-V 競爭的壓力下,ARM 放低了姿態,并于 2019 年開放了擴展指令集,

但是,問題仍然存在,因為當初它的設計初衷不在于此,整個 ARM 工具鏈會假定你已經實作了整個大型 ARM 指令集,這對于 Mac 或 iPhone 的主 CPU 來說沒什么問題,但是對于協處理器,你不想要或不需要這么大的指令集,你只需要一個圍繞基礎固定擴展指令集而構建的工具生態系統,

為什么這樣會有好處?Nvidia 使用 RISC-V 的方法為我們提供了一些思路,在大型 GPU 上,他們需要某種通用 CPU 作為控制器,但是,為此目的保留的晶體管數量以及允許為此產生的熱量都是有限的,并將產生的熱量降到最低,請記住,有很多晶體管在爭奪芯片這片狹小的空間,

由于 RISC-V 的指令集又小又簡單,因此它擊敗了包括 ARM 在內的所有競爭對手,Nvidia 發現,選擇 RISC-V 可以制造出比其他任何產品都小的芯片,而且還可以將功耗降至最低,因此,你可以通過這種擴展機制,只添加對完成必須的作業至關重要的指令,而對于 GPU 的控制器,除了加密協處理器上的控制器以外,還需要其他擴展,


ARM 將成為新一代 x86

具有諷刺意味的是,我們可能會看到未來 Mac 和 PC 都由 ARM 處理器來驅動,但是,周邊所有的定制硬體,所有協處理器都將由 RISC-V 主導,隨著協處理器變得越來越流行,運行 RISC-V 的單片系統(SoC)的數量可能會超過 ARM,


ARM 指揮的 RISC-V 協處理器大軍

通用 ARM 處理器將成為 RISC-V 驅動的協處理器的中心,從圖形、加密、視頻編碼、機器學習、信號處理到處理網路程式包,所有任務都可以得到加速,

加州大學伯克利分校的教授 David Patterson 和他的團隊預見了這一未來,而且這也是經過精心設計后的 RISC-V 完全可以適應這個新世界的原因,

我們看到 RISC-V 在各種專門的硬體和微控制器中都得到了廣泛的應用和關注,我認為如今 ARM 主導的許多領域都將歸入 RISC-V 旗下,

圖:樹莓派 4 微控制器,當前使用的是 ARM 處理器,

試想一下樹莓派等設備,如今運行的都是 ARM,但是將來樹莓派的 RISC-V 版本可能會提供能夠滿足各種需求的變體,有些是機器學習微控制器,有些面向影像處理,而有些則用于加密,

簡單來說,你可以挑選自己的帶有微調功能的微控制器,當然,你可以在其上運行 Linux,并執行所有相同的任務,只是性能會有所不同,帶有特殊機器學習指令的 RISC-V 微控制器訓練神經網路的速度將遠遠超過帶有視頻編碼指令的 RISC-V 微控制器,

英偉達的 Jetson Nano 已經走上這條冒險之路,如下圖所示,這款微控制器只有樹莓派那么大,擁有機器學習的專用硬體,因此,你可以利用它執行物件檢測、語音識別以及其他機器學習任務,

圖:英偉達的 Jetson Nano 開發者套件


將 RISC-V 作為主 CPU?

許多人可能想問:為什么不用 RISC-V 完全替代 ARM?

盡管有些人認為這根本無法實作,因為 RISC-V 擁有一套“精巧又簡單”的指令集,無法提供 ARM 和 x86 的高性能,實際上,你可以將 RISC-V 作為主處理器,性能并不是問題,就像使用 ARM 一樣,我們只需要有人來制作高性能 RISC-V 芯片,

實際上,已經有人制作出了這樣的芯片:新的 RISC-V CPU 宣稱性能已創紀錄,

人們常常有一個誤解:復雜的指令可以提供更高的性能,RISC 作業站在 90 年代就證明了這是錯誤的想法,它們在性能基準測驗中徹底擊敗了 x86 計算機,實際上,RISC-V 有很多巧妙的方法來提高性能,簡而言之,你完全可以將 RISC-V 處理器作為主 CPU,但這也是一個時機的問題,MacOS 和 Windows 都采用了 ARM,至少在短期內,微軟或蘋果是否會再次投資硬體以支持 RISC-V 似乎很值得懷疑,


總結

有人聲稱 RISC-V CPU 在功耗和性能方面已經超過了 ARM,人們紛紛在討論,RISC-V 是否確實有可能成為計算機的主 CPU,

我必須承認,我不清楚為什么 RISC-V 會超過 ARM,而且他們自己也承認, RISC-V 是一個非常保守的設計,其中并沒有使用太多新的指令,但是,采用最小指令集確實有優勢,我們可以實作非常小且非常簡單的 RISC-V CPU,同時功耗會降低,而時鐘頻率可以提升,

因此,關于 RISC-V 和 ARM 的最終結論還為時尚早,

原文鏈接:https://erik-engheim.medium.com/apple-m1-foreshadows-risc-v-dd63a62b2562

原文標題:Apple M1 foreshadows Rise of RISC-V

作者:Erik Engheim,現居挪威,熱衷于 UX、Julia 編程、科學與寫作,

本文為 CSDN 翻譯,轉載請注明來源出處,


更多精彩推薦
 
?最高要價 8888元,小米 11 邀請函現身閑魚;榮耀與微軟簽署全球 PC 合作協議;Xfce 4.16 發布|極客頭條
?前端諸神大戰,Vue、React 依舊笑傲江湖
?計算機巨星隕落!圖靈獎得主 Edmund Clarke 因感染“新冠”逝世

?Github 超 20000 Star,最火開源視頻庫 FFmpeg 這 20 年!
?跨平臺將終結

?曾被“勸退”的 C++ 20 正式發布!
?最令人討厭的編程語言:C++ Java 上榜

?Rust 2020 調查報告出爐,95%的開發者吐槽Rust難學

點分享點點贊點在看

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/241958.html

標籤:AI

上一篇:iOS 當前網路型別判斷(2G/3G/4G/5G)

下一篇:[譯] Serverless 是一種思想狀態!

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more