CPU架構:CPU架構詳細介紹

1 概述
? ? ? ? ?CPU架構是CPU商給CPU產品定的一個規范,主要目的是為了區分不同類型的CPU。目前市場上的CPU分類主要分有兩大陣營一個是intel、AMD為首的復雜指令集CPU另一個是以IBM、ARM為首的精簡指令集CPU不同品牌的CPU,其產品的架構也不相同,Intel、AMD的CPU是X86架構IBM公司的CPU是PowerPC架構ARM公司的CPU是ARM架構國內的飛騰CPU也是ARM架構此外還有MPIS架構、SPARC架構、Alpha架構

2 X86架構
? ? ? ? X86架構(The X86 architecture)是微處理器執行的計算機語言指令集。X86指令集是美國Intel公司為其第一塊16位CPU(i8086)專門開發的,美國IBM公司1981年推出的世界第一臺PC機中的CPU--i8088(i8086簡化版)使用的也是X86指令。同時電腦中為提高浮點數據處理能力而增加的X87芯片系列數字協處理器則另外使用X87指令,,包括后來 Intel 80186、80286、80386以及80486,由于以“86”作為結尾,以后就將X86指令集和X87指令集統稱為X86指令集。雖然隨著CPU技術的不斷發展,Intel陸續研制出更新型的i80386、i80486直到今天的Pentium 4(以下簡為P4)系列,但為了保證電腦能繼續運行以往開發的各類應用程序以保護和繼承豐富的軟件資源,所以Intel公司所生產的所有CPU仍然繼續使用X86指令集,所以它的CPU仍屬于X86系列。

? ? ? ?x86架構CPU主要應用領域:個人計算機、服務器等。在PC端市場Wintel組合(windows系統 + intel處理器)占據了大部分江山,另外一部分有ADM占領。目前國內有兆芯,從AMD和VIA獲取授權,研發自己的X86CPU,有其它國產CPU + 國產操作系統(linux系)可以用于教育和事業單位以及軍工行針對的是特殊用戶,國產CPU和操作系統想進入民用市場,由于性能、價格以及生態系統等,仍需要繼續優化打磨以及一個合適契機。

? ? ?x86指令集發展

? ? ? ?IA:Intel(英特爾)處理器的服務器稱之為IA(Intel Architecture)架構服務器

? ? ? IA-32:英特爾32位體系架構,X86從16位到32位是在原有的架構基礎上進行修改(Intel稱之為IA-32)

? ? ? x86-32:現如今Intel把x86-32稱為IA-32

? ? ? x86-64 分為intel和AMD

? ? ? ?AMD64:x86架構的64位拓展,向后兼容于16位及32位的x86架構。x64于1999年由AMD設計,AMD首次公開64位集以擴展給x86,稱為“AMD64”,AMD64和Intel64基本上一致

? ? ? ?Intel64:EM64T(Extended Memory 64 Technology)擴展64bit內存技術,本質上和AMD64一樣都是IA-32的增強版本。

? ? ? ?IA-64:64位的英特爾架構,英特爾安騰架構(Intel Itanium architecture),使用在Itanium處理器家族上的64位指令集架構,由英特爾公司與惠普公司共同開發。IA是Intel Architecture(英特爾架構)的縮寫,64指64位系統。使用這種架構的CPU,包括Itanium和Itanium 2。此架構與x86及x86-64并不相容,操作系統與軟件需使用IA-64專用版本。

? ? ? ?Intel推出X86架構已滿40年了,同486相比,Pentium向前邁進了一大步, 而PⅡ的前進步伐則沒有這么大了,X86 CPU的發展似乎已到了盡頭。英特爾非常清楚,是X86指令集限制了CPU性能的進一步提高,因此,他們正同惠普共同努力開發下一代指令集架構(Instruction Set Architecture ,ISA): EPIC(Explicitly Parallel Instruction Computing,顯性并行指令計算)。對英特爾而言, IA-64(英特爾的64位架構)是下一個10到15年的架構。新的ISA將使英特爾擺脫X86架構的限制,從而設計出超越所有現有RISC CPU和X86 CPU的新型處理器。

3 ARM架構
? ? ? ? ARM架構,也稱作進階精簡指令集機器(Advanced RISC Machine,更早稱作:Acorn RISC Machine),是一個32位精簡指令集(RISC)處理器架構,其廣泛地使用在許多嵌入式系統設計。由于節能的特點,ARM處理器非常適用于行動通訊領域,符合其主要設計目標為低耗電的特性。(其它請參考ARM介紹)

