電腦組成原理_概述篇

Unsplash

01 電腦的發展歷史大概可以分為幾個階段?每個階段的電腦分別有什麼特點?

4 個階段:電子管、電晶體、積體電路、超大規模積體電路 特點:集成化程度越來越高,運算速度越來越快

02 你了解「摩爾定律」嗎?「摩爾定律」對現代電腦產生了什麼影響?

摩爾定律是指積體電路上可容納的元器件的數目,約每隔 18 – 24 個月便會增加一倍,性能也會翻倍

影響:摩爾定律非常具有前瞻性,是對微電子行業發展的一種鼓勵。因為公司會按照摩爾定律來制定發展計劃,一旦公司的研發進度落後於摩爾定律,就可能被淘汰

03 你了解馮諾依曼機嗎?你是否可以大概描述馮諾依曼機的基本組成和工作原理?馮諾依曼機相對於之前的電腦有什麼重要改進?

馮諾依曼體系的電腦

馮諾依曼機的核心部件是存儲器

組成:輸入設備、輸出設備、運算器、控制器、存儲器

工作原理:輸入設備將數據和程式輸入到存儲器中,在運行過程中,控制器從存儲器中取出指令,運算器從存儲器中取數據,計算,並放回到存儲器中

改進:使得電腦由專用電路電腦發展成為通用電路電腦

04 什麼是馮諾依曼瓶頸?馮諾依曼瓶頸對現代電腦產生了什麼影響?

瓶頸:CPU 和存儲器之間的速度瓶頸,導致電腦的運算速度瓶頸

影響:現代電腦根據局部性原理設計了存儲器的層次結構,快取 – 主存 – 輔存

05 你了解程式解釋和程式翻譯嗎?什麼是編譯型語言,什麼是解釋型語言呢?

程式解釋:程式在執行的過程中逐行解釋,解釋一句後電腦就執行一句,不生成目標程式

程式解釋

程式翻譯:程式程式碼在編譯階段就翻譯成較低層次的語言,在運行時直接運行

程式翻譯

編譯型語言:在執行之前,需要經過編譯系統將高級語言編譯成機器語言文件

解釋型語言:在運行的時候再翻譯,不需要經過單獨的編譯程式

06 請你列舉十種以上的程式語言,並分別分類他們屬於什麼類型的語言

編譯型語言:C/C++、Object-C、Golang

解釋型語言:Python、PHP、Javascript

編譯+解釋語言:Java、C#

07 你了解電腦的層次結構嗎?

電腦層次結構

作業系統層:向上提供了簡易的操作介面、向下對接了指令系統,管理硬體資源、作業系統層是在軟體和硬體之間的適配層

彙編語言層:程式語言是彙編語言、彙編語言可以翻譯成可直接執行的機器語言、完成翻譯的過程的程式就是彙編器

高級語言層:程式語言為廣大攻城獅所接受的高級語言,常見的高級語言有 Python、Java、C/C++、Golang等

應用層:滿足電腦針對某種用途而專門設計的應用,如 Office 全家桶

08 請你嘗試說明高級語言、彙編語言和機器語言的區別和聯繫?

高級語言,是方便程式設計師描述程式邏輯的程式語言

彙編語言,方便程式設計師描述硬體邏輯的語言

機器語言,方便機器運行和理解

09 為什麼 500G 的移動硬碟格式化之後只剩下 465G?為什麼電信 100M 光纖測試峰值速度只有 12.5MB/s

硬碟商一般用 10 進位位標記容量,500*10003/10243 ≈ 465

100M/s = 100Mbps = 100Mbit/s = (100/8)MB/s = 12.5MB/s

10. CPU的速度一般使用什麼做單位?它具有什麼物理意義?

赫茲,也稱為 CPU 的時鐘頻率,代表 CPU 產生訊號的頻率

11 網路的速度一般使用什麼做單位?

Mbps,兆比特每秒

12 20 世紀 80 年代以前的電腦是不支援輸入中文的,當時的電腦使用的是什麼編碼集?

Extended-ASCII

13 ASCII編碼集佔用多少個位元組?

7

14 你知道 Unicode 編碼和 UTF-8 編碼的區別和聯繫嗎?

Unicode 是一個符號集,規定了符號以及符號對應的二進位程式碼,卻沒有規定這個二進位程式碼怎麼存儲

UTF-8 就是一種 Unicode 編碼的實現形式,規定了每個符號的具體實現編碼,使用不定長位元組表示字元

15 假設有 10000 個漢字,6000 個日本字,3000 個韓國字,1000 個特殊字元,如果讓你設計一套通用的編碼集,請問每個字至少幾個比特位?

10000 + 6000 + 3000 + 1000 = 20000

15位

End of File