女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

計算機系統講解(上)

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

1.全書結構

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

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

  • Part I:程序結構和執行(Chapter02~Chapter06)
  • Part II:在系統上運行程序(Chapter07~Chapter09)
  • Part III:進程間的交互和通信(Chapter10~Chapter12)

2.程序編譯流程

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

圖片

程序編譯

圖片

詳細過程

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

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

  • 優化程序性能;
  • 理解鏈接時出現的錯誤;
  • 避免安全漏洞(緩沖區溢出);

3.計算機系統硬件組成

圖片

計算機硬件系統組成
(1).CPU的結構

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

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

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

(2).主存/內存

處理器在執行程序時,內存主要存放程序指令和數據。從物理上來說,內存就是由隨機動態存儲芯片組成;從邏輯上來說,內存可以看成是一個從0開始的大數組,每個字節都有相應的地址。

(3).總線

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

(4).輸入輸出設備

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

4.程序運行背后的故事

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

圖片

第1步

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

圖片

第2步

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

圖片

第3步

5.內存層級結構

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

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

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

圖片

內存層次結構

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 計算機
    +關注

    關注

    19

    文章

    7626

    瀏覽量

    90163
  • C語言
    +關注

    關注

    180

    文章

    7630

    瀏覽量

    140267
  • 計算機系統
    +關注

    關注

    0

    文章

    290

    瀏覽量

    24519
  • 編譯器
    +關注

    關注

    1

    文章

    1654

    瀏覽量

    49886
  • 程序編譯
    +關注

    關注

    0

    文章

    9

    瀏覽量

    5533
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    計算機系統結構

    計算機系統結構
    發表于 05-09 19:03

    什么是計算機系統計算機硬件和計算機軟件?

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

    什么是計算機系統?硬件和軟件哪個更重要?

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

    計算機系統中的軟件系統

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

    嵌入式計算機系統概述

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

    詳解單芯片微型計算機系統

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

    計算機系統概論

    1.1 計算機系統簡介1.2 計算機的基本組成1.3 計算機硬件的主要技術指標1.4 本書結構
    發表于 04-11 09:31 ?0次下載

    基于EDA平臺的計算機系統結構課程實踐

    基于EDA平臺的計算機系統結構課程實踐本文分析了計算機專業本科生課程計算機系統結構的教學現狀, 結合目前在教學實踐中采用的部分措施, 提出了在計算機系統
    發表于 12-05 16:08 ?0次下載

    微型計算機系統

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

    計算機系統維護概述

    計算機系統維護概述 一、計算機系統維護的意義    計算機是人們經常使用操作的智能化工具,如果使用操作不當
    發表于 10-25 11:00 ?1874次閱讀

    什么是計算機系統的容錯性

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

    計算機系統小結

    計算機系統小結   習慣上所稱的“電子計算機”是指現在廣泛應用的電子數字計算機,它分為專用計算機和通用計算機兩大類。專
    發表于 04-13 14:14 ?717次閱讀

    計算機系統的硬件組織詳細概述

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

    計算機系統的組成和功能

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

    微處理器如何控制計算機系統

    微處理器,作為計算機系統的核心部件,承擔著控制整個計算機系統運行的重要任務。它不僅是計算機的運算中心,還是控制中心,負責執行程序指令、處理數據以及協調計算機各部件之間的工作。以下將詳細
    的頭像 發表于 08-22 14:21 ?886次閱讀