Машины становятся все более мощными (точка
Цифровые схемы превратились в цифровые вычислительные машины (ЦВМ) — а это означает, что они стали программируемыми Этот великолепнейший прибор стоит теперь сущую безделицу В результате цифровые вычислительные машины проникли в такие области применения, которые ранее не могли бы оправдать таких сложных средств (см. рис 2.7)
Число элементов на кристалле
Возникновение технологии СБИС стирает грань между схемами и вычислительными машинами. Является ли кристалл размером 2,5 × 1,25 см с процессором и памятью в 128 слов (рис. 2.8) вычислительной машиной? Конечно же, да. А ведь между тем, как следует обращаться с электрической схемой, с одной стороны, и вычислительной машиной — с другой, имеется большая разница. И этому есть причина для вычислительных машин требуются программы.
Поскольку вычислительные машины становятся столь дешевыми, мы обнаруживаем их внедрение повсюду. Они используются в игрушках, автомобилях, телевизорах, копировальных устройствах, ракетах, приборах, станках — всюду. И все эти использования подразумевают наличие программ.
Если мы разрабатываем одну программу и выполняем ее на тысячах вычислительных машин, мы делим стоимость программы на число машин и получаем стоимость «одной» программы.
Эта характеристика не отражает стоимости продукции, мы просто
Таким образом, программа, заложенная в телевизионный приемник, имеет пренебрежимо малую стоимость — одна программа на 500 000 кристаллов, т. е. на 500 000 телевизоров! Программное обеспечение может составлять основную долю в стоимости системы управления спутниками, где одна вычислительная машина управляет и спутником, и линией связи (см. рис. 2.9).
Глава 3
Понятие производительности
Цель программного обеспечения — заставить работать аппаратуру. Программы без аппаратуры невыполнимы, но и аппаратура без программ не работает. Ограниченность возможностей аппаратуры может удвоить затраты на разработку программного обеспечения.
Некоторые понятия и предварительные определения, связанные с аппаратурой и производительностью, могут помочь нам выделить нюансы отношений между более сложными понятиями, например между мультипроцессорностью и мульти-программностью, между сетями и распределенной обработкой. По мере развития вычислительной машины термин производительность становится более сложным. Часто для достижения максимальной производительности нашего двигателя, вычислительной машины, нам приходится привлекать программистов.
Однажды из-за того, что высшее руководство проекта не смогло понять, как оптимизировать вычислительную систему (аппаратуру и программное обеспечение), разработка большой системы зашла в тупик (стоимость оборудования около 40 млн. долларов). Были спутаны две различные меры производительности: скорость решения задачи и время ожидания решения.
Когда мы говорим о производительности вычислительных систем, то должны отдавать себе ясный отчет в том, что и как мы измеряем.
Это чрезвычайно важно. Проявлению превосходных качеств аппаратуры порой мешает плохое программное обеспечение, и наоборот. Неэффективные операционные системы (см. с.70–71) свели на нет работу многих великолепных высокопроизводительных машин. Задачей руководителей разработкой программного обеспечения является объединение аппаратуры и программ в одну эффективную систему.