Архитектура ЭВМ

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