Функциональная структура компьютера
Схема ЭВМ, отвечающая программному принципу управления, логично вытекает из последовательного характера преобразований, выполняемых человеком по некоторому алгоритму (программе). Обобщенная структурная схема ЭВМ первых поколений представлена на рисунке 2.1.
Рисунок 2.1 Структурная схема ЭВМ первых поколений
В любой ЭВМ имеются устройства ввода информации (УВв), с помощью которых пользователи вводят в ЭВМ программы решаемых задач и данные к ним. Введенная информация полностью или частично сначала запоминается в оперативном запоминающем устройстве (ОЗУ), а затем переносится во внешнее запоминающее устройство (ВЗУ), предназначенное для длительного хранения информации, где преобразуется в специальный информационный объект − файл.
Файл – идентифицированная совокупность экземпляров полностью описанного в конкретной программе типа данных, находящихся вне программы во внешней памяти и доступных программе посредством специальных операций.
При использовании файла в вычислительном процессе его содержимое переносится в ОЗУ. Затем программная информация команда за командой считывается в устройство управления.
Устройство управления (УУ) предназначается для автоматического выполнения программ путем принудительной координации всех остальных устройств ЭВМ. Цепи сигналов управления показаны на рисунке 2.1 штриховыми линиями. Вызываемые из ОЗУ команды дешифрируются устройством управления: определяют код операции, которую необходимо выполнить следующей, и адреса операндов, принимающих участие в данной операции.
Арифметико-логическое устройство (АЛУ) выполняет арифметические и логические операции над данными. Основной частью АЛУ является операционный автомат, в состав которого входят сумматоры, счетчики, регистры, логические преобразователи и др. Он каждый раз перестраивается на выполнение очередной операции. Результаты выполнения отдельных операций сохраняются для последующего использования на одном из регистров АЛУ или записываются в память.
В качестве устройств вывода (УВыв) могут использоваться экран дисплея, принтер, графопостроитель и др.
Современные ЭВМ имеют достаточно развитые системы машинных операций.
Например, ЭВМ типа IBM PC имеют несколько сотен различных операций (их количество зависит от типа микропроцессора). Любая операция в ЭВМ выполняется по определенной микропрограмме, реализуемой в схемах АЛУ соответствующей последовательностью сигналов управления (микрокоманд). Каждая отдельная микрокоманда – это простейшее элементарное преобразование данных типа алгебраического сложения, сдвига, перезаписи информации и т.п.
Уже в первых ЭВМ для увеличения их производительности широко применялось совмещение операций. При этом последовательные фазы выполнения отдельных команд программы (формирование адресов операндов, выборка операндов, выполнение операции, отсылка результата) выполнялись отдельными функциональными блоками. В своей работе они образовывали своеобразный конвейер, а их параллельная работа позволяла обрабатывать различные фазы целого блока команд.
Этот принцип получил дальнейшее развитие в ЭВМ следующих поколений. Но все же первые ЭВМ имели очень сильную централизацию управления, единые стандарты форматов команд и данных, «жесткое» построение циклов выполнения отдельных операций, что во многом объясняет ограниченные возможности используемой в них элементной базы. Центральное УУ обслуживало не только вычислительные операции, но и операции ввода-вывода, пересылок данных между ЗУ и др. Все это позволяло в какой-то степени упростить аппаратуру ЭВМ, но сильно сдерживало рост их производительности.
В ЭВМ третьего поколения произошло усложнение структуры за счет разделения процессов ввода-вывода информации и процесса ее обработки.
Тесно связанные устройства АЛУ и УУ получили название процессор.
В схеме ЭВМ появились дополнительные устройства, которые имели такие названия: процессоры ввода-вывода, устройство управления обменом информацией, канал ввода-вывода. Последнее получило наибольшее распространение применительно к большим ЭВМ. Здесь наметилась тенденция к децентрализации управления и параллельной работе отдельных устройств, что позволило резко повысить быстродействие ЭВМ в целом.
Среди каналов ввода-вывода выделяли мультиплексные каналы, способные обслуживать большое количество медленно работающих устройств ввода-вывода, и селекторные каналы, обслуживающие в многоканальных режимах скоростные внешние запоминающие устройства (ВЗУ).
В персональных компьютерах, относящихся к ЭВМ четвертого поколения, произошло дальнейшее изменение структуры (рисунок 2.2). Соединение всех устройств в единую машину обеспечивается с помощью общей шины, представляющей собой линии передачи данных, адресов, сигналов управления и питания. Единая система аппаратурных соединений значительно упростила структуру, сделав ее еще более децентрализованной.
Все передачи данных по шине осуществляются под управлением сервисных программ.
Рисунок 2.2 Структурная схема ПК
Ядро ПК образуют процессор, основная память (ОП), состоящая из оперативной памяти и постоянного запоминающего устройства (ПЗУ), и видеопамять.
ПЗУ предназначается для записи и постоянного хранения наиболее часто используемых программ управления.
Подключение всех внешних устройств (ВнУ), дисплея, клавиатуры, внешних ЗУ и др., обеспечивается через соответствующие адаптеры – согласователи скоростей работы сопрягаемых устройств или контроллеры – специальные устройства управления периферийной аппаратурой. Контроллеры в ПК играют роль каналов ввода-вывода. В качестве особых устройств следует выделить таймер – устройство измерения времени и контроллер прямого доступа к памяти (КПД) – устройство, обеспечивающее доступ к ОП, минуя процессор.
Способ формирования структуры ПК является достаточно логичным и естественным стандартом для данного класса ЭВМ.
Центральное место в структуре ПК занимает шина. Шина – это общий канал связи, используемый для обмена информацией между устройствами компьютера. В первых ПК она была представлена просто набором проводников, предназначенных для передачи данных, адресов, питания и сигналов управления. По мере развития вычислительной техники, усложнения структуры компьютеров, увеличения быстродействия устройств и объемов пересылаемых данных, насыщения периферии разнообразными устройствами, в том числе и мультимедийными, единственная шина уже не могла обеспечить эффективной работы.
В современных ПК канал взаимодействия устройств компьютера представлен объединением большого количества шин, работающих в соответствии со старыми и новыми стандартами. Сохранение старых стандартов обеспечивает совместимость, то есть возможность работы с традиционными устройствами, подключаемыми к COM- и LPT-портам.
Организацию согласованной работы шин и устройств выполняют микросхемы системной логики, называемые чипсетом (Chipset).
Большинство наборов микросхем системной логики имеют ярко выраженную иерархическую структуру построения, отвечающую уровням высокоскоростных и низкоскоростных устройств ввода-вывода данных. Для последних микропроцессоров Pentium используется так называемая Hub-структура чипсета. При этом слово «hub» можно в равной степени понимать как коммутатор (устройство для соединения отдельных входов с определенными выходами) или концентратор (устройство, согласующее высокоскоростные каналы с менее скоростными).
В структуре чипсета за работу высокоскоростных устройств ядра компьютера отвечает North Bridge, NB – северный мост (в некоторых наборах, например Intel 820, его называют Memory Controller Hub, MCH – контроллер памяти, он же и графический контроллер для управления видеосистемой через ускоренный графический порт Accelerated Graphics Port, AGP). Каналы передачи данных между процессором или двумя процессорами, видеопамятью и оперативной памятью имеют пропускную способность более 1 Гбайт/с.
Низкоскоростными устройствами ввода-вывода данных управляет South Bridge, SB (южный мост). В наборе Intel 820 он называется I/O Controller Hub – контроллер, обслуживающий низкоскоростные устройства ввода-вывода. Именно этот порт согласовывает стандарты обмена данными по различным шинам.
История развития вычислительной техники показала, что самым узким местом ЭВМ является связь «процессор-память». Быстродействие памяти во многом определяет общую скорость последовательных вычислений. Поэтому мощность самых новейших микропроцессоров используется лишь на 25-30 %.
С точки зрения пользователя, желательно иметь в ЭВМ оперативную память большой емкости и высокого быстродействия. Однако одноуровневое построение памяти не позволяет одновременно удовлетворить этим двум противоречивым требованиям.
Поэтому память современных ЭВМ строится по многоуровневому, пирамидальному принципу.
В составе процессоров имеется сверхоперативное запоминающее устройство небольшой емкости, образованное несколькими десятками регистров с быстрым временем доступа, составляющим один такт процессора (наносекунды, нс). Здесь обычно хранятся данные, непосредственно участвующие в обработке.
Следующий уровень образует кэш-память, или память блокнотного типа. Она представляет собой буферное запоминающее устройство, предназначенное для хранения активных страниц объемом десятки и сотни Кбайт. Кэш-память, как более быстродействующая, предназначается для ускорения выборки команд программы и обрабатываемых данных. Здесь возможна ассоциативная выборка данных.
Основной объем программ пользователей и данных к ним размещается в оперативном запоминающем устройстве (емкость – миллионы машинных слов, время выборки – до 20 тактов процессора).
Часть машинных программ и наиболее часто используемых констант, обеспечивающих автоматическое управление вычислениями, может размещаться в постоянном запоминающем устройстве (ПЗУ).
На более низких уровнях иерархии находятся внешние запоминающие устройства на магнитных носителях: на жестких и гибких магнитных дисках, магнитных лентах, магнитооптических дисках и др. Их отличает более низкое быстродействие и очень большая емкость.
Организация заблаговременного обмена информационными потоками между ЗУ различных уровней при децентрализованном управлении ими позволяет рассматривать иерархию памяти как абстрактную единую виртуальную (кажущуюся) память. Согласованная работа всех уровней обеспечивается под управлением программ операционной системы. Пользователь имеет возможность работы с памятью, намного превышающей емкость ОЗУ.