『壹』 電腦基本知識大全
1、啟動Windows XP,在啟動畫面出現後的瞬間,按F8,選擇"帶命令行的安全模式"運行。
2、運行過程停止時,系統列出了超級用戶administrator和本地用戶nwe的選擇菜單,滑鼠點擊administrator,進入命令行模式。
3、鍵入命令:"net user li 123456 強制性將OWNER用戶的口令更改為"123456"。若想在此添加某一用戶(如:用戶名為abcdef,口令為123456)的話,請鍵入"net user abcdef 123456 /add",添加後可用"net localgroup administrators abcdef /add"命令將用戶提升為系統管理組administrators用戶,具有超級許可權。
4、重新啟動Windows XP,選擇正常模式運行,就可以用更改的口令"123456" 登錄liangli用戶了。
『貳』 計算機基礎知識包括什麼
操作系統、文字處理軟體Word、電子表格軟體Excel、演示文稿PowerPoint、計算機網路基礎、網頁製作軟體Frontpage、常用軟體的使用、Access資料庫
『叄』 電腦的知識電腦知識有哪些
1956年,夏培肅完成了第一台電子計算機運算器和控制器的設計工作,同時編寫了中國第一本電子計算機原理講義。
1957年,哈爾濱工業大學研製成功中國第一台模擬式電子計算機。
1958年,中國第一台計算機--103型通用數字電子計算機研製成功,運行速度每秒1500次。
1959年,中國研製成功104型電子計算機,運算速度每秒1萬次。
1960年,中國第一台大型通用電子計算機--107型通用電子數字計算機研製成功。
1963年,中國第一台大型晶體管電子計算機--109機研製成功。
1964年,441B全晶體管計算機研製成功。
1965年,中國第一台百萬次集成電路計算機"DJS-Ⅱ"型操作系統編制完成。
1967年,新型晶體管大型通用數字計算機誕生。
1969年,北京大學承接研製百萬次集成電路數字電子計算機 --150機。
1970年,中國第一台具有多道程序分時操作系統和標准匯編語言的計算機--441B-Ⅲ型全晶體管計算機研製成功。
1972年,每秒運算11萬次的大型集成電路通用數字電子計算機研製成功。
1973年,中國第一台百萬次集成電路電子計算機研製成功。
1974年,DJS-130、131、132、135、140、152、153等13個機型先後研製成功。
1976年,DJS-183、184、185、186、1804機研製成功。
1977年,中國第一台微型計算機DJS-050機研製成功。
1979年,中國研製成功每秒運算500萬次的集成電路計算機--HDS-9,王選用中國第一台激光照排機排出樣書。
1981年,中國研製成功的260機平均運算速度達到每秒100萬次。
1983年,"銀河Ⅰ號"巨型計算機研製成功,運算速度達每秒1億次。
1984年,聯想集團的前身--新技術發展公司成立,中國出現第一次微機熱。
1985年,華光Ⅱ型漢字激光照排系統投入生產性使用。
1986年,中華學習機投入生產。
1987年,第一台國產的286微機--長城286正式推出。
1988年,第一台國產386微機--長城386推出,中國發現首例計算機病毒。
1990年,中國首台高智能計算機--EST/IS4260智能工作站誕生,長城486計算機問世。
1991年,新華社、科技日報、經濟日報正式啟用漢字激光照排系統。
1992年,中國最大的漢字字元集--6萬電腦漢字字型檔正式建立。
1993年,中國第一台10億次巨型銀河計算機Ⅱ型通過鑒定。
1994年,銀河計算機Ⅱ型在國家氣象局投入正式運行,用於天氣中期預報。
1995年,曙光1000大型機通過鑒定,其峰值可達每秒25億次。
1996年,國產聯想電腦在國內微機市場銷售量第一。
1997年,銀河-Ⅲ並行巨型計算機研製成功。
1998年,中國微機銷量達408萬台,國產佔有率高達71.9%。
1999年,銀河四代巨型機研製成功。
2000年,我國自行研製成功高性能計算機"神威I",其主要技術指標和性能達到國際先進水平。我國成為繼美國、日本之後世界上第三個具備研製高性能計算機能力的國家。
『肆』 計算機的基本知識有哪些
建議你去新華書店買本計算機基礎看看。
『伍』 計算機基礎知識都包括哪些
基礎知識重要,但是具體來說,哪些點重要呢?
今天我就試圖總結一下,也歡迎大家補充。
信息的表示和處理
計算機如何表示整數:有符號數和無符號數,尤其是如何用補碼表示負數,數字的取值范圍。
計算機如何表示浮點數,為什麼小數的二進製表示法只能近似表示十進制小數。
數值的轉換、移位
這幾點非常重要,因為幾乎所有的編程語言都有數據類型,而最基本數據類型必然包括整數和浮點數。
搞不清這些表示和運算,在編程中就會遇到一些稀奇古怪的問題。
從匯編層面理解程序的執行
順序、分支、循環、函數調用、數組、結構體等在匯編層面是怎麼實現的,寄存器和內存是怎麼使用的。
理解了這些其實也就理解了馮諾依曼計算機體系結構,這是計算機學科一個基礎性的東西。
知道程序在底層是怎麼運轉的, 對於學習各種虛擬機有很大的幫助,比如JVM,它要解析執行的是位元組碼,位元組碼本質上要表達的就是這些東西,只不過有所擴展。
理解了棧幀,就能理解函數調用的本質,遞歸,以及尾遞歸的實現。還有安全相關的概念,如緩沖區溢出這個臭名卓著的漏洞及其防範辦法。
進程和線程
程序員必備的知識,不了解這個,簡直是無法編程。
需要掌握進程的地址空間,代碼在哪裡,堆在哪裡,棧在哪裡。
要准確理解進程和線程之間的關系,為什麼說進程是擁有資源的基本單位, 線程是CPU調度的基本單位?
進程切換和線程切換之間的區別和聯系。
他們是如何創建,執行,有哪些狀態,狀態之間的轉換。 由此會涉及到並發和並行,線程之間的競爭和合作。
鎖的本質(硬體層面),樂觀鎖,悲觀鎖,死鎖等問題。
線程的實現方式,用戶級線程和內核級線程的對應方式。
在編程的過程中,有些知識點會直接使用,如多線程編程,鎖。 還有一些概念能用到很多地方,例如CAS,不僅僅是編程語言的概念,還能在更新資料庫時使用。再比如你理解了線程的實現方式,迅速就能掌握go語言中並發的手段:goroutine。
存儲器的層次結構
Tomcat用了多線程執行請求,Redis用了單線程來處理請求,Node.js也用了單線程來,這是為什麼? 秘密都在存儲器的層次結構。
人類製造的計算機設備之間有著巨大的速度差異:
總之,CPU超級快,內存比較快,硬碟非常慢,網路更慢, 這個速度差異是IT行業的一個核心問題,人類想了很多辦法試圖去彌補這個差異:多線程,緩存,非同步,多路復用,硬體層面的DMA。
記著下面這張圖,每當你遇到某個軟體的特性的時候,想一想和它有什麼關系:
數據結構和演算法
它的重要性我羅嗦過很多次了,不用再重復了, 我就舉個最簡單的例子: 理解了B+ Tree才能理解MySQL的InnoDB的索引,理解了索引才能更好地優化查詢,對吧?
計算機網路
現在的程序基本上都是網路程序, 所以這也是一個必備的基礎知識,學習計算機網路的一大好處就是和工作直接相關,能直接使用,比較有動力。
HTTP協議肯定跑不掉,TCP,UDP也得會,尤其是TCP可靠傳輸的原理:如何在一個不可靠的網路中進行可靠的傳輸, 這是無數前輩總結的經驗,一定得掌握。
要理解什麼是通信協議,也許某一天你自己就需要定製一個協議來傳輸數據。
分組交換是什麼意思? 協議分層的本質是什麼? 什麼叫無狀態的協議?
Socket相關的編程更是重點,尤其是涉及到伺服器端高並發的時候,如何維持和處理這些海量的socket, epoll等技術就得上場了。
還有非常重要的HTTPs的基本原理,也是網路安全的精華所在:對稱加密,非對稱加密,消息摘要,數字證書,中間人攻擊。
資料庫
不多說,關系模型、範式、SQL、索引、事務等知識都得掌握,尤其是要了解他們的實現方式。
分布式的基礎知識
這些已經偏向應用層面了,但是現在很多系統都是分布式的了,分布式就變成了一種基礎知識。
系統通信:RPC, 消息隊列等
負載均衡的原理
CAP原理,BASE原理,冪等性,一致性模型(強一致性,最終一致性.....)和相關協議(兩階段提交,Raft,Paxos......)
數據分片:取模演算法,一致性Hash,虛擬桶
基本的設計思想
下面這幾種設計思想對我影響很大,需要大家特別注意。但是掌握起來卻很不容易,需要在實踐中不斷地體會:
正交:各個概念之間可以獨立變化
抽象:拋棄細節,找到本質和共性
《深入理解計算機系統》一書中提到:「指令集是對CPU的抽象, 文件是對輸入/輸出設備的抽象, 虛擬存儲器是對程序存儲的抽象, 進程是對一個正在運行的程序的抽象, 而虛擬機是對整個計算機(包括操作系統、處理器和程序)的抽象。 如果你對這句話透徹理解了,說明對計算機系統的認識已經很深刻了。
分層:我只想和我的鄰居打交道, 如網路協議,Web應用開發。
分而治之:大事化小,小事化了,架構設計必備。
關鍵點來了,怎麼學習呢?
我原來的方式是先看書,看了很多書,數據結構,操作系統,匯編,網路...... 這種辦法的最大問題就是枯燥(嗯,那時候還沒有碼農翻身這樣用故事講解技術的文章)。
理論多,實踐少,很多知識點體會不深, 等到參與的項目多了,Coding多了,這些知識點才慢慢地鮮活起來。
一種更加有效的辦法是從工作中用到的知識點出發,從這個知識點向外擴展,由點到線,由線到面,然後讓各個層次都連接起來,形成一個立體的網路。
切記,學習是一個螺旋上升的過程,想要上升就得深度思考,多問幾個為什麼。
比如工作中用到了Redis,你在學習過程中發現這個Redis用了單線程來處理讀寫請求,為什麼要這么做? 對於成千上萬的請求它是如何處理的? 然後再聯想一下別的軟體:Tomcat為什麼不這么干? 想回答這些問題,需要發掘很多基礎知識。
這樣做的次數多了,積累到一定程度,量變就會引起質變,整個系統就被你看透了,你的知識又擴大了一圈,更多的疑問出現了......
『陸』 電腦知識有哪些
有軟體文面的,硬體方面的,網路方面的。就看你想學哪方面的。
『柒』 關於電腦的知識有什麼
打字,上網,聊天,對於以前沒接觸的人來說,就是需要學的。
電腦就是個工具,現在無論干什麼,電腦都能成為干這件事的工具。
比如,經營網店,建立網店、與客戶通過聊天工具進行聯系、庫存管理、發貨,這些就都是需要學習的知識,這些知識現在都與電腦有關。
『捌』 初學電腦基礎知識有哪些
一、處理器(CPU)
目前市場上主要有英特爾和AMD兩個品牌,而英特爾在市場上有著絕對統治的地位。處理器名稱後面通常在還會跟有一個類似3.50Ghz的參數,代表的是處理器的主頻,通常情況下主頻越高性能就越好,但不是判斷好壞的唯一標准,架構才是最需要注意的,新架構往往代表工藝、性能更先進。
二、內存 RAM
內存全稱是隨機存取存儲器,英文叫RAM,全稱為Random Access Memory,內存是CPU能直接讀取和寫入數據的地方,是數據的中轉站。內存速度極快,一個程序運行時,電腦會把這個程序運行所需要的數據全部放到內存里去。就好比我們吃飯時,不是直接拿著電飯鍋吃而是用碗裝著吃一樣。
三 、硬碟 Disk
硬碟,是電腦數據的存儲器,儲存都電腦中的所有文件,包括電腦系統本身。市面上主要有機械硬碟 (HDD) 和固態硬碟 (SSD) 兩種硬碟,在不特指的情況下,我們常說的硬碟指的就是機械硬碟。簡單地說,機械硬碟存儲數據用的是磁碟,固態硬碟存儲數據用的是晶元。固態硬碟有著機械硬碟無可比擬的讀寫速度,而機械硬碟具有文件誤刪可恢復的特性。
四、顯卡 GPU
顯卡是電腦的一個重要組成部分,承擔著輸出顯示圖形的任務,顯卡的作用是協助CPU,提高整體的運行速度。比如我們玩游戲時,CPU負責計算怪物的血量,顯卡負責渲染你與怪物搏鬥時的場景,分工合作這樣就減輕了CPU的負擔。
五、主板 Motherboard
主板,也是電腦的重要組件之一,它為CPU、內存、硬碟、顯卡、鍵盤、滑鼠、顯示器等部件提供了一個安裝平台,讓這些部件聯系在一起。由於不同代CPU針腳的不同,選購主板時需要選擇與之配對的某系主板。6系7系對應2代3代CPU,8系對應4代5代CPU,100系和200系對應6代7代CPU。
六、電源和顯示器
最後理簡單說一下電源和顯示器,電源是一個應該給於足夠重視的環節,通常電腦的其他硬體都不容易壞,如果壞了多數和電源有關,電源的供電穩定與否與整台電腦的使用壽命有直接相關,廉價的電源很容易讓電腦出現這樣那樣的毛病。
『玖』 基礎電腦知識有哪些
一、開機關機的使用一般的台式電腦主機大都是黑色的長方體,電腦開關在主機上,一般開關呈圓形或方形,用手指輕輕一摁便可開機。電腦的關機有兩種方法:第一種是長按開啟電腦的開關,等到整個屏幕變黑視為關機,但這種操作易傷害設備,不建議經常使用;第二種是打開電腦屏幕底部通知欄的“開始菜單”,開始菜單中有關機的選項,用滑鼠移動到所在位置按滑鼠左鍵使其關機,此種操作方法為正規關機方法。
二、滑鼠的操作使用
滑鼠是電腦的必備工具,一般它決定著能否正常操作電腦。滑鼠分為四大部分:左鍵、右鍵、滾輪、插頭。首先要將插頭安裝在主機後面的介面上,注意介面形狀和滑鼠介面的形狀,不要誤插介面。滑鼠可以用移動的方式操作電腦上的各種程序,左鍵一般是打開某一文件或軟體,右鍵一般是調出電腦存在的其他隱藏功能,滾輪是讓人在查閱文章和網頁時方便瀏覽。
三、軟體的安裝
電腦使用離不開各種各樣的軟體,軟體有兩種下載路徑,一種是瀏覽器下載,在瀏覽器的搜索框內用鍵盤打入所需要軟體的名稱,然後點擊搜索,網頁會自動蹦到軟體網頁,用滑鼠點擊下載選項,下載完成後根據軟體的提示進行安裝。還有一種是用軟體應用下載,同理用瀏覽器下載類似於軟體管家之類的應用,安裝之後可以直接通過該軟體來搜索想要的其他軟體,好處是能及時更新軟體,不用操作者手動安裝軟體。
『拾』 電腦上面的知識有哪些
這里是CPU的專業知識
1.主頻
主頻也叫時鍾頻率,單位是MHz,用來表示CPU的運算速度。CPU的主頻=外頻×倍頻系數。很多人認為主頻就決定著CPU的運行速度,這不僅是個片面的,而且對於伺服器來講,這個認識也出現了偏差。至今,沒有一條確定的公式能夠實現主頻和實際的運算速度兩者之間的數值關系,即使是兩大處理器廠家Intel和AMD,在這點上也存在著很大的爭議,我們從Intel的產品的發展趨勢,可以看出Intel很注重加強自身主頻的發展。像其他的處理器廠家,有人曾經拿過一快1G的全美達來做比較,它的運行效率相當於2G的Intel處理器。
所以,CPU的主頻與CPU實際的運算能力是沒有直接關系的,主頻表示在CPU內數字脈沖信號震盪的速度。在Intel的處理器產品中,我們也可以看到這樣的例子:1 GHz Itanium晶元能夠表現得差不多跟2.66 GHz Xeon/Opteron一樣快,或是1.5 GHz Itanium 2大約跟4 GHz Xeon/Opteron一樣快。CPU的運算速度還要看CPU的流水線的各方面的性能指標。
當然,主頻和實際的運算速度是有關的,只能說主頻僅僅是CPU性能表現的一個方面,而不代表CPU的整體性能。
2.外頻
外頻是CPU的基準頻率,單位也是MHz。CPU的外頻決定著整塊主板的運行速度。說白了,在台式機中,我們所說的超頻,都是超CPU的外頻(當然一般情況下,CPU的倍頻都是被鎖住的)相信這點是很好理解的。但對於伺服器CPU來講,超頻是絕對不允許的。前面說到CPU決定著主板的運行速度,兩者是同步運行的,如果把伺服器CPU超頻了,改變了外頻,會產生非同步運行,(台式機很多主板都支持非同步運行)這樣會造成整個伺服器系統的不穩定。
目前的絕大部分電腦系統中外頻也是內存與主板之間的同步運行的速度,在這種方式下,可以理解為CPU的外頻直接與內存相連通,實現兩者間的同步運行狀態。外頻與前端匯流排(FSB)頻率很容易被混為一談,下面的前端匯流排介紹我們談談兩者的區別。
3.前端匯流排(FSB)頻率
前端匯流排(FSB)頻率(即匯流排頻率)是直接影響CPU與內存直接數據交換速度。有一條公式可以計算,即數據帶寬=(匯流排頻率×數據帶寬)/8,數據傳輸最大帶寬取決於所有同時傳輸的數據的寬度和傳輸頻率。比方,現在的支持64位的至強Nocona,前端匯流排是800MHz,按照公式,它的數據傳輸最大帶寬是6.4GB/秒。
外頻與前端匯流排(FSB)頻率的區別:前端匯流排的速度指的是數據傳輸的速度,外頻是CPU與主板之間同步運行的速度。也就是說,100MHz外頻特指數字脈沖信號在每秒鍾震盪一千萬次;而100MHz前端匯流排指的是每秒鍾CPU可接受的數據傳輸量是100MHz×64bit÷8Byte/bit=800MB/s。
其實現在「HyperTransport」構架的出現,讓這種實際意義上的前端匯流排(FSB)頻率發生了變化。之前我們知道IA-32架構必須有三大重要的構件:內存控制器Hub (MCH) ,I/O控制器Hub和PCI Hub,像Intel很典型的晶元組 Intel 7501、Intel7505晶元組,為雙至強處理器量身定做的,它們所包含的MCH為CPU提供了頻率為533MHz的前端匯流排,配合DDR內存,前端匯流排帶寬可達到4.3GB/秒。但隨著處理器性能不斷提高同時給系統架構帶來了很多問題。而「HyperTransport」構架不但解決了問題,而且更有效地提高了匯流排帶寬,比方AMD Opteron處理器,靈活的HyperTransport I/O匯流排體系結構讓它整合了內存控制器,使處理器不通過系統匯流排傳給晶元組而直接和內存交換數據。這樣的話,前端匯流排(FSB)頻率在AMD Opteron處理器就不知道從何談起了。
4、CPU的位和字長
位:在數字電路和電腦技術中採用二進制,代碼只有「0」和「1」,其中無論是 「0」或是「1」在CPU中都是 一「位」。
字長:電腦技術中對CPU在單位時間內(同一時間)能一次處理的二進制數的位數叫字長。所以能處理字長為8位數據的CPU通常就叫8位的CPU。同理32位的CPU就能在單位時間內處理字長為32位的二進制數據。位元組和字長的區別:由於常用的英文字元用8位二進制就可以表示,所以通常就將8位稱為一個位元組。字長的長度是不固定的,對於不同的CPU、字長的長度也不一樣。8位的CPU一次只能處理一個位元組,而32位的CPU一次就能處理4個位元組,同理字長為64位的CPU一次可以處理8個位元組。
5.倍頻系數
倍頻系數是指CPU主頻與外頻之間的相對比例關系。在相同的外頻下,倍頻越高CPU的頻率也越高。但實際上,在相同外頻的前提下,高倍頻的CPU本身意義並不大。這是因為CPU與系統之間數據傳輸速度是有限的,一味追求高倍頻而得到高主頻的CPU就會出現明顯的「瓶頸」效應—CPU從系統中得到數據的極限速度不能夠滿足CPU運算的速度。一般除了工程樣版的Intel的CPU都是鎖了倍頻的,而AMD之前都沒有鎖。
6.緩存
緩存大小也是CPU的重要指標之一,而且緩存的結構和大小對CPU速度的影響非常大,CPU內緩存的運行頻率極高,一般是和處理器同頻運作,工作效率遠遠大於系統內存和硬碟。實際工作時,CPU往往需要重復讀取同樣的數據塊,而緩存容量的增大,可以大幅度提升CPU內部讀取數據的命中率,而不用再到內存或者硬碟上尋找,以此提高系統性能。但是由於CPU晶元面積和成本的因素來考慮,緩存都很小。
L1 Cache(一級緩存)是CPU第一層高速緩存,分為數據緩存和指令緩存。內置的L1高速緩存的容量和結構對CPU的性能影響較大,不過高速緩沖存儲器均由靜態RAM組成,結構較復雜,在CPU管芯面積不能太大的情況下,L1級高速緩存的容量不可能做得太大。一般伺服器CPU的L1緩存的容量通常在32—256KB。
L2 Cache(二級緩存)是CPU的第二層高速緩存,分內部和外部兩種晶元。內部的晶元二級緩存運行速度與主頻相同,而外部的二級緩存則只有主頻的一半。L2高速緩存容量也會影響CPU的性能,原則是越大越好,現在家庭用CPU容量最大的是512KB,而伺服器和工作站上用CPU的L2高速緩存更高達256-1MB,有的高達2MB或者3MB。
L3 Cache(三級緩存),分為兩種,早期的是外置,現在的都是內置的。而它的實際作用即是,L3緩存的應用可以進一步降低內存延遲,同時提升大數據量計算時處理器的性能。降低內存延遲和提升大數據量計算能力對游戲都很有幫助。而在伺服器領域增加L3緩存在性能方面仍然有顯著的提升。比方具有較大L3緩存的配置利用物理內存會更有效,故它比較慢的磁碟I/O子系統可以處理更多的數據請求。具有較大L3緩存的處理器提供更有效的文件系統緩存行為及較短消息和處理器隊列長度。
其實最早的L3緩存被應用在AMD發布的K6-III處理器上,當時的L3緩存受限於製造工藝,並沒有被集成進晶元內部,而是集成在主板上。在只能夠和系統匯流排頻率同步的L3緩存同主內存其實差不了多少。後來使用L3緩存的是英特爾為伺服器市場所推出的Itanium處理器。接著就是P4EE和至強MP。Intel還打算推出一款9MB L3緩存的Itanium2處理器,和以後24MB L3緩存的雙核心Itanium2處理器。
但基本上L3緩存對處理器的性能提高顯得不是很重要,比方配備1MB L3緩存的Xeon MP處理器卻仍然不是Opteron的對手,由此可見前端匯流排的增加,要比緩存增加帶來更有效的性能提升。
7.CPU擴展指令集
CPU依靠指令來計算和控制系統,每款CPU在設計時就規定了一系列與其硬體電路相配合的指令系統。指令的強弱也是CPU的重要指標,指令集是提高微處理器效率的最有效工具之一。從現階段的主流體系結構講,指令集可分為復雜指令集和精簡指令集兩部分,而從具體運用看,如Intel的MMX(Multi Media Extended)、SSE、 SSE2(Streaming-Single instruction multiple data-Extensions 2)、SEE3和AMD的3DNow!等都是CPU的擴展指令集,分別增強了CPU的多媒體、圖形圖象和Internet等的處理能力。我們通常會把CPU的擴展指令集稱為"CPU的指令集"。SSE3指令集也是目前規模最小的指令集,此前MMX包含有57條命令,SSE包含有50條命令,SSE2包含有144條命令,SSE3包含有13條命令。目前SSE3也是最先進的指令集,英特爾Prescott處理器已經支持SSE3指令集,AMD會在未來雙核心處理器當中加入對SSE3指令集的支持,全美達的處理器也將支持這一指令集。
8.CPU內核和I/O工作電壓
從586CPU開始,CPU的工作電壓分為內核電壓和I/O電壓兩種,通常CPU的核心電壓小於等於I/O電壓。其中內核電壓的大小是根據CPU的生產工藝而定,一般製作工藝越小,內核工作電壓越低;I/O電壓一般都在1.6~5V。低電壓能解決耗電過大和發熱過高的問題。
9.製造工藝
製造工藝的微米是指IC內電路與電路之間的距離。製造工藝的趨勢是向密集度愈高的方向發展。密度愈高的IC電路設計,意味著在同樣大小面積的IC中,可以擁有密度更高、功能更復雜的電路設計。現在主要的180nm、130nm、90nm。最近官方已經表示有65nm的製造工藝了。
10.指令集
(1)CISC指令集
CISC指令集,也稱為復雜指令集,英文名是CISC,(Complex Instruction Set Computer的縮寫)。在CISC微處理器中,程序的各條指令是按順序串列執行的,每條指令中的各個操作也是按順序串列執行的。順序執行的優點是控制簡單,但計算機各部分的利用率不高,執行速度慢。其實它是英特爾生產的x86系列(也就是IA-32架構)CPU及其兼容CPU,如AMD、VIA的。即使是現在新起的X86-64(也被成AMD64)都是屬於CISC的范疇。
要知道什麼是指令集還要從當今的X86架構的CPU說起。X86指令集是Intel為其第一塊16位CPU(i8086)專門開發的,IBM1981年推出的世界第一台PC機中的CPU—i8088(i8086簡化版)使用的也是X86指令,同時電腦中為提高浮點數據處理能力而增加了X87晶元,以後就將X86指令集和X87指令集統稱為X86指令集。
雖然隨著CPU技術的不斷發展,Intel陸續研製出更新型的i80386、i80486直到過去的PII至強、PIII至強、Pentium 3,最後到今天的Pentium 4系列、至強(不包括至強Nocona),但為了保證電腦能繼續運行以往開發的各類應用程序以保護和繼承豐富的軟體資源,所以Intel公司所生產的所有CPU仍然繼續使用X86指令集,所以它的CPU仍屬於X86系列。由於Intel X86系列及其兼容CPU(如AMD Athlon MP、)都使用X86指令集,所以就形成了今天龐大的X86系列及兼容CPU陣容。x86CPU目前主要有intel的伺服器CPU和AMD的伺服器CPU兩類。
(2)RISC指令集
RISC是英文「Reced Instruction Set Computing 」 的縮寫,中文意思是「精簡指令集」。它是在CISC指令系統基礎上發展起來的,有人對CISC機進行測試表明,各種指令的使用頻度相當懸殊,最常使用的是一些比較簡單的指令,它們僅占指令總數的20%,但在程序中出現的頻度卻佔80%。復雜的指令系統必然增加微處理器的復雜性,使處理器的研製時間長,成本高。並且復雜指令需要復雜的操作,必然會降低計算機的速度。基於上述原因,20世紀80年代RISC型CPU誕生了,相對於CISC型CPU ,RISC型CPU不僅精簡了指令系統,還採用了一種叫做「超標量和超流水線結構」,大大增加了並行處理能力。RISC指令集是高性能CPU的發展方向。它與傳統的CISC(復雜指令集)相對。相比而言,RISC的指令格式統一,種類比較少,定址方式也比復雜指令集少。當然處理速度就提高很多了。目前在中高檔伺服器中普遍採用這一指令系統的CPU,特別是高檔伺服器全都採用RISC指令系統的CPU。RISC指令系統更加適合高檔伺服器的操作系統UNIX,現在Linux也屬於類似UNIX的操作系統。RISC型CPU與Intel和AMD的CPU在軟體和硬體上都不兼容。
目前,在中高檔伺服器中採用RISC指令的CPU主要有以下幾類:PowerPC處理器、SPARC處理器、PA-RISC處理器、MIPS處理器、Alpha處理器。
(3)IA-64
EPIC(Explicitly Parallel Instruction Computers,精確並行指令計算機)是否是RISC和CISC體系的繼承者的爭論已經有很多,單以EPIC體系來說,它更像Intel的處理器邁向RISC體系的重要步驟。從理論上說,EPIC體系設計的CPU,在相同的主機配置下,處理Windows的應用軟體比基於Unix下的應用軟體要好得多。
Intel採用EPIC技術的伺服器CPU是安騰Itanium(開發代號即Merced)。它是64位處理器,也是IA-64系列中的第一款。微軟也已開發了代號為Win64的操作系統,在軟體上加以支持。在Intel採用了X86指令集之後,它又轉而尋求更先進的64-bit微處理器,Intel這樣做的原因是,它們想擺脫容量巨大的x86架構,從而引入精力充沛而又功能強大的指令集,於是採用EPIC指令集的IA-64架構便誕生了。IA-64 在很多方面來說,都比x86有了長足的進步。突破了傳統IA32架構的許多限制,在數據的處理能力,系統的穩定性、安全性、可用性、可觀理性等方面獲得了突破性的提高。
IA-64微處理器最大的缺陷是它們缺乏與x86的兼容,而Intel為了IA-64處理器能夠更好地運行兩個朝代的軟體,它在IA-64處理器上(Itanium、Itanium2 ……)引入了x86-to-IA-64的解碼器,這樣就能夠把x86指令翻譯為IA-64指令。這個解碼器並不是最有效率的解碼器,也不是運行x86代碼的最好途徑(最好的途徑是直接在x86處理器上運行x86代碼),因此Itanium 和Itanium2在運行x86應用程序時候的性能非常糟糕。這也成為X86-64產生的根本原因。
(4)X86-64 (AMD64 / EM64T)
AMD公司設計,可以在同一時間內處理64位的整數運算,並兼容於X86-32架構。其中支持64位邏輯定址,同時提供轉換為32位定址選項;但數據操作指令默認為32位和8位,提供轉換成64位和16位的選項;支持常規用途寄存器,如果是32位運算操作,就要將結果擴展成完整的64位。這樣,指令中有「直接執行」和「轉換執行」的區別,其指令欄位是8位或32位,可以避免欄位過長。
x86-64(也叫AMD64)的產生也並非空穴來風,x86處理器的32bit定址空間限制在4GB內存,而IA-64的處理器又不能兼容x86。AMD充分考慮顧客的需求,加強x86指令集的功能,使這套指令集可同時支持64位的運算模式,因此AMD把它們的結構稱之為x86-64。在技術上AMD在x86-64架構中為了進行64位運算,AMD為其引入了新增了R8-R15通用寄存器作為原有X86處理器寄存器的擴充,但在而在32位環境下並不完全使用到這些寄存器。原來的寄存器諸如EAX、EBX也由32位擴張至64位。在SSE單元中新加入了8個新寄存器以提供對SSE2的支持。寄存器數量的增加將帶來性能的提升。與此同時,為了同時支持32和64位代碼及寄存器,x86-64架構允許處理器工作在以下兩種模式:Long Mode(長模式)和Legacy Mode(遺傳模式),Long模式又分為兩種子模式(64bit模式和Compatibility mode兼容模式)。該標准已經被引進在AMD伺服器處理器中的Opteron處理器。
而今年也推出了支持64位的EM64T技術,再還沒被正式命為EM64T之前是IA32E,這是英特爾64位擴展技術的名字,用來區別X86指令集。Intel的EM64T支持64位sub-mode,和AMD的X86-64技術類似,採用64位的線性平面定址,加入8個新的通用寄存器(GPRs),還增加8個寄存器支持SSE指令。與AMD相類似,Intel的64位技術將兼容IA32和IA32E,只有在運行64位操作系統下的時候,才將會採用IA32E。IA32E將由2個sub-mode組成:64位sub-mode和32位sub-mode,同AMD64一樣是向下兼容的。Intel的EM64T將完全兼容AMD的X86-64技術。現在Nocona處理器已經加入了一些64位技術,Intel的Pentium 4E處理器也支持64位技術。
應該說,這兩者都是兼容x86指令集的64位微處理器架構,但EM64T與AMD64還是有一些不一樣的地方,AMD64處理器中的NX位在Intel的處理器中將沒有提供。
11.超流水線與超標量
在解釋超流水線與超標量前,先了解流水線(pipeline)。流水線是Intel首次在486晶元中開始使用的。流水線的工作方式就象工業生產上的裝配流水線。在CPU中由5—6個不同功能的電路單元組成一條指令處理流水線,然後將一條X86指令分成5—6步後再由這些電路單元分別執行,這樣就能實現在一個CPU時鍾周期完成一條指令,因此提高CPU的運算速度。經典奔騰每條整數流水線都分為四級流水,即指令預取、解碼、執行、寫回結果,浮點流水又分為八級流水。
超標量是通過內置多條流水線來同時執行多個處理器,其實質是以空間換取時間。而超流水線是通過細化流水、提高主頻,使得在一個機器周期內完成一個甚至多個操作,其實質是以時間換取空間。例如Pentium 4的流水線就長達20級。將流水線設計的步(級)越長,其完成一條指令的速度越快,因此才能適應工作主頻更高的CPU。但是流水線過長也帶來了一定副作用,很可能會出現主頻較高的CPU實際運算速度較低的現象,Intel的奔騰4就出現了這種情況,雖然它的主頻可以高達1.4G以上,但其運算性能卻遠遠比不上AMD 1.2G的速龍甚至奔騰III。
12.封裝形式
CPU封裝是採用特定的材料將CPU晶元或CPU模塊固化在其中以防損壞的保護措施,一般必須在封裝後CPU才能交付用戶使用。CPU的封裝方式取決於CPU安裝形式和器件集成設計,從大的分類來看通常採用Socket插座進行安裝的CPU使用PGA(柵格陣列)方式封裝,而採用Slot x槽安裝的CPU則全部採用SEC(單邊接插盒)的形式封裝。現在還有PLGA(Plastic Land Grid Array)、OLGA(Organic Land Grid Array)等封裝技術。由於市場競爭日益激烈,目前CPU封裝技術的發展方向以節約成本為主。
13、多線程
同時多線程Simultaneous multithreading,簡稱SMT。SMT可通過復制處理器上的結構狀態,讓同一個處理器上的多個線程同步執行並共享處理器的執行資源,可最大限度地實現寬發射、亂序的超標量處理,提高處理器運算部件的利用率,緩和由於數據相關或Cache未命中帶來的訪問內存延時。當沒有多個線程可用時,SMT處理器幾乎和傳統的寬發射超標量處理器一樣。SMT最具吸引力的是只需小規模改變處理器核心的設計,幾乎不用增加額外的成本就可以顯著地提升效能。多線程技術則可以為高速的運算核心准備更多的待處理數據,減少運算核心的閑置時間。這對於桌面低端系統來說無疑十分具有吸引力。Intel從3.06GHz Pentium 4開始,所有處理器都將支持SMT技術。
14、多核心
多核心,也指單晶元多處理器(Chip multiprocessors,簡稱CMP)。CMP是由美國斯坦福大學提出的,其思想是將大規模並行處理器中的SMP(對稱多處理器)集成到同一晶元內,各個處理器並行執行不同的進程。與CMP比較, SMT處理器結構的靈活性比較突出。但是,當半導體工藝進入0.18微米以後,線延時已經超過了門延遲,要求微處理器的設計通過劃分許多規模更小、局部性更好的基本單元結構來進行。相比之下,由於CMP結構已經被劃分成多個處理器核來設計,每個核都比較簡單,有利於優化設計,因此更有發展前途。目前,IBM 的Power 4晶元和Sun的 MAJC5200晶元都採用了CMP結構。多核處理器可以在處理器內部共享緩存,提高緩存利用率,同時簡化多處理器系統設計的復雜度。
2005年下半年,Intel和AMD的新型處理器也將融入CMP結構。新安騰處理器開發代碼為Montecito,採用雙核心設計,擁有最少18MB片內緩存,採取90nm工藝製造,它的設計絕對稱得上是對當今晶元業的挑戰。它的每個單獨的核心都擁有獨立的L1,L2和L3 cache,包含大約10億支晶體管。
15、SMP
SMP(Symmetric Multi-Processing),對稱多處理結構的簡稱,是指在一個計算機上匯集了一組處理器(多CPU),各CPU之間共享內存子系統以及匯流排結構。在這種技術的支持下,一個伺服器系統可以同時運行多個處理器,並共享內存和其他的主機資源。像雙至強,也就是我們所說的二路,這是在對稱處理器系統中最常見的一種(至強MP可以支持到四路,AMD Opteron可以支持1-8路)。也有少數是16路的。但是一般來講,SMP結構的機器可擴展性較差,很難做到100個以上多處理器,常規的一般是8個到16個,不過這對於多數的用戶來說已經夠用了。在高性能伺服器和工作站級主板架構中最為常見,像UNIX伺服器可支持最多256個CPU的系統。
構建一套SMP系統的必要條件是:支持SMP的硬體包括主板和CPU;支持SMP的系統平台,再就是支持SMP的應用軟體。
為了能夠使得SMP系統發揮高效的性能,操作系統必須支持SMP系統,如WINNT、LINUX、以及UNIX等等32位操作系統。即能夠進行多任務和多線程處理。多任務是指操作系統能夠在同一時間讓不同的CPU完成不同的任務;多線程是指操作系統能夠使得不同的CPU並行的完成同一個任務。
要組建SMP系統,對所選的CPU有很高的要求,首先、CPU內部必須內置APIC(Advanced Programmable Interrupt Controllers)單元。Intel 多處理規范的核心就是高級可編程中斷控制器(Advanced Programmable Interrupt Controllers--APICs)的使用;再次,相同的產品型號,同樣類型的CPU核心,完全相同的運行頻率;最後,盡可能保持相同的產品序列編號,因為兩個生產批次的CPU作為雙處理器運行的時候,有可能會發生一顆CPU負擔過高,而另一顆負擔很少的情況,無法發揮最大性能,更糟糕的是可能導致死機。
16、NUMA技術
NUMA即非一致訪問分布共享存儲技術,它是由若干通過高速專用網路連接起來的獨立節點構成的系統,各個節點可以是單個的CPU或是SMP系統。在NUMA中,Cache 的一致性有多種解決方案,需要操作系統和特殊軟體的支持。圖2中是Sequent公司NUMA系統的例子。這里有3個SMP模塊用高速專用網路聯起來,組成一個節點,每個節點可以有12個CPU。像Sequent的系統最多可以達到64個CPU甚至256個CPU。顯然,這是在SMP的基礎上,再用NUMA的技術加以擴展,是這兩種技術的結合。
17、亂序執行技術
亂序執行(out-of-orderexecution),是指CPU允許將多條指令不按程序規定的順序分開發送給各相應電路單元處理的技術。這樣將根據個電路單元的狀態和各指令能否提前執行的具體情況分析後,將能提前執行的指令立即發送給相應電路單元執行,在這期間不按規定順序執行指令,然後由重新排列單元將各執行單元結果按指令順序重新排列。採用亂序執行技術的目的是為了使CPU內部電路滿負荷運轉並相應提高了CPU的運行程序的速度。分枝技術:(branch)指令進行運算時需要等待結果,一般無條件分枝只需要按指令順序執行,而條件分枝必須根據處理後的結果,再決定是否按原先順序進行。
18、CPU內部的內存控制器
許多應用程序擁有更為復雜的讀取模式(幾乎是隨機地,特別是當cache hit不可預測的時候),並且沒有有效地利用帶寬。典型的這類應用程序就是業務處理軟體,即使擁有如亂序執行(out of order execution)這樣的CPU特性,也會受內存延遲的限制。這樣CPU必須得等到運算所需數據被除數裝載完成才能執行指令(無論這些數據來自CPU cache還是主內存系統)。當前低段系統的內存延遲大約是120-150ns,而CPU速度則達到了3GHz以上,一次單獨的內存請求可能會浪費200-300次CPU循環。即使在緩存命中率(cache hit rate)達到99%的情況下,CPU也可能會花50%的時間來等待內存請求的結束- 比如因為內存延遲的緣故。
你可以看到Opteron整合的內存控制器,它的延遲,與晶元組支持雙通道DDR內存控制器的延遲相比來說,是要低很多的。英特爾也按照計劃的那樣在處理器內部整合內存控制器,這樣導致北橋晶元將變得不那麼重要。但改變了處理器訪問主存的方式,有助於提高帶寬、降低內存延時和提升處理器性能。