計(jì)算機(jī)組成原理

參考pdf 《computer basic》

CPU

  • 英文名: Central Processing Unit

  • sysctl machdep.cpu.brand_string可查看CPU型號(hào)

  • 執(zhí)行過程:
    (1)提裙茸怼:從RAM(Random Access Memory??????????????????????????????????????????????????????????????????????隨機(jī)存取存儲(chǔ)器/主存)取指令。RAM速度很快,通常作為臨時(shí)存儲(chǔ)介質(zhì)窖维。
    (2)解碼
    (3)執(zhí)行

  • 組成:控制單元和算術(shù)邏輯單元ALU
    ALU:處理算數(shù)和邏輯運(yùn)算
    從功能來看潮尝,包括:控制器锈候、運(yùn)算器您朽、時(shí)鐘绑洛、寄存器 四部分

  • 內(nèi)存
    每個(gè)字節(jié)都有一個(gè)地址編號(hào)

  • 寄存器


    image.png

其中:
程序計(jì)數(shù)器(Program Counter):用于存放下一條指令所在的單元的地址救斑,所以它控制著程序的流程/

指令寄存器:存儲(chǔ)正在被運(yùn)行的指令,供CPU內(nèi)部使用真屯,程序員無法讀寫

棧寄存器:存儲(chǔ)棧區(qū)域的起始位置

標(biāo)志寄存器:保存某個(gè)分支判斷的值/溢出檢查脸候、奇偶校驗(yàn)
補(bǔ)充:程序的比較運(yùn)算,其實(shí)是在CPU內(nèi)部做減法運(yùn)算

通過地址和索引實(shí)現(xiàn)數(shù)組
需要用到基址寄存器和變址寄存器

  • CPU指令執(zhí)行過程
    五個(gè)階段(馮諾伊曼):取指令绑蔫、指令譯碼运沦、執(zhí)行指令、訪問取數(shù)配深、結(jié)果寫回

內(nèi)存

分為三種:
隨機(jī)存儲(chǔ)器RAM携添,停電信息會(huì)丟失
只讀存儲(chǔ)器ROM,停電信息不會(huì)丟失
高速緩存Cache

內(nèi)存IC:


9F928346-885E-4910-8C77-E657892DC926.png

RD讀取凉馆,WR寫數(shù)據(jù)

  • 內(nèi)存中數(shù)據(jù)存儲(chǔ)
    數(shù)據(jù)還有數(shù)據(jù)類型薪寓,需要占用特定大小的內(nèi)存
    數(shù)組是內(nèi)存的實(shí)現(xiàn)

  • 隊(duì)列有循環(huán)隊(duì)列,有環(huán)形隊(duì)列

  • 二進(jìn)制
    1字節(jié) = 8bit
    移位運(yùn)算:左移代表*2澜共。表示負(fù)數(shù):首位符號(hào)為1向叉。在表示負(fù)數(shù)時(shí)要用補(bǔ)數(shù)來表示。(補(bǔ)數(shù)就是用正數(shù)來表示的負(fù)數(shù))
    求補(bǔ)數(shù)的方法:原始數(shù)值取反嗦董,+1

  • 右移
    邏輯右移:最高位補(bǔ)0
    算數(shù)右移:填充原來的符號(hào)值

  • 符號(hào)擴(kuò)展
    不管是正數(shù)還是負(fù)數(shù)母谎,只需要用原來的符號(hào)位填充高位即可。

壓縮算法

文件是以字節(jié)為單位來存儲(chǔ)的

  • RLE算法(Run Length Encoding 行程長度編碼)
    存儲(chǔ)的時(shí)候京革,一個(gè)英文是一個(gè)半角字符奇唤,用一個(gè)字節(jié)來存儲(chǔ)。
    把文件內(nèi)容用 數(shù)據(jù) * 重復(fù)次數(shù) 來表示的方法匹摇,只有對連續(xù)的字符才會(huì)進(jìn)行壓縮

  • 哈夫曼算法

