第一章 計算機組成原理 ---- 概述

第一節 章節導學

  • 計算機的發展簡史
  • 計算機的分類
  • 計算機的體系結構
  • 計算機的層次與編程語言
  • 計算機的計算單位
  • 計算機的字符與編碼集

第二節 計算機的發展歷史

  • 計算機發展的四個階段
  • [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-H2hmobFN-1585571736271)(E:\workspace\TyporaProjects\計算機組成原理\images\1-1-1.png)]
    • 第一階段(1946~1957):電子管計算機
    • [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-Vs4aYrew-1585571736272)(E:\workspace\TyporaProjects\計算機組成原理\images\1-1-電子管計算機.png)]
      • 發明背景:第二次世界大戰是電子管計算機產生的催化劑(英國爲了解密德國海軍的密文)。
      • 代表:埃尼阿克(ENIAC),戰爭使用了飛機和火箭,爲了精確打擊目標需要通過幾千次的運算來計算彈道的射擊參數,埃尼阿克電子管計算機由此誕生,使得美國軍方的實力大大提升。
      • 由18000多個電子管組成,運行耗電量150千瓦,重量達30噸,佔地1500平方英尺。
      • [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-3iUD7iIt-1585571736273)(E:\workspace\TyporaProjects\計算機組成原理\images\1-1-埃尼阿克.png)]
      • 電子管計算機的特點:
        1. 集成度小,空間佔用大
        2. 功耗高,運行速度慢
        3. 操作複雜,更換程序需要換線
    • 第二階段(1957~1964):晶體管計算機
      • [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-6TrQvZpk-1585571736273)(E:\workspace\TyporaProjects\計算機組成原理\images\1-1-晶體管計算機.png)]
      • 發明背景:1948年,貝爾實驗室的三個科學家發明了晶體管,在此後的10年,晶體管的發明使得計算機的發展取得了革命性的進展。
      • 代表:世界第一臺晶體管計算機:TX-0,誕生於MIT林肯實驗室。
      • [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-dDQS4IPX-1585571736273)(E:\workspace\TyporaProjects\計算機組成原理\images\1-1-TX-0.png)]
      • 代表:當時性能最高的晶體管計算機:PDP-1,配備4k內存,每秒可以執行200,000條指令;配備了一塊512×512的顯示器。
      • [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-HOB5KZsE-1585571736273)(E:\workspace\TyporaProjects\計算機組成原理\images\1-1-PDP-1.png)]
      • 晶體管計算機的特點:
        1. 集成度相對較高,空間佔用相對較小
        2. 功耗相對較低,運行速度較快
        3. 操作相對簡單,交互更加方便
    • 第三階段(1964~1980):集成電路計算機
      • 發明背景:德州儀器的工程師發明了集成電路(IC),由於集成電路的出現,計算機具備了進入千家萬戶的條件。
      • [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-ykwx0miV-1585571736274)(E:\workspace\TyporaProjects\計算機組成原理\images\1-1-集成電路計算機.png)]
      • 在當時,IBM有兩款計算機賣的火熱,一款是IBM 7094 ,一款是IBM 1401 ,但是這兩款計算機主打功能不同,無法相互兼容,IBM爲了解決兩款計算機的兼容問題,推出了System/360System/360 就是操作系統的雛形。
      • 集成電路計算機的特點:
        1. 計算機變的更小
        2. 功耗變的更低
        3. 計算速度變的更快
    • 第四階段(1980至今):超大規模集成電路計算機
      • [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-cwGIbtuQ-1585571736274)(E:\workspace\TyporaProjects\計算機組成原理\images\1-1-超大規模集成電路計算機.png)]
      • 喬布斯和他的朋友發明的Apple和Apple二代在當時深受歡迎。
      • [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-PvG7iAvM-1585571736274)(E:\workspace\TyporaProjects\計算機組成原理\images\1-1-Apple.png)]
      • 超大規模集成電路計算機的特點:
        1. 一個芯片集成了上百萬的晶體管
        2. 速度更快,體積更小,價格更低,更能被大衆接受
        3. 用途豐富:文本處理、表格處理、高交互的遊戲與應用
    • 第五階段:未來的計算機
      • 生物計算機,也稱仿生計算機,主要原材料是生物工程技術產生的蛋白質分子,並以此作爲生物芯片來替代半導體硅片,利用有機化合物存儲數據。
      • [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-asI1WjUs-1585571736275)(E:\workspace\TyporaProjects\計算機組成原理\images\1-1-生物計算機.png)]
      • 生物計算機的特點:
        1. 體積小,效率高
        2. 不易損壞,生物級別的自動修復
        3. 不受信號干擾,無熱損耗
      • 量子計算機(quantum computer),是一類遵循量子力學規律進行高速數學和邏輯運算、存儲及處理量子信息的物理裝置。當某個裝置處理和計算的是量子信息,運行的是量子算法時,它就是量子計算機。
      • [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-ZfTlMp6d-1585571736275)(E:\workspace\TyporaProjects\計算機組成原理\images\1-1-量子計算機.png)]
      • 發展歷程:
        • 2013年5月,谷歌和VASA發佈D-Wave Two
        • 2017年5月,中國科學院宣佈製造出光量子計算機
        • 2019年1月,IBM展示了世界首款商業化量子計算機
        • 騰訊在2017年組建了量子實驗室,阿里巴巴在2017年成立達摩院
  • 微型計算機的發展歷史
    • 微型計算機的發展主要是從算力角度出發,在早期,發展受限於性能。
    • 微型計算機使用的是單核CPU:
      • [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-r9KUxS5B-1585571736275)(E:\workspace\TyporaProjects\計算機組成原理\images\1-1-單核CPU.png)]
    • 摩爾定律:當價格不變時,集成電路上可容納的元器件的數目,約每隔18-24個月便會增加一倍,性能也將提升一倍。
    • 由於單核CPU的發展已經到達瓶頸,多核CPU出現:
      • [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-41dGQSiP-1585571736276)(E:\workspace\TyporaProjects\計算機組成原理\images\1-1-多核CPU.png)]

