Развитие многоуровневых машин

 

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

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

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

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

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

Таненбаум Э. Архитектура компьютера. 5-е изд. (+CD). — СПб.: Питер, 2007. — 844 с: ил.

Предлагаю ознакомиться с аналогичными статьями: