Amiga. Вычислительная техника
Меню сайта
Главная
Amiga
Amiga Corporation
Модельный ряд
История развития
Аппаратная платформа
Операционные системы
Эмуляция
AMIGA # 1
Программирование на Ассемблере
Организация процессоров
Методы защиты информации
Компьютерные новеллы
Боятся ли компьютеры адского пламени?
Виртуальная реальность
Корпоративные сети
Телекоммуникационные сети
Архитектура ЭВМ
ЕС ЭВМ
Рождение ЭВМ
Компьютер
Гарвардская архитектура
Современные высокопроизводительные компьютеры
Дорога в будущее
Vista
Инфоpматика
ЭВМ
Операционные системы
Linux
Windows
Освой компьютер
Макинтош
Набор текста
Поколения
Компьютерная грамотность
Устройство компьютера
Железо
Графика
Звук
Ремонт
Сети
Программирование
Информационные технологии
Криптография
Микроэлектроника
Истории
 
 

Освой компьютер


изменением участков кода программы
самой программой. Если изменяется тот участок кода, который уже лежит в кэше -
в самом кэше он не будет изменен, и программы начинают работать не так, как
задумывалось (если хотите понаблюдать, что же выйдет - запустите на Амиге с
68020 и более старшим процессором известную демку \"STATE OF THE ART\", не
выключив кэш). Последствия такого подхода могут быть самыми разными - от
довольно забавных (как в упомянутом случае) до катастрофических (полной
неработоспособности программы на более современном процессоре). Конечно,
можно будет пользоваться такой программой, выключая кэш при ее запуске, но
при этом реальное быстродействие 68020 и более старших процессоров резко
упадет, да и в многозадачке вряд ли удастся сделать раздельное состояние
кэша для разных процессов - то есть упадет и скорость работы всех
\"параллельно\" идущих задач.
В самом крайнем случае, если уж хочется \"выжать все\" из своей 68000 машины -
сделайте распознавание типа процессора, и в случае отличающегося
от 68000, исполняйте другой участок кода, не использующий самомодификацию.

Кэш инструкций имеет еще одно свойство. На кэшированном процессоре
практически не имеют смысла многие подходы к оптимизации, обычно
популярные на старых 8- и 16-битных машинах типа SPECTRUM и БК,
заключающиеся в уменьшении \"любой ценой\" количества операций и занимаемых
процедурой тактов. Поскольку на упомянутых машинах код выполнялся из той
же самой памяти, что и операции - это действительно имело смысл, как,
впрочем, и на 68000 машинах (в приложении 6 приведены методы расчета
времени выполнения инструкций 68000).
Начиная с 68020 чаще всего имеет место ситуация, когда память работает
значительно медленнее кэша, и если выполняемый фрагмент программы, в основном,
занимается обменом с памятью, то основной смысл начинает иметь не количество
инструкций, а скорость памяти - например, как ни уменьшать количество операций
в процедуре заполнения кодом памяти, быстрее чем запись в память она работать
не будет.

 

AMIGA: ПРОГРАММИРОВАНИЕ НА АССЕМБЛЕРЕ.

 

© 2010 Amigo. All Rights Reserved
Создание сайтов ЕкатеринбургШаблоны сайтовПоиск товаров - справочник цен, каталог магазинов, прайс-листыБесплатные шаблоны дизайна компьютерных сайтов
Hosted by uCoz