第三節 計算機的分類

  • 超級計算機

    • 功能最強、運算速度最快、存儲容量最大的計算機。

    • 多用於國家高科技領域和尖端技術研究,比如天氣預報、生物製藥、海洋監測、核聚變、加密解密等。

    • 標記其運算速度的單位是是TFlop/s。

      • 1 TFlop/s = 每秒一萬億次浮點計算
      • Intel(R) Core(TM) i7-6700K CPU @ 4.OOGHz 的浮點運算能力爲44.87 GFlop/s
      • 44.87 GFlop/s = 0.04487TFlop/s
    • 世界前三超級計算機排名(截至於2018年11月)

      • 名字 製造商 處理器(個數) 峯值速度
        Summit IBM(美國) 2,397,824 200,795 TFlop/s
        神威 太湖之光 中國 10,649,600 125,436 TFlop/s
        Sierra IBM(美國) 1,572,480 119,193 TFlop/s
    • 中國前三超級計算機排名(截止於2018年11月)

      • 名字 製造商 處理器(個數) 峯值速度
        神威 太湖之光 國家並行計算機工程
        技術研究中心
        10,649,600 125,436 TFlop/s
        天河二號 國防科大 3,120,000 33,862 TFlop/s
        天河一號 國防科大 202,752 2,566 TFlop/s
  • 大型計算機

    • 又稱大型機、大型主機、主機等。
    • 具有高性能,可處理大量數據與複雜的運算,比如銀行金融交易的數據、人口普查等。
    • 在大型計算機領域,IBM佔據着很大的份額。
    • IBM Z9
      • [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-ut4xvJql-1585571736276)(E:\workspace\TyporaProjects\計算機組成原理\images\1-2-IBM Z9.png)]
      • NASA最後一臺大型機
      • 操作系統:Red Hat Enterprise Linux
      • 大型機造價高昂
    • 去“IOE”行動
      • I(IBM):服務器提供商
      • O(Oracle):數據庫軟件提供商
      • E(EMC):存儲設備提供商
      • 去“IOE”是阿里巴巴在2008年提出的概念,阿里雲於2009年成立,去“IOE”行動直接或間接促進了阿里雲的誕生。“IOE”代表了高維護費用的存儲系統,隨着阿里用戶羣的快速增長,每年需要付出的成本以及硬件費用也越來越高。
      • 大型機所提供的服務不夠靈活,伸縮性弱,阿里巴巴爲了減少成本,增強服務器的靈活性,將海量數據從集中式的Oracle切換到分佈式的MySQL集羣,從縱向擴展到水平擴展,解決了數據庫拓展性問題,並用普通的服務器代替大型機。
  • 迷你計算機(服務器)

    • 也成爲小型機,普通服務器
    • 不需要特殊的空調場所
    • 具備不錯的算力,可以完成較複雜的運算
    • 普通服務器製造商:Lenovo(聯想)、HUAWEI(華爲)、inspur(浪潮)
    • 去“IOE”是用普通服務器代替大型機,普通服務器已經代替了傳統的大型機,成爲大規模企業計算的中樞。
  • 工作站

    • [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-ehyhlJ3C-1585571736276)(E:\workspace\TyporaProjects\計算機組成原理\images\1-2-工作站.png)]
    • 高端的通用微型計算機,提供比個人計算機更強大的性能。
    • 類似於普通臺式電腦,體積較大,但性能強勁。
  • 微型計算機

    • [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-IF1dhqoY-1585571736277)(E:\workspace\TyporaProjects\計算機組成原理\images\1-2-微型機.png)]
    • 又稱個人計算機,是最普通的一類計算機。
    • 從構成的本質上來講,個人計算機與前面的計算機無異。

第四節 計算機的體系與結構

  • 馮·諾依曼體系
    • [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-wAOQPpN8-1585571736278)(E:\workspace\TyporaProjects\計算機組成原理\images\1-2-馮諾依曼體系.png)]
    • 將程序指令和數據一起存儲的計算機設計概念。
    • 必須有一個存儲器、一個控制器、一個運算器、輸入設備、輸出設備,現代計算機的本質都是馮·諾依曼計算機。
    • 馮·諾依曼體系結構:
      • [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-ghE76ohW-1585571736278)(E:\workspace\TyporaProjects\計算機組成原理\images\1-2-馮諾依曼體系結構.png)]
      • 馮·諾依曼瓶頸:CPU和存儲器速率之間的問題無法調和。
        • [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-LzY2Gfdc-1585571736279)(E:\workspace\TyporaProjects\計算機組成原理\images\1-2-馮諾依曼瓶頸.png)]
    • 能夠通過輸入設備將需要的程序和數據送至計算機中,能夠通過存儲器長期記憶程序、數據、中間結果及最終運算結果的能力,能夠通過控制器、運算器完成算術運算、邏輯運算和數據傳送等數據加工處理的能力,能夠按照要求通過輸出設備將處理結果輸出給用戶。
  • 現代計算機的結構
    • [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-t2m13rTc-1585571736279)(E:\workspace\TyporaProjects\計算機組成原理\images\1-2-現代計算機結構.png)]
    • 在馮·諾依曼體系結構基礎上進行修改,可以理解爲以存儲器爲核心的結構。
    • 解決CPU與存儲設備之間的性能差異問題。
    • 存儲器從廣義上可以理解爲存儲數據的介質。
      • [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-kxboGEDe-1585571736280)(E:\workspace\TyporaProjects\計算機組成原理\images\1-2-存儲器的結構.png)]

第五節 計算機的層次與編程語言

  • 程序編譯與程序解釋
    • 爲什麼需要程序編譯與程序解釋?
      • [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-0wyf8Pvo-1585571736280)(E:\workspace\TyporaProjects\計算機組成原理\images\1-3-程序翻譯.png)]
    • 程序編譯
      • [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-q3WhvzPA-1585571736280)(E:\workspace\TyporaProjects\計算機組成原理\images\1-3-程序編譯.png)]
    • 程序解釋
      • [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-TOclEQsy-1585571736280)(E:\workspace\TyporaProjects\計算機組成原理\images\1-3-程序解釋.png)]
    • 程序編譯和程序解釋的區別和聯繫
      • 計算機執行的指令都是L0
      • 編譯過程生成新的L0程序,解釋過程不生成新的L0程序
      • 解釋過程由L0編寫的解釋器去解釋L1程序
    • 編譯型語言:C/C++、Object-C、Golang、 Pascal、 FORTRAN
    • 解釋型語言:Python、Php、JavaScript、 BASIC
    • 嚴格來講,Java和C#既不屬於編譯型語言,也不屬於解釋型語言,二者屬於編譯+解釋型的語言。
      • 以Java理解什麼是編譯+解釋型的語言:
        • [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-aBoycZIY-1585571736281)(E:\workspace\TyporaProjects\計算機組成原理\images\1-3-Java.png)]
  • 計算機的層次與編程語言
    • [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-LmT8tdd7-1585571736281)(E:\workspace\TyporaProjects\計算機組成原理\images\1-3-層次結構.png)]
    • 硬件邏輯層
      • 門、觸發器等邏輯電路組成,屬於電子工程的領域。
    • 微程序機器層
      • 編程語言是微指令集,微指令所組成的微程序直接由硬件執行。
    • 傳統機器層
      • 編程語言是CPU指令集(機器指令)。
      • 編程語言和硬件直接相關。
      • 不同架構的CPU使用不同的CPU指令集。
      • 微指令、微程序、機器指令的關係:
        • [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-qjPweaWj-1585571736282)(E:\workspace\TyporaProjects\計算機組成原理\images\1-3-微指令、微程序、機器指令的關係.png)]
        • 一條機器指令對應一個微程序,一個微程序對應一組微指令。
    • 操作系統層
      • 向上提供了簡易的操作界面。
      • 向下對接了指令系統,管理硬件資源。
      • 操作系統層是在軟件層和硬件之間的適配層。
    • 彙編語言層
      • 所用到的編程語言是彙編語言。
      • 彙編語言可以翻譯程可直接執行的機器語言。
      • 完成翻譯的過程的程序就是彙編器。
    • 高級語言層
      • 編程語言爲廣大程序員所接受的高級語言。
      • 高級語言的類別非常多,有上百種。
      • 常見的高級語言有:Python、Java、C/C++、Golang等。
    • 應用層
      • 滿足計算機針對某種用途而專門設計,如Microsoft Office。
      • 可以理解爲面向問題的應用語言。

