8 / 5 / 1
Регистрация: 03.03.2018
Сообщений: 59
|
||||||
1 | ||||||
Цикл "Выборка-выполнение" процессора06.05.2021, 10:54. Показов 1527. Ответов 5
Метки нет (Все метки)
Все дня доброго!
Вопрос к убелённым бородой мудрецам и старцам. Процессор работает в цикле "выборка команды - выполнение команды" Как он определяет что заканчивается цикл выборки и следующим тактом начинается выполнение? и наоборот. Понимаю что при включении начинается выборка команды. В коде операции указывается длинна команды(например 3 байта ,
Процессор в несколько тактов помещает команду в регистр инструкций. Далее как ? Существует флаг что инструкция загружена? и следующим тактом можно начинать исполнение? Или устанавливается счётчик, по истечении которого начинается исполнение? И после выполнения, когда начинать загрузку следующей команды? Если бы например было фиксировано - 10 тактов на выборку, 20 на исполнение, то было бы яснее. Но здесь я понимаю так не работает. Т.е вопрос можно сформулировать так : "В какой момент процессор останавливает загрузку инструкции и начинает её выполнять?. В какой момент закончить выполнение, и начать загрузку следующей инструкции?" Мне кажется я упускаю какую то маленькую деталь.... Спасибо за ваше потраченное на меня время.
0
|
06.05.2021, 10:54 | |
Ответы с готовыми решениями:
5
Выборка логинов из csv и выполнение действия с каждой строкой Распараллелить выполнение цикла на все ядра процессора Выборка данных из массива, цикл Выполнение суммирования, используя цикл Цикл и выполнение внешней программы |
3217 / 2360 / 540
Регистрация: 11.09.2009
Сообщений: 8,599
|
|
06.05.2021, 12:33 | 2 |
Это выполняется на уровне микроинструкций. Каждая инструкция (команда) выполняется последовательностью микроинструкций. Что именно и в какой последавательности делать при выполнении данной команды, определяется полями команды. Для полного понимания работы команд х86 начните с изучения какого-нибудь простого старого процессора, например i8086. Про него много материалов.
Или вообще с процессора, не имеющего набора команд, а только микрокоманды, например серии Intel 3000 (отечественный аналог - серии К585, К589).
0
|
8 / 5 / 1
Регистрация: 03.03.2018
Сообщений: 59
|
|
10.05.2021, 10:25 [ТС] | 3 |
Нашёл много информации, но всё как то размыто. Всё сводиться к тому, что в блоке декодирования команды,внимание, декодируются! Одни авторы перепечатывают других...Не уверен что всё понял правильно. Проследите за ходом мысли ,пожалуйста, и поправьте. Возьмём гипотетический простой процессор. Значит после того как команда загружена ИЗ памяти В регистр команд следом она копируется в блок декодирования. Этот самый блок представляет собой дешифратор(схему).
Команда - 8 бит. Эти 8 бит подаются на входы дешифратора. Выходов дешифратора у нас соответственно 28=256 Какой то из этих 256-и выходов срабатывает и включает например сумматор, если была команда сложения.Или разветвляется дальше на другие схемы Т.е значит если у нас на команду отводиться один байт, то процессор может иметь всего 256 команд. Логично... Но никак не могу уяснить как процессор "понимает" что команда выполнилась, и нужно загружать следующую. Разные команды выполняются за разное количество тактов. Нам нужен какой то сигнал который покажет что данная команда выполнилась и нужно загружать следующую.? Или в коде команды уже содержиться значение сколько таков она занимает. Например три последних бита команды устанавливают счётчик и тем самым определяют на неё количество тактов. Как то так? Извиняюсь за глупые вопросы Просто хочется ясности
0
|
3217 / 2360 / 540
Регистрация: 11.09.2009
Сообщений: 8,599
|
|
10.05.2021, 12:38 | 4 |
LAO_OAL, если не трудно, почитайте вот про это. Сильно раздражает и вызывает сомнения. Ведь это намного проще, чем структура микропроцессоров. Всего-то надо два слова-вопроса запомнить. Однако, если до сих пор так, то будут ли восприняты развёрнутые ответы?...
Попробуйте почитать "Справочник. Микропроцессоры и микропроцессорные комплекты интегральных схем", том 1, Москва, "Радио и связь", 1988 г., под ред. В.А. Шахнова. Там популярно и сжато, но вполне достаточно для понимания, описана работа микропроцессоров разной архитектуры. Почитайте про микросхему К589ИК02. Это всего 6 страничек, из них половина - таблицы и блок-схемы. Это микропроцессор только с микрокомандами. Постарайтесь понять, как работает процессорное ядро (это то, что обслуживает АЛУ), как выполняются микроинструкции, как программой во внешнем ПЗУ задаётся последовательность их выполнения. Это как раз ваши вопросы, и ответы на них там написаны. В других процессорах этот механизм может быть реализован чуть по-другому, для ускорения - с запараллеливанием выполнения операций, с перестановкой их местами, и пр., но принцип тот же.
0
|
8 / 5 / 1
Регистрация: 03.03.2018
Сообщений: 59
|
|
10.05.2021, 12:47 [ТС] | 5 |
Да. Должен признаться, что с мягким знаком за 31 год у меня сложились не простые отношения Видимо родовое проклятие)))) Спасибо за направление, буду изучать...
0
|
Модератор
|
|
19.05.2021, 14:47 | 6 |
Или в одной из последних микрокоманд микропрограммы, в которой реализован алгоритм выполнения команды, включен бит, который сигнализирует: пора начать выборку следующей команды.
А микропрограмммы могут быть как из одной, так и из нескольких микрокоманд, и в них может быть примитивный механизм ветвления, чтобы некоторые команды при необходимости могли выполнить больше или меньше микрокоманд и даже зацикливаться. Добавлено через 51 минуту Когда процессор придёт в себя, начинает выполняться микропрограмма самотестирования и инициализации, которая, в конце концов, приводит к выборке первой команды по известному адресу или иной процедуры старта ВС.
0
|
19.05.2021, 14:47 | |
19.05.2021, 14:47 | |
Помогаю со студенческими работами здесь
6
Жизненный цикл процессора Система состоит из процессора P, трёх очередей F0, F1, F2 и стека S. В систему поступают запросы на выполнение Цикл Do While: завершить выполнение программы после 6-ой попытки Цикл простоя процессора это и есть delay_us? Выборка из массивов, для каждого массива свои условия: один цикл или несколько? Разработка пользовательской таблицы средствами процессора Excel, создание и выполнение макросов Excel Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |