計算簡單核心基礎知識
(ps:小白入門知識點)
一、計算機組成原理
1.什么是計算機
計算機(computer),俗稱電腦,是現代一種用於高速計算的電子計算機器,可以進行數值計算,又可以進行邏輯計算,還具有存儲記憶功能。是能夠按照程序運行,自動、高速處理海量數據的現代化智能電子設備。由硬件系統和軟件系統組成,沒有安裝任何軟件的計算機稱為裸機。可分為超級計算機、工業控制計算機、網絡計算機、個人計算機、嵌入式計算機五類,較先進的計算機有生物計算機,光子計算機,量子計算機等。
2.為什么要用計算機
計算機是人發明的一種幫助人類完成普通人力不能完成的一些任務的工具,相當於人的奴隸,通過計算機可以解決很多人在工作和生活中遇到的問題。
3.計算機的五大組成部分
-
控制器:計算機的指揮控制系統
-
運算器:計算機的運算系統,包括邏輯運算和算術運算
(ps:控制器 + 運算器即為計算機中央處理器:CPU,相當於人類的大腦)
-
存儲器:計算機存儲數據的地方,主要分為內存和硬盤,還有寄存器(容量小)、高速緩存、磁帶(服務器數據備份)、 BIOS (basic input output system計算機出廠自帶的小系統)等
內存:存取速度快,但是不能永久保存數據,斷電即丟失數據。
硬盤:硬盤目前又分為固態硬盤和機械硬盤兩種,固態硬盤的存取速度要高於機械硬盤,但相對於內存來說存取速度還是很慢,但是在不損壞硬盤的情況下可以永久保存數據。
-
輸入設備:計算機接收外界數據的設備,比如鍵盤,鼠標,攝像頭,麥克風等。
-
輸出設備:計算機向外輸出數據的設備,比如顯示器,打印機,音響等。
(ps:輸入設備和輸出設備可稱為I/0設備)
4.計算機三大核心部件
- cpu:大腦
- 內存:讀取速度快,但斷電會丟失數據
- 硬盤:永久存儲數據
5.CPU工作流程
例如通過暴風影音打開一個視頻
1、硬盤運轉將數據讀到內存
2、CPU去內存里面拿數據
3、將打開視頻的命令翻譯成自己能夠對應上的操作步驟
4、控制硬件執行
x86:32位操作系統,cpu一次性從內存中讀取32個字符的數據
x64:64位操作系統,cpu一次性從內存中讀取64個字符的數據
6.計算機的操作系統
上面的五大組成部分指的是計算機硬件系統里面的五大重要組成部分,而計算機除了硬件系統還有軟件系統,軟件系統又分為系統軟件和應用軟件,其中操作系統就屬於系統軟件部分。簡單來說操作系統主要將計算機硬件的各種復雜的接口封裝起來,便於程序員開發程序以及便於用戶通過應用軟件方便快捷的管理調用計算機各部分硬件。
因此計算機可分為三層結構,應用程序《--》操作系統《--》硬件系統,具體如下圖所示。應用程序都是運行在操作系統之上的,而操作系統又是基於計算機硬件運行的,因此我們把操作系統和計算機硬件合稱為平台,即應用程序都是在計算機的平台上開發和運行的。
常見的操作系統有windows系統,linux系統,mac系統等。
7.什么是文件?
文件其實就是操作系統給你提供的操作硬盤的簡單接口
二、編程和編程語言簡介
1.什么叫編程。
編程指的就是編寫程序,指人(程序員)將自己的思維邏輯和意圖通過編寫的程序告訴計算機,從而使計算機完成指定任務。編程得到的是一堆文件,最終目的是讓計算機通過這堆程序文件完成指定的工作。
2.為什么要編程。
編程可以讓計算機理解人類的思維邏輯和意圖完成一些指定的任務,從而解放人力。
3.編程語言。
人與人交流需要語言,比如漢語,英語等,同樣人與機器交流也需要某種溝通介質,這就是編程語言。
編程語言又分為三種語言:機器語言、匯編語言、高級語言
-
機器語言
機器語言是站在計算機的角度來開發程序,而計算機只能識別高低電頻,因此計算機語言是一系列用0和1這種二進制代碼寫的指令,優點是站在計算機的角度編寫的指令,更容易被計算機理解,執行效率高,可直接控制計算機硬件。缺點是過於復雜,開發效率低 ,依賴具體的計算機硬件,跨平台性差 。
-
匯編語言
匯編語言的實質和機器語言是相同的,都是直接對硬件操作,只不過指令采用了英文縮寫的標識符,更容易識別和記憶。它同樣需要編程者將每一步具體的操作用命令的形式寫出來。 優點是相對於機器語言來說使用英文標簽編寫程序相對簡單,執行效率稍低,開發效率稍高。 缺點是仍然是直接操作硬件,比起機器語言來說,復雜度稍低,但依舊居高不下,所以開發效率依舊較低 ,一樣依賴具體的硬件,跨平台性差
-
高級語言
高級語言是站在人的角度,說人話,即用人類的字符去編寫程序,而人類的字符是在向操作系統發送指令,而非直接操作硬件,所以高級語言是與操作系統打交道的,此處的高級指的是高層、開發者無需考慮硬件細節。優點是開發效率可以得到極大的提升,缺點是高級語言離硬件較遠,更貼近人類語言,人類可以理解,而計算機則需要通過翻譯才能理解,所以執行效率會低於低級語言。
高級語言可以分為編譯型(如C語言)和解釋型(python)
-
編譯型
把程序所有代碼編譯成計算機能識別的二進制指令,之后操作系統會拿着編譯好的二進制指令直接操作硬件。優點是編譯一次之后就可以拿着結果重復運行,而無需再次翻譯,執行效率高於解釋型缺點是編譯型代碼是針對某一個平台翻譯的,當前平台翻譯的結果無法拿到另外一個平台使用,即無法跨平台
-
解釋型
類似同聲翻譯,需要有一個解釋器,解釋器會讀取程序代碼,一邊翻譯一邊執行,優點是代碼運行是依賴於解釋器,不同平台有對應版本的解釋器,所以代碼是可以跨平台運行,缺點是
每次執行都需要翻譯,執行效率低於編譯型。
-
4.總結
執行效率:機器語言>匯編語言>高級語言(編譯型>解釋型)
開發效率:機器語言<匯編語言<高級語言(編譯型<解釋型)
跨平台性:解釋型具有極強的跨平台型
三