第六節 計算機的計算單位

  • 容量單位

    • 在物理層面,高低電平記錄信息。

    • 理論上只認識0 / 1兩種狀態,0表示低電平,1表示高電平。

    • 0 / 1稱爲bit(比特位),但是0 / 1能夠表示的內容太少了,需要更大的容量表示方法。

    • 字節:1Byte = 8 bits

    • 常見容量單位:1024 = 2 ^ 10

      • bit Byte KB MB GB TB PB EB
        名字 比特位 字節 千字節 兆字節 吉字節 太字節 拍字節 艾字節
        比例 - 8bits 1024B 1024KB 1024MB 1024GB 1024TB 1024PB
        常見設備 門電路 - 寄存器 高速緩存 內存/硬盤 硬盤 雲硬盤 數據倉庫
      • 思考1:1G內存可以存儲多少字節的數據?可以存儲多少比特數據?

      • 答:1G = 1024 ^ 3 Bytes = 1024 ^ 3 * 8bits

      • 思考2:爲什麼500G的移動硬盤格式化之後就只剩465G了?

      • 答:硬盤商一般用10進位標記容量。 (500 * 1000 ^ 3) / 1024 ≈ 465

  • 速度單位

    • 網絡速度
      • 網絡常用單位爲:Mbps
      • 100M寬帶:100M = 100 M/S = 100 Mbps = 100 Mbit/s
      • 思考:爲什麼100MB光纖測試峯值速度只有12MB每秒?
      • 答:100 Mbit/s = (100/8) MB/s = 12.5MB/s
    • CPU頻率
      • CPU速度一般體現爲CPU的時鐘頻率
      • CPU時鐘頻率的單位一般是赫茲(Hz)
      • 當前主流CPU的時鐘頻率都在2GHz以上
      • Hz:秒分之一,是每秒鐘的週期性變動重複次數的計量,並不是描述計算機領域所專有的單位。
      • 高低電平的變換頻率:
        • [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-g6c7rJrt-1585571736282)(E:\workspace\TyporaProjects\計算機組成原理\images\1-4-Hz.png)]
        • 2 GHz = 2 * 1000 ^ 3 Hz = 每秒20億次

第七節 計算機的字符與編碼集

  • 字符編碼集的歷史
    • ASCII碼
      • [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-llXfXgHR-1585571736283)(E:\workspace\TyporaProjects\計算機組成原理\images\1-5-ASCII.png)]
      • 使用7個bit就可以完全表示ASCII碼95 + 33 = 128 = 2 ^ 7
      • 包含95個可打印字符,33個不可打印字符(包括控制字符)
    • Extend ASCII碼
      • [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-9hSrVqDy-1585571736283)(E:\workspace\TyporaProjects\計算機組成原理\images\1-5-Extend ASCII.png)]
      • 由於很多應用或者國家中的符號無法用ASCII碼,故第一次對ASCII碼進行擴充,7bits -> 8bits, 128 -> 256。
      • 包括常見數學運算符、帶音標的歐洲字符、其他常用符、表格符等。
    • 字符編碼集的國際化
      • 歐洲、中亞、東亞、拉丁美洲國家的語言多樣性
      • 語言體系不一樣,不以有限字符組合的語言
      • 中國、日本、韓國等的語言最爲複雜
  • 中文編碼集
    • 1980年, GB2312,全稱《信息交換用漢字編碼字符集–基本集》,共收錄了7445個字符,包括6763個漢字和682個其它符號。
    • 1995年, GBK,全稱《漢字內碼擴展規範》,向下兼容GB2312,向上支持國際ISO標準,收錄了21003個漢字,支持全部中日韓漢字。
    • 兼容全球的字符集:Unicode,又稱統一碼、萬國碼、單一碼,Unicode定義了世界通用的符號集,UTF-*實現了編碼,UTF-8以字節爲單位對Unicode進行編碼。
    • windows中文系統默認使用GBK編碼,編程推薦使用UTF-8編碼。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章