Функциональная структура компьютера
Лекция. Архитектура современных высокопроизводительных ЭВМ. Функциональная структура компьютера. Основные концепции функционирования. Программное обеспечение компьютера. Основы алгоритмизации.
Функциональная структура компьютера
Устройство ввода
Блок памяти
Арифметико-логическое устройство
Блок вывода
Блок управления
Основные концепции функционирования
Структура шины
Программное обеспечение
Этапы подготовки и решения задач на ЭВМ
Алгоритмы и способы их описания
Функциональная структура компьютера
Как следует из рис. 3.1, компьютер состоит из пяти главных, функционально независимых частей:
устройство ввода,
устройство памяти,
арифметико-логическое устройство,
устройство вывода и
устройство управления.
Устройство ввода принимает через цифровые линии связи закодированную информацию от операторов, электромеханических устройств типа клавиатуры или от других компьютеров сети. Полученная информация либо сохраняется в памяти компьютера для последующего применения, либо немедленно используется арифметическими и логическими схемами для выполнения необходимых операций. Последовательность шагов обработки определяется хранящейся в памяти программой. Полученные результаты отправляются обратно, во внешний мир, посредством устройства вывода. Все эти действия координируются блоком управления. На рис. 3.1. намеренно не показаны связи между функциональными устройствами. Объясняется это тем, что такие связи могут быть по-разному реализованы. Как именно, вы поймете несколько позже. Арифметические и логические схемы в комплексе с главными управляющими схемами называют процессором, а все вместе взятое оборудование для ввода и вывода часто называют устройством ввода-вывода (input-output unit).
Теперь обратимся к обрабатываемой компьютером информации. Ее удобно разделять на две основные категории: команды и данные. Команды, или машинные команды, — это явно заданные инструкции, которые:
• управляют пересылкой информации внутри компьютера, а также между компьютером и его устройствами ввода-вывода;
• определяют подлежащие выполнению арифметические и логические операции.
Список команд, выполняющих некоторую задачу, называется программой. Обычно программы хранятся в памяти. Процессор по очереди извлекает команды программы из памяти и реализует определяемые ими операции. Компьютер полностью управляется хранимой программой, если не считать возможность внешнего вмешательства оператора и подсоединенных к машине устройств ввода-вывода.
Данные — это числа и закодированные символы, используемые в качестве операндов команд. Однако термин «данные» часто используется для обозначения любой цифровой информации. Согласно этому определению, сама программа (то есть список команд) также может считаться данными, если она обрабатывается другой программой. Примером обработки одной программой другой является компиляция исходной программы, написанной на языке высокого уровня, в список машинных команд, составляющих программу на машинном языке, которая называется объектной программой. Исходная программа поступает на вход компилятора, который транслирует ее в программу на машинном языке.
Рис. 3.1. Базовые функциональные устройства компьютера
Информация, предназначенная для обработки компьютером, должна быть закодирована, чтобы иметь подходящий для компьютера формат. Современное аппаратное обеспечение в большинстве своем основано на цифровых схемах, у которых имеется только два устойчивых состояния, ON и OFF (см. лекцию 2). В результате кодирования любое число, символ или команда преобразуется в строку двоичных цифр, называемых битами, каждый из которых имеет одно из двух возможных значений: 0 или 1. Для представления чисел (как станет ясно из лекции 4) обычно используется позиционная двоичная нотация. Иногда применяется двоично-десятичный формат (Binary-Coded Decimal, BCD), в соответствии с которым каждая десятичная цифра кодируется отдельно, с помощью четырех бит.
Буквы и цифры также представляются посредством двоичных кодов. Для них разработано несколько разных схем кодирования. Наиболее распространенными считаются схемы ASCII (American Standard Code for Information Interchange — американский стандартный код для обмена информацией), где каждый символ представлен 7-битовым кодом, и EBCDIC (Extended Binary Coded Decimal Interchange Code — расширенный двоично-десятичный код для обмена информацией), в котором для кодирования символа используется 8 бит.
Устройство ввода
Компьютер принимает кодированную информацию через устройство ввода, задачей которого является чтение данных. Наиболее распространенным устройством ввода является клавиатура. Когда пользователь нажимает клавишу, соответствующая буква или цифра автоматически преобразуется в определенный двоичный код и по кабелю пересылается либо в память, либо процессору.
Существует и ряд других устройств ввода, среди которых джойстики, трекболы и мыши. Они используются совместно с дисплеем в качестве графических входных устройств. Для ввода звука могут использоваться микрофоны. Воспринимаемые ими звуковые колебания измеряются и конвертируются в цифровые коды для хранения и обработки.
Блок памяти
Задачей блока памяти является хранение программ и данных. Существует два класса запоминающих устройств, а именно первичные и вторичные. Первичное запоминающее устройство (primary storage) — это память, быстродействие которой определяется скоростью работы электронных схем. Пока программа выполняется, она должна храниться в первичной памяти. Эта память состоит из большого количества полупроводниковых ячеек, каждая из которых может хранить один бит информации. Ячейки редко считываются по отдельности — обычно они обрабатываются группами фиксированного размера, называемыми словами. Память организована так, что содержимое одного слова, содержащего n бит, может записываться или считываться за одну базовую операцию.
Для облегчения доступа к словам в памяти с каждым словом связывается отдельный адрес. Адреса — это числа, идентифицирующие конкретные местоположения слов в памяти. Для того чтобы прочитать слово из памяти или записать его в таковую, необходимо указать его адрес и задать управляющую команду, которая начнет соответствующую операцию.
Количество битов в каждом слове часто называют длиной машинного слова. Обычно слово имеет длину от 16 до 64 бит. Одним из факторов, характеризующих класс компьютера, является емкость его памяти. Малые машины обычно могут хранить лишь несколько десятков миллионов слов, тогда как средние и большие машины обычно способны хранить сотни миллионов и миллиарды слов. Типичными единицами измерения количества обрабатываемых машиной данных являются слово, несколько слов или часть слова. Как правило, за время одного обращения к памяти считывается или записывается только одно слово.
Во время выполнения программа должна находиться в памяти. Команды и данные должны записываться в память и считываться из памяти под управлением процессора. Исключительно важна возможность предельно быстрого доступа к любому слову памяти. Память, к любой точке которой можно получить доступ за короткое и фиксированное время, называется памятью с произвольным доступом (Random-Access Memory, RAM). Время, необходимое для доступа к одному слову, называется временем доступа к памяти. Это время всегда одинаково, независимо от того, где располагается нужное слово. Время доступа к памяти в современных устройствах RAM составляет от нескольких наносекунд до 100. Память компьютера обычно представляет собой иерархическую структуру, состоящую из трех или четырех уровней полупроводниковых RAM-элементов с различной скоростью и разным размером. Наиболее быстродействующим типом RAM-памяти является кэш-память (или просто кэш). Она напрямую связана с процессором и часто находится на одном с ним интегрированном чипе, благодаря чему работа процессора значительно ускоряется. Память большей емкости, но менее быстрая, называется основной памятью (main memory). Далее в этой лекции процесс доступа к информации в памяти описывается подробнее, а позднее мы детально рассмотрим принципы ее функционирования и вопросы, связанные с производительностью.
Первичные запоминающие устройства являются исключительно важными компонентами для компьютера, но они довольно дороги. Поэтому компьютеры оборудуются дополнительными, более дешевыми вторичными запоминающими устройствами, используемыми для хранения больших объемов данных и большого количества программ. В настоящее время таких устройств имеется достаточно много. Но наиболее широкое распространение получили магнитные диски, магнитные ленты и оптические диски (CD-ROM).