Jump to content

Воровство цикла

В вычислительной технике « традиционно кража цикла» представляет собой метод доступа к памяти компьютера (ОЗУ) или шине без вмешательства в работу ЦП. Это похоже на прямой доступ к памяти (DMA), позволяющий контроллерам ввода-вывода читать или записывать ОЗУ без вмешательства ЦП. Умное использование определенных таймингов ЦП или шины может позволить ЦП работать на полной скорости без каких-либо задержек, если внешние устройства обращаются к памяти, не участвуя активно в текущей активности ЦП, и завершать операции до любого возможного конфликта ЦП.

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

В старых источниках этот термин также используется для описания традиционных систем DMA, в которых ЦП останавливается во время передачи памяти. В этом случае устройство крадет циклы у ЦП, поэтому это противоположный смысл более современного использования.

В меньших моделях IBM System/360 и System/370 хранилище управления содержит микрокод как для архитектуры процессора, так и для архитектуры канала. Когда каналу требуется обслуживание, аппаратное обеспечение крадет циклы из микрокода ЦП для запуска микрокода канала.

Общие реализации

[ редактировать ]

Некоторые процессоры были разработаны с возможностью кражи цикла или, по крайней мере, легко ее поддерживали. Так произошло с системами Motorola 6800 и MOS 6502 из-за конструктивной особенности, которая означала, что ЦП обращался к памяти только через каждый второй такт. Использование оперативной памяти, которая работала в два раза быстрее, чем тактовая частота ЦП, позволило второй системе чередовать доступы между ЦП, синхронизируя себя в каждом втором тактовом цикле. Это широко использовалось для обновления дисплея с использованием основной памяти в качестве кадрового буфера . Обычная оперативная память конца 1970-х годов работала на частоте 2 МГц, поэтому на большинстве машин процессор работал на частоте около 1 МГц. BBC Micro обеспечила наличие оперативной памяти с частотой 4 МГц, что позволило ее процессору работать на частоте 2 МГц.

Другим распространенным решением было использование отдельных банков памяти, в которых хранились инструкции, а не данных, или более одного пула данных. В этих случаях системы ввода-вывода могут получить доступ к своей памяти данных, пока процессор использует другой банк. Одним из примеров является Zilog Z80 , линия M1 которого указывает, что процессор читает инструкции; если эти инструкции находятся в другом банке или, чаще, в ПЗУ , системы ввода-вывода могут получить доступ к ОЗУ, не мешая процессору.

Современная архитектура

[ редактировать ]

В современных системах добиться кражи цикла сложно из-за многих факторов, таких как конвейеризация , при которой элементы предварительной выборки и параллельные элементы постоянно обращаются к памяти, оставляя мало предсказуемых периодов простоя для незаметного доступа к памяти. DMA — единственный формальный и предсказуемый метод доступа внешних устройств к оперативной памяти.

Этот термин менее распространен в современной компьютерной архитектуре (выше 66–100 МГц), где различные внешние шины и контроллеры обычно работают с разной скоростью, а внутренние операции ЦП больше не тесно связаны с операциями шины ввода-вывода.

Примеры в реальных компьютерных системах

[ редактировать ]

Неожиданный перехват цикла радаром сближения во время спуска чуть не привел к прерыванию посадки Аполлона-11 , но конструкция компьютера управления позволила продолжить посадку, отказавшись от задач с низким приоритетом.

«Кража цикла» IBM 1130 на самом деле является DMA, поскольку тактовая частота процессора останавливается во время доступа к памяти. Некоторые контроллеры ввода-вывода получают доступ к оперативной памяти таким образом. Они самостоятельно выносят решения по схеме с фиксированным приоритетом. Большинство контроллеров намеренно ускоряют доступ к ОЗУ, чтобы минимизировать влияние на способность системы выполнять инструкции, но другие, такие как графические видеоадаптеры, работают на более высокой скорости и могут замедлять работу системы.

Концепция кражи велосипеда модели 1130позволяет программе ЦП начать операцию на устройстве ввода-вывода, а затем продолжить выполнение основной программы, пока устройство ввода-вывода выполняет свою работу. Каждое устройство ввода-вывода, работающее таким образом, забирает (крадет) цикл у ЦП, когда это необходимо.

Процессор «завязан» только на один цикл во время передачи символа данных. Частота, с которой устройства крадут циклы, зависит от типа устройства.

Поскольку ЦП намного быстрее, чем любое устройство ввода-вывода в системе, ЦП может выполнять другую функцию, например арифметику, одновременно с выполнением операции ввода-вывода. Фактически, некоторые операции ввода-вывода могут перекрываться друг с другом и с другими функциями ЦП. [1]

Кража цикла была причиной серьезного снижения производительности на таких машинах, как Sinclair QL , где по соображениям экономии видеопамять не имела двойного доступа . Следовательно, процессору M68008 было отказано в доступе к шине памяти, когда «главный контроллер» ZX8301 обращался к памяти, и машина работала хуже по сравнению с машинами, использующими аналогичные процессоры на аналогичных скоростях.

  1. ^ Концепция кражи цикла IBM 1130
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 120145f119a4fb5bff2a051a730b8b91__1675563300
URL1:https://arc.ask3.ru/arc/aa/12/91/120145f119a4fb5bff2a051a730b8b91.html
Заголовок, (Title) документа по адресу, URL1:
Cycle stealing - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)