
Упрощенная структура компьютера состоит из следующих основных узлов: арифметико-логическое устройство (АЛУ), оперативное запоминающее устройство (ОЗУ), управляющее устройство (УУ), устройство ввода данных в машину (УВв) и устройство вывода результатов проведенных расчетов (УВыв). Именно такую «пятиблочную» структуру имели вычислительные машины первого поколения. Помимо перечисленных узлов любой компьютер имеет пульт ручного управления, предназначенный для включения машины и слежения за правильностью ее работы. Теперь принято называть АЛУ с соответствующими схемами управления процессором, схемы для управления и подключения периферийных устройств — контроллерами и адаптерами, а передача информации между блоками компьютера осуществляется по шинам интерфейса. Арифметико-логическое устройство предназначено для выполнения арифметических и логических операций над машинными словами, т.е. кодами, находящимися в памяти и поступающими в АЛУ для обработки. Кроме того, оно выполняет различные операции по управлению вычислениями.
Помимо ЦП и ОП компьютер содержит множество периферийных (или внешних) устройств, предназначенных для связи с внешним миром (человеком, объектами управления и т.п.). Эти устройства подключаются к ОШ с помощью контроллеров, адаптеров, шинных мостов и т.п.
Оперативное запоминающее устройство, или оперативная память, хранит коды машинных слов (команд и данных) в своих ячейках. Эти ячейки нумеруются, а номер ячейки называется адресом. В памяти компьютера, как правило, находятся только команды и данные. Машина использует хранимую в ОЗУ информацию для организации вычислительного процесса. Информация попадает в ОЗУ из устройства ввода или из внешнего запоминающего устройства (ВЗУ). Внешняя память позволяет хранить большие объемы информации, но обладает меньшим быстродействием по сравнению с ОЗУ. В течение всего процесса обработки информация поступает в АЛУ только из ОЗУ, а результаты выполнения программы выдаются на устройство вывода после окончания обработки. Точно так же информация из ВЗУ, прежде чем принять участие в обработке, должна быть предварительно переписана в ОЗУ.
В персональном компьютере (а в последнее время и в компьютерах других типов) основная память состоит из двух частей — постоянной и оперативной. В очень небольшой по современным понятиям (она достигает нескольких мегабайт) постоянной памяти хранится программа начальной загрузки, называемая BIOS (Basic Input-Output System). Эта информация «зашита» в памяти, т. е. хранится постоянно. Оперативная память в момент включения компьютера не содержит никакой информации. При его включении на все блоки подается сигнал установки в исходное «нулевое» состояние, начинают формироваться тактовые импульсы и компьютер начинает работать.
Оперативная память. Оперативное запоминающее устройство является основной частью адресуемой памяти компьютера, поэтому его часто называют основной памятью. За последние годы ее объем увеличился в сотни раз и в настоящее время в персональных компьютерах достигает 4 Гбайт (он определяется длиной адресной части команды, которая составляет 32 разряда), а в серверах может быть и значительно больше. Информация, постоянно хранящаяся во внешних ЗУ, становится доступной процессору только после загрузки ее в ОП. Оперативная память — это ЗУ с произвольным доступом, длительность записи и чтения постоянны и не зависят от номера ячейки.
Основную память можно рассматривать в виде линейной последовательности одинаковых ячеек (обычно в современных компьютерах их длина составляет один байт). При обращении к ОП передается адрес ячейки (по адресной шине), данные (по информационной шине) и управляющие сигналы (например, сигналы записи или чтения). Конструкция компьютера может привести к необходимости совмещения адресной и информационной шин, тогда по такой совмещенной шине адреса и данные передаются последовательно.
В настоящее время оперативная память представляет собой энергозависимое устройство, т. е. информация может храниться в нем только при наличии питания; при выключении питания она не сохраняется. (В качестве ОП в компьютерах второго и третьего поколений использовали сложную в производстве дорогостоящую ферритовую память, но теперь, когда применение компьютеров стало повсеместным, ей пришла на смену более технологичная полупроводниковая память. Ферритовая память обладает рядом достоинств, она энергонезависима, т.е. сохраняет записанную в ней информацию при выключении питания, и обладает радиационной стойкостью.)
Основная память, как правило, строится на сравнительно недорогих динамических элементах, но ее быстродействие значительно отстает от быстродействия процессора и растет очень медленно. Время записи или чтения информационного слова из такой памяти существенно превышает длительность цикла процессора и в настоящее время составляет порядка 30...50 не.
Запоминающий элемент динамической памяти состоит из конденсатора С, отсутствие или наличие заряда в котором и означает «0» или «1», а также транзистора, служащего для изоляции конденсатора от остальных схем. Кроме того, для записи и чтения предусматривают еще два транзистора (рис. 6.3). Размеры конденсатора малы, это позволяет размещать запоминающие элементы в кристалле с высокой плотностью. Но малые размеры конденсатодовательно, время утечки заря- да, т.е. длительность хранения информации в нем, также незначительно и составляет десятки миллисекунд. Поэтому дина мические элементы требуют для постоянного поддержания в них информации специальных циклов регенерации, которая производится каждые 2... 8 мс. Регенерация — это процесс принудительного чтения и записи считанной информации в ту же ячейку памяти. Если содержимое ячейки использовалось в течение времени между циклами регенерации, то процесс регенерации этой ячейки можно опустить.
Оперативную память можно представить в виде матрицы запоминающих ячеек; тогда для обращения к ячейке, т. е. для записи или чтения данных из нее, нужно передать адрес А„... Aq этой ячейки. Адрес включает в себя две составляющие: адрес строки (raw) и адрес столбца (column). Они поступают на регистр адреса ОП (обычно одновременно) и затем дешифрируются. К выходам дешифраторов подключены горизонтальные и вертикальные адресные линии матрицы ячеек, образующие соответственно строку и столбец матрицы. Помимо адресных линий все ячейки связаны вертикальными линиями, по которым данные Dm...D0 поступают в ОП или считываются из нее. Данные, подлежащие записи в память, поступают на информационный регистр, а затем на выбранную ячейку. При операциях чтения данные из этой ячейки поступают на тот же информационный регистр, а затем передаются по шине в процессор.
Управление ОП осуществляется сигналами разрешения записи (WE), разрешения выдачи выходных сигналов (ОЕ) и выбора микросхемы памяти (CS); помимо этого адрес строки и столбца сопровождается стробирующими сигналами RAS и CAS (рис. 6.4).
Контроллер памяти, т.е. схема, вырабатывающая сигнал управления при обращении к ОЗУ, обычно строится по синхронной схеме. Каждая операция в памяти требует не менее пяти тактов: определение типа операции (чтение или запись) и установка адреса строки, формирование сигнала RAS, установка адреса столбца, формирование сигнала CAS, перевод сигналов RAS и CAS в первоначальное состояние. Поскольку адрес строки и столбца используются не одновременно, то для уменьшения числа контактов микросхемы памяти в большинстве случаев производится их мультиплексирование.
Быстродействие компьютера неразрывно связано с повышением пропускной способности памяти, что можно достичь несколькими способами. Во-первых, между процессором и ОП можно установить более быструю буферную память (кэш-память), куда помещать обрабатываемые данные. Во-вторых, выполнять расслоение памяти, т. е. строить ОП из нескольких блоков и размещать в них данные так, чтобы обращение к ним производилось последовательно. В-третьих, производить выборку из ОП широким слоем и расформировывать его на отдельные команды или слова данных в регистрах процессора.
Если память строится в виде нескольких модулей с автономными схемами адресации, записи и чтения, то можно организовать расслоение памяти. Под расслоением понимают такую организацию ОП, когда ее выполняют из нескольких автономных модулей, в которые информация заносится по определенным правилам.
Известно несколько способов организации расслоения. В персональных компьютерах для этих целей чаще всего используется разделение памяти на память данных и память программ. Такое расслоение применяется при организации внутренней кэш-памяти практически всех современных микропроцессоров. Сегодня в каждом микропроцессоре имеется внутренняя кэш-память объемом от 8 до 64 Кбайт и более, разделенная на два блока — память команд и память данных. При выполнении любой команды требуется несколько обращений в память как за самой командой, так и операндами; эти обращения производятся в разные блоки внутренней памяти.
В случае классического расслоения памяти ее строят из нескольких модулей; ячейки с последовательными адресами находятся в различных модулях. Благодаря свойству локальности программ (и данных) вслед за текущей командой вероятнее всего следующей будет выполняться команда, адрес которой на единицу больше адреса текущей команды, т.е. команда, хранящаяся в следующем модуле памяти. Такой порядок нарушается только командами переходов. Данные также записываются в память и используются программой последовательно, т. е. из разных модулей. Такое расслоение возможно только при постоянном формате команд.
Расслоение памяти чаще всего организуют в соответствии с младшими разрядами. Адрес включает в себя две составляющие (рис. 6.5, а):
А = Ас,., Алл,
где Act, Амл — старшие и младшие разряды соответственно.
Все программы и данные располагаются в памяти последовательно. Однако ячейки со смежными адресами находятся в разных физических блоках.
Предположим, что в машине используются четыре модуля памяти, а номер модуля соответствует содержимому двух младших разрядов адреса AM. Тогда все обращения к ячейкам памяти с последовательными адресами будут приходиться на разные модули, а поскольку все эти модули обладают собственными схемами адресации и выборки, то можно производить обращение к следующему модулю, не дожидаясь ответа от предыдущего.
На временной диаграмме (рис. 6.5, б) время обращения и выборки из каждого модуля т составляет четыре такта Т (т = 47"). Обращения к памяти происходят непрерывно в моменты tu t2, Ц и т.д. Последовательные обращения приходятся на разные модули, поэтому суммарный темп выдачи квантов информации из памяти соответствует одному такту Т, а выдача квантов информации из каждого отдельного блока производится с темпом AT. Задержка в выдаче кванта информации относительно момента обращения к памяти также составляет AT, однако каждый последующий квант выдается относительно предыдущего с задержкой всего Т. В современных больших ЭВМ наиболее часто используют память, включающую в себя от 4 до 16 модулей. Но технология классического расслоения памяти практически не используется в персональных компьютерах из-за ее сложности и различных форматов команд.
Еще один способ ускорения обращения к памяти состоит в использовании широкого слова. При выборке широким слоем за одно обращение к ОП производится одновременная запись или считывание нескольких команд или слов данных из широкой ячейки. Затем это широкое слово заносится в регистр (при считывании из памяти), из которого отдельные команды и слова данных последовательно используются процессором без дополнительных обращений к ОП. Выборка широким слоем распространена в высокопроизводительных машинах, но в персональных компьютерах не получила широкого распространения, так как при записи-считывании широкого слова требуется многоразрядная магистраль для передачи данных. В персональном компьютере все передачи данных между процессором и ОП осуществляются по стандартной магистрали, ширина которой составляет 16, 32 или 64 бита (без учета контрольных разрядов).
13