Meltdown и Spectre — названия двух атак на процессоры Intel/AMD/ARM64/Power

2 месяца ago admin 0

да херню в книжках пишут. там сами не знают что несут.

вот пень-2. у него 5 конвейеров в каждом по 8 инструкций «в полете». итого 40. у инструкции есть результат — это те самые «40 переименовываемых регистров» о которых пишут ебланы в книжках. кроме того, есть и сами регистры, они живут отдельно.

когда инструкция А стартует, она сперва смотрит — есть ли операнды «в полете», если нужного нет, читает его из регистрового файла. если есть — ставит зависимость от инструкции Б где операнд вычислен. плюс есть угловые ситуации типа целый регистр после байтового. когда инструкция Б от которой зависим завершилась, она нас уведомляет и присылает свой результат. когда в А соберутся все операнды, она становится «готовой» и сама будет послана когда нибудь в АЛУ. по завершению инструкции она идет в retirement где собственно и записываются её результаты.

интел еще врет по «конвейеры записи». там есть очередь записи, у которой есть «вход»: его называют конвейером записи данных и «выход» когда из очереди пишут в кэш данных. очевидно что порт записи в кэше только один, и его приходится делить с шиной. отсюда необходимость откладывать иногда запись в кэш.


Source: linux.org.ru