Предходна страница
 
 

3.5. Вътрешна памет на две нива на TMS320C6211


            DSP TMS320C6211 разполага с архитектура на паметта с две нива за вътрешните магистрали за програми и данни. Паметта от първо ниво за вътрешните магистрали за програми и данни е 4 Kbytes кеш, организиран в L1P за програмен кеш и в L1D за кеш за данни. Второто ниво памет е един блок от 64 Kbytes, който се поделя между магистралите за програмната памет и паметта за данни и е оформен като L2.













3.5.1. Преглед на L1P, L1D, L2

            Фиг. 3-9 илюстрира как са разположени L1P, L1D и L2 в TMS320C6211. Фиг. 3-10 илюстрира магистралните връзки между CPU, вътрешните памети и EDMA.
 
 

Фиг.3-9. Блокова схема на TMS320C6211


 
 
 
 
 

Табл.3-6. Конфигурации на вътрешната памет при TMS320C6211


DSP
CPU
Архитектура на вътрешната памет
Всичко памет (байта)
Програмна памет (байта)
Памет за данни
Унифицирана памет
(байта)
‘C6211 6200 Harvard (L1)

Унифицирана (L2)

72K
4K(кеш)
4K(кеш)
64К (адресируема памет/кеш)

 
 
 
 
 

Табл.3-7. Архитектури на кеш при TMS320C6211


Кеш пространство
Обем (байта)
Вид
Размер на линия (байта)
’C6211 L1P
4K
Direct mapped
64
’C6211 L1D
4K
2-областен
32
’C6211 L2
64K
1- до 4-областен
128

 
 
 
 

Фиг.3-10. Блокова схема на вътрешната памет на TMS320C6211


 
 
 
 

3.5.2. Описание на L1P

            L1P е организиран като direct mapped кеш с 64 линии с 64 байта (два зареждаеми пакета) размер на линия. Изискваният размер на данните от L1P е една линия, като най-младшите шест бита от изисквания адрес се игнорират. Следващите шест бита от адреса се използват за адресиране на линия в кеша. Оставащите битове се използват като уникален етикет за изискваните данни. Фиг. 3-11 показва как един 32-битов адрес се разпределя, за да осигури адрес в кеша и етикет на данните за L1P.
 
 

Фиг.3-11. Адрес за L1P

31                                                    12     11                                                     6     5                                                        0

Етикет
Адрес на линия
Отместване

 

            Кешът изпраща данни към CPU за времето на един цикъл. За разлика от TMS320C6201, L1P работи само като кеш и не може да бъде разположен в картата на паметта. L1P неподдържа режими на забранен кеш и на заобикаляне на еша. Всяко първоначално обръщение към програмната памет води до ненамиране в кеша. Данните се изискват от L2 и се разполагат във вътрешния кеш. Всяко следващо четене от кеширан адрес предизвиква откриване в кеша и данните се зареждат от паметта L1P.
 
 



3.5.3. Описание на L1D

            L1D е организиран като 2-областен кеш с 64 линии по 32 байта. Двата най-младши бита от един заявен адрес се игнорират от L1D, т. к. най-малкият елемент, до който се осъществява достъп е една дума. Следващият бит от адреса се използва за адресиране на правилната дума. Битове 4 и 3 избират един от четирите 8-байтови подлинии в адресираната линия. Следващите шест бита избират линия в кеша, в който адресираните данни попадат. Останалите битове от адреса се използват като уникален етикет на изискваните данни. Фиг. 3-12 илюстрира как един 32-битов адрес се разпределя, за да осигури избор на дума, подлиния, линия и етикет за L1D.
 
 

Фиг. 3-12. Адрес за L1D

31                           11     10                           5     4                             3                     2                   1                               0
Етикет
Линия
Подлиния
Дума
Отместване

 

            При намиране в кеша данните се изпращат към CPU за един цикъл. Работата при ненамиране в кеша зависи от адреса на достъп. При ненамиране при четене L1D изпраща заявка за четене към L2. Когато се получат данните от L2, L1D анализира линията, в която адресираните данни попадат. Контролерът на L1D поставя новите данни в линията, която е използвана най-отдавна. Ако данните в тази линия са модифицирани, но данните на истинския физически адрес не са, тези данни се записват в L2. По този начин кешираните данни, които са били променени, няма да се загубят преди актуализирането си на оригиналния адрес. Ако в един и същ цикъл възникнат две ненамирания при четене, те се обработват последователно от L1D, така че заявките към L2 се подават една след друга. При ненамиране при запис L1D изпраща заявка за запис към L2. Данните не се разполагат в L1D.
            Заявките за запис от L1D към L2 се буферират. Ако заявка за запис все още не е обработена, когато възникне ненамиране при четене, се позволява буферът да се изпразни преди заявката за четене да се изпрати към L2.
            L1D работи като кеш и не може да бъде разположен в картата на паметта. L1D не поддържа режими на спрян кеш и на заобикаляне на кеша. Всяко първоначално четене от адрес води до ненамиране на данни в кеша. Данните се прочитат и зареждат във вътрешната кеш памет. Всяко следващо четене от кеширан адрес предизвиква намиране в кеша и данните се зареждат от вътрешната кеш памет.
 
 




3.5.4. Описание на L2

            L2 е достъпен от L1P и L1D. При ненамиране на търсените данни в кеша L1P или L1D, заявката се изпраща към L2, за да бъде обслужена. Как L2 обслужва заявката зависи от избрания режим на работа на L2. Табл. 3-8 показва поддържаните режими на работа на L2. Тяхното установяване става чрез запис в полето L2MODE в регистъра за конфигуриране на кеша (CCFG). Фиг. 3-13 показва форматът на регистъра CCFG . Табл. 3-8 съдържа описание на полетата на този регистър.
 
 

Фиг.3-13. Полета в регистъра за конфигурация на кеша


 
 
 
 
 
 

Табл.3-8 Описание на полетата на регистър CCDG


Поле
Описание
L2MODE Режим на работа на L2
L2MODE = 000b: 64 Kbytes SRAM
L2MODE = 001b: 16 Kbytes 1-областен кеш / 48 Kbytes адресируем RAM
L2MODE = 010b: 32 Kbytes 2-областен кеш / 32 Kbytes адресируем RAM
L2MODE = 011b: 48 Kbytes 3-областен кеш / 16 Kbytes адресируем RAM
L2MODE = 111b: 64 Kbytes 4-областен кеш
L2MODE = други: запазен
ID Изчистване на L1D
ID = 0: Нормална работа на L1D
ID = 1: Изчиства всички линии на L1D
IP Изчистване на LIP
IP = 0: Нормална работа на L1P
IP = 1: Изчиства всички линии на L1P
P Приоритет на източника на заявка към L2
P = 0: CPU има по-висок приоритет от EDMA
P = 1: EDMA има по-висок приоритет от CPU

 
 
 

            При reset полето L2MODE има стойност 000b, така че L2 RAM се конфигурира като 64 Kbytes адресируема памет с цел поддръжка на зареждане на програма. Всеки L2 RAM, който е конфигуриран като кеш вече не е адресируем (не е в картата на паметта). Контролерът на L2 обслужва заявки от три различни източника - L1P, L1D и EDMA. L1P изпраща заявки за четене, а 256-битова магистрала пренася данни от L2 към L1P. Интерфейсът от L1D към L2 се състои от една 128-битова магистрала за четене от L2 към L1D и една 128-битова магистрала за запис от L1D към L2. L2 прехвърля данни към и от EDMA през една 64-битова магистрала за четене и една 64-битова магистрала за запис.

Следваща страница 1