Структуры вычислительных машин
В настоящее время примерно одинаковое распространение получили два способа построения вычислительных машин: с непосредственными связями и на основе шины.
Типичным представителем первого способа может служить классическая фон-неймановская ВМ. В ней между взаимодействующими устройствами (процессор, память, устройство ввода/вывода) имеются непосредственные связи. Особенности связей (число линий в шинах, пропускная способность и т.п.) определяются видом информации, характером и интенсивностью обмена. Достоинством архитектуры с непосредственными связями можно считать возможность развязки “узких мест” путем улучшения структуры и характеристик только определенных связей, что экономически может быть выгодным. У фон-неймановских ВМ таким “узким местом” является канал пересылки данных между ЦП и памятью. ВМ с непосредственными связями плохо поддаются реконфигурации.
В варианте с общей шиной все устройства вычислительной машины подключены к магистральной шине, служащей единственным трактом для потоков команд, данных и управления. Структура ВМ показана на рисунке 2.
Рисунок 2. Структура ВМ на базе общей шины
Наличие общей шины существенно упрощает реализацию ВМ, позволяет легко менять состав и конфигурацию машины. Благодаря этим свойствам шинная архитектура получила широкое распространение в мини- и микроЭВМ. Вместе с тем, именно с шиной связан и основной недостаток архитектуры: в каждый момент передавать информацию по шине может только одно устройство. Основную нагрузку на шину создают обмены между процессором и памятью, связанные с извлечением из памяти команд и данных и записью в память результатов вычислений. На операции ввода/вывода остается лишь часть пропускной способности шины. Практика показывает, что даже при достаточно быстрой шине для 90% приложений этих остаточных ресурсов обычно не хватает, особенно в случае ввода или вывода больших массивов данных.
В целом следует признать, что при сохранении фон-неймановской концепции последовательного выполнения команд программы шинная архитектура в чистом ее виде оказывается недостаточно эффективной. Более распространена архитектура с иерархией шин, где помимо магистральной шины имеется еще несколько дополнительных шин. Они могут обеспечивать непосредственную связь между устройствами с наиболее интенсивным обменом, например процессором и кэш-памятью. Другой вариант использования дополнительных шин – объединение однотипных устройств ввода/вывода с последующим выходом с дополнительной шины на магистральную. Все эти меры позволяют снизить нагрузку на общую шину и более эффективно расходовать ее пропускную способность. Можно предложить два типа ВМ с двухшинной структурой, изображенных на рисунках 3 и 4.
Рисунок 3. Первый вариант двухшинной структуры ВМ
Рисунок 4. Второй вариант двухшинной структуры ВМ
Второй вариант двухшинной структуры ВМ обеспечивает большее быстродействие, так как при работе ЦП может продолжать отрабатывать программу (извлекая команды и данные из основной памяти), в то время как внешние устройства при необходимости сами обмениваются данными с основной памятью. Но такая структура достаточно дорога при реализации, так как требует интеллектуальных внешних устройств, ведущих самостоятельный обмен с основной памятью. Существуют варианты ВМ с тремя и более шинами.