ask 板


LINE

看板 ask  RSS
※ 引述《lprsdmn (ziv)》之銘言: : 圖書館搜尋打上CPU或處裡器 : 幾乎找不到我要的資料 : 我想這可能是某本書的其中一個標題 : 請問我要看哪方面的書呢? 恁爸又要衝文章數了,不用找書,我直接跟你扯。 必須先選好是什麼CPU呀。 以一般家用電腦的CPU來說 (簡稱x86),要懂他的原理,就要學他的語言:x86 指令集 不只知道怎麼用,還要知道怎麼來。 首先就是,原本寫在紙上的語言文字怎樣數位化 (數字化) 變成一連串的數字? 這就叫做編碼、解碼,常見的就是英文字母編成的 ASCII 碼。 編碼後將這些數字存入硬碟,進而在電子電路上流通,送給CPU去解讀數字的本意。 然後人類為了要跟CPU能夠對話、能夠操縱他,而設計出CPU的語言,也就是指令集。 所謂指令集,就是指令的集合,x86有加法的指令add、有減法的指令sub... 其他CPU未必會有減法的指令sub,因為利用二的補數代表負數的話,就只需要加法指令add即可。 把x86存在的這些指令全部聚集起來,就叫x86指令集。 因為硬體的設計規格,由 x86 指令集構成的程式碼們,都會先放到主記憶體去排成直線 一個位置就是一個記憶體位置。 位置寬度是訂成 1 Byte,有1024個位置 (0~1023) 就是有 1KB。 電腦開機後,首先會到主機板上一塊記憶區域,取出一段叫做BIOS的程式碼到主記憶體去 再由這BIOS的程式碼第一行開始執行。 BIOS跑完後會到使用者設定的裝置,比如硬碟去抓取作業系統的程式碼。 CPU 在電腦通電後,其實是到「暫存器」中叫做程式計數器 (program counter) 那裡 去抓出一個記憶體位置來,然後 CPU 再命令主記憶體把這個位置的資料吐出「一個指令」 來給CPU閱讀。換言之,最簡單、原始的CPU一次會處理一個指令。 處理完某指令後,只要該指令沒有命令CPU更改PC值的話,那CPU就會自動累加PC值 (程式計數器值) 因此CPU永遠、隨時隨地都會有處理不完的指令直到電源關閉。 預設的記憶體位置呢,就是BIOS載入主記憶體後的第一行程式碼所在。 當讀完指令後,CPU有一個電路裝置叫做控制單元,這個單元就專門出一張嘴 在分配任務用的。 他事先就大家說好一個指令大小是 32 個位元,也就是 32 個二進位0101數字。 若3個位元是 000 時,就代表指令 add;如果是 001 就代表指令是 sub。 這也是一種編碼,實際上當然不是只用三個位元來代表指令意義。因為如果這樣的話 x86 指令集就被限制成只有 000~111 這 8 種而已。 如果控制單元判斷目前的指令是比如 jump 到某位置,那他就叫大家都不 要亂動,直接更改PC值,然後等主記憶體繼續吐出下個指令。 如果他判斷出目前的指令是 add ax,3 也就是把 x86 CPU 上的某顆叫ax的暫存器加3 那他就會一邊命令ax暫存器吐出他的值給ALU的輸入端1,一邊又丟3給ALU的輸入端2。 (ALU的作用參考上上篇,ALU原理的話就數位邏輯、數位系統; 更底層、更現實的電路原理要讀電子電路、電子學、物理) 簡單來說ALU是個蠢貨,只會加減乘除、邏輯運算,但是聽不懂人話,只會乖乖做事而已。 然後控制單元這嘴砲王等到ALU把結果算出來後,繼續嘴砲的命令電路把結果寫回ax暫存器 再命令PC值自己遞增,然後等主記憶體把下個指令送進來。 簡單來說你學 x86 指令集:http://home.comcast.net/~fbui/intel.html 這個語言, 就是要跟控制單元對話,所以你要知道 x86 有哪些暫存器,大小分別有多少,知道 控制單元叫別人做加法時,頂多有哪幾種變化。不然你亂扯一句他根本做不到的事 也就是亂寫一個指令給CPU時,根本就強人所難。 當你學會這個語言,也就大致瞭解CPU的底細跟原理...也只是這顆CPU而已,換一顆 講外語的、用不同指令集的,你就要重學一個語言。 資工所入學考試的計算機組織聖經本,也就是白算盤,基本上是講MIPS指令集, 這個指令集比起x86算比較簡潔,所以比較適合學術教學。 x86被認為先天不良,原本的設計不夠好,但後來又很受歡迎賣很好, Intel跟AMD不願意砍掉重練 (代價太大),所以在原本基礎上去改良它,使得 要搞懂x86原理比較難。 還好,後來有個傢伙叫 compiler 他很擅長把「人話」轉成各種CPU的各種指令集, 所以沒事就不太需要去懂 CPU 的指令集 (組合語言)。 --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 124.8.137.241
1F:推 banqhsia:M了XDDD 11/09 22:06
2F:推 newacc:專業推 11/09 22:06
3F:→ newacc:才剛想這篇該M的說XDD 11/09 22:06
4F:推 spfy:我以為這裡是問版(茫 11/09 22:10
5F:→ killo2024:需要看書的話 試試搜尋 "微算機"原理與應用 之類的 11/09 22:10
6F:→ beagle:居然 m 了... 而且這篇居然值 762 元... 11/09 22:23
7F:→ madoka82:嗚嗚... PowerPC 被屏除在家用電腦的外面了... 11/09 22:29
8F:→ madoka82:Apple 賈不死 哭哭 Q<>Q 11/09 22:29
9F:推 hsinyeh:Apple也開始用x86架構了...自找的 11/09 22:36
10F:推 l00cmLP:簡單說:CPU=ALU+CU+暫存器 11/09 22:47
11F:推 jackchen1025:專業到看不懂!! 11/09 23:28
12F:推 kigiron:專業好懂一定要推 XD 11/11 02:52







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Boy-Girl站內搜尋

TOP