磁盤

  • 與內(nèi)存的區(qū)別:內(nèi)存通過電流實(shí)現(xiàn)存儲(chǔ)咬扇,磁盤通過磁記錄技術(shù) 來實(shí)現(xiàn)的。所以斷電之后廊勃,內(nèi)存中的數(shù)據(jù)不能保留懈贺,但是磁盤中的可以经窖。

  • 以前程序的運(yùn)行是通過改變計(jì)算機(jī)的布線來讀寫指令的

  • 磁盤緩存
    為了讀取相同的磁盤內(nèi)容時(shí),可以提高速率梭灿。
    磁盤緩存是內(nèi)存的一部分画侣。

  • 虛擬內(nèi)存
    本質(zhì):把磁盤的一部分作為假想內(nèi)存來使用。它使得應(yīng)用程序認(rèn)為它擁有連續(xù)可用的內(nèi)存堡妒,在需要運(yùn)行時(shí)將虛擬內(nèi)存與內(nèi)存置換配乱。
    為了解決程序過大造成內(nèi)存空間耗盡的問題
    在Windows中是PAGEFILE.SYS頁面
    置換分為:分頁式(windows)和分段式
    分頁式:Windows中頁的大小為4KB
    虛擬內(nèi)存使用的文件是頁文件

  • 使程序大小更優(yōu)化
    DLL:動(dòng)態(tài)鏈接庫
    _stdcall:標(biāo)準(zhǔn)調(diào)用。dll中函數(shù)的調(diào)用大多都是stdcall皮迟,C語言程序默認(rèn)都不是_stdcall搬泥,而是C調(diào)用。因?yàn)楹瘮?shù)傳入?yún)?shù)(的個(gè)數(shù))是可變的伏尼,導(dǎo)致無法清理?xiàng)佑钾?臻g。
    C 與Java的區(qū)別是 C需要人為控制釋放內(nèi)存空間
    默認(rèn)函數(shù)的清除操作是在調(diào)用的一方
    C語言中烦粒,函數(shù)的返回值是通過寄存器來傳遞的,而不是通過棧

    image.png

    _stdcall為反復(fù)調(diào)用方法代赁,執(zhí)行棧清理的開銷比較小

  • 磁盤的物理結(jié)構(gòu)
    劃分為空間的方法:可變長方式 和 扇區(qū)方式(固定長度)扰她。


    image.png

    扇區(qū)是讀寫的最小單位,Windows中扇區(qū)一般是512字節(jié)芭碍。

image.png

輸入輸出設(shè)備

image.png
image.png

本文件完結(jié)??

參考《cxuan-os》

流水線

  • 形式:由于CPU有單獨(dú)的訪問徒役、解碼、執(zhí)行單元窖壕,CPU執(zhí)行第N條指令忧勿,對N+1條指令解碼,讀取N+2條指令瞻讽。

  • 超標(biāo)量(superscalar)CPU


    image.png

執(zhí)行單元同時(shí)執(zhí)行鸳吸,并且只要空閑,就去緩沖區(qū)中找是否有指令速勇。
此種設(shè)計(jì)晌砾,應(yīng)用程序通常是無序執(zhí)行的。大多數(shù)硬件需要保證執(zhí)行結(jié)果的正確性烦磁。

CPU/內(nèi)存

image.png

磁盤

  • 磁道
    每個(gè)磁頭可以讀取一段環(huán)形區(qū)域养匈,稱為磁道(track)。
    一個(gè)給定臂的位置上所有的磁道合并起來都伪,稱為柱面(cylinder)呕乎。

  • 固態(tài)硬盤不是磁盤,數(shù)據(jù)存儲(chǔ)在存儲(chǔ)器(閃存)中陨晶。

  • 虛擬內(nèi)存
    需要快速映像內(nèi)存地址猬仁,把程序生成的地址轉(zhuǎn)換為RAM中的物理地址。由CPU中的存儲(chǔ)器管理單元MMU部件來完成。

  • ATA
    ATA 高級(jí)技術(shù)附件(AT attachment)
    SATA 串行高級(jí)技術(shù)附件(Serial ATA)
    慎用高級(jí)這個(gè)詞

