Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Глава 2. Многуровневая организация компьютеров.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
131.07 Кб
Скачать

2.3. Развитие многоуровневых компьютеров

История развития многоуровневых компьютеров показывает как количество и природа уровней менялись с годами. Программы, написанные на машинном языке (уровень 1), могут сразу без применения интерпретаторов и трансляторов выполняться электронными схемами компью­тера (уровень 0). Эти электронные схемы вместе с памятью и средствами вво­да-вывода формируют аппаратное обеспечение. Аппаратное обеспечение состо­ит из осязаемых объектов — интегральных схем, печатных плат, кабелей, источников электропитания, модулей памяти и принтеров. Абстрактные поня­тия, алгоритмы и команды к аппаратному обеспечению не относятся.

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

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

2.4. Аппаратное и программное обеспечение логически эквивалентны

Любая операция, выполняемая программным обеспечением, может быть реализована аппаратным обеспечением (желательно после того, как она будет про­думана). Известно выражение «Аппаратное обеспе­чение — это всего лишь окаменевшее программное обеспечение». Конечно, обрат­ное тоже верно: любая команда, выполняемая аппаратным обеспечением, может быть смоделирована программно. Решение разделить функции аппаратного и про­граммного обеспечения основано на таких факторах, как стоимость, быстродей­ствие, надежность, частота ожидаемых изменений. Существует несколько жестких правил, сводящихся к тому, что операция X должна быть реализована в аппарат­ном обеспечении, а операцию Y нужно программировать. Эти решения меняются в зависимости от тенденций экономического и технологического развития.

2.5. Изобретение микропрограммирования

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

В 1951 году Морис Уилкс предложил идею разработки трехуровневого компьютера, при­званную упростить аппаратное обеспечение. Этот компьютер должен был иметь встроенный неизменяемый интерпретатор (микропрограмму), функция которого заключалась в выполнении программ уровня архитектуры системы команд (ISA) посредством интер­претации. Так как аппаратное обеспечение должно было теперь вместо программ уровня ISA выполнять только микропрограммы с ограниченным набором команд, требовалось меньшее количество электронных схем. Поскольку электрон­ные схемы тогда делались из электронных ламп, данное упрощение призвано было сократить количество ламп и, следовательно, повысить надежность (которая в то время выражалась числом поломок за день).

В 50-е годы было построено несколько трехуровневых компьютеров. В 60-х годах число таких компьютеров значительно увеличилось. К 70-м годам идея о том, что написанная программа сначала должна интерпретироваться микропрограммой, а не выполняться непосредственно электроникой, стала преобладающей.