[an error occurred while processing this directive]
Ну, и что, что "организована 4к*16"? Многословные объекты все равно
(«Телесистемы»: Конференция «Цифровые сигнальные процессоры (DSP) и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено dxp 22 мая 2004 г. 12:49
В ответ на: Если внутреняя SARAM организована как 4k * 16 корректно обращаться к ней movl? или корректнее считать 2 раза по short? отправлено гоша 22 мая 2004 г. 11:53

подряд лежат. Единственное, там, afair, требуется выравниваение по четному адресу, но для лонгов это и так должно выполнятся, т.ч. никаких проблем. Во всяком случае, реально это так - скомпиляй тот кусочек и посмотри в мап файл, увидишь, что все эти переменные размещены по четным адресам, хотя могут идти и не подряд.

Т.е. если ты объявил переменную типа лонг, то она будет размещена по четному адресу. А процессор-то 32-х разрядный, и может спокойно работать с 32-х разрядными данными.

Кстати, компилятор даже, имхо, перебарщивает с выравниванием - например, он размещает массивы так, чтобы был возможен доступ к любому элементу массива прямым способом (т.е. через DP). Если есть массив, который имеет размер больше страницы, то компилятор размещает его со следующей страницы, оставляя "дырку". Зачем он так делает, мне непонятно - ведь у процессора же есть развитые средства косвенной адресации, а при работе с агрегатными типами именно она и нужна. А прямая адресация рулит только при работе одиночными переменными встроенных типов. Может это где-то рулится, но я с ходу не нашел.


Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru