PDF-лекции (1128548), страница 11
Текст из файла (страница 11)
Поэтому есть соответствующие сигналы I/ORD,I/OWR.Есть еще один сигнал – WAIT. Пусть у нас есть какая-то линия.Какие есть способы передачи информации между передатчиком и приемником?1) Синхронный способ передачи – самый быстрый. Это означает, что передатчиквыставляет сигнал данных и сигнал строба.Строб говорит о том, что данные на линии истинны. Т.е.
это признак того, чтопередается сигнал. Если на входе линии сигнал меняется, то на выходе линии этиизменения будут через какое-то время. Длительность сигнала строба должна бытьбольше, чем время распространения по линии. Через какое-то время снимается строб иснимаются данные.
Если есть длина линии, то известно время распространения и можносказать, какая должна быть длительность строба. Зная длительность строба, можносказать какая частота передачи на этой линии.Этот способ передачи не подходит для нашей системы потому, что возникают проблемыесли устройство медленное.2) Асинхронный способ. Передатчиком выставляются данные, в обязательном порядке сигнал строба (иначе внешнее устройство вообще не понимает, когда передаетсясигнал). Внешнее устройство принимает данные, строб, записывает данные, генерируетответный сигнал Reply (он может называться как угодно). Этот сигнал идет отприемника к передатчику. Это гарантия того, что приемник принял сигнал и записал его.Таким образом он сигнализирует, что готов к новому приему.
Только после того можетснимать данные и строб. Снимается сигнал ответа, происходит новая передача данных.Эта схема рассчитана на медленные устройства.3) Бывает полу синхронный (полу асинхронный) способ. Суть его в том, что если устройство медленное ине успевает обрабатывать информацию, то только в этом случае оно дает о себе знать, а если успевает, то– нет. Это означает, что в цикл передачи данных процессором обязательно входит определенное время, закоторое определяется нужно ждать устройство или нет. Если сигнала нет, то это по сути синхронныйспособ передачи. В противном случае – это асинхронный способ передач.Это обеспечивает сигнал WAIT.
Он формируется внешним устройством (памятью,принтером и т.д.) в том случае, если это устройство не успевает уложиться в циклпроцессора. Оно удлиняет цикл процессора за счет того, что появляются дополнительныетакты в цикле процессора. Нормальный цикл процессора – 4 такта.Максимальная тактовая частота на шине ISA совпадает с тактовой частотойпроцессора (единственный в мире случай) = 8 МГц.Рассмотрим процесс передачи данных по шине (не рассматриваем сигналыуправления – некоторые контрольные сигналы, которые есть на шине).тактовая частотаЦикл обмена по шине ISA с быстрым устройством составляет 4 тактовых импульса.Процессор имеет линию AD, по которой он выдает и сигналы и данные. На шинеISA они должны быть как-то разделены.Передача начинается с того, что процессор по шине передает адрес (по линии адреса– А0-:-А19).
Чтобы внешнее устройство поняло, что это адрес, а не данные, этот сигналсопровождается неким сигналом строба ALE (Address Lock Enable). По этому сигналувнешнее устройство должно зафиксировать (принять и дешифровать) адрес за времяпередачи по линии (процессор выдает адрес только на очень короткое время). Происходитфиксация адреса. После этого процессор передает данные по линии данных D0-:-D15 исигнал RD. Сигнал RD выставляется в такте Т2. Т.е.
процессор собирается прочитатьданные. По данному сигналу устройство может выставлять на шине данные. Устройствоможет быть медленное. По фронту Т3 процессор проверяет наличие сигнала WAIT. Еслиустройство быстрое и выставило данные, то все в порядке. Если данные не выставлены, тодобавляются холостые такты, во время которых процессор ничего не делает, но для этоговнешнее устройство должно выставить сигнал WAIT.
Если устройство не готово, оновыставляет сигнал WAIT. Если были переданы данные, они читаются в такте Т3, иустройство может снимать данные.Чем определяется быстродействие схемы процессор – шина ISA – внешнееустройство? Пусть есть простая программа выполняющая сложение : А + В = С. Числа А иВ находятся в памяти. Сколько времени нужно на выполнение этой программы?Команда прежде всего должна содержать код операции – что нужно сделать(складывать, умножать и т.д.). Во-вторых, команда должна содержать операнд (как и гдеего найти). Может быть очень много способов адресации (индексная, косвенная и т.д.).
Вкоманде может быть задан сам операнд, может быть задан адрес операнда, а может – адресиндекса и еще один адрес, которые складываются, и только после этого идет обращение, ит.д.. Время выполнения команды очень сильно зависит от того, как адресуются операнды.Прямая адресация – дается адрес, находится операнд. Минимальное время, которое нужно,чтобы выбрать операнд из памяти на регистр данных – 4 такта. Время, необходимое длявыполнения операции (количество тактов) зависит от операции.(n1 – число, Тclk – период, n2 – число обращений к шине, Тш – период)Можно оценить производительность.Команда – это некоторое число. Набор команд очень большой.
Команды могут бытьразной длины.CISC (Complete Instruction Set Computer – Компьютер с полным набором команд).RISC (Reduced Instruction Set Computer – Компьютер с уменьшенным наборомкоманд).Нужно сделать команды одинаковой длины. 32 бита –длина команды. Возникаетпроблема совместимости компьютеров с предыдущими версиями. Для решения этойпроблемы аппаратно команды процессора 8086 переводятся в соответствующуютридцатидвухбитную команду.Можно оценить максимальную скорость передачи по шине, время выполненияоперации. В какой-то момент лидирующим фактором быстродействия стала шина.Введение новой шины связано с довольно большими проблемами (разработка новыхстандартов, их утверждение и внедрение).
Время ввода новой шины было не соизмеримобольше скорости прогресса в создании процессоров. Прогресс в схемотехнике с точкизрения уменьшения размеров и увеличения количества элементов в микросхемеподчиняется закону Мура. С увеличением количества элементов процессора,увеличиваются его возможности. 16-и разрядная шина была заменена на 32-х разрядную.Не смотря на то, что шины портят показатели быстродействия компьютера, разработчикистарались улучшить показатели микропроцессоров.
В 486 процессоре появилось удвоениечастоты. Что можно сделать, чтобы увеличить производительность, изменяя толькопроцессор?В 86-ом процессоре была очередь команд. Она появилась потому, что, еслипроцессор выполняет операцию, которая занимает много тактов, шина простаивает.Каждая команда запоминается и дешифрируется, производятся множество каких-тоопераций. Для быстрого выполнения команды необходимо увеличить очередь команд ипопытаться организовать конвейер (все внутренние операции, которые проводитпроцессор, проводятся параллельно). Таким образом, если операций 5, то времени тратитсяв 5 раз меньше. За счет высокой степени интеграции и малого топологического размераможно сделать так, чтобы процессор работал с тактовой частотой отличной от тактовойчастоты шины. Есть тактовая частота, процессор ее удваивает (утраивает, …) и работает судвоенной (…) частотой => увеличивается скорость вычислений.Следующий шаг – КЭШ. Введен КЭШ первого уровня (КЭШ L1).
За счет того, чтоколичество элементов в микросхеме может быть очень большим, на кристалле, на которомделается процессор, можно сделать и КЭШ L1. Он работает с той же частотой, что ипроцессор. Выигрыш заключается в том, что если данные находятся в КЭШ L1, топроцессор их очень быстро обрабатывает. Могут быть случаи, когда от наличия КЭШ L1никакого выйгрыша нет, но большая часть программ пользуется определенным блокомданных в течении долгого времени, потом они обновляются. Принцип работы КЭШ L1:данные, которые не используются процессором выталкиваются в память и заменяются нате, которые ему нужны.
КЭШ L1 может быть и КЭШ данных и КЭШ команд. КЭШ L1начинал развиваться с объема порядка 4 Кбайт. Далее эта цифра увеличилась. Сейчас в К-7КЭШ L1 около 128 Кбайт. КЭШ второго уровня нужен совсем для других целей, он мало,что дает с точки зрения проведения вычислений.Частоты современных процессоров большие – сотни МГц – ГГц.Изменилась структура шины. Была системная шина ISA, к которой всеподключалось. Сейчас есть понятия системной шины (System Bus) и шины внешнихустройств (I/O Bus).
Это 2 разные вещи. После КЭШ L1 данные идут на КЭШ второгоуровня (КЭШ L2). КЭШ L2 находится близко, он большой. Если нужен обмен большимобъемом данных между внешним устройством и процессором, то эти данные сначалазаписываются в КЭШ L2. Это его основное назначение.Системная шина быстрая. Ее название PCI. Ее разрядность – 32 бита. Тактоваячастота 33 МГц (при появлении, сейчас – 56 МГц). Если перемножить эти 2 значения,получим скорость передачи данных. Эта шина синхронная. PCI имеет буфер.