python 零基礎學習之路 01 計算機硬體

2022-05-05 09:00:13 字數 2668 閱讀 6320

一套完整的計算機系統分為:計算機硬體,作業系統,應用軟體,如下圖。因而我們的python程式設計之路分為計算機硬體基礎,作業系統基礎,和python程式設計三部分,而我們便是最先從計算機硬體開始學習的。

一 計算機硬體介紹

計算機硬體有五大部分:

1、控制器:計算機的指揮系統。控制器通過位址訪問儲存器,從儲存器中取出指令,經解碼器分析後,根          據指令分析結果產生相應的操作控制訊號作用於其他部件,使得各部件在控制器控制下有條不紊地協調工作。

2、運算器:實現算術運算和邏輯運算的部件。

3、儲存器:是計算機用來存放所有資料和程式的記憶部件。他的基本功能是按指定的位址存入或者取出資訊。計算機中的儲存器分為兩大類:一類是記憶體儲器,簡稱記憶體或主存;另一類是外儲存器(輔助儲存器),簡稱外存或輔存。儲存器由若干個儲存單元組成,每個儲存單元都有乙個位址,計算機通過位址對儲存單元進行讀寫。乙個儲存器所包含的位元組數稱為儲存容量,單位有b、kb、md、gb、tb等。

4、輸入裝置:是向計算機中輸入資訊(程式、資料、聲音、文字、圖形、影象等)的裝置。常見的輸入裝置有:鍵盤、滑鼠、圖形掃瞄器、觸控螢幕、條形碼輸入器、光筆等。 外儲存器也是一種輸入裝置。

5、輸出裝置:主要有顯示器、印表機和繪圖儀等。外儲存器也當作一種輸出裝置。

總結來說:控制器+運算器=cpu,cpu是人的大腦,負責控制全身和運算;記憶體是人的記憶,負責臨時儲存;硬碟是人的筆記本,負責永久儲存;輸入裝置是耳朵或眼睛或嘴巴,負責接收外部資訊存入記憶體,輸出裝置是你整個身體的肢體動作,負責經過處理後輸出的結果。以上所有的裝置都通過匯流排連線,匯流排相當於人的神經。

二 **處理器  

1、將運算器和控制器合稱為**處理器(central processing unit,cpu)。其中運算器用來主要負責程式運算與邏輯判斷,控制器則主要協調各元件和各單元的工作,所以cpu的工作主要在於管理和運算。可以說計算機的大腦就是cpu,它從記憶體中取指令->解碼->執行然後再取指->解碼->執行下一條指令,周而復始,直至整個程式被執行完成。既然cpu的重點在於進行運算和判斷,那麼要被運算與判斷的資料是從**來的?cpu讀取的資料都是從主儲存器(記憶體)來的!主儲存器內的資料則是從輸入單元所傳輸進來!而cpu處理完畢的資料也必須先寫回主儲存器中,最後資料才從主儲存器傳輸到輸出單元。

2、核心態與使用者態

核心態:當cpu在核心態執行時,cpu可以執行指令集中所有的指令,很明顯,所有的指令中包含了使用硬體的所有功能,(作業系統在核心態下執行,從而可以訪問整個硬體)

使用者態:使用者程式在使用者態下執行,僅僅只能執行cpu整個指令集的乙個子集,該子集中不包含操作硬體功能的部分,因此,一般情況下,在使用者態中有關i/o和記憶體保護(作業系統占用的記憶體是受保護的,不能被別的程式占用),當然,在使用者態下,將psw中的模式設定成核心態也是禁止的。

三 儲存器

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

快取記憶體即l2快取:主要由硬體控制快取記憶體的訪問,記憶體中有快取記憶體行按照0~64位元組為行0,64~127為行1。。。最常用的快取記憶體行放置在cpu內部或者非常接近cpu的快取記憶體中。

記憶體(ram)稱為隨機訪問儲存ram:是我們通常所說的記憶體,容量一直在不斷攀公升,所有不能再快取記憶體中找到的,都會到主存中找,主存是易失性儲存,斷電後資料全部消失。

非易失性隨機訪問儲存(rom):在電源切斷之後,非易失性儲存的內容並不會丟失,rom唯讀儲存器在工廠中就被程式設計完畢,然後再也不能修改。

eeprom(electrically erasable prom,電可擦除可程式設計rom)和快閃儲存器(flash memory)也是非易失性的。

cmos:是易失性的,許多計算機利用cmos儲存器來保持當前時間和日期。cmos儲存器和遞增時間的電路由一小塊電池驅動,所以,即使計算機沒有加電,時間也仍然可以正確地更新,除此之外cmos還可以儲存配置的引數,比如,哪乙個是啟動磁碟等,之所以採用cmos是因為它耗電非常少,一塊工廠原裝電池往往能使用若干年,但是當電池失效時,相關的配置和時間等都將丟失。

四 磁碟:資料都存放於一段一段的扇區,即磁軌這個圓圈的一小段圓圈,從磁碟讀取一段資料需要經歷尋道時間和延遲時間。

(虛擬記憶體:許多計算機支援虛擬記憶體機制,該機制使計算機可以執行大於物理記憶體的程式,方法是將正在使用的程式放入記憶體取執行,而暫時不需要執行的程式放到磁碟的某塊地方,這塊地方成為虛擬記憶體,在linux中成為swap,這種機制的核心在於快速地對映記憶體位址,由cpu中的乙個部件負責,成為儲存器管理單元(memory management unit mmu)

五 啟動計算機 

1.計算機加電

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

3.bios讀取cmos儲存器中的引數,選擇啟動裝置

4.從啟動裝置上讀取第乙個扇區的內容(mbr主引導記錄512位元組,前446為引導資訊,後64為分割槽資訊,最後兩個為標誌位)

5.根據分割槽資訊讀入bootloader啟動裝載模組,啟動作業系統

6.然後作業系統詢問bios,以獲得配置資訊。對於每種裝置,系統會檢查其裝置驅動程式是否存在,如果沒有,系統則會要求使用者按照裝置驅動程式。一旦有了全部的裝置驅動程式,作業系統就將它們調入核心。然後初始有關的**(如程序表),穿件需要的程序,並在每個終端上啟動登入程式或gui

python零基礎學習01

根據個人學習python的經歷寫的這個系列,我自己也還在學習當中,希望能通過這個零基礎學習系列幫助自己鞏固只是也能幫助別人學習。首先,是python環境的安裝。新增環境變數步驟 右鍵我的電腦 左側的高階系統設定 環境變數 系統變數欄的path雙擊,然後把你python安裝路徑放進去就好了。這個是py...

QT零基礎學習之路

qt 學習之路 目錄 序qt 前言 hello,world 訊號槽自定義訊號槽 qt 模組簡介 mainwindow 簡介 新增動作 資源檔案 物件模型 布局管理器 選單欄 工具欄和狀態列 對話方塊簡介 對話方塊資料傳遞 標準對話方塊 qmessagebox 深入 qt5 訊號槽新語法 檔案對話方塊...

python 零基礎學習之路 12 Mysql系列

一 初始資料庫 1 認識小結 資料庫伺服器 執行資料庫管理軟體 資料庫管理軟體 database management system,dbms 管理 資料庫 資料庫 database,db 即資料夾,用來組織檔案 表 表 即檔案,用來存放多行內容 多條記錄 2 mysql介紹 mysql是乙個關係型...