Описание тега machine-instruction

1 ответ

Как преобразовать адрес памяти в адрес сегмента кода?

Как я могу преобразовать адрес в 16-битный сегмент кода (регистр CS)? Например, если сегмент.text начинается с 00E51000, как рассчитывается регистр CS для этого сегмента? Этот вопрос относится к 32-битной архитектуре x86.
10 фев '19 в 02:12
1 ответ

"Чтение байта из порта ввода-вывода" и "Чтение байта из адреса памяти"?

Для упрощения обсуждения я предполагаю, что существует только один поток выполнения. Следующее - только мои дикие предположения: 1, если процессор считывает байт из адреса памяти, то он может повторно считывать одно и то же значение с одного и того …
6 ответов

Какова цель инструкций поворота (ROL, RCL на x86)?

Мне всегда было интересно, какова цель инструкций поворота, которые есть у некоторых процессоров (например, ROL, RCL на x86). Какое программное обеспечение использует эти инструкции? Сначала я подумал, что они могут быть использованы для шифрования …
2 ответа

Добавление CUDA против выполнения команды смены

Я пытаюсь понять пропускную способность инструкций для большого ядра CUDA, над которым я работаю. Я написал две небольшие программы для сравнения пропускной способности сложения и смены инструкций. Согласно Руководству по программированию CUDA C, пр…
20 июл '12 в 03:49
0 ответов

POP и PUSH инструкция в CPU Sim

Мне дали задание на Симуляторе процессора, в котором я должен создать стек для переменных Push и Pop в и из стека. Я создал указатель стека и стека. Я запутался в машинной инструкции за инструкциями PUSH и POP. Может кто-нибудь помочь мне понять это…
27 апр '15 в 09:42
3 ответа

Как выглядит настоящий машинный код в разных точках?

Кажется, есть много мнений о том, что такое машинный код на самом деле. Я слышал, что некоторые говорят, что это сборка, или двоичная, или шестнадцатеричная. Правильно ли говорить, что машинный код - это, по сути, набор инструкций для конкретного пр…
25 апр '12 в 22:39
4 ответа

Инструкция АЦП в ASM 8086

Когда я использую ADC для примера: AL = 01 and BL = 02, and CF = 1 когда я сделаю это: ADC AL,BL Будет AL быть 3 или же 4? (с CF дополнение или без?)
22 апр '10 в 04:30
2 ответа

Динамический и статический счетчик команд

В чем разница между динамическим и статическим количеством команд? а. Получите выражение для расчета времени ЦП пользователя как функцию следующих параметров: динамический счетчик команд (N), тактовый цикл на инструкцию (CPI) и тактовая частота (f) …
19 ноя '12 в 16:32
1 ответ

Разница между длинным и коротким прыжком (x86)

Я читал, что короткие прыжки должны использоваться, когда относительный переход меньше адреса в 124, и длинные прыжки должны использоваться в противном случае. В чем разница с точки зрения операций, выполняемых в ЦП / производительности между двумя …
1 ответ

Адрес места нахождения инструкции вызова

Я думаю, что инструкция вызова - это своего рода инструкция перехода. Инструкция "прыжок" имеет адрес, куда идти. И инструкция "call" либо должна иметь целевой адрес. Но когда я разбираю двоичный файл, у инструкции "call" есть только метка целевой ф…
1 ответ

Помогите с тактами

Я с трудом разбираюсь в тактах. Вот проблема, мне дают программу, которая имеет две инструкции X и Y, и я знаю, что X выполняется 20% времени и требует 8 тактов, а другая инструкция Y выполняется 80% времени и требует 2 часов циклы. Если в моей прог…
06 июн '11 в 23:03
4 ответа

Что такое метод инверсии петли?

Я просматривал документ, в котором рассказывается о методах оптимизации JIT -компиляторов для Java. Одним из них была "инверсия петли". И в документе говорится: Вы заменяете обычный while петля с do-while петля. И do-while цикл устанавливается в пре…
29 дек '13 в 15:26
1 ответ

Какие линии управления устанавливаются / устанавливаются на 1, когда вызывается инструкция загрузки двойного слова?

Используя эту диаграмму, я смотрю на эту инструкцию, чтобы определить, какие линии управления необходимы. дд х5, 40(х9) x5 = 0x000000ff x9 = 0x00000fff Мне любопытно, какие управляющие линии (RegWrite, MemRead, MemWrite, MemtoReg, Branch, Zero, ALU…
3 ответа

Есть ли разница в производительности между большим и равным или большим?

Есть ли на современных современных процессорах разница в производительности между сравнением больше или больше или равно для условия ветвления? Если у меня есть условие, которое может быть так же легко, есть ли небольшое преимущество в выборе > н…
30 май '11 в 16:41
1 ответ

x86 - количество регистров против количества зарезервированных бит

Я новичок в сборке, и мой вопрос: Если машина имеет, например, n регистров. Сколько бит нужно зарезервировать в инструкции по сборке для адресации каждого из n регистров? И насколько функциональное разделение может уменьшить необходимые биты?
25 апр '16 в 11:30
1 ответ

Что означает машинное значение типа "прочее" в SD-узлах llvm

Я пытаюсь глубже понять процесс выбора инструкций в llvm, и для этого я пошагово отлаживаю функцию CodeGenAndEmitDAG. Я напечатал небольшую функцию (см. Ниже) как раз перед шагом объединения - первый шаг в вышеупомянутой функции. На графике я вижу с…
30 окт '14 в 19:18
1 ответ

Отображение последовательности команд (сборки) в код на C

Из моего учебника есть одно упражнение: int comp(data_t a, data_t b) { return a COMP b; } показывает общее сравнение между аргументами a и b, где мы можем установить тип данных аргументов, объявив data_t с объявлением typedef, и мы можем установить …
6 ответов

Как был написан первый компилятор?

Я слышал о курице, яйце и начальной загрузке. У меня есть несколько вопросов. Что написал первый компилятор, который преобразовал что-то в двоичные инструкции? Сборка скомпилирована или переведена в двоичные инструкции? ... Мне трудно поверить, что …
0 ответов

Инструкция декодирования с использованием кода операции и функциональных битов

Я пытаюсь создать симулятор конвейерного процессора. Как часть этого мне нужно спроектировать блок управления. То, что я ожидаю от блока управления - это установить значения следующих флагов: reg_write (=1 if the instruction writes a value to some r…
2 ответа

Символы кода ассемблера

Я довольно смущен преобразованием шестнадцатеричных машинных инструкций в символьные коды операций. У меня есть несколько проблем с обзором из этого раздела: What machine code is generated for the instruction: sbb al, 10 sbb reg/mem from reg/mem 000…
13 дек '11 в 11:04