- •Московский государственный институт
- •Семинар 1. Числовой логический уровень
- •Система счисления.
- •Позиционные системы счисления.
- •Выбор системы счисления
- •Перевод чисел из одной системы счисления в другую
- •Перевод чисел из одной системы счисления в другую, когда одно основание является целой степенью другого.
- •Проблема представления отрицательных чисел
- •Замечания.
- •Дополнительный код.
- •Прямой код.
- •Обратный код.
- •Способы представления чисел в эвм
- •Фиксированная запятая
- •Плавающая запятая
- •Выполнение арифметических операций над числами, представленными с фиксированной запятой.
- •Семинар 2. Цифровой логический уровень и методы передачи данных Уровень физических устройств.
- •Электротехническая интерпретация
- •Методы передачи данных
- •Параллельная передача данных
- •Последовательная передача данных
- •Синхронные коммуникации
- •Передача в основной полосе частот и широкополосная передача.
- •Вопросы и задания
- •Семинар 3. Архитектура классической эвм
- •Система кодирования команд
- •Взаимозависимость формата команды и основных параметров эвм
- •Способы адресации
- •Семинар 4. Простой процессор, работающий с четырехадресной командой. Введение
- •Функционирование программируемого процессора
- •Алгоритм работы
- •Задание
- •Семинар 5. Микропроцессор – дальнейшее развитие Введение
- •Модернизация
- •Задание
- •Семинар 6. Дальнейшее совершенствование микропроцессора, одноадресные и безадресные команды. Анализ предыдущей модели
- •Задание
- •Шинная структура связей
- •Семинар 7. Кэш-память Введение
- •Структура кэш-памяти в процессореi486.
- •Алгоритм псевдоLru.
- •Увеличение производительности кэш памяти.
- •Семинар 8. Микропроцессорная система Введение
- •Микропроцессор
- •Типичныймикропроцессор
- •Синхронные и асинхронные процессоры
- •Режимы работы микропроцессорной системы
- •Архитектура микропроцессорных систем
- •Типы микропроцессорных систем
- •Семинар 9. Функционирование процессора Введение
- •Адресация операндов
- •Сегментирование памяти
- •Адресация байтов и слов
- •Регистры процессора
- •Семинар 10. Организация пк Введение
- •Архитектура персонального компьютера
- •Процессоры персональных компьютеров
- •Особенности процессора 486
- •Особенности процессоров Pentium
- •Семинар 11. Интерфейсы пк Введение
- •Последовательный порт(rs-232).
- •Параллельный порт(lpt).
- •Интерфейс ide.
- •Cпецификация Enhanced ide (eide)
- •Интерфейс scsi.
- •Характеристики scsi.
- •Системная магистраль isa
- •Распределение ресурсов компьютера
- •Семинар 12. Видеосистема пк и режимы графической акселерации Введение
- •Мониторы
- •Видеоадаптеры
- •Понятие о графических ускорителях
- •Ускорители двумерной графики
- •Ускорители трехмерной графики
- •Семинар 13. Файловая система компьютера Введение
- •Общие сведения о файлах
- •Типы файлов
- •Атрибуты файлов
- •Организация файлов и доступ к ним
- •Последовательный файл
- •Файл прямого доступа
- •Другие формы организации файлов
- •Операции над файлами
- •Директории. Логическая структура файлового архива
- •Разделы диска. Организация доступа к архиву файлов.
- •Операции над директориями
- •Защита файлов
- •Контроль доступа к файлам
- •Списки прав доступа
- •Заключение
- •Семинар 14. Практика настройки и использования пк. Системный блок
- •Загрузка операционной системы
- •Дисковые накопители
- •Настройка компьютера
- •Настройка видеоадаптера
- •Настройка звуковой карты
- •Настройка cd-rom
- •Модернизация компьютера
- •Защита данных и самого компьютера
- •Использование программы bios setup
- •Увеличение оперативной памяти
- •Установка дополнительных плат
- •Самотестирование при включении
- •Поиск и устранение неисправностей
- •Системная плата
- •Основной микропроцессор
- •Системная и локальная шина.
Синхронные и асинхронные процессоры
Некоторые процессоры могут работать с различными сопроцессорами (например, с графическими процессорами, процессорами с плавающей точкой и т.п.). Практически все современные процессоры синхронны как процессоры с жесткой логикой, так и программируемые процессоры. Для современного процессора работать в синхронном режиме также естественно, как нам с вами «говорить прозой». В процессоре в роли командира, задающего темп, выступают тактовый генератор или системные часы. Сегодня только и слышишь: «частота, частота...». Тактовая частота стала настолько обязательным атрибутом в имидже процессоров, что даже школьники младших классов называют соответствующую цифру, говоря о своих домашних «компах», едва ли понимая ее смысл.
Если вы хотите заставить массу людей целенаправленно передвигаться в заданном направлении, нет ничего лучше, чем, воспользовавшись вековым армейским опытом, принудить толпу шагать в ногу стройными рядами. При необходимости ускориться, можно скомандовать «шире шаг» или увеличить частоту (правда, последнее действие для армейского строя возможно только в теории — частота шага лимитирована собственной частотой колебания маятника-ноги). И все же ускорение имеет предел, определяемый не физическими возможностями идущих строем, а синхронностью. Каждый из них имеет потенциал для более быстрого движения, но на жесткой связке это сделать невозможно. Для того чтобы реализовать потенциал, нужно перейти на асинхронный шаг или бег — при условии, что будет предложен некий альтернативный механизм управления. Еще одним ограничением для синхронного перемещения является численность идущих строем людей; понятно, что сверх какого-то предела всем шагать в ногу не удастся. Эти банальные рассуждения относительно ограничений, накладываемых синхронностью, как ни удивительно, вполне можно отнести к процессорам. Мы привыкли к тому, что компоненты большинства процессоров «шагают в ногу», но есть основания предположить, у традиционной синхронной схемы есть альтернатива в лице асинхронной.
Главная беда синхронности заключается в том, что она требует для своей реализации весьма сложный механизм управления, который может занимать от 10 до 50% общего числа транзисторов на микросхеме. Стоит задуматься: почти половина от всего наполнения чипа, оказывается, занято непродуктивной работой, играет роль координатора, не более того. Это имеет целый ряд негативных последствий — и, прежде всего, сложность в двух ее ипостасях. Во-первых, сложность самого изделия как такового, и, во-вторых, что может быть даже важнее, постоянно растущая сложность и трудоемкость проектирования, вызванная необходимостью совместить два потока информации, обрабатываемый и управляющий. Когда количество транзисторов на кристалле исчисляется десятками миллионов, процесс проектирования становится в подлинном смысле запредельно сложным. Немногочисленные крупные производители, способные обеспечить проектирование на требуемом уровне, используют самые совершенные системы автоматизации проектирования, однако сложное вхождение в жизнь некоторых семейств 64-разрядных процессоров, постоянные переносы сроков выпуска свидетельствуют, что этого недостаточно. Дальше непредвиденных осложнений, видимо, будет еще больше. Закону Мура, в его упрошенной трактовке постулирующему удвоение производительности каждые 18 месяцев, угрожают не технологические барьеры, а сложность проектирования, в том числе и проблемы, связанные с тестированием. (О неминуемом повышении энергопотребления, о физическом пределе роста частоты, о роли электромагнитного излучения, особенно в мобильных устройствах, и других подобных вещах за всей их очевидностью, говорить не будем.)
Откуда же происходит сохраняющаяся приверженность синхронности, если она так плоха? Есть простенькое маркетинговое объяснение: чем тяжеловеснее проектирование или производство, тем выше уровень монополизации отрасли; понятно, кто оказывается в выигрыше. Но существует и более серьезное объяснение генезиса проблемы. Синхронность в современных процессорах есть прямое следствие использования исключительно двоичной булевой логики. Изобретенная Джорджем Булем в середине XIX века, эта логика оставалась в безвестности почти век, до тех пор, пока юный в ту пору студент Клод Шеннон не открыл ее возможностей для конструирования электронных схем, по своей физической природе в основном двоичных. Если позволите, «врожденный порок», которым страдает двоичная логика, состоит в том, что она не включает в себя условие завершения выполнения функции; она может существовать только на фоне соответствующей временной диаграммы, развертывающей процесс выполнения во времени. Иными словами, булева логика не представляет собой символически законченную логическую систему (symbolically completed), поскольку ей для завершения недостаточно собственного потока логических переменных. В данном случае «completed» можно перевести и как «завершенная» (еще точнее будет довольно странное словосочетание «способная к завершению», но может быть, лучше было бы назвать ее «самодостаточной»). Нельзя сказать, что в этом направлении ничего не делается. Это и машины на троичной логике Николая Брусенцова «Сетунь», «Сетунь 70», это разработка альтернативной логики NULL Convention Logic (NCL), выполненная специалистами из небольшой компании Theseus Logic.
Избавление от обязательных часов и необходимости в синхронизации в NULL Convention Logic достигается путем интеграции данных и управления в одном логическом выражении, в одном логическом потоке, где NULL, ее называют переменной-разделителем, выполняет синхронизующую функцию. Информативные сигналы, нули и единицы, и NULL передаются по разным проводам, поэтому иногда такой подход образно называют «dual rail», подразумевая под этим, что для передачи сигнала используется «два рельса» (точнее, два провода). Важно заметить разницу в смысловом значении сигнала: проводник сам по себе не несет в себе логического значения, изменение напряжения на нем свидетельствует только о том, что сигнал поступил. Сигнал приобретает логический смысл лишь тогда, когда по параллельному проводнику поступает NULL; такое разделение обеспечивает самосинхронизацию. Логику NCL можно представить как второй логический уровень над булевой логикой, который позволяет воспроизвести троичные элементы с использованием принятых сегодня технологий.
Однако к проблеме синхронности можно подойти с еще одной неожиданной позиции. Вспомним начала кибернетики. Одно из важнейших достижений Норберта Винера заключается в том, что он показал значение обратной связи в системах с саморегулированием в живом мире и в технике. Существует альтернатива: либо управление по обратной связи, либо программное управление, третьего не дано. Обратная связь дает элементу системы возможность оценить сделанное (например, свое положение в некотором пространстве параметров), критически его оценить посредством регулятора с отрицательной обратной связью и внести коррекцию во входные параметры, чтобы приблизиться к требуемому положению. Типичный пример программного управления — стрельба из артиллерийских орудий, пример управления с обратной связью — боеголовка с самонаведением. Первыми программными автоматами были механические игрушки, шарманки и тому подобное; они не меняют своего положения, поэтому программного управления оказывается достаточно. Процессор, работающий по заданной временной диаграмме, — точно такая же синхронная машина с конечным числом состояний, что и механическое пианино. Какими бы сложными не были архитектуры современных процессоров: суперскалярными, конвейерными и прочее, прочее — все они попадают в эту простейшую модель.
Внедрение асинхронного управления в процессор означает частичный или полный отказ от программного управления и переход к управлению по обратной связи. На рисунке представлены два подхода: синхронный и асинхронный. Наполнение блока «Комбинационная Логика» может различаться в зависимости от избранного решения. При всем разнообразии решений с точки зрения управления, все они различаются между собой глубиной проникновения обратной связи — иначе говоря, тем, какой объем логики предполагается вместить в прямоугольник, обозначенный как «Комбинационная Логика». Обратную связь можно поместить на самый нижний уровень, реализуемый непосредственно на кристалле C-MOS, если использовать так называемые элементы С или элементы Мюллера и синтезировать процессор с использованием аппарата сетей Петри. Более высокий, средний уровень предполагает включение дополнительных сигналов в поток данных, что позволяет реализовать обратную связь на уровне элементарных логических функций. К среднему уровню также относят и технологию, которая называется микроконвейерной. Наконец, третий, верхний уровень предполагает охватывание петлей обратной связи более крупных логических компонентов, включающих в себя регистры целиком.

Синхронный и асинхронный процесс
Если вернуться к аналогии с армейским строем, то в асинхронном процессоре ответственность за совместность действий переносится на его участников, они должны поглядывать на остальных и регулировать свое движение по отношению к ним.
