Size: a a a

Ассемблер

2021 June 30

D

Den in Ассемблер
Спасибо друзья! Буду дальше думать, вот алгоритм как перевести в dec_float мантису и порядок понятен а вот наоборот?
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
здесь посмотри в книгах, там типа курсовая какая то
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
dd 2
dd 2.0

в первом случае надо использовать с "i" (при этом во внутренностях этот инт переводится во флоат и выполняется действие - загрузка, умножение...)

во втором формат вещественного уже готовый в памяти, поэтому без "i"
источник

DC

Dmitry Croft in Ассемблер
Чуваки

Как в ассамблере читается память? Возьмём например опкод MOV черед который я хочу прочитать байт по определённому адресу в определённый регистр

Что происходит? Адрес идёт в MMU, дальше проверяется кеш, потом что? Может есть где-то этот workflow объяснён в общем виде
источник

АШ

Алексей Шведов... in Ассемблер
Как это что? И получают, через контакты данных. Тебе непонятно с какой стороны обьяснять. Показать что-ли где они находятся, из каких элементов сделаны, или что?
источник

DC

Dmitry Croft in Ассемблер
Нужно что-то в этом духе (ниже псевдообъяснение):

Адрес памяти из регистра A попадает в MMU, дальше проверяется кеш, если в кеше нашлось, то отдаёт если нет то идёт дальше и т.п.
источник

АШ

Алексей Шведов... in Ассемблер
Адрес памяти из регистра A попадает в MMU, дальше проверяется кеш, если в кеше нашлось, то отдаёт если нет то идёт дальше по кэшу, если не нашлось - обращается по шине данных к RAM, если не нашлось, то ищет на накопителях, если не нашлось - на жёстких дисках
источник

DC

Dmitry Croft in Ассемблер
ладно, если у тебя нет настроения можешь не объяснять
источник

АШ

Алексей Шведов... in Ассемблер
Ничего не понял...
источник

ЭR

Эрик Regent in Ассемблер
Это было странно
источник

A

Aleksandr in Ассемблер
Зависит от процессора и системы в целом. Честно говоря, я не видел детального описания для сложных систем вроде современных x86 внутри одного документа, но наверняка можно найти университетские публикации по теме
источник

АШ

Алексей Шведов... in Ассемблер
Да там поверхностно ничего не изменилось. Конкретно поиск в данных всё такой же
источник

A

Aleksandr in Ассемблер
Кеши меняются
источник

A

Aleksandr in Ассемблер
Количество и устройство
источник

АШ

Алексей Шведов... in Ассемблер
Это не поверхностное изменение. Иерархия всё та же
источник

MA

Max Azatian in Ассемблер
по крайней мере нам это дело в унике обьясняли именно так
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
к асму это получается не имеет отношения. с помощью асма мы говорим процу "сделай тото". как он это будет делать его  проблемы (уровень абстракции). тебе наверное у процессоро строителей надо это спросить, а не у программистов
источник

DC

Dmitry Croft in Ассемблер
Если есть чат по процессору строению то я бы спросил

А вообще  мне это нужно чтобы понять почему процессор работает медленнее с памятью, если она не выровнена. Я же так понимаю, что выравнивание каприза  hardware

Да, я видел объяснения где рассказывают что процессору придётся два раза обращаться к памяти чтобы собрать нужные байты в кучу, если память не выровнена. Но на физическом уровне я до сих пор не совсем понимаю почему процессор не читает с любого места и не загружает последовательно байты с этого места, и ему именно надо чтобы адреса были выровнены по размеру запрашиваемых данных
источник

DC

Dmitry Croft in Ассемблер
Если кто-то хорошенько пнёт меня в нужное место где я смог бы это понять, было бы круто

Мне сейчас кажется что именно надо понять как работает доступ к память на hardware уровне
источник

DC

Dmitry Croft in Ассемблер
И еще вопрос

Вы принимаете необходимость выравнивания данных как факт?
Т.е. тут никто не понимает как это на hardware уровне это работает и почему процессору физически надо работать с выровненными адресами?
источник