伊人国产在线视频,不卡av免费,黄色91视频,亚洲码欧洲码一二三区麻豆,九月婷婷色,亚洲精品xxxx,婷婷国产在线观看

 首頁 > 技術 > 技術文摘 > 杭州三匯將DMA技術成功應用于數字中繼語音卡

杭州三匯將DMA技術成功應用于數字中繼語音卡

2007-01-30 00:00:00   作者:   來源:   評論:0 點擊:


   杭州三匯作為一家自主研發(fā)語音卡的成熟廠商,近年來一直不斷致力于提高現有語音卡的功能,使其更為完善,效率更高。

  三匯新一代大容量PCI/cPCI數字中繼語音卡全面換裝了功能更為強大的PCI接口芯片,該接口芯片能夠支持對PCI總線進行MASTER模式操作,從而實現了真正的DMA操作,也就是實現了大流量的語音數據通過PCI總線時不需要占用CPU時間。

  DMA技術的成功運用,并不僅僅是換一個芯片這么簡單,而是對數據流處理方式的一系列重大改變。電話語音卡的數據傳輸主要是在主機CPU和板載的DSP之間進行,用來實現語音錄放和控制命令和狀態(tài)的交互。傳統(tǒng)的由CPU進行直接I/O操作的數據傳送方式,主機CPU可以直接訪問DSP的內存數據,就可以直接讀寫每個語音通道的各類數據,包括錄放音緩沖及其指針,命令/狀態(tài)寄存器等,相對來說實現起來比較簡單。但是采用了DMA之后,這種工作方式就行不通了。

  先從DMA的工作原理說起:DMA(Direct Memory Access) ,即直接存儲器存取,是一種快速傳送數據的機制。數據傳遞可以從適配卡到內存,或是從一段內存到另一段內存。利用它進行數據傳送時不需要CPU的參與。每臺電腦主板上都有DMA控制器,通常計算機對其編程,這些程序控制DMA傳送數據。一旦控制器初始化完成,數據開始傳送,DMA就可以脫離CPU,獨立完成數據傳送。利用DMA傳送數據的另一個好處是,數據直接在源地址和目的地址之間傳送,不需要中間媒介。如果通過CPU把一個字節(jié)從適配卡傳送至內存,需要兩步操作。首先,CPU把這個字節(jié)從適配卡讀到內部寄存器中,然后再從寄存器傳送到內存的適當地址。DMA控制器將這些操作簡化為一步,它操作總線上的控制信號,使讀寫字節(jié)一次完成。這樣就大大提高了計算機運行速度和工作效率。

  計算機發(fā)展到今天,DMA已不再用于內存到內存的數據傳送,因為CPU速度非常快,做這件事,比用DMA控制器還要快,但要在適配卡和內存之間傳送數據,仍然是非DMA莫屬。要從適配卡到內存?zhèn)魉蛿祿珼MA同時觸發(fā)從適配卡讀數據總線(即I/O讀操作)和向內存寫數據的總線。激活I/O讀操作就是讓適配卡把一個數據單位(通常是一個字節(jié)或一個字)放到PC數據總線上,因為此時內存寫總線也被激活,數據就被同時從總線上拷貝到內存中。

  在DMA工作期間,主機CPU仍然可以處理其他事務,這是基于以下兩點:首先是現代計算機在CPU內部或是外部配備了容量較大的高速緩存(Cache),當DMA控制器占用內存時,CPU仍可利用Cache中的程序和數據繼續(xù)運行;其次是采用周期挪用或交替訪問等技術,實現了DMA控制器和CPU同時訪問內存。因此,采用DMA技術,既可以加快數據傳送速度,又可以減少對CPU的占用。

  然而,要充分利用DMA傳輸的優(yōu)勢,就必需實現數據的“大塊傳輸”,這是因為每一次DMA的初始化,仍需要一定的額外開銷,如果每次傳送的數據量過少,則這個開銷所占的比例就會相當大,DMA的優(yōu)勢就不純在了。這個要求在顯卡,網卡等設備上很容易實現,因為需要傳送的數據本來就是大塊的,但對多通道異步工作的語音卡來說,就很很困難了。為此三匯研發(fā)人員重新設計了數據結構,將原來分散傳輸的數據重新按照消息隊列的方式組織起來,人為構造了“大塊數據”,從而成功地解決了這個難題。

  成功應用了DMA技術之后,三匯新一代大容量數字中繼語音卡在性能上有了質的飛躍,滿負荷時的CPU占用率成倍下降,使得應用軟件跑起來更為順暢,并且極大地提高了單機實用容量,使得原先難以用板卡實現的1000路以上的滿負荷錄放音運行的單機系統(tǒng)成為現實,并且在部分錄放音負荷的情況下,更是可以達到CTI系統(tǒng)的極限4096個通道。

  下表是三匯SHD-120A-CT/PCI數字中繼卡(未采用DMA技術)和SHD-240D-CT/PCI數字中繼卡(采用DMA技術)在相同的配置環(huán)境下的測試結果:

 

杭州三匯公司供稿 CTI論壇編輯

相關閱讀:

分享到: 收藏

專題