1. 程式人生 > 實用技巧 >C674x筆記(一)——C674x框架概述

C674x筆記(一)——C674x框架概述

一、概述

TMS320C674xDSP總體框架(megamodule)包括以下子系統:

·C674x浮點/定點DSPCPU

·第一級程式(L1P)儲存空間控制器(不包括L1P儲存空間)

·第一級資料(L1D)儲存空間控制器(不包括L1D儲存空間)

·第二級(L2)儲存空間控制器(不包括L2儲存空間)

·內部DMA(IDMA)

·頻寬管理(BWM)

·中斷控制器(INTC)

·省電管理(PDC)

·擴充套件儲存器管理(EMC)

下面依次簡單介紹各個部分。

1.1C674xCPU

C674xCPU在C64xCPU的基礎上增加了C67xCPU的浮點運算功能。

C674xCPU支援C67x+和C64x+DSP指令集,他與這兩個指令集的目的碼是相容的,即C64x的目的碼和C67x的目的碼可以直接在C674xCPU上執行。

關於C674xCPU及其指令集的詳情,參見筆記的第二部分。

1.2L1P儲存空間控制器

L1P儲存空間控制器是CPU取指流水線和L1P儲存空間的介面管理。可以通過L1P儲存空間控制器將L1P儲存空間的一部分配置成單向(one-wayset-associative)快取(cache),快取的大小可以被配置成4KB、8KB、16KB或者32KB。

L1P提供頻寬管理、記憶體保護和省電模式。

晶片復位後,L1P儲存空間可以被全部初始化為SRAM或者初始化為快取,快取的大小為框架可以允許的最大空間。具體的行為根據晶片型號不同而不同。

1.3L1D儲存空間控制器

L1D儲存空間控制器是CPU資料通路和L1D儲存空間的介面管理。可以通過L1D儲存空間控制器將L1D儲存空間的一部分配置成雙向(tow-wayset-associative)快取(cache),快取的大小可以被配置成4KB、8KB、16KB或者32KB。

L1D提供頻寬管理、記憶體保護和省電模式。

晶片復位後,L1D儲存空間可以被全部初始化為SRAM或者初始化為快取,快取的大小為框架可以允許的最大空間。具體的行為根據晶片型號不同而不同。

1.4L2儲存空間控制器

L2儲存空間控制器是L1儲存空間和L2儲存空間的介面管理。可以通過L2儲存空間控制器將L2儲存空間的一部分配置成四路(fourwayset-associative)快取(cache),快取的大小可以被配置成32KB、64KB、128KB或者256KB。

L1P提供頻寬管理、記憶體保護和省電模式。

晶片復位後,L2儲存空間被全部初始化為SRAM。如果需要配置成快取模式,需要在晶片執行期間配置。

如果將片記憶體儲空間的一部分配置成快取,L2儲存空間控制器將提供兩個操作,可以通過回寫操作改變其中的內容或者無效操作使快取的內容整體無效,這兩種種操作可以是基於快取塊的或者所有快取的。使用者可以指定這些操作形成一個連續的行為,因此,可以使快取資訊與原始的記憶體內容相一致。作為快取架構操作的一個優勢,回寫操作和無效操作可以自行發生,被稱為連續性操作。(待定)

1.5內部DMA(IDMA)

這裡的DMA是指C674x架構內部的IDMA。他只提供L1P、L1D、L2和外設控制暫存器之間的資料搬運。

C674x架構內部有兩個IDMA通道——IDMA0和IDMA1。IDMA0是外設控制暫存器和記憶體(L1P/D、L2)之間的資料通路;IDMA1是記憶體之間(L1P、L1D和L2)的資料通路。

1.6頻寬管理(BWM)

C674x架構提供一個頻寬管理機制,防止框架裝置(CPU、SDMA、IDMA)訪問資源(L1P、L1D、L2和配置匯流排)時引發的資料阻塞。

1.7中斷控制器(INTC)

C674xCPU提供兩種型別的非同步服務訊號——中斷和異常。並約定,異常是系統錯誤時引發的中斷。

C674xCPU可以接受12個可遮蔽中斷,1個可遮蔽異常和1個不可遮蔽中斷/異常。

C674x架構的中斷控制器可以接受124個系統事件,然後經過仲裁形成遞交給CPU的中斷或者異常。這124個事件可以直接連線到中斷訊號,也可以是多箇中斷或者異常繫結後形成的事件。

中斷控制器還提供一個錯誤事件。該事件表明CPU無法及時處理完當前中斷,而又有新的中斷到來。該情況下,中斷控制器會儲存無法及時響應的中斷的中斷號以便程式處理。

有關CPU處理中斷的情況,參見筆記的第二部分。

1.8記憶體保護架構(MPA)

C674x提供一個對本地記憶體(L1P、L1D和L2)的保護架構,有的晶片還可以提供系統級別的記憶體保護(可以參見相應晶片的datamanual)。

為了實現記憶體保護,記憶體地址被劃分成頁(pages),每一個頁可以有一個與之對應的許可權,各個頁之間是相互獨立的。如果訪問越權,會引發一個異常,並通過記憶體錯誤暫存器上報給系統。另外,MPA還支援特權和使用者兩種操作模式,以及記憶體鎖定。

1.9省電管理(PDC)

省電模式是軟體驅動的,CPU可以關掉部分或者全部的模組,

1.10外部儲存器控制(EMC)

外部儲存器控制器是連線C674xDSP架構中包含的部分和晶片其他部分的橋樑。他包括三個介面:

·配置暫存器組介面:該介面提供片上外設暫存器的定址。注意:該介面不提供CPU內部或C674x架構內部件的暫存器的訪問。

·主DMA(MDMA):該介面提供片上外設與C674x架構之間的資料交換。MDMA一般用於CPU或者cache訪問除L2以外的記憶體空間。

·從DMA(SDMA):當晶片作為一個從裝置,被其他主裝置訪問時(例如HPI),該介面可以作為主裝置訪問C674x架構內部資源的介面。

配置暫存器介面的匯流排寬度為32bit,因此訪問片上外設配置暫存器時只能使用32-bit存取指令或者32-bitIDMA。而MDMA和SDMA介面根據每個晶片不同,可以是32bit、64bit或者128bit,具體情況需要參考相應晶片的datamanual。