? ? ? ? 目前,ARM家族占了所有32位嵌入式處理器75%的比例,使它成為占全世界最多數的32位架構之一。ARM處理器可以在很多消費性電子產品上看到,從可攜式裝置(PDA、移動電話、多媒體播放器、掌上型電子游戲,和計算機)到電腦外設(硬盤、桌上型路由器)甚至在導彈的彈載計算機等軍用設施中都有他的存在。在此還有一些基于ARM設計的派生產品,重要產品還包括Marvell的XScale架構和德州儀器的OMAP系列。

? ? ? ? ? ARM 授權方式:ARM 公司本身并不靠自有的設計來制造或出售 CPU ,而是將處理器架構授權給有興趣的廠家。ARM 提供了多樣的授權條款,包括售價與散播性等項目。對于授權方來說,ARM 提供了 ARM 內核的整合硬件敘述,包含完整的軟件開發工具(編譯器、debugger、SDK),以及針對內含 ARM CPU 硅芯片的銷售權。對于無晶圓廠的授權方來說,其希望能將 ARM 內核整合到他們自行研發的芯片設計中,通常就僅針對取得一份生產就緒的智財核心技術(IP Core)認證。對這些客戶來說,ARM 會釋出所選的 ARM 核心的閘極電路圖,連同抽象模擬模型和測試程式,以協助設計整合和驗證。需求更多的客戶,包括整合元件制造商(IDM)和晶圓廠家,就選擇可合成的RTL(暫存器轉移層級,如 Verilog)形式來取得處理器的智財權(IP)。借著可整合的 RTL,客戶就有能力能進行架構上的最佳化與加強。這個方式能讓設計者完成額外的設計目標(如高震蕩頻率、低能量耗損、指令集延伸等)而不會受限于無法更動的電路圖。雖然 ARM 并不授予授權方再次出售 ARM 架構本身,但授權方可以任意地出售制品(如芯片元件、評估板、完整系統等)。商用晶圓廠是特殊例子,因為他們不僅授予能出售包含 ARM 內核的硅晶成品,對其它客戶來講,他們通常也保留重制 ARM 內核的權利。

? ? ? ? 國外生產廠商:TI (德州儀器)、Samsung(三星)、Freescale(飛思卡爾)、Marvell(馬維爾)、Nvidia(英偉達)、Qualcomm(高通)、STMicroelectronics(意法半導體)。

? ? ? ? 國內生產廠商:華為(海思芯片)、飛騰(FT-1500、FT2000-4等CPU芯片)、兆易創新(GD32系列MCU,參考STM32系列)、瑞芯微(RK系列芯片)、聯發科(臺灣,天璣系列)。

