Почему Itanium не может обработать невыровненные структуры данных

Тема в разделе "WASM.X64", создана пользователем artvy, 24 фев 2012.

  1. artvy

    artvy New Member

    Публикаций:
    0
    Регистрация:
    13 фев 2012
    Сообщения:
    13
    Всем привет,

    Возник вопрос в кадре изучения ассемблера и вообще низкоуровневого программирования. Почему интел Итаниум глючит если мы выравниваем струкутуры на 1 (речь идет о программе собранной например в Вижуал с pragma pack(1)). Т.е. не выравниваем их вообще. Меня интерессуют технические причины "глюка". Буду благодарен за любую ссылку или материал.

    Спасибо
     
  2. slesh

    slesh New Member

    Публикаций:
    0
    Регистрация:
    6 фев 2009
    Сообщения:
    214
    Это именно фишка архитектуры IA-64. Это сделано для увеличение производительности. Попытка работать с не выровненными данными приведет к возникновению исключения.
     
  3. leo

    leo Active Member

    Публикаций:
    0
    Регистрация:
    4 авг 2004
    Сообщения:
    2.542
    Адрес:
    Russia
    Да просто ребятам лень было огороды городить с невыравненным доступом, вот и решили заткнуть эту дыру эксепшеном ;). В x86 выравнивание данных для повышения производительности тоже никто не отменял и возможность генерации исключения тоже есть, но вместе с тем есть и поддержка невыравненного доступа даже при пересечении границ кэш-линеек, не говоря уже о 8-байтовых границах банков L1. А в итаниуме только поддержку невыравненного чтения в пределах размера банка соблоговолили сделать - 8 байт для целочисленных (L1) и 16 байт для FP (L2) (см.например тут)
     
  4. artvy

    artvy New Member

    Публикаций:
    0
    Регистрация:
    13 фев 2012
    Сообщения:
    13
    А где можно почитать про технические подробности этого самого *увеличения производительности*? В смысле углубиться в архитектуру но не так чтобы все с нуля а именно конкретно по этому вопросу
     
  5. artvy

    artvy New Member

    Публикаций:
    0
    Регистрация:
    13 фев 2012
    Сообщения:
    13
    А можно где то прочитать простое введение в архитектуру в контексте как работают эти кеш-линейки вкратце.
     
  6. slesh

    slesh New Member

    Публикаций:
    0
    Регистрация:
    6 фев 2009
    Сообщения:
    214
    artvy, у intel'a почти для каждого процессора и каждой архитектуры есть огромное кол-во документаций.
    К пример на Intanuim 9000 серии.

    http://www.intel.com/cd/products/services/emea/rus/processors/itanium/overview/373617.htm
    И там можно почитать огромное кол-во информации в виде PDF на англ языке.
    1) Обзор
    - Краткое описание процессоров Intel® Itanium® серии 9300
    - Процессор Intel® Itanium® серии 9300: Технический обзор для руководителей, принимающих решения по ИТ
    - Тесты производительности

    2) Спецификации
    - почти все процессоры данной серии перечислены, с возможностью посмотреть описание каждого. При этом когда смотришь описание процессора, обрати внимание на ссылку Download Datasheet, но это уже очень техническое описание, для производителей аппаратного обеспечения

    3) Техническая документация - очень полезный раздел
    Практические рекомендации
    - Проверка машинного восстановления ОС в системах на базе процессора Itanium®

    Модели на языке BSDL (Boundary scan description language)
    - Модель BSDL буфера масштабируемой памяти набора микросхем Intel® 7500

    Технические описания
    - Обновление спецификаций процессоров Intel® Itanium® серии 9300
    - Техническое описание процессоров Intel® Itanium® серий 9000 и 9100
    - Справочное руководство по процессорам семейства Intel® Itanium®: Уровень исполнения IA-32
    - Техническое описание буфера масштабируемой памяти набора микросхем Intel® 7500

    Руководства
    - Справочное руководство по разработке и оптимизации программного обеспечения для процессоров Intel® Itanium® серии 9300
    - Руководство по переходу на двухъядерные процессоры Intel® Itanium® 2
    - Руководства для разработчиков приложений для архитектуры Intel® Itanium®
    - Руководство для разработчиков приложений для архитектуры Intel® Itanium®. Часть 1: Архитектура приложений
    - Руководство для разработчиков приложений для архитектуры Intel® Itanium®. Часть 2: Архитектура системы
    - Руководство для разработчиков приложений для архитектуры Intel® Itanium®. Часть 3: Набор команд

    Информация о типах корпусов
    - Справочник по корпусам Intel®

    Краткие описания продукции
    - Процессор Intel® Itanium® серии 9100
    - Процессор Intel® Itanium® 2 серии 9000

    Обновления спецификаций
    - Обновление спецификаций руководства для разработчиков приложений для архитектуры Intel® Itanium®
    - Обновление спецификаций процессора Intel® Itanium®
    - Обновление спецификаций процессоров Intel® Itanium® серии 9300
    - Обновление спецификации буфера масштабируемой памяти набора микросхем
    Intel® 7500

    Руководства по термомеханическому проектированию
    - Рекомендации по термомеханическому проектированию масштабируемого буфера памяти Intel® 7500

    4) Инструменты и ПО
    Модели на языке BSDL (Boundary scan description language)
    - Модель BSDL для процессора Intel® Itanium® серии 9300 (ZIP, 12 КБ)
    - Модель BSDL для процессора Intel® Itanium® серии 9100 (ZIP, 20 КБ)
    - Модель BSDL для процессора Intel® Itanium® серии 9000 (ZIP, 26 КБ)

    Документация на программное обеспечение
    - Руководство по обработке ошибок процессоров семейства Intel® Itanium® (PDF, 527 КБ)
    - Руководство по правилам программного обеспечения для Itanium® и по оперативной архитектуре (PDF, 853 КБ)
    - Спецификация уровня системного абстрагирования (SAL) для процессоров семейства Intel® Itanium® (PDF, 1,25 МБ)

    Техническая литература
    - Архитектура Itanium® для разработчиков программного обеспечения
    - Программирование в системах на базе процессоров Intel® Itanium®
    - Научные расчеты в системах на базе процессоров Intel® Itanium®

    Руководства по термомеханическому проектированию
    - Списки поставщиков компонентов для процессоров Intel® Itanium® серии 9300

    Также что если покапаться, можно найти любую документацию. Тоже можно найти и по самой архитектуре IA-64
     
  7. artvy

    artvy New Member

    Публикаций:
    0
    Регистрация:
    13 фев 2012
    Сообщения:
    13
    Спасибо огромное за инфу. А такой вопрос, есть ли где введение для новичка в VHDL/BSDL? Какой нибудь стартер кит с примерами по проще. Насколько я понимаю с помощью этого я могу проектировать логические схемы и иже с ним, есть ли какойто набор ПО чтобы с "интерпретатором" и возможностью перегонки в макет схемы?