在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

計算機系統(tǒng)講解(上)

CHANBAEK ? 來源:CurryCoder的程序人生 ? 作者: CurryCoder ? 2023-09-27 15:09 ? 次閱讀

1.全書結(jié)構(gòu)

(1).Chapter01:計算機系統(tǒng)漫游

(2).Chapter02~Chapter12分為三部分

  • Part I:程序結(jié)構(gòu)和執(zhí)行(Chapter02~Chapter06)
  • Part II:在系統(tǒng)上運行程序(Chapter07~Chapter09)
  • Part III:進程間的交互和通信(Chapter10~Chapter12)

2.程序編譯流程

(1).編譯系統(tǒng)工作流程

圖片

程序編譯

圖片

詳細過程

  • Stage1(預(yù)處理) :預(yù)處理器會根據(jù)以#開頭的代碼來修改原始程序,預(yù)處理器會讀取頭文件中的內(nèi)容,將頭文件中的內(nèi)容直接插入到源程序中,結(jié)果就得到了另一個C程序。經(jīng)預(yù)處理器處理后得到的文件通常以.i為后綴結(jié)尾,它仍然是一個文本文件;
  • Stage2(編譯) :編譯器將hello.i文件翻譯成hello.s文件,這一過程稱為編譯。其中編譯這一階段包括詞法分析、語法分析、語義分析、中間代碼生成及優(yōu)化等一系列的中間操作;
  • Stage3(匯編) :匯編器根據(jù)指令集將匯編程序hello.s翻譯成機器指令,并且把這一系列的機器指令按照固定的規(guī)則進行打包得到 可重定位目標文件hello.o 。此時,雖然hello.o是一個二進制文件,但是還不能執(zhí)行還需要進行鏈接操作;
  • Stage4(鏈接) :在hello這個程序中,調(diào)用了標準C庫中的函數(shù)printf,每一個C語言的編譯器都會提供。當(dāng)調(diào)用printf函數(shù)時,編譯器就知道你要在屏幕上打印輸出內(nèi)容,它會將這行代碼翻譯成計算機可以理解的指令。printf函數(shù)在名為printf.o文件中,這個文件是一個提前編譯好的目標文件。鏈接器ld負責(zé)把hello.o和printf.o進行合并,但合并需要遵循一定的規(guī)則。正是由于鏈接器要對hello.o和printf.o進行調(diào)整,所以hello.o才會稱為可重定位目標文件,最終經(jīng)過鏈接階段可以得到 可執(zhí)行目標文件hello 。此時,得到的hello就可以被加載到內(nèi)存中執(zhí)行了。

(2).理解編譯系統(tǒng)工作流程意義

  • 優(yōu)化程序性能;
  • 理解鏈接時出現(xiàn)的錯誤;
  • 避免安全漏洞(緩沖區(qū)溢出);

3.計算機系統(tǒng)硬件組成

圖片

計算機硬件系統(tǒng)組成
(1).CPU的結(jié)構(gòu)

程序計數(shù)器PC :一個字即4字節(jié)(32位系統(tǒng))或一個字即8字節(jié)(64位系統(tǒng))的存儲空間,里面存放的是某一條指令的地址。從系統(tǒng)上電的那一瞬間到系統(tǒng)斷電,處理器就不斷地在執(zhí)行PC執(zhí)向的指令,然后更新PC,使其指向下一條要指向的指令。注意:下一條執(zhí)行的指令與剛剛執(zhí)行過的指令不一定是相鄰的地址。

寄存器文件 :它是CPU內(nèi)部的一個存儲設(shè)備,寄存器文件是由一些單字長的寄存器構(gòu)成,每個寄存器都有自己唯一的名字。換句話說,寄存器可以理解為一個臨時存放數(shù)據(jù)的空間。

算術(shù)邏輯單位ALU :例如,計算兩個變量a、b的和,處理器從內(nèi)存中讀取a的值暫存在寄存器X中,讀取b的值暫存在寄存器Y中,這個操作會覆蓋寄存器中原來的數(shù)值。處理器完成加載的操作后,ALU會復(fù)制寄存器X和Y中保存的數(shù)值,然后進行算術(shù)運算,得到的結(jié)果會保存在寄存器X或寄存器Y中。此時,寄存器中原來的值會被新的值所覆蓋。

(2).主存/內(nèi)存

處理器在執(zhí)行程序時,內(nèi)存主要存放程序指令和數(shù)據(jù)。從物理上來說,內(nèi)存就是由隨機動態(tài)存儲芯片組成;從邏輯上來說,內(nèi)存可以看成是一個從0開始的大數(shù)組,每個字節(jié)都有相應(yīng)的地址。

(3).總線

內(nèi)存和處理器之間通過總線來進行數(shù)據(jù)傳遞,總線貫穿了整個計算機系統(tǒng),它負責(zé)將信息從一個部件傳遞到另一個部件,通常總線被設(shè)計成固定長度的字節(jié)塊即字word。字表示多少個字節(jié),各個系統(tǒng)是不一樣的。

(4).輸入輸出設(shè)備

例如:鍵盤、鼠標、顯示器等,每個輸入輸出設(shè)備都通過一個控制器或者適配器與IO總線相連。

4.程序運行背后的故事

(1).鍵盤輸入./hello時,shell程序會將輸入的字符逐一讀入寄存器,處理器會把這個hello字符串放入內(nèi)存中;

圖片

第1步

(2).當(dāng)完成輸入,按下回車鍵時shell程序已經(jīng)知道我們已經(jīng)完成了命令的輸入,然后執(zhí)行一系列的指令來加載可執(zhí)行文件hello。這些指令將hello中的數(shù)據(jù)和代碼從磁盤復(fù)制到內(nèi)存。數(shù)據(jù)就是要在屏幕上顯示的“hello worldn”,這個復(fù)制的過程將利用DMA技術(shù),數(shù)據(jù)可以不經(jīng)過處理器,從磁盤直接到達內(nèi)存;

圖片

第2步

(3).當(dāng)可執(zhí)行文件hello中的代碼和數(shù)據(jù)被加載到內(nèi)存中,處理器就開始執(zhí)行main函數(shù)中的代碼。CPU會將“hello worldn”這個字符串從內(nèi)存復(fù)制到寄存器文件,再從寄存器文件復(fù)制到顯示設(shè)備即屏幕上;

圖片

第3步

5.內(nèi)存層級結(jié)構(gòu)

(1).通常情況下,大容量的存儲設(shè)備存取速度要比小容量的慢;運行更快設(shè)備的價格相對于運行速度慢的設(shè)備的價格要貴;

寄存器文件Register File           100~1000B
        L1 cache                     10~100KB
        L2 cache                     0.1 ~10MB
        L3 cache                     10~100MB
    內(nèi)存Main Memory                   1~100GB
    磁盤Disk                          1~1000TB

(2).針對處理器和內(nèi)存之間的讀寫速度差異,系統(tǒng)設(shè)計人員在寄存器文件和內(nèi)存之間引入了高速緩存cache 。比較新且處理能力比較強的處理器,一般有三級高速緩存:L1 cache、L2 cache、L3 cache。L1 cache的訪問速度與訪問寄存器文件幾乎一樣快,L2 cache的訪問速度是L1的5倍,L3 cache的容量更大,訪問速度與L2 cache相比更慢。

圖片

內(nèi)存層次結(jié)構(gòu)

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 計算機
    +關(guān)注

    關(guān)注

    19

    文章

    7519

    瀏覽量

    88202
  • C語言
    +關(guān)注

    關(guān)注

    180

    文章

    7608

    瀏覽量

    137119
  • 計算機系統(tǒng)
    +關(guān)注

    關(guān)注

    0

    文章

    288

    瀏覽量

    24140
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1636

    瀏覽量

    49172
  • 程序編譯
    +關(guān)注

    關(guān)注

    0

    文章

    9

    瀏覽量

    5474
