Выбрать главу

Итак, главный узел любой ЭВМ – центральный процессор. Именно здесь происходят все действия над числами в ходе их обработки по заданной программе.

В процессоре имеются три универсальных регистра: счетчик команд, регистр команд и регистр–накопитель. Счетчик команд управляет последовательностью выполнения команд. В регистре команд происходит их расшифровка, а регистр–накопитель осуществляет реальную обработку данных.

В ходе работы ЭВМ то и дело обращается к своей внутренней или оперативной памяти, извлекая пли засылая в нее числа. Такая память состоит из нескольких тысяч одинаковых регистров или ячеек. Все они последовательно перенумерованы, чтобы процессор знал, как обращаться к ним. Номер каждой ячейки называют адресом – это вполне естественно, ведь именно по номеру и находят данную ячейку.

Кроме внутренней памяти, каждая ЭВМ имеет еще и внешнюю, долговременную память, в которой хранится информация, необходимая время от времени. Как правило, такая память представляет собой бобины с магнитной лентой или магнитные диски. Информация записывается и считывается с них примерло так же, как в обычном магнитофоне.

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

Схема типичного компьютера

В больших ЭВМ операционные системы выполняют и некоторые другие функции, например, занимаются «разделением времени». Дело в том, что большие вычислительные комплексы стоят очень дорого, соответственно высоко ценится и время их работы. Поэтому будет слишком большой роскошью отдавать все машинное время одному пользователю. Как показывает практика, машина будет большей частью стоять, ожидая поступления очередных команд. Поэтому операционные системы подключают к компьютеру сразу несколько десятков пользователей. Связь между ними и ЭВМ может осуществляться с помощью дисплея и телефонного канала связи. Машина, таким образом, уделяет каждому из своих пользователей всего несколько миллисекунд, а затем переходит к другому, третьему... Но поскольку работает она очень быстро, то у каждого пользователя создается впечатление, что машина ни на секунду не забывала о нем.

В наши дни стоимость больших ЭВМ заметно снизилась, но системы разделения времени по–прежнему имеют довольно широкое распространение. Они теперь могут использоваться для совместного применения больших баз данных (глупо ведь устраивать большую библиотеку для одного человека) или служить дорогостоящими лазерными принтерами, которые печатают тексты настолько быстро, что, работая на одного пользователя, они опять–таки 99,9% своего рабочего времени будут простаивать.

Многие компьютеры могут быть связаны между собой в единые вычислительные комплексы или сети. Для этого служат периферийные устройства, которые с помощью кабельных или даже спутниковых линий связи объединяют компьютеры, расположенные даже на разных континентах. Какие преимущества это дает, мы еще с вами обсудим.

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

Язык цифр

В памяти машины, как вы уже поняли, записываются и данные, с которыми ЭВМ должна работать, и программа–руководство, согласно которой она ведет их обработку. По своему виду один массив информации совершенно неотличим от другого. Дело в том, что это только для нашего удобства машина приучена программистами реагировать на определенные слова и символы. Внутри ЭВМ все они опять–таки переводятся в числа специальными подпрограммами, и уже с этими числами машина ведет дальнейшую работу. Например, команда «сложить» может быть обозначена числом 11, «вычесть» – 13 и т. д.

Так получается потому, что машинная логика в значительной мере отличается от нашей, человеческой: машине гораздо легче иметь дело просто с числами, причем записанными в двоичной системе исчисления, нежели с какими–то другими понятиями.

Таким образом, в счетчике команд содержится адрес той команды, которую нужно выполнить при следующем шаге работы машины. Процессор обращается к соответствующей ячейке памяти, считывает число, которое там содержится, и загружает его в регистр команд. После того как команда выполнена, адрес, содержащийся в счетчике команд, увеличивается на единицу, и процесс повторяется снова – теперь уже по отношению к новой команде и программе.