Чи можуть комп’ютери мислити, вчитися та вирішувати проблеми, як люди? У цій публікації в блозі ми розкриємо таємницю, як працюють комп’ютери, порівнявши, як працюють програми з тим, як навчаються люди.
Коли справа доходить до сезону іспитів, є багато предметів для вивчення та багато ресурсів, до яких можна звернутися. Перш ніж розпочати навчання, ми беремо з книжкової полиці купу матеріалу, який будемо сьогодні вивчати, і складаємо його на столі. Потім починаємо читати рядок за рядком, починаючи з найактуальнішої теми. Я відкриваю кілька книг одночасно, кидаю погляд з боку в бік, і якщо є щось, до чого я ще не встиг, я повертаюся до книжкової полиці, щоб отримати останній потрібний мені матеріал. Це історія, через яку кожен проходить під час іспитів, але насправді це метафора того, що відбувається всередині комп’ютера. Коли ми клацаємо програму в папці, щоб запустити її, ми дістаємо її з книжкової полиці, складаємо на своєму столі й дозволяємо процесору читати її рядок за рядком. Давайте детальніше розглянемо, чим робота програм на комп’ютері схожа на наш навчальний процес.
Подібно до того, як перше місце, куди ми йдемо, щоб почати вивчення, це книжкова полиця, перше місце, куди ми дивимося, коли запускаємо програму, це жорсткий диск. Подібно до того, як книги з літерами на них сортуються за категоріями на книжковій полиці, програми, що складаються з 0 і 1, групуються в подібні категорії на диску. Структуру жорсткого диска легко зрозуміти, якщо уявити його як циліндричну структуру з кількома шарами, як ті, які ви часто бачите в контейнерах для компакт-дисків. Подібно до того, як ви обертаєте компакт-диск, щоб знайти потрібний компакт-диск, ви обертаєте диск, щоб знайти програму. Коли ви використовуєте зовнішній жорсткий диск, ви чуєте звук обертання чогось, і саме диск обертається, щоб знайти програму. Коли ви знайдете програму, яку хочете запустити, ви захопите її та купу пов’язаних програм і перемістите їх у пам’ять. Пам’ять для комп’ютера – це те ж саме, що стіл для людини: тимчасове місце для зберігання матеріалів для сьогоднішнього навчання.
Тепер нам потрібно систематизувати матеріали на столі. Подібно до того, як вам потрібно ефективно організувати свої матеріали, щоб добре вчитися, ваш комп’ютер має організувати програми в пам’яті. Наприклад, іноді програма завершується, оскільки повідомляє, що пам’ять заповнена, але якщо ви подивитеся на історію використання пам’яті, там розкидані порожні місця, тому є достатньо місця для запуску інших програм. Ця ситуація називається «фрагментацією», і те, як ви її вирішуєте, визначає продуктивність вашого комп’ютера. Так само під час навчання, якщо ви погано організуєте свої матеріали, знадобиться час, щоб знайти те, що вам потрібно, що знизить вашу ефективність.
Крім того, як у прикладі, згаданому у вступі, комп’ютери іноді звертаються до жорсткого диска, щоб отримати програмні коди, які ще не були імпортовані в пам’ять, і це називається підкачуванням. Відстань до жорсткого диска, що сприймається, дуже велика, тому чим більше разів ви підключаєтеся, тим повільніше працює комп’ютер. Ще один спосіб підвищити продуктивність комп’ютера — спочатку імпортувати з жорсткого диска всі відповідні програми, які будуть виконуватися в майбутньому. Тепер, коли ви принесли всі матеріали для сьогоднішнього вивчення на свій стіл і впорядкували їх, залишилося лише почати навчання. У світі комп’ютерів центральний процесор є робочою конячкою.
Третій пристрій, який ми збираємося розглянути, це процесор. Ні для кого не секрет, що продуктивність центрального процесора має величезний вплив на продуктивність комп'ютера. Хоча продуктивність людського мозку не залежить від того, наскільки швидко ви можете читати, продуктивність ЦП визначається його тактовою частотою, тобто кількістю даних, які він може зчитувати за секунду. Intel i7-13700, процесор, який продається в 2024 році, має тактову частоту 5.4 ГГц, що означає, що він може зчитувати 5.4 мільярда нулів або одиниць за секунду. Коли комп’ютер зчитує код рядок за рядком, це називається «вибіркою», але замість того, щоб отримати одну програму, а потім прочитати іншу, він перемикається між кодами різних програм у порядку терміновості. Іноді, якщо швидкість переходу від програми до програми настільки висока, що користувачеві здається, що дві програми працюють одночасно, це називається «багатозадачністю». Це явище схоже на те, як хороший учень може одночасно відкрити кілька матеріалів і завершити роботу за один присід.
Центральний процесор вашого комп’ютера, як і ваш мозок, є центром вашого робочого навантаження. Ключ до цього процесу полягає в тому, наскільки ефективно ЦП справляється з кількома завданнями. Наприклад, під час вивчення кількох предметів вам потрібно визначити пріоритетність найважливіших, щоб бути ефективними, так само як ваш комп’ютер повинен визначити пріоритетність найважливіших завдань, щоб максимізувати продуктивність. Багатозадачність центрального процесора є важливою для виконання кількох завдань одночасно, подібно до того, як ми готуємося до кількох предметів одночасно та зосереджуємось на кожному з них. Здатність центрального процесора швидко обробляти кілька завдань є ключовим фактором загальної продуктивності комп’ютера.
Досі ми бачили, як процес запуску програми, що зберігається на диску комп’ютера, схожий на процес навчання в бібліотеці. Підводячи підсумок, запуск програми означає, що код, організований на диску як послідовність нулів і одиниць, переміщується в пам’ять, коли нам це потрібно, і обробляється ЦП рядок за рядком. На додаток до того, що ми обговорювали в цій статті, спосіб роботи комп’ютерів еволюціонував протягом їх майже 100-річної історії, щоб віддзеркалити те, як ми живемо в світі, тому деякі проблеми, які традиційно були складними для інформатики, часто вирішувалися за допомогою ефективних методів, які ми сприймаємо як належне в нашому повсякденному житті. Тому, якщо ця тенденція розвитку комп’ютерів збережеться, очікується, що в майбутньому ми зможемо вирішувати проблеми людського суспільства, використовуючи процес вирішення проблем у комп’ютерах.
Подібність між комп’ютерами та людьми вражає. Машини, створені для імітації людської поведінки, тепер знову стають більш схожими на людей. Коли ми розуміємо, що багато методів, які використовуються для підвищення продуктивності комп’ютера, насправді імітують моделі людської поведінки, нам потрібно подумати про те, як ми можемо максимізувати людську творчість і ефективність у сучасному світі, який живе поруч з комп’ютерами. Це не лише питання технологічного прогресу, а важливий виклик для майбутнього, де люди та машини співіснують у гармонії.