收藏 人收藏

    評論

    相關(guān)推薦

    計算機系統(tǒng)結(jié)構(gòu)

    計算機系統(tǒng)結(jié)構(gòu)
    發(fā)表于 05-09 19:03

    什么是計算機系統(tǒng)、計算機硬件和計算機軟件?

    第一章 計算機系統(tǒng)概論1. 什么是計算機系統(tǒng)、計算機硬件和計算機軟件?硬件和軟件哪個更重要?解:P3計算機系統(tǒng):由
    發(fā)表于 07-22 09:06

    什么是計算機系統(tǒng)?硬件和軟件哪個更重要?

    第一章計算機系統(tǒng)概論1 .什么是計算機系統(tǒng)計算機硬件和計算機軟件?硬件和軟件哪個更重要?解: P3計算機系統(tǒng):由
    發(fā)表于 07-26 07:18

    計算機系統(tǒng)中的軟件系統(tǒng)

    專用計算機現(xiàn)代計算機運算速度最高可達每秒幾萬億次幾十億次幾億次幾萬次計算機輔助制造是計算機應(yīng)用領(lǐng)域之一其英文縮寫是所謂的信息是指基本素材非數(shù)值數(shù)據(jù)數(shù)值數(shù)據(jù)處理后的數(shù)據(jù)
    發(fā)表于 09-13 07:22

    嵌入式計算機系統(tǒng)概述

    嵌入式計算機系統(tǒng)概述:定義:以應(yīng)用為中心、以計算機技術(shù)為基礎(chǔ),軟件硬件可裁剪,適應(yīng)應(yīng)用系統(tǒng)對功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統(tǒng)嵌入式
    發(fā)表于 12-22 06:08

    詳解單芯片微型計算機系統(tǒng)

    什么是單芯片微型計算機系統(tǒng)呢?單芯片微型計算機系統(tǒng)是由哪些部分組成的?
    發(fā)表于 01-19 07:05

    計算機系統(tǒng)概論

    1.1 計算機系統(tǒng)簡介1.2 計算機的基本組成1.3 計算機硬件的主要技術(shù)指標1.4 本書結(jié)構(gòu)
    發(fā)表于 04-11 09:31 ?0次下載

    基于EDA平臺的計算機系統(tǒng)結(jié)構(gòu)課程實踐

    基于EDA平臺的計算機系統(tǒng)結(jié)構(gòu)課程實踐本文分析了計算機專業(yè)本科生課程計算機系統(tǒng)結(jié)構(gòu)的教學(xué)現(xiàn)狀, 結(jié)合目前在教學(xué)實踐中采用的部分措施, 提出了在計算機系統(tǒng)結(jié)
    發(fā)表于 12-05 16:08 ?0次下載

    微型計算機系統(tǒng)

             微型計算機系統(tǒng)與傳統(tǒng)的計算機系統(tǒng)一樣,也是由硬件系統(tǒng)和軟件系統(tǒng)兩大部分組成的。2.1
    發(fā)表于 03-03 08:31 ?0次下載

    計算機系統(tǒng)維護概述

    計算機系統(tǒng)維護概述 一、計算機系統(tǒng)維護的意義    計算機是人們經(jīng)常使用操作的智能化工具,如果使用操作不當(dāng)
    發(fā)表于 10-25 11:00 ?1787次閱讀

    什么是計算機系統(tǒng)的容錯性

    什么是計算機系統(tǒng)的容錯性             所謂容錯是指在故障存在的情況下計算機系統(tǒng)不失效,仍然能夠正常工作的特性
    發(fā)表于 01-08 13:49 ?1637次閱讀

    計算機系統(tǒng)小結(jié)

    計算機系統(tǒng)小結(jié)   習(xí)慣上所稱的“電子計算機”是指現(xiàn)在廣泛應(yīng)用的電子數(shù)字計算機,它分為專用計算機和通用計算機兩大類。專
    發(fā)表于 04-13 14:14 ?692次閱讀

    計算機系統(tǒng)的硬件組織詳細概述

    為了解在計算機系統(tǒng)中,程序是如何運行的,首先需要了解計算機系統(tǒng)的硬件組織。
    的頭像 發(fā)表于 02-15 12:28 ?4283次閱讀
    <b class='flag-5'>計算機系統(tǒng)</b>的硬件組織詳細概述

    計算機系統(tǒng)的組成和功能

    計算機系統(tǒng)是一個復(fù)雜而龐大的概念,它涵蓋了計算機硬件、軟件以及它們之間相互作用的所有元素。為了全面而深入地探討計算機系統(tǒng),本文將從定義、組成、功能、發(fā)展歷程以及未來趨勢等方面進行詳細闡述。
    的頭像 發(fā)表于 07-24 17:41 ?1071次閱讀

    微處理器如何控制計算機系統(tǒng)

    微處理器,作為計算機系統(tǒng)的核心部件,承擔(dān)著控制整個計算機系統(tǒng)運行的重要任務(wù)。它不僅是計算機的運算中心,還是控制中心,負責(zé)執(zhí)行程序指令、處理數(shù)據(jù)以及協(xié)調(diào)計算機各部件之間的工作。以下將詳細
    的頭像 發(fā)表于 08-22 14:21 ?520次閱讀
    主站蜘蛛池模板: 六九视频在线观看| 国产小视频在线免费| 免费三级毛片| 国产精品三级a三级三级午夜| 中文字幕一区在线| 九九热精品在线| 大香线蕉97久久| 好硬好湿好爽再深一点h视频| 亚洲乱码一二三四区| aa视频免费看| xvideos69日本hd| 精品国产中文一级毛片在线看 | 韩国a级床戏大尺度在线观看| 日韩一卡 二卡 三卡 四卡 免费视频| 人人射人人| 国产在线a不卡免费视频| 成人在线观看网站| 国产色婷婷| 又黄又爽又猛午夜性色播在线播放| 国产清纯白嫩大学生正在播放 | 午夜久久免影院欧洲| 美女视频一区二区| 伊人久久综合成人亚洲| 四虎在线成人免费网站| 天天做天天添婷婷我也去| 一级片观看| 日韩一区二区视频| 国产特级毛片aaaaaa毛片| 五月天婷婷在线观看视频| 国内精品免费视频自在线| 在线99热| 香港日本三级在线播放| 欧美综合久久| 免费黄色网址网站| 爱爱欧美| 伊人网综合视频| 精品视频69v精品视频| 中文字幕亚洲一区二区v@在线| 伊人久久亚洲综合| 女人张开腿 让男人桶视频| 毛片一级黄色|