I/O 設(shè)備

  • 設(shè)備控制器
    含有寄存器
    所有設(shè)備寄存器的結(jié)合構(gòu)成了 I/O端口空間逐虚。

  • 實(shí)現(xiàn)輸入輸出的三種方式
    (1)忙等待
    用戶程序--->系統(tǒng)調(diào)用--->轉(zhuǎn)為驅(qū)動(dòng)程序的程序調(diào)用--->啟動(dòng)I/O聋溜、循環(huán)檢查設(shè)備---> |||(輸入完成)---> 數(shù)據(jù)送到指定地方并返回 ---> 控制權(quán)交給調(diào)用者
    (2)中斷
    設(shè)備驅(qū)動(dòng)程序啟動(dòng)設(shè)備---> 操作完成時(shí)發(fā)生中斷
    (3)使用特殊的硬件
    直接存儲(chǔ)器訪問(DMA):控制內(nèi)存和控制器之間的位流,無需CPU的干預(yù)叭爱。

[補(bǔ)充中斷]:CPU決定中斷:
保存當(dāng)前狀態(tài):程序計(jì)數(shù)器和PSW
切換內(nèi)核態(tài)

中斷開始:
移除棧中的程序計(jì)數(shù)器和PSW撮躁,保存。
查詢設(shè)備的狀態(tài){
...中斷處理程序全部完成...
}
返回到先前用戶尚未執(zhí)行的第一條指令买雾。

如果正在中斷把曼,又發(fā)生了一條中斷,則其他中斷需要等待漓穿。

總線

參考CS224 Computer Organization- Bilkent

https://www.youtube.com/results?search_query=principles+of+computer+organization

Chapter 1

  • 處理器有:Intel / AMD

  • 計(jì)算機(jī)組成:input, output, memory, datapath, control
    datapath + control = CPU(processor)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末嗤军,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子晃危,更是在濱河造成了極大的恐慌叙赚,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,284評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件僚饭,死亡現(xiàn)場離奇詭異震叮,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)鳍鸵,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門苇瓣,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人偿乖,你說我怎么就攤上這事击罪。” “怎么了贪薪?”我有些...
    開封第一講書人閱讀 164,614評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵媳禁,是天一觀的道長。 經(jīng)常有香客問我画切,道長损话,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,671評(píng)論 1 293
  • 正文 為了忘掉前任槽唾,我火速辦了婚禮丧枪,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘庞萍。我一直安慰自己拧烦,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,699評(píng)論 6 392
  • 文/花漫 我一把揭開白布钝计。 她就那樣靜靜地躺著恋博,像睡著了一般齐佳。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上债沮,一...
    開封第一講書人閱讀 51,562評(píng)論 1 305
  • 那天炼吴,我揣著相機(jī)與錄音,去河邊找鬼疫衩。 笑死硅蹦,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的闷煤。 我是一名探鬼主播童芹,決...
    沈念sama閱讀 40,309評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼鲤拿!你這毒婦竟也來了假褪?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,223評(píng)論 0 276
  • 序言:老撾萬榮一對情侶失蹤近顷,失蹤者是張志新(化名)和其女友劉穎生音,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體窒升,經(jīng)...
    沈念sama閱讀 45,668評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡久锥,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,859評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了异剥。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,981評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡絮重,死狀恐怖冤寿,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情青伤,我是刑警寧澤督怜,帶...
    沈念sama閱讀 35,705評(píng)論 5 347
  • 正文 年R本政府宣布,位于F島的核電站狠角,受9級(jí)特大地震影響号杠,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜丰歌,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,310評(píng)論 3 330
  • 文/蒙蒙 一姨蟋、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧立帖,春花似錦眼溶、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽灌旧。三九已至,卻和暖如春绰筛,著一層夾襖步出監(jiān)牢的瞬間枢泰,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評(píng)論 1 270
  • 我被黑心中介騙來泰國打工铝噩, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留衡蚂,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,146評(píng)論 3 370
  • 正文 我出身青樓薄榛,卻偏偏與公主長得像讳窟,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子敞恋,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,933評(píng)論 2 355