Рейтинг:  0 / 5

Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна
 

 

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

Джон фон Нейматл в своих статьях, вышедших в 1945 и 1946 годах (это были времена, когда компьютеры работали со скоростью всего несколько сотен операций в секунду, и при своей малой продуктивности занимали огромное пространство)‚ обобщил опыт разработки компьютеров и сформулировал основные принципы устройства электронного компьютера общего назначения. Идеи фон Неймана, высказанные им в статье, опубликованной в 1946 году совместно с Артуром Берксом и Германом Голдстайном «Предварительное обсуждение логического устройства электронного вычислителя» ("Preliminary Discussion of the Logical Design an Electronic Computer Instrument"), до сих пор лежат в основе устройства современных компьютеров, хотя современный компьютер значительно отличается от первых электронно-вычислительных машин.

Согласно фон Нейману, универсальный компьютер должен содержать четыре основных блока:

1) арифметико-логическое устройство (АЛУ), выполняющее арифметические и логические операции с данными; во время работы компьютера АЛУ выполняет основную работу; (процессор)

2) Устройство управления (УУ): оно руководит ходом выполнения программ и управляет работой АЛУ, автоматически выполняя закодированные команды, выбираемые из памяти; (процессор)

3) Память для хранения программ и данных; (Оперативная память, Жесткие диски)

4) устройство ввода/ввывода, отвечающие за взаимодействие компьютера и человека (работают под управлением УУ и используются для  ввода данных и вывода результатов выполнения). (Клавиатура, тачпед, мышь, сенсорный экран...)

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

Фон Нейман считал, что важнейшим качеством универсального компьютера является его способность хранить программу, связанные с ней команды, данные, промежуточные результаты вычислений и другую информацию. Для этого универсальный компьютер должен иметь устройство хранения команд и данных, которые изменяются от программы к программе или даже во время выполнения одной программы. Таким устройством является оперативная память. И данные, и команды могут одновременно храниться в одной памяти. Это положение считают одним из основных принципов фоннеймановской архитектуры. (Архитектурой компьютера называют описание основных компонентов компьютера и способов их взаимодействия. Архитектура — это те свойства и характеристики вычислительной системы, которые «видны» программисту. Среди них — набор команд, разрядность машинного слова, механизмы ввода/вывода и т. д.)

Центральный процессор и оперативная память образуют «ядро» — важнейшую часть компьютера. Скорость работы компьютера определяется в первую очередь быстродействием Центрального процессора.

Заметим, что в специализированных компьютерах программная часть может быть реализована «аппаратно», то есть с помощью набора микросхем, имеющих специеальное устройство. В этом случае компьютер может выполнять только одну программу. (Детские музыкальные игрушки могут только светиться и проигрывать музыку в определенный момент)

Внешнюю память и устройства ввода-вывода называют «периферией». Различные блоки компьютера связаны между собой средствами коммуникации — шинами. Арифметические операции выполняются с целыми и вещественными числами, для представления которых используется двоичный формат. (Число 13 в двоичной системе представляется как 1101, 128 - 10000000, 32 - 100000, 24 - 11000) Для отрицательных значений используется дополнительный код. Он позволяет упростить реализацию арифметических операций. Подробнее о способах представления чисел мы поговорим чуть позже.

Команды также хранятся в двоичном формате. Посмотрев на последовательность двоичных разрядов машинного слова, невозможно «на глаз» определить, что это - значение или команда. Определить это может лишь устройство управления.

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

В оперативной памяти компьютера размещается программа во время выполнения. Информация, находящаяся в оперативной памяти, пропадает при выключении компьютера, а информация, содержащаяся во внешней памяти, сохраняется и после выключения питания. Внешняя память используется для долговременного хранения информации: программ, данных и т. д. Примерами устройств внешней памяти являются: жесткие диски («винчестеры»), лазерные компакт-диски (CD,DVD-ROM),  Флеш-накопители, Карты памяти и другие носители информации. Для выполнения программа загружается в оперативную память из внешней памяти. Важнейшей характеристикой памяти является ее объем.

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

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

Самой «быстрой» частью памяти являются регистры процессора. Емкость одного регистра обычно несколько десятков битов — двоичных разрядов (например, 32 бита). Далее следует каш-память объемом от нескольких десятков до нескольких сотен килобайтов и временем доступа в десятки раз больше, чем у регистров. Оперативная память имеет объем несколько десятков, сотен и даже тысяч мегабайтов, а время доступа к ней еще раз в десять больше. Затем следует внешняя память объемом в десятки, сотни и тысячи гигабайтов. Скорость получения данных из нее в сотни раз меньше, чем из оперативной памяти.

Регистры центрального процессора — это быстрая память небольшого размера (ее иногда называют сверхоперативнои памятью). Набор регистров различается в процессорах разного типа. Программист имеет доступ к слудующим регистрам:

1) регистры общего назначения (General Purpose Registers),

2) регистры данных (Data Registers),

3) регистры адреса (Address Registers)

и к некоторым другим. Имеются также управляющие регистры и регистры состояния, такие как счетчик команд (Program Counter), регистр декодирования команд (Instruction Register), регистр адресации памяти (Memory Addressing Register), регистр буфера памяти (Memory Buffer Register). Данные. находящиеся в регистрах, контролируются транслятором или программистом, если он программирует на языке ассемблера.

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

Важной частью компьютера являются устройства ввода-вывода, с помощью которых человек взаимодействует с компьютером: клавиатура, мышь, джойстик, принтер, монитор и другие.

С момента выхода статьи фон Неймана, Беркса и Голдстайна прошло более полувека. За это время вычислительная техника значительно изменилась. Пожалуй, ни в одной другой области человеческой деятельности прогресс не развивается столь стремительными темпами, как в области компьютерных технологий. Современные компьютеры не просто мощнее и быстрее, чем первые электронно-вычислительные «динозавры», но и содержат различные усовершенствования, дополняющие и расширяющие, но часто не изменяющие фоннеймановскую архитектуру.

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