? ? ? ARM架構的CPU可以有多核,例如幾年前聯發科推出10核處理器Helio X20(被戲稱一核有難,八核圍觀,國產FT處理器已經推出了16核處理器。但是由于ARM自身低功耗等因素的限制,核心數多并不一定能大大提升性能。

? ? ? ?目前ARM主要市場是手機端CPU和MCU,手機CPU市場,由高通驍龍系列、華為麒麟系列、以及三星獵戶系列和聯發科系列,在MCU端主要是STM32以及國產的GD32,其它廠商的芯片用于其它領域,比如汽車電子、智能家居等。在CPU處理器上,有華為海思的鯤鵬920CPU(應用于泰山服務器中)和FT的CPU(軍工領域),雖然FT的CPU起步很早,但是鯤鵬顯然有后來居上之趨勢。國內ARM芯片做的最好的是華為海思,鯤鵬920CPU性能在ARM架構中是NO1,另外海思麒麟系列手機芯片已發展為全球前三的地位,海思的視頻處理芯片以及IoT芯片,在行業中都是標桿的產品。

? ? ? 在2020年11月11日,apple公司發布了新一代的mac book,亮點就是使用了apple自己的ARM架構的M1。由于ARM的功耗小,在新一代的macbook上,apple大膽的去掉了散熱風扇芯片,將筆記本厚度進一步壓縮,續航時間達到了18小時。同時,搭載M1芯片的mac book CPU 性能提升至 3.5 倍,GPU 性能提升至 5 倍,機器學習性能提升至 9 倍。根據apple公司的影響力,未來PC中市場將會被ARM架構的CPU替代。(天下苦wintel久已)

4 MPIS架構
? ? ? ?MIPS是世界上很流行的一種RISC處理器。MIPS的意思是“無內部互鎖流水級的微處理器”(Microprocessor without interlockedpipedstages),其機制是盡量利用軟件辦法避免流水線中的數據相關問題。它最早是在80年代初期由斯坦福(Stanford)大學Hennessy教授領導的研究小組研制出來的。MIPS公司的R系列就是在此基礎上開發的RISC工業產品的微處理器。這些系列產品為很多計算機公司采用構成各種工作站和計算機系統。

? ? ? ? MIPS技術公司是美國著名的芯片設計公司,它采用精簡指令系統計算結構(RISC)來設計芯片。和英特爾采用的復雜指令系統計算結構(CISC)相比,RISC具有設計更簡單、設計周期更短等優點,并可以應用更多先進的技術,開發更快的下一代處理器。MIPS是出現最早的商業RISC架構芯片之一,新的架構集成了所有原來MIPS指令集,并增加了許多更強大的功能。MIPS自己只進行CPU的設計,之后把設計方案授權給客戶,使得客戶能夠制造出高性能的CPU。

? ? ? ?1984年,MIPS計算機公司成立,開始設計RISC處理器;

? ? ? ?1986年推出R2000處理器。

? ? ? ?1992年,SGI收購了MIPS計算機公司。

? ? ? ?1988年推R3000處理器。

? ? ? 1991年推出第一款64位商用微處器R4000;之后又陸續推出R8000(于1994年)、R10000(于1996年)和R12000(于1997年)等型號。

? ? ? 1998年,MIPS脫離SGI,成為MIPS技術公司;隨后,MIPS公司的戰略發生變化,把重點放在嵌入式系統;1998年-MIPS科技股票在美國納斯達克股票交易所公開上市。

? ? ? 1999年,MIPS公司發布MIPS32和MIPS64架構標準,為未來MIPS處理器的開發奠定了基礎。新的架構集成了所有原來NIPS指令集,并且增加了許多更強大的功能。MIPS公司陸續開發了高性能、低功耗的32位處理器內核(core)MIPS324Kc與高性能64位處理器內核MIPS645Kc。

? ? ? 2000年,MIPS公司發布了針對MIPS32 4Kc的版本以及64位MIPS 64 20Kc處理器內核。

? ? ? 2007年8月16日-MIPS科技宣布,中科院計算機研究所的龍芯中央處理器獲得其處理器IP的全部專利和總線、指令集授權。

? ? ? 2007年12月20日-MIPS科技宣布,揚智科技已取得其針對先進多媒體所設計的可定制化系統單芯片(SoC)核心“MIPS32 24KEcPro”授權。

? ? ? ?MPIS架構授權和ARM架構授權不一樣,ARM架構授權用戶基本不能自行修改,而MPIS架構授權后,可以自己修改。目前MPIS發揚光大寄希望中科龍芯公司,龍芯處理器從龍芯1號,到現在的龍芯3號系列的3A4000,CPU的性能已經大幅度提高,在完全可以勝任日常辦公或者作為特殊用途的服務器。龍芯CPU和國產的飛騰(FT)處理器并駕齊驅,發展我國自主可控CPU。

5 PowerPC系列
? ? ? ? ?PowerPC 是一種精簡指令集(RISC)架構的中央處理器(CPU),其基本的設計源自IBM(國際商用機器公司)的IBMPowerPC 601 微處理器POWER(PerformanceOptimized With Enhanced RISC;《IBM Connect 電子報》2007年8月號譯為“增強RISC性能優化”)架構。二十世紀九十年代,IBM(國際商用機器公司)、Apple(蘋果公司)和Motorola(摩托羅拉)公司開發PowerPC芯片成功,并制造出基于PowerPC的多處理器計算機。PowerPC架構的特點是可伸縮性好、方便靈活。

? ? ? ? PowerPC 處理器有廣泛的實現范圍,包括從諸如 Power4 那樣的高端服務器CPU 到嵌入式 CPU 市場(任天堂Gamecube 使用了 PowerPC)。PowerPC處理器有非常強的嵌入式表現,因為它具有優異的性能、較低的能量損耗以及較低的散熱量。除了象串行和以太網控制器那樣的集成 I/O,該嵌入式處理器與“臺式機”CPU 存在非常顯著的區別。

?
6 SPARC架構
? ? ? ?SPARC架構(Scalable Processor ARChitecture,可擴展處理器架構)是國際上流行的RISC處理器體系架構之一,SPRAC如今已發展成為一個開放的標準,任何機構或個人均可研究或開發基于SPRAC架構的產品,而無需交納版權費。SPARC 處理器架構具備精簡指令集(RISC)、支持32 位/64 位指令精度,架構運行穩定、可擴展性優良、體系標準開放等特點。SPARC因此得以迅速發展壯大,在現在已經有大約3萬多個成功的應用案例。

? ? ? ? ?SPARCV7/V8 是目前嵌入式控制系統常用的處理器標準版本,并在航天設備的電子系統中得到廣泛應用。然而,SPARC只是一個處理器的架構標準,并不提供現成的源碼或IP核,具體的芯片實現要由開發者去完成。

? ? ? ? ?運行Oracle Solaris的Oracle SPARC T4服務器提供了創世界紀錄的性能,其單線程性能提高了5倍、內存容量高達2 TB且實現了極高的系統吞吐量和I/O容量。SPARC T4服務器適用于需要極高的可靠性、可用性和集成式片上加密加速的企業應用程序和任務關鍵型應用程序,可確保最終的安全性。

7 Alpha架構
? ? ? ? Alpha處理器最早由DEC公司設計制造,在Compaq(康柏)公司收購DEC之后,Alpha處理器繼續得到發展,并且應用于許多高檔的Compaq服務器上。自1995年開始開發了21164芯片,那時的工藝為0.5um,主頻為200MHz。1998年,推出新型號21264,當時的主頻是600MHz。較新的21264芯片主頻達到1GHz,工藝為0.18um。在該芯片具有完善的指令預測能力和很高的存儲系統帶寬(超過1GB/s),并且其中增加了處理視頻信息的功能,其多媒體處理能力得到了增強。

? ? ? Alpha架構于1992年2月25日,在東京召開的一次會議上面被正式推介,新架構的關鍵特性都一一的被羅列出來。當時說Alpha只是產品開發的內部代號。新處理器采用完全64-bit RISC設計,執行固定長度指令(32 bits)。有32個64 bit整數寄存器,操作43-bit的虛擬地址(在后來能夠擴充到64-bit)。和VAX相同,使用little-endian字節順序,即低字節的寄存器占用低內存地址線。而不像如摩托羅拉等大多數處理器所使用的big-endian字節順序,即低字節寄存器占用高內存地址線。除此之外,處理器還內建一個算術協處理器,有32個浮點64-bit寄存器,采用隨機存取,而不是在intel x86協處理器上使用的堆棧存取方式。整個Alpha的生命周期被設計為至少25年。

? ? ? ? Alpha處理器被用于DEC自己的工作站和服務器中。作為VAX的后續被開發,支持VMS操作系統,如 Digital UNIX。不久之后開放源代碼的操作系統也可以在其上運行,如Linux和 DSB 。Microsoft 支持這款處理器,直到Windows NT 4.0 SP6 ,但是從Windows 2000 RC2開始放棄了對Alpha的支持。

? ? 目前國內采用此架構的是申微超算處理器,得益于國家的支持,申威處理器在軍隊應用廣泛。

8 架構之間的競爭
8.1 PC和服務競爭
? ? ? ? ?PC端和服務器端是X86架構的天下,而X86架構基本是以Intel為首,AMD為輔二分天下之勢。國產CPU基本只能用在軍工行業或者事業單位等。其實說性能,powerpc,可謂是高出不勝寒。硬件方面,Power系統在可靠性、可用性和可維護性的方面的出色表現使得 IBM從芯片到系統所設計的整機方案有著獨有的優勢。Power架構的處理器在超算、大型企業的UNIX服務器等多個方面應用也十分成功。在軟件方面,其專用的AIX系統在穩定性、軟件方案集成度和廠商技術支持能力方面都要更強。由于用戶選一平臺主要看軟件需求,一般對數據保護和7*24小時不宕機等有所要求,power架構的穩定性和運維等方面相對更優。但是,由于IBM的技術把控,使得其價格太不友好,同時技術也趕不上環境的變化,在云計算興起后,隨著分布式系統逐漸成熟,系統對小型機的依賴開始降低,改為依靠集群提供,性能也可實現分布式處理。而更為關鍵的是,IBM的全套服務盡管穩定性優秀,但卻影響了Power架構對其他商家的吸引力。

? ? ? ? 而Sparc架構和Power架構基本犯了同樣的錯誤:價格不友好。SPARC架構測成功和Sun旗下的Solaris系統有著密不可分的關系。當計算機系統龐大、用戶數量巨大增加時,基于Unix操作系統打造的 Solaris能更好地利用計算機資源,是所有商業版中最可靠最完善的版本。而依賴SPARC架構和Solaris系統的性能和可靠性,其占領了服務器高端市場。Sun的另一個更為知名的產品是Java,雖然在上世紀90年代為智能家電開發的Java并沒有為其帶來相應的回報,但已成為今天移動時代最重要的開發語言。如此強大的實力本應統領服務器市場,但遺憾的是,在windows和英特爾組成Wintel聯盟之后,兩者憑借自身在各自市場的規模效應,使得采用Wintel產品的服務器廠商可以通過低廉的價格大肆搶占中低端市場。而當Sun醒悟過來,通過開源等方式想要挽回敗局時為時已晚。

? ? ? ? X86架構與Power和SPARC在高性能領域的風生水起不同,x86架構是天生的小屌絲。1978年他出生的那年,英特爾還只是一個普通的科技公司。可是x86架構隨同其cisc指令集卻開啟了一個新的時代。x86之所以可以贏得市場主要原因在于其是一個十分開放的架構。IBM和SUN當年都是從芯片到服務器到系統一手包辦的公司。而英特爾則是一個十分純粹的芯片廠商,其業務僅與AMD等少數芯片生產者存在競爭,這就使得服務器廠商不用忌憚與之發生競爭關系。

? ? ? ? 單從性能來看,無論Power還是SPARC架構都可以擊潰x86,可是最終能夠贏下來的卻偏偏是"最弱"的x86架構。這并非劣幣淘汰良幣,而是市場競爭的選擇,根源上講,x86的成功在于英特爾根本不碰服務器。因此不論設備生產商、軟件開發者或者系統開發者都可以與不存在利益競爭關系的英特爾合作。受益于此,x86架構的兼容性也越發強大,生態體系越發完善,這才成就了現如今市場占有率超過90%的一家獨大局面,英特爾也借助x86架構一躍成為全球頂級的芯片提供商。

8.2 移動端競爭
? ? ? ? 正如PC和服務器端是X86的天下一樣,移動端是ARM的天下。Intel在CPU界的大名,可謂家喻戶曉,但是在手機登移動端卻難以看到英國ARM公司背影。在2006年,自從AMD的64位處理器發布以來,AMD成功逆襲了Intel,市場占有率大幅上升,而Intel老邁的P4處理器則是腹背受敵,盡失昔日霸氣,市場表現一路走低。為了穩住投資人的信心,最好的做法自然是讓公司持續盈利,為此Intel進行大規模的重整,包括上任新CEO 歐德寧、大規模裁員、以及出售XScale手機處理器業務。正因為這個舉措,使得Intel到達了人生巔峰,從PC市場有賺的缽滿盆滿,然而也是因為此,Intel忽視了移動領域的迅猛發展。(當年,Intel拒絕了喬幫主還是PPT的Iphone手機,不然是否就會不一樣?但是想一下Iphone X 使用Intel基帶,信號差的詬病,Intel做手機芯是否會臭名昭著也未可知)

? ? ? ? 和Intel公司不同, ARM公司不制造,不銷售芯片,而是只自己設計IP核,包括指令集架構、微處理器、GPU、互連架構等,然后誰想用就授權賣給誰,再從每顆實際造出來的產品中收取版稅。ARM有三種授權模式,分別是架構授權、內核授權、使用授權,分別對應大中小公司,非常討喜,貼個牌子就能說是自己的CPU,為ARM處理器的廣泛使用打下堅實基礎。

? ? ? ? ARM的成功除了商業模式的獨特之外還少不得自身素質的優秀,Intel技術毫無疑問是頂尖的,但應用場景在傳統PC上,換成移動設備就行不通了,移動設備比起性能首先要考慮功耗和續航,Intel就吃了這個大虧,X86架構獨步天下肯定是不能隨意變改的,移動設備當然繼續沿用X86架構,然而換來卻是高功耗和快速掉電,換誰都看不上。反之功耗控制則是ARM的強項,使用精簡指令集(RISC)和創新的big.LITTLE架構,使ARM處理器能耗比一直領先于Intel。

? ? ? ? Intel正在積極布局,推出應用于 IoT 物聯網的 Atom E3900 及車載電子的 Atom A3900 系列,號稱 CPU 性能提升70%,GPU 性能提升190%,其中 Atom A3900 特別針對高溫環境設計,可在110°C高溫下使用15年。Intel是一家偉大的企業,但也是會犯錯誤的,既然已經錯失移動市場,不妨暫時脫離,提前做好下一階段的技術研發(5G),也有可能實現彎道超車。

?
?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/252640.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/252640.shtml
英文地址,請注明出處:http://en.pswp.cn/news/252640.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【NOIP】關押罪犯

帶權并查集&#xff0c;其實這種并查集的核心就是“向量” 1 #include<cstdio>2 #include<iostream>3 #include<algorithm>4 using namespace std;5 int n,m,p[20001],r[20001]; //0表示在同一監獄&#xff0c;1表示在不同監獄 6 struct node{7 int…

數學之路(3)-機器學習(3)-機器學習算法-SVM[7]

SVM是新近出現的強大的數據挖掘工具&#xff0c;它在文本分類、手寫文字識別、圖像分類、生物序列分析等實際應用中表現出非常好的性能。SVM屬于監督學習算法&#xff0c;樣本以屬性向量的形式提供&#xff0c;所以輸入空間是Rn的子集。 圖1 如圖1所示&#xff0c;SVM的目標是找…

Dalvik指令備忘

跳轉指令 if-eq vx, vy, 目標 如果vx vy注2&#xff0c;跳轉到目標。if-ne vx,vy, 目標 如果vx ! vy注2&#xff0c;跳轉到目標。 if-lt vx,vy, 目標 如果vx < vy注2&#xff0c;跳轉到目標。 if-ge vx, vy, 目標 如果vx > vy注2&#xff0c;跳轉到目標。 if-gt vx,vy, …

CPU、GPU、FPGA、ASIC等AI芯片特性及對比

1、前言 目前&#xff0c;智能駕駛領域在處理深度學習AI算法方面&#xff0c;主要采用GPU、FPGA 等適合并行計算的通用芯片來實現加速。同時有部分芯片企業開始設計專門用于AI算法的ASIC專用芯片&#xff0c;比如谷歌TPU、地平線BPU等。在智能駕駛產業應用沒有大規模興起和批量…

個人博客03

昨天編寫登錄界面、注冊界面的代碼。 今天依舊做這些。 遇到的問題為數據庫連接不上。轉載于:https://www.cnblogs.com/qilin20/p/8068555.html

人工智能Ai芯片層出不窮,GPU、FPGA、ASIC用于人工智能的優勢和劣勢對比

人工智能&#xff08;AI&#xff09;主要包括三大要素&#xff0c;分別是數據、算法和算力。其中數據是基礎&#xff0c;正是因為在實際應用當中的數據量越來越大&#xff0c;使得傳統計算方式和硬件難以滿足要求&#xff0c;才催生了AI應用的落地。而算法是連接軟件、數據、應…

dom和bom

先看幾個兩個例題&#xff1a; 星座對應日期&#xff1a; <select id"s1">   <option>a</option>   <option>b</option>   <option>c</option>   <option>d</option>   </select>   <se…

分享自己針對Automation做的兩個成熟的框架(QTP 和Selenium)

自己在google code中開源了自己一直以來做的兩個自動化的框架&#xff0c;一個是針對QTP的一個是針對Selenium的&#xff0c;顯而易見&#xff0c;一個是商業的UI automation工具&#xff0c;一個是開源的自動化工具。 只是代碼&#xff0c;可能你直接看的話&#xff0c;有點不…

全景視頻拼接關鍵技術

一、原理介紹 圖像拼接(Image Stitching)是一種利用實景圖像組成全景空間的技術&#xff0c;它將多幅圖像拼接成一幅大尺度圖像或360度全景圖&#xff0c;圖像拼接技術涉及到計算機視覺、計算機圖形學、數字圖像處理以及一些數學工具等技術。圖像拼接其基本步驟主要包括以下幾…

Part8 多態性 8.1運算符重載

1運算符重載的規則C 幾乎可以重載全部的運算符&#xff0c;而且只能夠重載C中已經有的。不能重載的運算符&#xff1a;“.”、“.*”、“::”、“?:”重載之后運算符的優先級和結合性都不會改變。 重載的兩種形式&#xff1a;   1 重載為類的非靜態成員函數&#xff1b;   …

H面試程序(29):求最大遞增數

要求&#xff1a;求最大遞增數 如&#xff1a;1231123451 輸出12345 #include<stdio.h> #include<assert.h> void find(char *s) {int maxleng 0;int length 1;int pos 0;int i 0;while(s[i] !\0){ if((s[i])<0||(s[i]>9)){assert(0);}if((s[i1]-0) &g…

reorder-list

/*** Definition for singly-linked list.* class ListNode {* int val;* ListNode next;* ListNode(int x) {* val x;* next null;* }* }*///思路:通過不同的首結點獲取到不同的尾結點,然后拼接public class Solution {public ListNode get…

四大主流芯片架構(X86、ARM、RISC-V和MIPS)

目前市場上主流的芯片架構有 X86、ARM、RISC-V和MIPS四種&#xff1a; 序號架構特點代表性的廠商運營機構發明時間1X86性能高&#xff0c;速度快&#xff0c;兼容性好英特爾&#xff0c;AMD英特爾1978年2ARM成本低&#xff0c;低功耗蘋果&#xff0c;谷歌&#xff0c;IBM&…

微博預計要火一陣的SleepSort之Shell及C實現

今日在微博看到如此奇妙的代碼。竟然還有新的sort算法&#xff0c;對于我這樣的渣渣必須研究一下&#xff0c;代碼例如以下&#xff1a; #!/bin.bash function f() {sleep "$1" //sleep 這么多secho "$1" }while [ -n "$1" ] //第一個參數不為空…

相關類以及常用方法

1、system&#xff1a;(系統相關類&#xff09; 常用方法&#xff1a; a) : system.arraycopy(制定數組&#xff0c;開始復制的位置&#xff0c;目標數組&#xff0c;開始粘貼的位置&#xff0c;需要復制的長度) 。 將指定源數組中的數組從指定位置復制到目標數組的指定位…

2021-11-15

本文將重點圍繞國產CPU的發展歷程與當前產業鏈各領軍企業的布局情況作詳盡解讀&#xff08;并包含特大號獨家整理的最新進展&#xff09;&#xff0c;具體如下&#xff1a; 1、國產CPU發展歷程回溯 2、飛騰&#xff1a;PK生態的主導者 3、鯤鵬&#xff1a;快速崛起的領導者 …

關于在ubuntu下配置AMD顯卡驅動的總結

同樣先卸載先前版本 代碼:sudo sh /usr/share/ati/fglrx-uninstall.sh代碼:sudo apt-get remove --purge fglrx fglrx_* fglrx-amdcccle* fglrx-dev*重啟 代碼:sudo reboot下載驅動&#xff0c;右邊直接有ubuntu32位和64位驅動鏈接&#xff1a;http://support.amd.com/en-us/do…

Python3中的hasattr()

Python3已經將此內置函數移除了。查閱Python v3.0 documentation發現可以使用 hasattr(object, name)內置函數來完成callable的功能&#xff0c;方式如下&#xff1a; 3.0之前&#xff1a;callable(func) 3.0之后&#xff1a;hasattr(func, __call__) 這兩者結果是相同的。 轉載…

計算機結構簡圖

北橋,南橋是主板上芯片組中最重要的兩塊了.它們都是總線控制器.他們是總線控制芯片.相對的來講,北橋要比南橋更加重要.北橋連接系統總線,擔負著cpu訪問內存的重任.同時連接這AGP插口,控制PCI總線,割斷了系統總線和局部總線,在這一段上速度是最快的.南橋不和CPU連接通常用來作I/…

原始Ajax

var $ { request:function(obj){ //1. 獲得xmlhttprequest對象兼容性處理 var xhr; //undefined未定義 try{ //主流瀏覽器里面的ajax對象 xhr new XMLHttpRequest(); }catch(e){ //IE低版本的瀏覽器 xhr new ActiveXObject("Microsoft.XMLHTTP"); } //2. 建立和…