欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
DMA
S3C2410數據手冊中DMA部分:
DMA請求源:通過(guò)設置DCON[23]位SWHW_SEL值,選擇硬/軟件請求,并可進(jìn)一步通過(guò)設置HWSRCSEL[26:24]位選擇HW模式下的每個(gè)DMA通道的請求源
DMA工作過(guò)程:使用三態(tài)FSM(有限狀態(tài)機)進(jìn)行操作,分三步操作:
Stage-1 初始狀態(tài),等待DMA請求,若請求到達,進(jìn)入Stage-2。此階段,DMA ACK和INT REQ都為0。
Stage-2 DMA ACK變?yōu)?,計數器CURR_TC從DCON[19:0]加載數值。注意:此時(shí)DMA ACK仍然為1,知道它隨后在stage-3中被清0。
Stage-3 在此狀態(tài),對DMA進(jìn)行原子操作的sub-FSM(子狀態(tài)機)被初始化它從源地址讀取數據然后寫(xiě)入目的地址(此操作需要考慮數據大小和傳輸尺寸)。
每一次DMA傳輸,必須先得到請求。
有兩種請求模式:Demand和Handshake。差別在于是否等待DREQ信號無(wú)效:
Handshake模式下,DMA控制器在開(kāi)始下一次傳輸之前要一直等待直到DREQ信號無(wú)效。如果DREQ信號無(wú)效了,DMA 控制器使DACK無(wú)效后繼續等待下一次DREQ信號有效,之后又開(kāi)始數據傳輸,且使DACK信號有效。
Demand模式下,DMA控制器不等待DREQ信號無(wú)效。如果傳輸完畢后DREQ還是繼續有效,DMA控制器只是先無(wú)效DACK信號,然后又開(kāi)始新一輪的傳輸。數據手冊上建議對外部DMA請求使用Handshake模式,以避免不經(jīng)意的開(kāi)始新一輪數據傳輸。
有兩種傳輸模式:Single service和Whole service。差別在于三態(tài)FSM操作的Stage-3:
在Stage-3狀態(tài),對DMA進(jìn)行原子操作的Sub-FSM被初始化,它從源地址讀取數據然后寫(xiě)入目的地址(此操作需要考慮數據大小和傳輸尺寸)。
Whole service模式下,這種讀、寫(xiě)操作重復進(jìn)行直到計數器(CURR_TC)變?yōu)?;而Single service模式下讀和寫(xiě)操作只進(jìn)行一次。
數據手冊上提醒注意:就算是Whole service傳輸模式,每一次sub-fsm的原子傳輸后DMA也會(huì )釋放總線(xiàn),然后再試圖重新獲得總線(xiàn),以保證其他設備能夠有機會(huì )獲得總線(xiàn)使用權。
每次原子傳輸(Sub-FSM中)的單元尺寸分為Unit(1次讀和寫(xiě)操作,單塊數據)和Burst4(分別執行4次連續讀、寫(xiě)操作,4塊數據)。
在整體服務(wù)模式下,使用傳統的DMA 計數器,狀態(tài)機會(huì )停留在狀態(tài)三,直到DMA計數器的值減為零,再回到狀態(tài)一,等待下一次DMA請求。2410 DMA 數據傳輸模式:共有兩種數據傳輸模式:
單位數據傳輸模式:執行一次讀操作和一次寫(xiě)操作。
并發(fā)數據傳輸模式:執行四次讀操作和四次寫(xiě)操作。2410 DMA 的基本時(shí)序:nXDREQ請求生效并經(jīng)過(guò)2CLK周期同步后,nXDACK響應并開(kāi)始生效,但至少還要經(jīng)過(guò)3CLK的周期延遲,DMA控制器才可獲得總線(xiàn)的控制權,并開(kāi)始數據傳輸。2410 DMA 的兩種協(xié)議模式:請求模式:If XnXDREQ remains asserted, the next transfer starts immediately. Otherwise it waits for XnXDREQ to be asserted.
握手模式:If XnXDREQ is deasserted, DMA deasserts XnXDACK
ARM的DMA速度由多種因素決定:
1. DMA使用的時(shí)鐘信號,是系統時(shí)鐘的幾分頻,看看所選ARM的時(shí)鐘框圖即可。
2. DMA訪(fǎng)問(wèn)的存儲器的時(shí)序配置,看看一個(gè)讀/寫(xiě)周期的時(shí)長(cháng)多少。
3. DMA的工作方式,STEAL CLOCK和ON THE FLY等等模式的工作方式是不同的。
總而言之,DMA的速度很難直接給出最高多少BPS這樣的結論,它就是為了外設或存儲器與存儲器之間的數據交互的,所以速度根據你外設或存儲器的速度,及所選擇的工作方式,會(huì )有不同。
ARM9和ARM7在DMA速度方面的差異,由于受到外設或存儲器速度的影響,可能不會(huì )很大。但由于CPU速度和執行效率的問(wèn)題,DMA在A(yíng)RM9下占用系統資源會(huì )比ARM7小一些。
跟外設和內存速度有關(guān),比如我用的S3C2410用的內存的速度是133M,如果和一個(gè)速度上限只有10M的外設通訊,那么速度就是10M,如果外設速度200M,那么速度就是133M
MIPS系統中北橋的FPGA設計
作者:武杰 喬崇 張俊杰 杜學(xué)峰 唐世悅 張萬(wàn)生 王硯方    時(shí)間:2006-12-04  來(lái)源:  電子設計信息網(wǎng)-www.edires.net
摘要:本文介紹了一個(gè)用FPGA開(kāi)發(fā)的用于MIPS系統的北橋設計,主要包括北橋的結構框架、設計思想和技術(shù)特點(diǎn)等內容,并結合同類(lèi)型的國外產(chǎn)品進(jìn)行了性能上的比較和測試,得出的結論是此設計的大部分指標均達到或超過(guò)同類(lèi)產(chǎn)品.
關(guān)鍵詞:MIPS;北橋;Wishbone總線(xiàn);總線(xiàn)仲裁
1簡(jiǎn)介
隨著(zhù)“龍芯”等擁有完全自主產(chǎn)權CPU的誕生,我國結束了無(wú)“芯”的歷史.但這還不夠,因為要構成一個(gè)完整的擁有自主產(chǎn)權的計算機系統,還必須有操作系統,芯片組和主板等技術(shù)的支持.操作系統可以從一些Open Source的系統(如Linux等)進(jìn)行移植,主板的設計技術(shù)已經(jīng)被國內一些大的企業(yè)和研究院所掌握,也不成問(wèn)題.但是對于系統的芯片組這一塊,目前投入的力量還不大,是一個(gè)急需開(kāi)發(fā)的領(lǐng)域.我們正是本著(zhù)這個(gè)目的開(kāi)發(fā)設計了用于MIPS系統的北橋——芯片組的關(guān)鍵組成部分.南北橋這個(gè)稱(chēng)呼由來(lái)已久,比較開(kāi)始強調的時(shí)期應該是Pentium時(shí)代,其實(shí)就是人們按照不同的應用特點(diǎn)把各種用途的控制器集成到主板上兩枚不同的芯片中.接近CPU的那一個(gè)被稱(chēng)為北橋芯片,主要負責系統存儲器、CPU以及PCI總線(xiàn)間地數據交換;另一個(gè)一般集成有IDE控制器、DMA控制器、USB和其它各種速度相對較慢的I/O控制器,這個(gè)芯片被稱(chēng)為南橋.南橋和北橋隨著(zhù)不同公司在不同年代的推出,其內部包含的功能也會(huì )有所變化,但基本上快速數據設備之間的數據交換都是由北橋負責,南橋雖然在功能上并不比北橋少,但因它大都和慢速設備打交道,所以從對系統整體性能的影響上來(lái)講,北橋的作用顯得更為重要些.
2 北橋整體框架
北橋設計的目的是為了配合“龍芯II”的使用,“龍芯II”與MIPS-IV(64bits)系列CPU兼容,所以我們的北橋也可以和其它公司的同類(lèi)型CPU配合使用.在本設計中,北橋的主要功能包括MIPS CPU接口、SDRAM控制器接口、PCI總線(xiàn)控制接口、DMA控制器、局部I/O總線(xiàn)接口、內部總線(xiàn)仲裁、PCI總線(xiàn)仲裁、北橋寄存器和系統中斷控制等部分.北橋內部結構按照上述接口分成九個(gè)相對比較獨立的模塊,其中CPU接口、PCI從設備接口1和DMA接口作為主設備可以發(fā)起內部總線(xiàn)操作,而SDRAM控制器、PCI主設備接口、局部總線(xiàn)和寄存器等部分作為從設備只能被動(dòng)接收總線(xiàn)命令.
圖1給出了北橋的內部結構框架示意圖.CPU接口負責北橋和MIPS CPU的通信,它們之間通過(guò)SYSAD總線(xiàn)進(jìn)行數據傳遞.SYSAD是MIPS CPU常用的一種接口總線(xiàn),在我們的設計中數據總線(xiàn)寬度為64位,地址總線(xiàn)寬度為32位(可擴展至36位).北橋的PCI接口為32位,總線(xiàn)時(shí)鐘33MHz,符合PCI2.2的規范.北橋可以作為PCI總線(xiàn)的控制器,并且在內部提供PCI的總線(xiàn)仲裁控制器,包括自己在內一共支持7個(gè)PCI設備.系統的SDRAM接口符合Intel的SDRAM2規范,支持兩個(gè)標準DIMM存儲器插條,最大支持容量為2GB字節.在系統上電復位的時(shí)候北橋通過(guò)I2C總線(xiàn)讀取內存條上的SPD(SelfSerial Presence Detect)信息并根據其中的內容對SDRAM進(jìn)行自動(dòng)配置.北橋的局部I/O總線(xiàn)主要是提供對一些慢速設備的簡(jiǎn)單I/O訪(fǎng)問(wèn),如存放BIOS的FLASH ROM和指示系統運行狀態(tài)的ASCIILED顯示燈等.雖然北橋的主要對象是高速數據設備,但這個(gè)接口是必須的,因為只有通過(guò)它系統才能完成初始化過(guò)程,然后才是其它高速數據設備總線(xiàn)的運行.
圖1 MIPS北橋內部結構示意圖
3 北橋的技術(shù)特點(diǎn)
3.1 Wishbone總線(xiàn)協(xié)議
對于這樣一個(gè)比較復雜的系統,采用分模塊的設計是必須的,它不可能由一個(gè)人來(lái)單獨完成,所以必須采取先分模塊設計,再整體合成的方法.這樣帶來(lái)的好處是顯然的,它可以使多個(gè)模塊并行開(kāi)發(fā),大大加快系統的開(kāi)發(fā)速度,但同時(shí)也帶來(lái)一個(gè)不能回避的問(wèn)題,那就是要在設計之初制定一個(gè)用于系統內部模塊之間互聯(lián)的數據傳遞協(xié)議.這個(gè)協(xié)議的制定非常重要,一旦確定后所有的設計都在此基礎上獨立的展開(kāi),各模塊之間數據傳遞的可靠性以及傳輸效率都由所采取的協(xié)議決定,如果在后來(lái)的整體調試過(guò)程中才發(fā)現當初制定的協(xié)議存在錯誤或者不完備,那么它帶來(lái)的后果是所有的模塊必須全部返工.
解決這個(gè)問(wèn)題有兩種方案,一是開(kāi)發(fā)自己的總線(xiàn)協(xié)議,另一個(gè)是采取目前已經(jīng)成熟的適用于SoC內部互聯(lián)的總線(xiàn)協(xié)議.協(xié)議完全由自己開(kāi)發(fā)雖然在總線(xiàn)的傳輸效率上可能會(huì )比較高,能夠很好的適應自己的系統,但周期比較長(cháng),而且如果考慮不周全,以后升級擴展將變得很困難.對于成熟的SoC總線(xiàn),有很多選擇,許多大公司如IBM、ARM、Motorola等都有自己的總線(xiàn)協(xié)議,不過(guò)這些都需要公司授權才能使用,不適合開(kāi)發(fā)擁有自主產(chǎn)權的產(chǎn)品.所以我們采用了兩者結合的辦法,既在現有成熟的總線(xiàn)基礎上作適當修改形成適應自己系統的總線(xiàn).
在這里要介紹的是Silicore公司的Wishbone總線(xiàn)協(xié)議,它是一種完全開(kāi)放的適用于SoC內部IP模塊互聯(lián)的總線(xiàn)協(xié)議,用戶(hù)可免費使用并且還可以對其進(jìn)行修改.Wishbone采用一種單一的總線(xiàn)方式,支持多主設備和多從設備、8-64+的數據寬度和64位的地址尋址、單字和塊傳輸模式、讀修改寫(xiě)指令周期及其它各種常見(jiàn)的總線(xiàn)工作方式,并且還提供了用戶(hù)擴展功能.Wishbone協(xié)議開(kāi)發(fā)的目的就是為了用于芯片內部的總線(xiàn)互聯(lián),所以它的很多特點(diǎn)都針對了芯片內部連線(xiàn)和邏輯資源豐富的特性,使得模塊與模塊之間的連接設計起來(lái)非常簡(jiǎn)單.我們在Wishbone的基礎上加以修改形成了適用于北橋的總線(xiàn)協(xié)議,修改后的單字讀寫(xiě)時(shí)序如圖2所示.
圖2 單字的讀寫(xiě)時(shí)序
當主設備發(fā)起寫(xiě)操作時(shí)首先將CYC-I置高,表示一個(gè)數據周期的開(kāi)始,同時(shí)給出STB-I告訴從設備準備進(jìn)行數據操作(WE-I=1代表寫(xiě)操作),從設備在時(shí)鐘上升沿2檢測到STB-I信號有效并且為寫(xiě)數據周期于是就根據主設備給出的ADR-I地址把數據DAT-I寫(xiě)入相應存儲空間,SEL-I則表示當前給出數據的那一個(gè)字節有效.同樣當主設備發(fā)起讀操作時(shí)(時(shí)鐘3)也是先給出CYC-I和STB-I信號.在時(shí)鐘沿4從設備檢測到主設備的STB-I信號并且為讀周期(WE-I=0),如果這個(gè)時(shí)候數據還沒(méi)有準備好就可以保持ACK-O無(wú)效從而使主設備插入一個(gè)等待周期.在時(shí)鐘沿5主設備收到ACK-O信號,知道從設備已將數據準備好,于是讀入DAT-O,完成讀周期.
上面描述的是Wishbone總線(xiàn)的單字操作情況,因為Wishbone協(xié)議沒(méi)有采用數據地址復用總線(xiàn),所以對于數據的塊傳輸和單字方式?jīng)]有本質(zhì)區別,只要主設備和從設備同時(shí)保持STB-I、ACK-O有效,并且主設備在每個(gè)時(shí)鐘周期都給出下一個(gè)地址,那么就可以在做到一個(gè)時(shí)鐘完成一個(gè)數據傳遞,達到系統時(shí)鐘的最高利用率.由此可見(jiàn),Wishbone協(xié)議不僅考慮了高速設備之間的高速數據通道而且提供了握手信號兼顧慢速設備的數據傳遞,非常適合像北橋這樣多個(gè)異速總線(xiàn)之間的相互連接.
3.2 crossbar方式內部互聯(lián)
北橋性能好壞的一個(gè)關(guān)鍵指標就是它能否提供高帶寬的數據傳輸通道.為了達到高的數據帶寬必須采用高性能的總線(xiàn)拓撲結構.總線(xiàn)的拓撲結構大致可以分成四種連接方式:點(diǎn)對點(diǎn)連接(Point-to-point)、數據流方式(Data flow)、共享總線(xiàn)方式(Shared bus)和交叉互連方式(crossbar switch).在北橋的設計中我們采用了路由器中常用的數據傳輸效率最高的crossbar方式(圖1)來(lái)進(jìn)行各個(gè)模塊之間的數據傳遞.采用這種方式的好處是能夠在內部達到最大的數據傳輸率,多個(gè)主從模塊之間可以并發(fā)的進(jìn)行數據交換而互不影響.例如當CPU在進(jìn)行運算的時(shí)候,大部分被訪(fǎng)問(wèn)設備都是SDRAM,這個(gè)時(shí)候如果發(fā)起一個(gè)PCI到PCI的DMA操作便可以和CPU通道同時(shí)進(jìn)行而不被打斷.
3.3 系統仲裁機制
盡管采用了crossbar作內部的數據交換方式,多個(gè)主設備仍有可能會(huì )在同一時(shí)間訪(fǎng)問(wèn)同一個(gè)從設備,這個(gè)時(shí)候就需要系統做出仲裁.對于多主設備的總線(xiàn)仲裁,一般采用的方法有串行的菊花鏈和并行仲裁兩種.串行仲裁雖然連線(xiàn)比較少,但走線(xiàn)延遲較大,不適合在高速系統中使用.在我們的北橋設計中采用了集中式并行仲裁的方法,并且根據北橋的特點(diǎn)設計了一套自己的仲裁算法,它既可以針對不同設備設置不同的優(yōu)先級而且還可以實(shí)現優(yōu)先級循環(huán)調度保證不會(huì )發(fā)生設備被“餓死”的情況.
這個(gè)算法可以說(shuō)是一種帶優(yōu)先權的roundrobin方式,它主要解決一個(gè)問(wèn)題就是北橋內部的“不公平”競爭,既實(shí)現北橋內部的三個(gè)主設備“CPU接口、PCI從設備接口和DMA控制器”對系統總線(xiàn)資源的“不公平”使用:CPU是系統的核心部件應該首先保障;PCI因為其本身時(shí)鐘較慢數據率不高,特權級別排在第二;DMA部分會(huì )大量占用資源,嚴重影響CPU程序的執行,所以把它的優(yōu)先權設為最低.針對以上特點(diǎn),我們采用了兩個(gè)4bits移位寄存器來(lái)實(shí)現總線(xiàn)使用權的分配.具體實(shí)現方法如圖3所示。
圖3 仲裁器結構
在圖3中,兩個(gè)移位寄存器被分成兩級分別表示高優(yōu)先級(CPU接口)和低優(yōu)先級設備(PCI和DMA),每個(gè)寄存器根據不同需要賦予不同的初值(在我們的設計中初值均為“1110”).設備仲裁得勝得與否根據相應寄存器的最低位判斷,如果為“1”表示仲裁得勝取得總線(xiàn)使用權,否則繼續等待下一次仲裁.在仲裁事件發(fā)生時(shí),掛接在級別較高寄存器上的設備具有較高的優(yōu)先權,只有它仲裁失敗(最低位為“0”)才會(huì )輪到下級設備繼續仲裁.每發(fā)生一次仲裁事件,仲裁得勝設備所對應的移位寄存器進(jìn)行一次循環(huán)移位,下一次仲裁按移位后的寄存器值進(jìn)行.按照圖3給出的初值不難看出,當三個(gè)設備都進(jìn)行總線(xiàn)申請時(shí)它們得到仲裁權的比為CPU:PCI:DMA=12:3:1.實(shí)際上三個(gè)設備的總線(xiàn)申請是隨機的,我們假設三個(gè)設備出現的總線(xiàn)申請是等幾率的,那么三個(gè)設備出現的總線(xiàn)申請狀態(tài)就有2×2×2=8種(每種狀態(tài)出現的幾率相等,都為1/8).如果不同設備在各狀態(tài)下取得總線(xiàn)使用權的幾率用Pxi表示,則各個(gè)設備在所有情況下對系統資源的占用就可用
得出.
表1中給出了各種總線(xiàn)申請情況下設備取得總線(xiàn)權的幾率大小,“1”代表該設備有總線(xiàn)申請,“0”表示沒(méi)有申請.從表1可以得出CPU、PCI和DMA對總線(xiàn)資源的占用時(shí)間比為52:35:25.
上述仲裁邏輯在我們的所采用的FPGA(XCV400e26)中時(shí)鐘頻率可以達到200MHz,而資源僅占用非常少(300門(mén)左右),完全滿(mǎn)足絕大部分總線(xiàn)仲裁的需要.雖然這個(gè)算法建立在三個(gè)主設備的模型之上,但是對于多主設備的總線(xiàn)只要適當地增加移位寄存器級數就可以實(shí)現.而且只需簡(jiǎn)單改變寄存器的長(cháng)度和初值就可以得到不同的設備總線(xiàn)資源占用比,非常方便.
4 北橋性能測試
北橋的性能是與Algorithmics公司(該公司已被MIPS公司收購)2000年推出的一款功能類(lèi)似的北橋芯片bonito64作對比測試給出的.測試主要是針對北橋的訪(fǎng)存性能和PCI總線(xiàn)速度.兩個(gè)芯片的測試環(huán)境完全相同:硬件平臺是同一塊測試板,CPU為IDT的RC64575,南橋是Intel的82371EB;軟件環(huán)境均為RedHat7.1for MIPS,測試軟件為hdparmV3.9和xbench0.2.其中hdparm主要用來(lái)測試硬盤(pán)的速度,在我們的測試系統中硬盤(pán)掛在Intel的南橋芯片上,而南橋又通過(guò)PCI總線(xiàn)和北橋相連,所以對硬盤(pán)速度的測試就是對PCI總線(xiàn)速度的測試.xbench是在Xwindows下對顯卡的測試,它反映的是系統數據處理能力的綜合能力(包括訪(fǎng)存和PCI6速度).圖4、圖5和表2給出了幾個(gè)具體的測試對比數據.經(jīng)對比后我們的設計除了在運行時(shí)鐘上略低于bonito64外(83MHz/100MHz),其它各項指標均超過(guò)bonito64或與之持衡.
圖4 hdparm測試結果(硬盤(pán)緩沖區測試)
圖5 hdparm測試結果(非緩沖晚測試)
5 結 論
本文的北橋邏輯設計采用Verilog語(yǔ)言編寫(xiě),整體可以放在一塊Xilinx的Vertex400EFPGA中,資源占用85%,總體上相當于26.5萬(wàn)門(mén)左右.目前系統的運行時(shí)鐘能穩定在83MHz(PCI為33MHz).可以說(shuō)北橋的FPGA階段已經(jīng)完成,如果根據這個(gè)設計再作ASIC開(kāi)發(fā)的話(huà),有理由相信它可以取代國外的同類(lèi)產(chǎn)品從而使計算機系統的國產(chǎn)化邁出新的一步.
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
第7章__系統總線(xiàn)
第6章 總線(xiàn)系統
【博文連載】PCIe掃盲——PCI總線(xiàn)的三種傳輸模式
1.2 PCI總線(xiàn)的信號定義
【原創(chuàng )】Linux PCI驅動(dòng)框架分析(一)
程序輸入輸出系統
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久