1.2.Как работает компьютер.
Еще при создании первых компьютеров 1945 г. знаменитый математик Джон фон Нейман описал, как должен быть устроен компьютер, чтобы он был универсальным и эффективным устройством для обработки информации. Эти основы конструкции компьютера называются принципами фон Неймана. Сейчас подавляющее большинство компьютеров в основных чертах соответствует принципам фон Неймана.
В основу построения подавляющего большинства компьютеров положены следующие общие принципы, сформулированные в 1945 г. американским ученым Джоном фон Нейманом.
1. Принцип программного управления. Из него следует, что программа состоит из набора команд, которые выполняются процессором автоматически друг за другом в определенной последовательности.
Выборка программы из памяти осуществляется с помощью счетчика команд. Этот регистр процессора последовательно увеличивает хранимый в нем адрес очередной команды на длину команды.
Джон фон Нейман, 1945 г.
1. Принцип программного управления. Из него следует, что программа состоит из набора команд, которые выполняются процессором автоматически друг за другом в определенной последовательности.
Выборка программы из памяти осуществляется с помощью счетчика команд. Этот регистр процессора последовательно увеличивает хранимый в нем адрес очередной команды на длину команды.
А так как команды программы расположены в памяти друг за другом, то тем самым организуется выборка цепочки команд из последовательно расположенных ячеек памяти.
Если же нужно после выполнения команды перейти не к следующей, а к какой-то другой, используются команды условного или безусловного переходов, которые заносят в счетчик команд номер ячейки памяти, содержащей следующую команду. Выборка команд из памяти прекращается после достижения и выполнения команды "стоп".
Таким образом, процессор исполняет программу автоматически, без вмешательства человека.
2. Принцип однородности памяти. Программы и данные хранятся в одной и той же памяти. Поэтому компьютер не различает, что хранится в данной ячейке памяти — число, текст или команда. Над командами можно выполнять такие же действия, как и над данными. Это открывает целый ряд возможностей. Например, программа в процессе своего выполнения также может подвергаться переработке, что позволяет задавать в самой программе правила получения некоторых ее частей (так в программе организуется выполнение циклов и подпрограмм). Более того, команды одной программы могут быть получены как результаты исполнения другой программы. На этом принципе основаны методы трансляции — перевода текста программы с языка программирования высокого уровня на язык конкретной машины.
3. Принцип адресности. Структурно основная память состоит из перенумерованных ячеек; процессору в произвольный момент времени доступна любая ячейка. Отсюда следует возможность давать имена областям памяти, так, чтобы к запомненным в них значениям можно было впоследствии обращаться или менять их в процессе выполнения программ с использованием присвоенных имен.
Компьютеры, построенные на этих принципах, относятся к типу фон-неймановских. Но существуют компьютеры, принципиально отличающиеся от фон-неймановских. Для них, например, может не выполняться принцип программного управления, т.е. они могут работать без "счетчика команд", указывающего текущую выполняемую команду программы. Для обращения к какой-либо переменной, хранящейся в памяти, этим компьютерам не обязательно давать ей имя. Такие компьютеры называются не-фон-неймановскими.
Устройства компьютера. Прежде всего, компьютер, согласно принципам фон Неймана, должен иметь следующие устройства:
арифметическо-логическое устройство, выполняющее арифметические и логические операции;
- устройство управления, которое организует процесс выполнения программ;
- запоминающее устройство, или память для хранения программ и данных;
- внешние устройства для ввода- вывода информации.
Память компьютера должна состоять из некоторого количества пронумерованных ячеек, каждой из которых могут находиться или обрабатываемые данные, или инструкция программ. Все ячейки памяти должны быть одинаково легко доступны для других устройств компьютера.
Принципы работы компьютера. В общих чертах работу компьютера можно описать так. Вначале с помощью какого- либо внешнего устройства в память компьютера вводится программа. Устройство управления считывает содержимое ячейки памяти, где находится первая инструкция (команда) программы, и организует ее выполнение. Эта команд может задавать выполнение арифметических или логических операций, чтение из памяти данных для выполнения арифметических или логических операций или запись их результатов в память, ввод данных из внешнего устройства в память или вывод данных из памяти на внешнее устройство.
Как правило, после выполнения одной команды устройство управления начинает выполнять команду из ячейки памяти, которая находится непосрественно за только что выполненной командой. Однако этот порядок может быть изменен с помощью команд передачи управления. Эти команды указывают устройству управления, что ему следует продолжить выполнение программы, начиная с команды, содержащейся в некоторой другой ячейке памяти. Такой «скачок», или переход, в программе может выполняться не всегда, а только при выполнении некоторых условий, например, если некоторые числа равны, если в результате предыдущий арифметический операции получился нуль и т.д. Это позволяет использовать одни и те же последовательности команд в программе много раз, выполнять различные последовательности команд в зависимости от выполнение определенных условий и т.д., т.е. создавать сложные программы.
Таким образом, управляющее устройство выполняет инструкции программы автоматически, т.е. без вмешательства человека. Оно может обмениваться информацией с оперативной памятью и внешними устройствами компьютера. Поскольку внешнее устройство как правило, работают значительно медленнее, чем остальные части компьютера, управляющее устройство может приостанавливать выполнение программы до завершения операции ввода-вывода с внешним устройством. Все результаты выполненной программы должны быть ею выведены на внешние устройства компьютера, после чего компьютер переходит к ожидание каких-либо сигналов внешних устройств.
Особенности современных компьютеров. Следует заметить, что схема устройства современных компьютеров несколько отличается от приведенной выше. В частности, арифметическо-логическое устройство и устройство управления, как правило, обьединено в единое устройство-центральный процессор. Кроме того, процесс выполнения программ может прерываться для выполнения неотложных действий, связанных с поступившими сигналами от внешних устройств компьютера-прерываний. Многие быстродействующие компьютеры осуществляют параллельную обработку данных на нескольких процессорах
|