電腦基礎-電腦硬體發展史以及硬體

来源:https://www.cnblogs.com/suren-apan/archive/2019/08/18/11374607.html
-Advertisement-
Play Games

電腦硬體發展史 參考鏈接 \ https://www.cnblogs.com/Dominic Ji/articles/10987788.html 電腦硬體 電腦分為五大組成部分,分別為:控制器、運算器、存儲器、輸入設備和輸出設備。其中控制器+運算器是電腦的中央處理器(CPU),相當於人類的大 ...


電腦硬體發展史

參考鏈接--> https://www.cnblogs.com/Dominic-Ji/articles/10987788.html



電腦硬體

電腦分為五大組成部分,分別為:控制器、運算器、存儲器、輸入設備和輸出設備。其中控制器+運算器是電腦的中央處理器(CPU),相當於人類的大腦。

控制器

電腦的指揮系統。列子如:大腦指揮全身的器官運作,但是大腦不會隨意的指揮身體行動,大腦只有在接受指令後才會控制身體行動

運算器

運算器是電腦的運算系統。大腦除了指揮,無時無刻還在運算。即實現算術運算和邏輯運算。


運算器 + 控制器 = 電腦的中央處理器CPU

列子如:
吃飯流程示例

  1.當你吃飯的時候,大腦會接受吃飯的指令,之後把指令翻譯成你身體需要進行的動作(控制器)

   2.如果吃的是西餐,則使用勺子;如果吃的是中餐,則使用筷子(運算器)

存儲器

電腦中第二重要的就是存儲了,所有人都意淫著存儲:速度快(這樣cpu的等待存儲器的延遲就降低了)+容量大+價錢便宜。然後同時兼備三者是不可能的,所以有瞭如下的不同的處理方式

分5層

寄存器 高速緩存 記憶體 磁碟 磁帶

寄存器即L1緩存:

用與cpu相同材質製造,與cpu一樣快,因而cpu訪問它無時延,典型容量是:在32位cpu中為32*32,在64位cpu中為64*64,在兩種情況下容量均<1KB。

高速緩存即L2緩存:

主要由硬體控制高速緩存的存取,記憶體中有高速緩存行按照0~64位元組為行0,64~127為行1。。。
高速緩存為命中,就必須訪問記憶體,這需要付出大量的時間代價。由於高速緩存價格昂貴,所以其大小有限,有些機器具有兩級甚至三級高速緩存,每一級高速緩存比前一級慢但是容易大。

記憶體 ***

再往下一層是主存,此乃存儲器系統的主力,主存通常稱為隨機訪問存儲RAM,就是我們通常所說的記憶體,容量一直在不斷攀升,所有不能再高速緩存中找到的,都會到主存中找,主存是易失性存儲,斷電後數據全部消失

磁碟

磁碟低速的原因是因為它一種機械裝置
每個磁頭可以讀取一段換新區域,稱為磁軌
把一個戈丁手臂位置上所以的磁軌合起來,組成一個柱面
每個磁軌劃成若幹扇區,扇區典型的值是512位元組
數據都存放於一段一段的扇區,即磁軌這個圓圈的一小段圓圈,從磁碟讀取一段數據需要經歷尋道時間和延遲時間

虛擬記憶體:

許多電腦支持虛擬記憶體機制,該機制使電腦可以運行大於物理記憶體的程式,方法是將正在使用的程式放入記憶體取執行,而暫時不需要執行的程式放到磁碟的某塊地方,這塊地方成為虛擬記憶體,在linux中成為swap,這種機制的核心在於快速地映射記憶體地址,由cpu中的一個部件負責,成為存儲器管理單元(Memory Management Unit MMU)

PS:從一個程式切換到另外一個程式,成為上下文切換(context switch),緩存和MMU的出現提升了系統的性能,尤其是上下文切換

磁帶

在價錢相同的情況下比硬碟擁有更高的存儲容量,雖然速度低於磁碟,但是因其大容量,在地震水災火災時可移動性強等特性,常被用來做備份。(常見於大型資料庫系統中)

輸入輸出設備

1、輸入設備
  輸入設備的任務是把人們編好的程式和原始數據送到電腦中去,並且將他們轉換成電腦記憶體所能識別和接受的信息方式。
2、輸出設備
  輸出設備的任務是將電腦的處理結果以人或其他設備所能接受的形式送出電腦。
  目前最常用的輸出設備是印表機和顯示器。輔助存儲器也可以看做輸出設備。另外,數模(D/A)轉換裝置也是一種輸出設備。

匯流排

