Перевод AMD Athlon x86 Code Optimization guide

Тема в разделе "WASM.BOOKS и WASM.BLOGS", создана пользователем murder, 9 фев 2010.

  1. murder

    murder Member

    Публикаций:
    0
    Регистрация:
    3 июн 2007
    Сообщения:
    628
    В прошлом году хотел перевести эту книгу, но так и не закончил. На самом деле я просто не понял некотрые вещи (например 64-битное деление). Готово около 90% + все иллюстрации переведены на русский язык.

    Может быть кому-нибудь пригодится...
     
  2. tex32

    tex32 New Member

    Публикаций:
    0
    Регистрация:
    24 окт 2009
    Сообщения:
    202
    Сам непользую, но за продвижение среди молодых похвально!
     
  3. JCronuz

    JCronuz New Member

    Публикаций:
    0
    Регистрация:
    26 сен 2007
    Сообщения:
    1.240
    Адрес:
    Russia
    Класс, Надо-бы в доки на сайт!
     
  4. murder

    murder Member

    Публикаций:
    0
    Регистрация:
    3 июн 2007
    Сообщения:
    628
    Перевод ещё очень сырой. Отписывайтесь об ошибках и неточностях.
     
  5. Z3N

    Z3N New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2009
    Сообщения:
    812
    Меня интересует файл инклюдов для фасма, где можно его скачать???
    И ещё вопрос: Амдэшники пишут на фасме? Или тот код от автора перевода?

    В любом случае хотелось бы получить тот файл инклюдов....

    Немного о странностях....
    Есть статья "Бойся злобного луп", где говориться о том, какой он нехороший. Но потом смотришь на листинги, а он нет-нет да и мелькнёт :). Или это статья тоже от автора. Неужели амдэшники так запутались в своих оптимизациях, что начали писать пургу?!

    И главный вопрос!
    Можно ли определить размер кеш линёйки??? Насколько я понял, он не всегда равен 64. Есть способы?
     
  6. murder

    murder Member

    Публикаций:
    0
    Регистрация:
    3 июн 2007
    Сообщения:
    628
    Код там был не на фасме - это я переделал:)

    Инклюды должны идти на диске к книге. Надо посмотреть на сайте amd.

    Сейчас быстренько пробежался по книжке, но loop нигде не увидел. Там почти везде jnz. Ну была правда метка mainloop.

    Насчёт размера кеш линейки х.з. Если хочешь универсальности нужно читать доки к конкретным процессорам и составлять таблицу размеров.
     
  7. murder

    murder Member

    Публикаций:
    0
    Регистрация:
    3 июн 2007
    Сообщения:
    628
    Похоже на сайте нету старых документов

    http://developer.amd.com/documentation/guides/Pages/default.aspx

    В оригинале про диск написано следующее
     
  8. Z3N

    Z3N New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2009
    Сообщения:
    812
    А ты можешь выложит свой вариант инклюда, меня интересует код для фасм.
     
  9. murder

    murder Member

    Публикаций:
    0
    Регистрация:
    3 июн 2007
    Сообщения:
    628
    У меня его нету.

    Вот что нашёл
    http://www.koders.com/c/fid920594DE5A955BCDF23AC6D9B3B278D895D082EF.aspx?s=suck

    А диск видимо здесь
    http://cdrom.amd.com/21860/

    Но там нет главной страницы. То есть надо знать полный путь к файлу.
     
  10. edemko

    edemko New Member

    Публикаций:
    0
    Регистрация:
    25 ноя 2009
    Сообщения:
    454
    За книгэнцу спасибо :)
     
  11. murder

    murder Member

    Публикаций:
    0
    Регистрация:
    3 июн 2007
    Сообщения:
    628
    Нашёл глюк в комментариях преобразования числа в строку. Там вместо странных цифр 261, 228, 230 должно быть 261, 228, 230.
     
  12. Z3N

    Z3N New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2009
    Сообщения:
    812
    Простите, лууп бы в примере "Не делайте так".
     
  13. Maratyszcza

    Maratyszcza New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2006
    Сообщения:
    32
    Z3N
    Кэш-строка равна 64 байтам только на новых процессорах. Но более старых (например, AMD K8) она равна 32 байтам.
    Код для определения размера можно посмотреть, например, здесь: http://git.videolan.org/?p=x264.git;a=blob;f=common/cpu.c;h=23761ecf8f6fa765b32c5389a3db82f574ff801c;hb=HEAD