計算機常識匯總

硬件結(jié)構(gòu)框架

??PC中最重要的三個部件分別是CPU,內(nèi)存,I/O控制器;基于C或者匯編語言寫底層程序時,需要了解這三部分(對于更高級的程序語言,比如java等是基于一個抽象的虛擬機進行編程的,物理機器的相關(guān)細節(jié)甚至包括操作系統(tǒng)都通過虛擬機進行了屏蔽).

三個部件的組織形式.

??早期的PC,CPU和內(nèi)存的工作頻率基本一致,并且也沒有太多的IO設(shè)備,所以所有設(shè)備通過一條總線掛在一起,如下圖:



??后來由于CPU頻率不斷提升,導(dǎo)致內(nèi)存頻率跟不上CPU的頻率,所以產(chǎn)生了和內(nèi)存頻率(即CPU的外頻)一樣的系統(tǒng)總線,同時圖形設(shè)備也需要和CPU以及內(nèi)存進行大量的數(shù)據(jù)交換.另外相對于這些高速設(shè)備還有一些低速設(shè)備,比如磁盤,USB等設(shè)備.如果這些設(shè)備和前面一樣直接連接在一條總線上,硬件設(shè)計就會很復(fù)雜,所以對總線進行了分級設(shè)計,就是南北橋設(shè)計.南橋用于高速設(shè)備,基于PCI結(jié)構(gòu),北橋用于低速設(shè)備,基于ISA結(jié)構(gòu).如下圖:


操作系統(tǒng)

操作系統(tǒng)的作用:

  • 管理硬件資源,最大限度的有效利用硬件資源,通過提供進程等機制;
  • 為應(yīng)用程序提供統(tǒng)一的應(yīng)用程序接口,即API(Application Programming Interface);
  • 屏蔽硬件的差異性;

很多復(fù)雜性的工程問題,都可以通過分層的思想來降低復(fù)雜度。操作系統(tǒng)也是類似。操作系統(tǒng)和應(yīng)用軟件以及硬件的關(guān)系如下圖:


發(fā)展過程:

  • 多道程序,監(jiān)控硬件資源一旦閑置就啟用新的等待程序,缺點是調(diào)度策略粗糙;
  • 早期的分時系統(tǒng),程序執(zhí)行過程中主動讓出硬件資源一段時間,供其他程序運行,但這個讓出是應(yīng)用程序主動讓出,而不是被動。這是的操作系統(tǒng)只負責(zé)讓出后,加載新的程序;
  • 多任務(wù)系統(tǒng),有了進程和優(yōu)先級的概念,搶占執(zhí)行,目前的操作系統(tǒng)都是基于多任務(wù)的,比如:Linux,windows NT等。

CPU的大小端模式

大小端模式是CPU的硬件屬性,Inter是小端模式,一般嵌入式是大段模式。大段模式和小段模式的CPU,存放數(shù)據(jù)方式如下:



對于32bit數(shù)據(jù)0x12345678,的實際存放如上圖,16bit數(shù)據(jù)類似,但是8bit數(shù)據(jù)沒有區(qū)別。也就是說:
小端模式,低地址存放低有效位,更符合邏輯;
大段模式,低地址存放高有效位,查看內(nèi)存更為方便,因為內(nèi)存低地址在前面。

函數(shù)調(diào)用過程

IA32中用程序棧來支持函數(shù)(過程)調(diào)用,棧主要特性是“后進先出”的一個單向隊列,只能對棧頂進行操作,數(shù)據(jù)壓入棧頂,彈出棧頂?shù)臄?shù)據(jù)。并且在IA32中,棧頂是低地址,棧底是高地址,esp寄存器永遠指向棧頂。如下為一個棧的原始結(jié)構(gòu):

用pushl %eax,將%eax寄存器中的內(nèi)容壓入棧中(注意pushl是32bit壓棧),執(zhí)行效果如下:


對于上面的單個壓棧指令pushl %eax,實際上等同于,下面兩條指令:

subl $4,%esp ;棧頂指針%esp = %esp-4
movl %eax,(%esp) ;數(shù)據(jù)移動

popl出棧指令,與壓棧指令的過程剛好相反。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 總線 計算機的各個功能部件通過總線連接在一起構(gòu)成完整的計算機系統(tǒng),總線是多個系統(tǒng)功能部件之間進行數(shù)據(jù)傳送的公共通路...
    羅蓁蓁閱讀 5,335評論 0 10
  • (轉(zhuǎn))從PC總線到ARM的內(nèi)部總線轉(zhuǎn)自:http://blog.chinaunix.net/u1/34474/sh...
    spfanlost閱讀 1,486評論 0 2
  • 校園的天空依舊還是那么藍,我抱著書本,從圖書館慢悠悠走回寢室。我抬頭看天,看云,我歪著腦袋看樹,就是不想看路。迎面...
    心語年華閱讀 451評論 0 0
  • 自由和安全感是相反的,你若要安全感,就會失去自由,你要的安全感越多,失去的自由就越多,可以說監(jiān)獄是最有安全感的地方...
    Phanleys閱讀 3,973評論 0 0
  • 日照香爐生紫煙,遙看瀑布掛前川。飛流直下三千尺,疑是銀河落九天。
    珠海紅葉原創(chuàng)閱讀 256評論 1 1

友情鏈接更多精彩內(nèi)容