電腦科學第二課 程式與CPU

2021-08-30 11:02:10 字數 1552 閱讀 8948

一、課程要點

1.電腦科學講的是什麼?

2.cpu的構成

3.程式與cpu

4.暫存器們

二、正文

1.電腦科學

電腦科學這門課程沒有任何**,講的是計算機的基礎內容,程式是如何與計算機進行互動的。

2.cpu的構成

cpu由四大部分構成:暫存器、控制器、運算器、時鐘。

(1)暫存器:暫存資料的地方。暫存器相當於cpu的記憶體。程式=指令+資料。這是軟體開發工程師最常打交道的地方。暫存器不止乙個。

(2)控制器:控制暫存器中資料的讀寫。

(3)運算器:是邏輯運算單元,輔助暫存器和控制器進行運算。

(4)時鐘:計算機的運算頻率。如i5核心,計算機的中心頻率是1.7ghz,即計算機1s內可以計算17億次。

總結:計算機,顧名思義,是用於計算的,而計算的核心是資料,所以計算機是圍繞對資料的操作構成的:暫存器:暫存資料;控制器:控制資料的讀寫;運算器:進行資料的運算;時鐘:對資料的計算次數。好,具備了儲存資料,對資料進行的能力之後,程式就扮演了乙個指揮官的角色,程式通過指令完成對這些資料的操作。因此,有稱,程式=指令+資料。

3.程式與cpu

程式->exe->載入->cpu

說明:程式是一門高階語言,通過編譯器,如vs2010、codeblock等整合環境中的編譯器實現對高階語言的編譯,將其生成exe可執行檔案,裡面是二進位制內容,即低端的機器語言。然後通過計算機載入到cpu中,cpu呼叫暫存器等元件接受指令,執行程式。

4.暫存器們

暫存器可以分為8大類:累加暫存器、標誌暫存器、程式計數暫存器、基址暫存器、變址暫存器、通用暫存器、指令暫存器、棧存器。

(1)累加暫存器:儲存運算之後的資料。計算機只會做加法。

(2)狀態暫存器:記錄cpu的狀態,幫助做出邏輯判斷,如改變狀態,判斷分支語句應該跳到哪句。

(4)基址暫存器:存放當前資料開始的位置。

(6)通用暫存器:什麼都可以存放的暫存器,這是程式設計師使用的最多的暫存器。

(7)指令暫存器:cpu內部的暫存器,程式設計師無法觸及和使用。

總結:最重要的3個暫存器:累加暫存器+狀態暫存器+程式計數暫存器,舉例說明三者的關係。

如,當程式中有分支語句時,且判斷的條件是:if(2==3),則累加暫存器中儲存運算之後的資料(是判斷之後的結果嗎?0/1???),當條件判斷結果為假(0)時,狀態暫存器中的每一位標誌位會發生改變。狀態暫存器有32位,每一位代表不同的含義,如第1位:是否溢位?第2位:是否為0?........等等。條件判斷之後的結果會促使狀態暫存器進行置位操作,即將每一位變置為0或1,然後,根據狀態暫存器32位的具體情況改變程式計數暫存器中的位址,也就是決定了程式的下一條指令的位址。

ps:無論學習什麼語言,電腦科學都是基礎的學科。在我整理這些資料的同時,我也重新梳理了一下思路,感覺思路更加清晰了,知識也記得更為紮實了,我以前從沒有考慮過分支結構在計算機內部是怎樣實現的,在知道了計算機內部進行了如此「笨拙」的操作之後,反而感覺到計算機的可愛之處,哈哈!

嗯、、、、、今天是第二天,我不能保證每天都會發文章,但我不會擱置。熱愛這個世界,熱愛努力的自己。腳踏實地,仰望星空,明天是美好的,世界是澄淨的。禮拜三,再見!

計算機基礎第二課時

檔案字尾名1.也稱副檔名 filename extension 2.是作業系統用來標誌檔案型別的一種機制 3.通常來說,乙個副檔名是跟在主檔名後面的,由乙個分隔符分隔。例如 前端開發知識要點.txt 的檔名中,前端開發知識要點是主檔名,txt為副檔名 絕對路徑與相對路徑絕對路徑 是從碟符開始的路徑,...

numpy 第二課 計算

coding utf 8 import numpy as np 和數字計算,廣播計算 加,減,乘,除 t1 np.arange 5 print t1 0 1 2 3 4 print t1 1 1 2 3 4 5 print t1 0 nan inf inf inf inf nan not a num...

第二課 類與物件

1了解oop 2了解物件 3 類的結構 3.1 如何定義類 訪問限制 class 類名 3.2通過類建立物件 student st1 newstudent 呼叫物件的方法 st1.setname 比爾蓋子 st1.study 3.3類與物件的關係 1.類是乙個模板 物件是類的乙個特例 2.是種自定義...