Программный принцип работы компьютера
В XIX веке английским математиком и инженером Чарльзом Бэббиджем был разработан проект вычислительной машины, которая предназначалась для автоматического проведения длинных цепочек вычислений. Главной особенностью конструкции этой машины является программный принцип работы.
Чарльза Беббиджа считают изобретателем компьютера – он впервые соединил механический арифмометр с идеей программного управления.
По своему назначению компьютер – это универсальный прибор для работы с информацией.
В основу работы компьютеров положен программный принцип управления. Любой компьютер представляет собой автоматическое устройство, работающее по заложенным в него программам.
Первая вычислительная машина, способная хранить программу в своей памяти, разрабатывалась в 1943—1948 гг. в США под руководством Джона Мочли и Преснера Экерта.
В1945 г. к работе был привлечен знаменитый математик Джон фон Нейман, который сформулировал общие принципы функционирования универсальных вычислительных устройств.
Первый компьютер, в котором были полностью реализованы эти принципы, был построен в 1949 г. английским исследователем Морисом Уилксом. Изменяется элементная база, компьютеры становятся все более и более мощными, но до сих пор большинство из них соответствуют тем принципам, которые изложил в своем докладе в 1945 г. Джон фон Нейман.
Согласно фон Нейману, ЭВМ состоит из следующих основных блоков:
• арифметико-логическое устройство, выполняющее арифметические и логические операции;
• устройство управления, которое организует процесс выполнения программ;
• запоминающее устройство, или память, для хранения программ и данных;
• внешние устройства для ввода-вывода информации.
Устройства компьютера
В современных компьютерах это:
• память (запоминающее устройство — ЗУ), состоящая из перенумерованных ячеек;
• процессор, включающий в себя устройство управления (УУ) и арифметико-логическое устройство (АЛУ);
Эти устройства соединены между собой каналами связи, по которым передается информация.
Память |
Программа |
Данные |
Процессор |
Ввод |
Вывод |
Счетчик команд |
Регистр команд |
Регистры операторов |
Сумматор |
УУ |
АЛУ |
Общая схема компьютера
– сигнал управления; – информационный сигнал
Функции памяти: • прием информации из других устройств; • запоминание информации; • выдача информации по запросу в другие устройства машины. | Функции процессора: • обработка данных по заданной программе путем выполнения арифметических и логических операций; • программное управление работой устройств компьютера. |
Одна часть процессора, которая выполняет команды, называется арифметико-логическим устройством, а другая его часть, выполняющая функции управления устройствами, — устройством управления. Обычно эти устройства выделяются чисто условно, конструктивно они не разделены.
В составе процессора имеется ряд специализированных дополнительных ячеек памяти, называемых регистрами. Регистр выполняет функцию кратковременного хранения числа или команды. Основным элементом регистра является электронная схема, называемая триггером.
Регистр представляет собой совокупность триггеров, связанных друг с другом определенным образом общей системой управления.
Существует несколько типов регистров, отличающихся видом выполняемых операций. Некоторые важные регистры имеют свои названия, например:
• сумматор — регистр АЛУ, участвующий в выполнении каждой операции;
• счетчик команд — регистр УУ, содержимое которого соответствует адресу очередной выполняемой команды. Он служит для автоматической выборки программы из последовательных ячеек памяти;
• регистр команд — регистр УУ для хранения кода команды на период времени, необходимый для ее выполнения. Часть его разрядов используется для хранения кода операции, остальные — для хранения кодов адресов операндов.
Принцип программного управления
Программа состоит из набора команд, выполняющихся процессором автоматически в определенной последовательности.
Вначале с помощью какого-либо внешнего устройства в память компьютера вводится программа. Устройство управления считывает содержимое ячейки памяти, где находится первая инструкция (команда) программы, и организует ее выполнение.
Эта команда может задавать выполнение арифметических или логических действий, чтение из памяти данных для выполнения арифметических или логических операций или запись их результатов в память, ввод данных из внешнего устройства в память или вывод данных из памяти на внешнее устройство.
Выборка программы из памяти осуществляется с помощью счетчика команд. Этот регистр процессора последовательно увеличивает хранимый в нем адрес очередной команды на длину команды. Так как команды расположены в памяти друг за другом, организуется выборка цепочки команд из последовательно распложенных ячеек памяти. Если же нужно после выполнения команды перейти не к следующей, а к какой-то другой ячейке, то используются команды условного и безусловного перехода, которые заносят в счетчик команд номер ячейки памяти, содержащей следующую команду. Выборка команд из памяти прекращается после достижения и выполнения команды «стоп». Процессор исполняет программу автоматически, без вмешательства человека.
Принцип программного управления обеспечивает универсальность использования компьютера: в определенный момент времени решается задача по соответственно выбранной программе. После ее завершения в память загружается другая программа и т.д.
Принцип однородности памяти
Программы и данные хранятся в одной и той же памяти, поэтому компьютер не различает, что хранится в данной ячейке памяти — число, текст или команда. Над командами можно выполнять такие же действия, как и над данными.
Принцип адресности
Структурно основная память состоит из пронумерованных ячеек. Процессору в произвольный момент времени доступна любая ячейка.
Память компьютера должна состоять из некоторого числа пронумерованных ячеек, в каждой из которых могут находиться или обрабатываемые данные, или инструкции программ. Все ячейки памяти должны быть одинаково легко доступны для других устройств компьютера.
Отсюда следует возможность давать имена областям памяти так, чтобы к сохраненным в них значениям можно было впоследствии обращаться или менять их в процессе выполнения программ с использованием присвоенных имен.
Многообразие компьютеров. Аппаратная реализация компьютера. Основные характеристики компьютеров
Многообразие компьютеров
Персональный компьютер (ПК) – это компьютер, предназначенный для индивидуального использования. В настоящее время это мощный универсальный компьютер, который работает как дома, так и на рабочих местах в офисах, легко подключается к различным вычислительным системам.
Технической основой ПК служит микропроцессор (МП). Развитие технологии МП определило смену поколений персональных компьютеров:
· 8-разрядный МП (1975 – 1980) – I поколение;
· 16- разрядный МП (1981 – 1985) – II поколение;
· 32- разрядный МП (1986 – 1992) – III поколение;
· 64- разрядный МП (1993 г. – по настоящее время) – IV поколение;
Важную роль в развитии ПК сыграло появление компьютера IBM PC, произведенного корпорацией IBM (США) на базе МП Intel-8086 в 1981 г. Этот персональный компьютер занял ведущее место на рынке ПК. Его основное преимущество – открытая архитектура, благодаря которой пользователи могут расширять возможности ПК, добавляя различные периферийные устройства и модернизируя компьютер. В наши дни » 85% всех компьютеров базируется на архитектуре IBM PC.
Классификация ПК по назначению
ПК общего назначения – предназначены для массового потребителя для развлечения, обучения и работы.
Профессиональные ПК – применяются в научной сфере, для решения сложных информационных и производственных задач, где требуется высокое быстродействие, эффективная передача больших массивов информации, достаточно большая емкость оперативной памяти.
Общие принципы функционирования универсальных вычислительных устройств компьютеров сформулировал
1.5. КАК БЫЛ ИЗОБРЕТЕН КОМПЬЮТЕР
Слово «компьютер» означает «вычислитель», т.е. устройство для вычислений. Потребность в автоматизации обработки данных, в том числе вычислений, возникла очень давно . Многие тысячи лет назад для счета использовались счетные палочки, камешки и т.д. Более 1500 лет тому назад (а может быть и значительно раньше) для облегчения вычислений стали использоваться счеты.
В 1642 г. Блез Паскаль изобрёл устройство, механически выполняющее сложение чисел, а в 1673 г. Готфрид Вильгельм Лейбниц сконструировал арифмометр, позволяющий механически выполнять четыре арифметических действия. Начиная с XIX в. арифмометры получили очень широкое применение. На них выполняли даже очень сложные расчеты, например, расчеты баллистических таблиц для артиллерийских стрельб. Существовала и специальная профессия — счетчик — человек, работающий с арифмометром, быстро и точно соблюдающий определенную последовательность инструкций (такую последовательность инструкций впоследствии стали называть программой). Но многие расчеты производились очень медленно — даже десятки счетчиков должны были работать по несколько недель и месяцев. Причина проста — при таких расчетах выбор выполняемых действий и запись результатов производились человеком, а скорость его работы весьма ограничена.
В первой половине XIX в. английский математик Чарльз Бэббидж попытался построить универсальное вычислительное устройство — Аналитическую машину, которая должна была выполнять вычисления без участия человека. Для этого она должна была уметь исполнять программы, вводимые с помощью перфокарт (карт из плотной бумаги с информацией, наносимой с помощью отверстий, они в то время уже широко употреблялись в ткацких станках), и иметь «склад» для запоминания данных и промежуточных результатов (в современной терминологии — память). Бэббидж не смог довести до конца работу по созданию Аналитической машины — она оказалась слишком сложной для техники того времени. Однако он разработал все основные идеи, и в 1943 г. американец Говард Эйкен с помощью работ Бэббиджа на основе техники XX в. — электромеханических реле смог построить на одном из предприятий фирмы ibm такую машину под названием «Марк-1». Еще раньше идеи Бэббиджа были переоткрыты немецким инженером Конрадом Цузе , который в 1941 г . построил аналогичную машину.
К этому времени потребность в автоматизации вычислений (в том числе для военных нужд — баллистики, криптографии и т.д.) стала настолько велика, что над созданием машин типа построенных Эйкеном и Цузе одновременно работало несколько групп исследователей. Начиная с 1943 г. группа специалистов под руководством Джона Мочли и Преспера Экерта в США начала конструировать подобную машину уже на основе электронных ламп, а не реле. Их машина, названная eniac , работала в тысячу раз быстрее, чем Марк-1, однако для задания ее программы приходилось в течение нескольких часов или даже нескольких дней подсоединять нужным образом провода. Чтобы упростить процесс задания программ, Мочли и Экерт стали конструировать новую машину, которая могла бы хранить программу в своей памяти.
В 1945 г. к работе был привлечен знаменитый математик Джон фон Нейман, который подготовил доклад об этой машине, Доклад был разослан многим ученым и получил широкую известность, поскольку в нем фон Нейман ясно и просто сформулировал общие принципы функционирования универсальных вычислительных устройств, т.е. компьютеров. Первый компьютер, в котором были воплощены принципы фон Неймана, был построен в 1949 г . английским исследователем Морисом Уилксом. С той поры компьютеры стали гораздо более мощными, но подавляющее большинство из них сделано в соответствии с теми принципами, которые изложил в своем докладе в 1945 г. Джон фон Нейман.
Урок 8
§7. Основополагающие принципы устройства ЭВМ
В каждой области науки и техники существуют фундаментальные идеи или принципы, определяющие на многие годы вперёд её содержание и направление развития. В компьютерных науках роль таких фундаментальных идей сыграли принципы, сформулированные независимо друг от друга двумя крупнейшими учёными XX века — Джоном фон Нейманом и Сергеем Алексеевичем Лебедевым.
Принцип — основное, исходное положение какой-нибудь теории, учения, науки и пр.
Принципы Неймана-Лебедева — базовые принципы построения ЭВМ, сформулированные в середине прошлого века, не утратили свою актуальность и в наши дни.
Джон фон Нейман (1903-1957) — американский учёный, сделавший важный вклад в развитие целого ряда областей математики и физики. В 1946 г., анализируя сильные и слабые стороны ЭНИАКа, совместно с коллегами пришёл к идее нового типа организации ЭВМ. |
Сергей Алексеевич Лебедев (1902-1974) — академик, основоположник вычислительной техники в СССР, главный конструктор первой отечественной электронной вычислительной машины МЭСМ, автор проектов компьютеров серии БЭСМ (Большая Электронная Счётная Машина), разработчик принципиальных положений суперкомпьютера «Эльбрус». В 1996 году посмертно награждён медалью «Пионер компьютерной техники» — самой престижной наградой международного компьютерного сообщества. |
Рассмотрим сущность основных принципов Неймана-Лебедева:
1) состав основных компонентов вычислительной машины;
2) принцип двоичного кодирования;
3) принцип однородности памяти;
4) принцип адресности памяти;
5) принцип иерархической организации памяти;
6) принцип программного управления.
Первый принцип определяет состав основных компонентов вычислительной машины.
Любое устройство, способное производить автоматические вычисления, должно иметь определённый набор компонентов: блок обработки данных, блок управления, блок памяти и блоки ввода/вывода информации.
Функциональная схема такого компьютера, отражающая программное управление работой и взаимодействием его основных узлов, представлена на рисунке 2.5.
Рис. 2.5. Функциональная схема компьютеров первых поколений
Его информационным центром является процессор:
• все информационные потоки (тонкие стрелки на рисунке) проходят через процессор;
• управление всеми процессами (толстые стрелки на рисунке) также осуществляется процессором.
Такие блоки есть и у современных компьютеров. Это:
• процессор, состоящий из арифметико-логического устройства (АЛУ), выполняющего обработку данных, и устройства управления (УУ), обеспечивающего выполнение программы и организующего согласованное взаимодействие всех узлов компьютера;
• память, предназначенная для хранения исходных данных, промежуточных величин и результатов обработки информации, а также самой программы обработки информации. Различают память внутреннюю и внешнюю. Основная часть внутренней памяти используется для временного хранения программ и данных в процессе обработки. Такой вид памяти принято называть оперативным запоминающим устройством (ОЗУ). Ещё одним видом внутренней памяти является постоянное запоминающее устройство (ПЗУ), содержащее программу начальной загрузки компьютера. Внешняя или долговременная память предназначена для длительного хранения программ и данных в периоды между сеансами обработки;
• устройства ввода, преобразующие входную информацию в форму, доступную компьютеру;
• устройства вывода, преобразующие результаты работы компьютера в форму, доступную для восприятия человеком.
Вместе с тем в архитектуре современных компьютеров и компьютеров первых поколений есть существенные отличия. О них будет сказано чуть ниже.
Рассмотрим суть принципа двоичного кодирования информации.
Вся информация, предназначенная для обработки на компьютере (числа, тексты, звуки, графика, видео), а также программы её обработки представляются в виде двоичного кода — последовательностей 0 и 1.
Все современные компьютеры хранят и обрабатывают информацию в двоичном коде. Выбор двоичной системы счисления обусловлен рядом важных обстоятельств: простотой выполнения арифметических операций в двоичной системе счисления, её «согласованностью» с булевой логикой, простотой технической реализации двоичного элемента памяти (триггера).
Несмотря на всеобщее признание, использование в компьютерной технике классической двоичной системы счисления не лишено недостатков. В первую очередь это проблема представления отрицательных чисел, а также нулевая избыточность (т. е. отсутствие избыточности) двоичного представления. Пути преодоления указанных проблем были найдены уже на этапе зарождения компьютерной техники.
В 1958 г. в Московском государственном университете им. М. В. Ломоносова под руководством И. П. Брусенцова был создан троичный компьютер «Сетунь» (рис. 2.6). В нём применялась уравновешенная троичная система счисления, использование которой впервые в истории позволило представлять одинаково просто как положительные, так и отрицательные числа.
Итак, благодаря двоичному кодированию, данные и программы по форме представления становятся одинаковыми, а следовательно, их можно хранить в единой памяти.
Рис. 2.6. ЭВМ «Сетунь»
Cкачать материалы урока
Принципы фон Неймана
- Использование двоичной системы счисления в вычислительных машинах. Преимущество перед десятичной системой счисления заключается в том, что устройства можно делать достаточно простыми, арифметические и логические операции в двоичной системе счисления также выполняются достаточно просто.
- Программное управление ЭВМ. Работа ЭВМ контролируется программой, состоящей из набора команд. Команды выполняются последовательно друг за другом. Созданием машины с хранимой в памяти программой было положено начало тому, что мы сегодня называем программированием.
- Память компьютера используется не только для хранения данных, но и программ. При этом и команды программы и данные кодируются в двоичной системе счисления, т.е. их способ записи одинаков. Поэтому в определенных ситуациях над командами можно выполнять те же действия, что и над данными.
- Ячейки памяти ЭВМ имеют адреса, которые последовательно пронумерованы. В любой момент можно обратиться к любой ячейке памяти по ее адресу. Этот принцип открыл возможность использовать переменные в программировании.
- Возможность условного перехода в процессе выполнения программы. Не смотря на то, что команды выполняются последовательно, в программах можно реализовать возможность перехода к любому участку кода.
Самым главным следствием этих принципов можно назвать то, что теперь программа уже не была постоянной частью машины (как например, у калькулятора). Программу стало возможно легко изменить. А вот аппаратура, конечно же, остается неизменной, и очень простой.
Для сравнения, программа компьютера ENIAC (где не было хранимой в памяти программы) определялась специальными перемычками на панели. Чтобы перепрограммировать машину (установить перемычки по-другому) мог потребоваться далеко не один день. И хотя программы для современных компьютеров могут писаться годы, однако они работают на миллионах компьютеров после несколько минутной установки на жесткий диск.
Принципы функционирования персонального компьютера
Основные принципы организации электронных вычислительных машин были заложены Дж. Фон Нейманом:
1. Принцип двойного кодирования. Электронные машины должны работать не в десятичной, а в двоичной системе счисления.
2. Принцип программного управления. Электронная машина выполняет вычисления по программе. Программа состоит из набора команд, которые выполняются автоматически друг за другом в определенной последовательности.
3. Принцип хранимой программы. В процессе решения задачи программа должна размещаться в запоминающем устройстве машины, обладающем высокой скоростью выборки и записи.
4. Принцип однотипности представления чисел и команд. Программа, так же как и числа, с которыми оперирует машина, записывается в двоичном коде. Таким образом, по форме представления команды и числа однотипны.
5. Принцип иерархичности памяти. Сложность реализации единого емкого быстродействующего запоминающего устройства требует иерархического построения памяти. По меньшей мере, должно быть два уровня иерархии: основная память и внешняя.
6. Принцип адресности основной памяти. Основная память должна состоять из пронумерованных ячеек, каждая из которых доступна программе в любой момент времени по ее двоичному адресу.
Процессор и основная память являются центральными устройствамикомпьютера, поскольку именно на их основе реализуется принцип программного управления. Все остальные устройства компьютера считаются внешними, или периферийными.
Внешние устройствакомпьютера — устройства, обеспечивающие ввод и вывод данных из основных устройств компьютера (устройства ввода-вывода) и долговременное хранение информации, не обрабатываемой процессором в данный момент времени (внешние запоминающие устройства).
В одном компьютере может использоваться до нескольких сотен внешних устройств разного типа. Состав устройств ввода-вывода может изменяться в зависимости от классов задач, решаемых на компьютере.
Производительность и эффективность использования компьютера определяются не только составом и характеристиками ее устройств, но и способом организации их совместной работы. Связь между устройствами компьютера осуществляется с помощью сопряжений, которые называются интерфейсами.
Интерфейспредставляет собой совокупность стандартизованных аппаратных и программных средств, обеспечивающих обмен информацией (сигналами) между устройствами. Наличие стандартных интерфейсов позволяет унифицировать передачу информации в виде сигналов между устройствами независимо от их особенностей.
Основной, центральной частью компьютера является процессор, объединяющий арифметико-логическое устройство и устройство управления в единое целое. У современных компьютеров значительно расширились номенклатура и число подключаемых устройств ввода-вывода; запоминающее устройство приняло иерархический вид за счет сверхоперативной кэш-памяти и разнообразных внешних накопителей.
Появился термин «аппаратная платформа» для классов и типов ЭВМ. Под этим термином стали понимать совокупность технических средств, определяющих среду функционирования конкретных программ обработки данных. В основу аппаратной платформы были положены совокупность интерфейсной системы передачи данных и тип используемого процессора.
Термин «архитектура ЭВМ» приобрел новое звучание применительно к современным компьютерам.
Архитектура компьютера — это совокупность основных устройств, узлов и блоков, а также структура основных информационных и управляющих связей между ними, обеспечивающая выполнение заданных функций; структура базового программного обеспечения, а также сочетание аппаратного и базового программного обеспечения, поддерживающее объединение компьютеров в сети.
Принципом построения и функционирования современных компьютеров различных классов является программное управление, в основе которого находится представление алгоритма решения любой задачи в виде программы вычислений.
В общем случае алгоритм определяется как порядок выполнения операций над данными с целью получения конечного результата либо как конечный набор предписаний, определяющий решение задачи посредством конечного количества операций. Одна и та же задача может быть реализована по различным алгоритмам, в то же время для реализации одного и того же алгоритма могут использоваться различные программы, учитывающие особенности архитектуры компьютера.
При решении задачи вся информация должна быть доступна процессору и располагаться в оперативной памяти. Для современных ЭВМ принята байтовая структура памяти, т.е. все ее пространство условно разбивается на ячейки по 1 байту. Байты виртуально нумеруются, и к ним по адресам памяти обращается центральный процессор. Передача данных между внутренней памятью и центральным процессором осуществляется словами.
Исходя из предложенного Дж. Фон Нейманом иерархического принципа памяти, в современных компьютерах память по назначению, методам использования и параметрам подразделяется на оперативную, постоянную, внешнюю сменяемую, внешнюю несменяемую, процессорную.
Для четкого понимания принципа программного управления работой отметим, что это управление «внутри машины» реализуется благодаря взаимодействию двух блоков: центрального процессора и внутренней памяти. Внутренняя память предназначается для кратковременного хранения программ и обрабатываемых данных. Она содержит данные (числа и символы), подлежащие обработке, промежуточные и окончательные результаты. Часть оперативной памяти может выступать как буфер для хранения отдельных параметров внешних устройств машины.
Устройство управления, являющееся составной частью центрального процессора, обеспечивает автоматическое выполнение программы путем принудительной координации работы всех остальных устройств ЭВМ. Устройство управления, считывая очередную команду, расшифровывает ее, определяет перечень необходимых компонентов для ее выполнения, загружает их из памяти и реализует. При этом каждая команда под воздействием сигналов устройства управления выполняется в цикле, рис. 3.5.
Программное управление осуществляется в несколько этапов:
1. Формирование адреса очередной команды. Адрес первой
команды программы находится вне цикла специальным способом.
2. Нахождение и выборка из оперативной памяти команды,
расшифровка ее содержания.