四小節中的結構在小型電腦中沿用了多年,並也用在早期的IBM PC中。但是隨著處理器和存儲器速度越來越快,單匯流排很難處理匯流排的交通流量了,於是出現了下圖的多匯流排模式,他們處理I/O設備及cpu到存儲器的速度都更快。

北橋即PCI橋:連接高速設備

南橋即ISA橋:連接慢速設備
電源(Power)==心臟:所有的組件要能運作,得要有足夠的電力供給才行。這就好像心臟一樣,如果心臟不跳動了,人就嗝屁了,電腦也是如果沒有電源,那也就是一堆垃圾,什麼作用都沒有。




電腦啟動流程

在電腦的主板上有一個基本的輸入輸出程式(Basic Input Output system)

BIOS就相當於一個小的操作系統,它有底層的I/O軟體,包括讀鍵盤,寫屏幕,進行磁碟I/O,該程式存放於一非易失性快閃記憶體RAM中。

啟動流程
1.電腦加電

2.BIOS開始運行,檢測硬體:cpu、記憶體、硬碟等

3.BIOS讀取CMOS存儲器中的參數,選擇啟動設備

4.從啟動設備上讀取第一個扇區的內容(MBR主引導記錄512位元組,前446為引導信息,後64為分區信息,最後兩個為標誌位)

5.根據分區信息讀入bootloader啟動裝載模塊,啟動操作系統

6.然後操作系統詢問BIOS,以獲得配置信息。對於每種設備,系統會檢查其設備驅動程式是否存在,如果沒有,系統則會要求用戶按照設備驅動程式。一旦有了全部的設備驅動程式,操作系統就將它們調入內核。然後初始有關的表格(如進程表),穿件需要的進程,併在每個終端上啟動登錄程式或GUI


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 面向對象有三大特性分別是繼承、封裝和多態。 (1)繼承:繼承是一種聯結類的層次模型,並且允許和鼓勵類的重用,它提供了一種明確表述共性的方法。對象的一個新類可以從現有的類中派生,這個過程稱為類繼承。新類繼承了原始類的特性,新類稱為原始類的派生類(子類),而原始類稱為新類的基類(父類)。派生類可以從它的 ...
  • 法一(本地sql查詢,註意表名啥的都用資料庫中的名稱,適用於特定資料庫的查詢) 法二(jpa已經實現的分頁介面,適用於簡單的分頁查詢) 法三(Query註解,hql語局,適用於查詢指定條件的數據) 可以自定義整個實體(Page<User>),也可以查詢某幾個欄位(Page<Object[]>),和原 ...
  • 前言 因為C++是以C為基礎的,所以要用C++編程就必須熟悉C的語法。 C語言的學習可以學習K & R C的《C程式設計語言》 創建函數 Q: 函數原型? A: 標準C/C++有一個特征叫函數原型(function prototyping)。調用函數時,編譯器使用原型確保正確傳遞參數並且正確處理返回 ...
  • 使用 MyBatis 的 SqlSession MyBatis 的 提供了執行 SQL 語句、提交或回滾事務和獲取映射器實例的方法。 SqlSession 由工廠類 SqlSessionFactory 來創建, SqlSessionFactory 又是構造器類 SqlSessionFactoryBu ...
  • 親測有效,針對 阿裡雲 centos 7 輕量伺服器 python ==> 3.7.4 pip ==> 3 一,打開python官網,找到下載Python的tgz文件,有兩種方式下載 (版本可能更新,進官網核實為準) 1,直接在windows系統下了完了,通過xtfp上傳文件到/usr/local/ ...
  • PHP7 為什麼這麼快? 全新的zval 更節約的空間,棧上分配記憶體 zend_string 存儲字元串的Hash值,數組查詢的時候不需要進行Hash計算 在HashTable桶內直接存數據,減少了記憶體的申請次數,提升了cache命中率和記憶體訪問速度 zend_parse_parameters改為了 ...
  • 示例 1、新建項目,把資料庫驅動、DbUtils的jar包添加到項目中 2、新建文件夾resource,標識為資源根目錄,下麵新建資料庫連接的配置文件mysql.properties 3、新建實體類bean.Student DbUtils將結果集中的記錄映射到JavaBean中時,採用的方式和Spr ...
  • 小註:此教程可能有很多彎路,但是最終是肯定安裝成功了的,一個問題就是剛開始安裝編譯的指令版本好像不對,但是後面糾正過來了,但是此教程一共遇到了 十多個問題,也一併解決了,具有一定的借鑒意義,還有(django)開頭是因為此刻處在 vir...虛擬環境中,不影響。(提醒:安裝這個的或許也在搭建 Dja ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...