一、計算機系統概論 1. 馮諾依曼計算機組成 主機(cpu+內存),外設(輸入設備+輸出設備+外存),總線(地址總線+數據總線+控制總線) 2. 計算機層次結構 應用程序-高級語言-匯編語言-操作系統-指令集架構層-微代碼層-硬件邏輯層 3. 計算機 ...
比爾 蓋茨在上世紀 年代說的 K ought to be enough for anyone 也就是 K內存對哪個人來說都夠用了 那個年代,微軟開發的還是DOS操作系統,程序員們還在絞盡腦汁,想要用好這極為有限的 K內存 而現在,我手頭的Mac Book Pro已經是 G內存了,上升了一萬倍還不止。 那比爾 蓋茨這句話在當時也是完全的無稽之談么 有沒有哪怕一點點的道理呢 這一講里,我就和你一起來 ...
2019-08-17 22:18 0 501 推薦指數:
一、計算機系統概論 1. 馮諾依曼計算機組成 主機(cpu+內存),外設(輸入設備+輸出設備+外存),總線(地址總線+數據總線+控制總線) 2. 計算機層次結構 應用程序-高級語言-匯編語言-操作系統-指令集架構層-微代碼層-硬件邏輯層 3. 計算機 ...
把對應的不同文件內的代碼段,合並到一起,成為最后的可執行文件 鏈接的方式,讓我們在寫代碼的時候做到了“復用”。 同樣的功能代碼只要寫一次,然后提供給很多不同的程序進行鏈接就行了。 “鏈接”其實有點兒像我們日常生活中的標准化、模塊化生產。 有一個可以生產標准螺帽的生產線,就可生產很多不 ...
在上一篇中,我們談到過 要提升計算機的性能,可以從上面這三方面着手。 通過指令數/CPI,好像都太難了。 因此工程師們,就在CPU上多放晶體管,不斷提升CPU的時鍾頻率,讓CPU更快,程序的執行時間就會縮短。 從1978年Intel發布的8086 CPU開始,計算機的主頻 ...
既然程序最終都被變成了一條條機器碼去執行,那為什么同一個程序,在同一台計算機上,在Linux下可以運行,而在Windows下卻不行呢? 反過來,Windows上的程序在Linux上也是一樣不能執行的 可是我們的CPU並沒有換掉,它應該可以識別同樣的指令呀!!! 如果你和我有同樣的疑問 ...
CPU執行的也不只是一條指令,一般一個程序包含很多條指令 因為有if…else、for這樣的條件和循環存在,這些指令也不會一路平直執行下去。 一個計算機程序是怎么被分解成一條條指令來執行的呢 1 CPU如何執行指令 CPU里差不多幾百億個晶體管 實際上,一條條計算機指令執行起來 ...
用Google搜異常信息,肯定都訪問過Stack Overflow網站 全球最大的程序員問答網站,名字來自於一個常見的報錯,就是棧溢出(stack overflow) 從函數調用開始,在計算機指令層面函數間的相互調用是怎么實現的,以及什么情況下會發生棧溢出 1 棧的意義 先看 ...
1、芯片是怎么工作的呢?電能供給給芯片,芯片中的一種電子元件晶振(也就是石英晶體)通電后產生震盪,震盪會產生頻率穩定的脈沖信號。通常這是一種高頻的脈沖信號,每秒可達百萬次。然后,我們通過諧振效應發放這 ...
程序 = 算法 + 數據結構 對應到計算機的組成原理(硬件層面) 算法 --- 各種計算機指令 數據結構 --- 二進制數據 計算機用0/1組成的二進制,來表示所有信息 程序指令用到的機器碼,是使用二進制表示的 存儲在內存里面的字符串、整數、浮點數 ...