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