從PC的總線(xiàn)到ARM內(nèi)部總線(xiàn) 我在學(xué)習(xí)《Linux設(shè)備驅(qū)動(dòng)程序(第3版)》的 第九章 與硬件通信 時(shí),對(duì) I\O總線(xiàn)的概念 不是很清晰,所以查找了有關(guān)資料?,F(xiàn)在總結(jié)如下: 本文的參考資料: 1、 《AMBA、AHB、APB總線(xiàn)簡(jiǎn)介》 作者 adamzhao 日期 2006-11-16 19:33:00 轉(zhuǎn)載網(wǎng)址: http://www./myspace/blog/show.php?id=75802 2、 《Introduction to AMBA Bus System 》臺(tái)灣 工研院 / 系統(tǒng)晶片技術(shù)中心工程師 吳欣龍,PDF格式 下載地址: http://tpe-wh3./download/member_file/2002/soc/2002-5-1.pdf 3、 《PC架構(gòu)系列:CPU/RAM/IO總線(xiàn)的發(fā)展歷史!》 轉(zhuǎn)載網(wǎng)址: http://blog.csdn.net/xport/archive/2006/11/16/1387928.aspx 4、 《認(rèn)識(shí)物理I/O構(gòu)件- 主機(jī)I/O總線(xiàn)(1)》作者:IT168存儲(chǔ)頻道 2007-04-10 原文網(wǎng)址: http://storage.it168.com/g/2007-04-10/200704101424234.shtml 總線(xiàn)的演變 首先應(yīng)該講講總線(xiàn)的演變歷史,這方面《PC架構(gòu)系列:CPU/RAM/IO總線(xiàn)的發(fā)展歷史!》這篇文章寫(xiě)得很好!感謝文章的作者!以下內(nèi)容大量來(lái)自這篇文章,可以說(shuō)是這篇文章的縮減轉(zhuǎn)載。 公共總線(xiàn) 早期PC中,CPU/RAM/IO都是掛在一條總線(xiàn)上,所有的部件都必須在同步的模式下工作。這樣就帶來(lái)一個(gè)"互鎖" (locked to each other )效應(yīng):所有設(shè)備都被限定在一個(gè)通用時(shí)鐘頻率(Clock Frequency)上面,整個(gè)系統(tǒng)的速度會(huì)被系統(tǒng)中最慢的設(shè)備限制,系統(tǒng)的整體性能無(wú)法提高。 南橋誕生(I\O總線(xiàn)誕生) 1987年,康柏(Compaq)公司想到一個(gè)辦法: 將系統(tǒng)總線(xiàn)與I/O總線(xiàn)分開(kāi),使得2個(gè)不同的總線(xiàn)工作在不同的時(shí)鐘頻率上。CPU和內(nèi)存工作在系統(tǒng)總線(xiàn)上(the System Bus),獨(dú)立于所有的I/O設(shè)備。這樣高速的CPU/RAM組件就擺脫了低速I(mǎi)/O設(shè)備的束縛。 這里的Bridge,就是現(xiàn)在的南橋(South Bridge)芯片的前身,而它實(shí)際起到了降頻的作用。 倍頻出世 從80486開(kāi)始,CPU的發(fā)展迅猛,頻率大幅攀升。內(nèi)存開(kāi)始變得跟不上CPU的發(fā)展步伐了。Intel 于是決定在80486中引入倍頻(Clock Doubler)的概念。內(nèi)存依舊工作在系統(tǒng)總線(xiàn)上,與系統(tǒng)總線(xiàn)保持同樣的工作頻率,而CPU的內(nèi)部工作頻率(CPU主頻)是: CPU 主頻 = 外頻(系統(tǒng)總線(xiàn)頻率System Bus Frequency)* 倍頻 (Clock doubler) 北橋和前端總線(xiàn)的誕生 PC結(jié)構(gòu)的變化趨勢(shì)是把低速設(shè)備與高速設(shè)備用隔離總線(xiàn)的方法進(jìn)行隔離。而發(fā)展到后來(lái),就演變出了北橋(North Bridge)芯片。內(nèi)存與北橋間的總線(xiàn)稱(chēng)為內(nèi)存總線(xiàn),把CPU與北橋間連接的這段總線(xiàn)成為前端總線(xiàn)(Front Side Bus,F(xiàn)SB),也就是系統(tǒng)總線(xiàn)(System Bus)! PC中的I\O總線(xiàn) 通過(guò)上面的文章,我們知道的總線(xiàn)的演變過(guò)程。現(xiàn)在專(zhuān)門(mén)來(lái)講講I\O總線(xiàn)。 總線(xiàn):用來(lái)傳送信號(hào)或能量的構(gòu)造器。 系統(tǒng) I/O 總線(xiàn)將指令從內(nèi)存?zhèn)鲗?dǎo)至與輸入\輸出處理器(IOP) [url=http://publib.boulder.ibm.com/html/as400/v5r1/ic2989/info/rzajx/rzajxiodevice.htm][/url] 相連的設(shè)備。系統(tǒng) I/O 總線(xiàn)還會(huì)將指令從 IOP 傳導(dǎo)回內(nèi)存。 以下的內(nèi)容來(lái)自《認(rèn)識(shí)物理I/O構(gòu)件- 主機(jī)I/O總線(xiàn)(1)》 ,這篇文章寫(xiě)得很好。感謝文章作者! 在數(shù)據(jù)離開(kāi)系統(tǒng)內(nèi)存總線(xiàn)后,它通常傳輸?shù)搅硪粭l總線(xiàn):主機(jī)I / O總線(xiàn)?,F(xiàn)在最常見(jiàn)的主機(jī)I / O總線(xiàn)是P C I總線(xiàn),另外還有如PCI-E總線(xiàn)、ISA總線(xiàn),E I S A總線(xiàn)及V M E總線(xiàn)等等。主機(jī)I / O總線(xiàn)實(shí)現(xiàn)了幾種重要的功能,包括: 允許加入新的插卡。 允許從內(nèi)存總線(xiàn)輸入和輸出數(shù)據(jù)。 允許在插卡之間傳輸數(shù)據(jù)。 主機(jī)I / O總線(xiàn)并不是處于設(shè)備與系統(tǒng)內(nèi)存總線(xiàn)間的僅有的中介物,在主機(jī)I / O總線(xiàn)和系統(tǒng)內(nèi)存總線(xiàn)之間還存在著橋控制器芯片(南橋),該芯片負(fù)責(zé)在兩總線(xiàn)之間交換數(shù)據(jù)。主機(jī)I / O總線(xiàn)是在內(nèi)存和外設(shè)之間傳送數(shù)據(jù)的運(yùn)輸工具。 ARM處理器的內(nèi)部總線(xiàn) 認(rèn)真研究ARM9(以s3c2410為例)的結(jié)構(gòu)框圖,你會(huì)發(fā)現(xiàn):作為高性能的嵌入式CPU,ARM9可以看成一個(gè)高度濃縮的計(jì)算機(jī)系統(tǒng),類(lèi)似于分化出南橋芯片且有倍頻的計(jì)算機(jī)構(gòu)架!具體見(jiàn)下圖: 看了這些,應(yīng)該可以對(duì)計(jì)算機(jī)的總線(xiàn)有了一些認(rèn)識(shí),更重要的是對(duì)ARM9的體系構(gòu)架有了更好地認(rèn)識(shí)!這里值得注意的是:ARM 的內(nèi)存芯片并沒(méi)有直接接在“內(nèi)存總線(xiàn)”上,而是通過(guò)內(nèi)存控制器間接地和“內(nèi)存總線(xiàn)”連接。 如果你有興趣更深入地研究ARM的總線(xiàn)結(jié)構(gòu),推薦你看一下我上面提到的參考資料:《AMBA、AHB、APB總線(xiàn)簡(jiǎn)介》、《Introduction to AMBA Bus System 》 。我就不在這廢話(huà)了,因?yàn)樗麄冎v得已經(jīng)很全面,很精彩了。你如果是ARM總線(xiàn)的設(shè)計(jì)者,你應(yīng)該看看ARM 公司的《AMBA™ Specification (Rev 2.0)》文檔(去ARM的官方網(wǎng)站注冊(cè)一下就可以下載了)。 |
|
來(lái)自: 翠微小齋 > 《計(jì)算機(jī)基礎(chǔ)知識(shí)》