Рубріки: Новости

Почему инженер-программист должен знать архитектуру компьютера и как это может повлиять на код

Богдан Мирченко

Должен ли программист разбираться в архитектуре компьютера? Разработчик под ником Voider уверен, что да: в блоге на dev.to он объяснил, почему.

Введение

Я считаю, что успех во многом зависит от двух вещей: от того, как вы видите мир и насколько вы его понимаете. То же самое можно сказать и о программной инженерии, где главное —  это архитектура ЭВМ. Если вы понимаете ее достаточно хорошо, вам будет намного проще освоиться и разобраться в профессии. 

Что такое компьютерная архитектура

Согласно «Википедии»: 

Архитектура компьютера — набор типов данных, операций и характеристик каждого отдельно взятого уровня.

Архитектура описывает общую модель компьютера. Аспекты реализации — например, технология, применяемая при реализации памяти, не являются частью архитектуры. 

Короче говоря, архитектура ЭВМ — это, по сути, набор правил, контролирующих взаимодействие аппаратного и программного обеспечений. 

Зачем изучать компьютерную архитектуру

Например, большинство пилотов «Формулы-1» знают устройство двигателя своего болида настолько хорошо, что могут обнаружить проблему до того, как это сделают инженеры. 

Они также разбираются в физике и аэродинамике. Это позволяет им давать точные инструкции механикам на пит-стопе, чтобы те, например, отрегулировали «нос» или колеса, правильное расположение которых может привести к победе. 

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

Вот почему вы должны изучать компьютерную архитектуру:

  • Полученные знания будут помогать вам на протяжении всей вашей карьеры.
  • Архитектура ЭВМ — это один из самых фундаментальных предметов в Computer Science. Вы должны понимать, как инструкции и операции работают и взаимодействуют друг с другом, чтобы сделать ПО лучше. Чем лучше вы знаете архитектуру ЭВМ, тем лучший продукт вы разработаете.
  • Знание компьютерной архитектуры поможет вам проектировать, разрабатывать и внедрять приложения, которые будут лучше, быстрее и эффективнее в использовании. Вы сможете принимать обоснованные решения вместо того, чтобы гадать, оценивать и предполагать.

Как компьютерная архитектура может повлиять на то, что вы пишете

Прогнозирование ветвлений: допустим, вы едете в поезде и подъезжаете к железнодорожному узлу, ваша задача как машиниста — следить за дорогой. 

Вы должны выбрать сторону, но не знаете, куда дальше ехать. 50 на 50: либо вы выберете правильный путь, либо нет. Если действия окажутся верными — продолжите движение, в противном случае вернетесь назад и выберете правильный путь. И так постоянно, каждый раз, когда вы будете подъезжать к железнодорожному узлу. 

Рассмотрим оператор if. На уровне процессора — это инструкция ветвления: 

Теперь вы видите ветку, но не знаете, куда идти. Чтобы определить верный путь, нужно двигать, но: 

  • Если ваши действия окажутся правильными, в дальнейшем все равно придется решать, куда ехать. И так на каждом узле.
  • Если действия окажутся неверными, вы в конечном итоге потратите массу времени на то, чтобы каждый раз возвращаться и пробовать заново.

 Что делать? Наблюдать. Если процесс чаще идет влево — двигаться влево, если процесс идет вправо — двигать вправо, если процесс чередуется, то следует делать так же. 

Вывод

Изучайте компьютерную архитектуру и растите как инженер-программист!

Останні статті

Обучение Power BI – какие онлайн курсы аналитики выбрать

Сегодня мы поговорим о том, как выбрать лучшие курсы Power BI в Украине, особенно для…

13.01.2024

Work.ua назвал самые конкурентные вакансии в IТ за 2023 год

В 2023 году во всех крупнейших регионах конкуренция за вакансию выросла на 5–12%. Не исключением…

08.12.2023

Украинская IT-рекрутерка создала бесплатный трекер поиска работы

Unicorn Hunter/Talent Manager Лина Калиш создала бесплатный трекер поиска работы в Notion, систематизирующий все этапы…

07.12.2023

Mate academy отправит работников в 10-дневный оплачиваемый отпуск

Edtech-стартап Mate academy принял решение отправить своих работников в десятидневный отпуск – с 25 декабря…

07.12.2023

Переписки, фото, история браузера: киевский программист зарабатывал на шпионаже

Служба безопасности Украины задержала в Киеве 46-летнего программиста, который за деньги устанавливал шпионские программы и…

07.12.2023

Как вырасти до сеньйора? Девелопер создал популярную подборку на Github

IT-специалист Джордан Катлер создал и выложил на Github подборку разнообразных ресурсов, которые помогут достичь уровня…

07.12.2023