Комп

Комп'ютерна еволюція

Серед найбільш важливих технологій, створених людством за усю його історію, комп'ютери, — мабуть, самий недавній винахід. Проте потреба в обчисленнях існувала з глибокої старовини. Вже перші сільскогосподарські цивілізації Месопотамії зіткнулися з такими об'ємами цифр і даних, зберігати і перераховувати які в думці було занадто складно. Тоді і з'явився перший прообраз комп'ютера — абак.

steeve jobs Steve Jobs

Нескладний пристрій, схожий на старі бухгалтерські рахівниці, дозволяв маніпулювати цифрами звичайної десятеричной системи. Кожен подальший ряд кісточок представляли наступну міру десяти: п'ятнадцяти, наприклад, відповідали п'ять зрушених кісточок на нижній планці плюс одна — на другій знизу.

Щоб додати до нього 115, досить було зрушити одну кісточку в третьому ряду (100), одну в другому (10) і п'ять в нижньому (п'ять), а оскільки 10 зрушених кісточок нижнього ряду дорівнює одній в другому ряду, залишилося повернути їх назад і додати одну вище — 130. Готово.

Механічні

Ця «модель» виявилася настільки зручною і універсальною, що її удосконалювали і використали впродовж багатьох століть, незважаючи на появу складніших і спеціалізованих механізмів — починаючи з астролябії і закінчуючи логарифмічною лінійкою.

АбакАбак

Скажімо, машина, що підсумовує, створена Паскалем ще в XVII столітті, була, по суті, механізованими рахунками. Зубчасті колеса з тим же передатним відношенням 1:10, роблячи певне число оборотів, дозволяли складати числа з п'ятьма-вісьмома десятковими розрядами. Трохи пізніше з'явився механізм Лейбніца, здатний виконувати усі чотири основні арифметичні дії.


Влаштований він був складніший: відповідний розряд представлявся ступінчастим циліндром, кожен з яких, вчинивши десять оборотів, повертався в початкове положення і передавав один оборот на наступний циліндр — так працюють одометри в сучасних автомобілях. Ті ж рухи в зворотному порядку дозволяли віднімати, а додаткові механізми, що автоматизували багатократне складання і віднімання, забезпечили множення і ділення.

механізм лейбніцаМеханізм Лейбніца

Сам Лейбніц говорив, що простий рахунок «не коштує уваги і часу гідної людини, раз будь-який селянин здатний виконати ту ж роботу з тією ж точністю, якщо користуватиметься машиною». Проте перше задокументоване вживання слова «комп'ютер» (Річард Брейтвейт, 1613 рік) означало не машину, а професію. В ті роки справжніми «комп'ютерами» були дійсно досвідчені в арифметиці люди — і така ситуація зберігалася аж до середини XIX століття, коли їх помалу стали витісняти механізми. З 1890-х слово «комп'ютер» входить в Оксфордський словник англійської мови — вже в якості механічного пристрою.

Проте практично усі арифмометри того часу були лише більше вдосконаленими, дешевими і надійними версіями машини Лейбніца : повністю позбавитися від ручної праці при рахунку вони не дозволяли. Більшість практичних завдань — будь то розрахунок балістичного польоту снаряда або опор залізничного моста — вимагають введення, обробки і прочитування десятків, сотень і тисяч чисел. Обчислення віднімали масу сил і ресурсів, і, щоб дійсно звільнити «гідних людей» від принизливої роботи «лічильником», була потрібна машина, здатна робити будь-які обчислення і що має пам'ять, облаштування введення і виведення даних.

Уперше про такий універсальний механізм замислився Чарльз Беббідж, який в 1820-1840 роках працював над різницевою машиною для розкладання функцій на многочлени. Складна система з десятків тисяч деталей так ніколи і не була ним до кінця побудована, і лише до 200-річчя з дня народження Беббіджа у Великобританії зібрали і її (довівши правильність розрахунків інженера), і спроектований ним примітивний принтер.

 Машина БеббіджаМашина Беббіджа

Ідея універсальної машини Беббіджа — хоча і не реалізовувалася з технологіями того часу — справила велике враження на уми. Вже в середині XIX століття графиня Ада Лавлейс описала роботу такого механізму, ввівши уявлення про алгоритми, цикли, і стала першим програмістом ще не існуючого комп'ютера. Втім, чекати залишалося недовго.

Електромеханічні

До кінця того ж XIX століття уряд США зіткнувся зі швидким зростанням населення — в основному за рахунок напливу мігрантів з Європи. Законодавство країни пропонує проводити перепис населення кожні 10 років, але вже в 1880 році анкет зібрали стільки, що їх ручна обробка зайняла сім років. Дійшлі статистики підрахували, що на перепис в 1890-му знадобиться вже більше 10 років — об'єми росли як снігову грудку. Саме для їх обробки інженер Герман Холлеріт створив машину табуляції, яка використала перфокарти. Отвори, що відповідають відповідям анкети, дозволяли тонким гнучким дротам проходити перфокарту наскрізь і з'єднуватися внизу з осередками, що проводили, рідкими електродами з ртуті. Замикання контактів примушувало крихітний мотор крутити відповідне колесо на один оборот, фіксуючи позицію.

Табулятор Германа ХоллерітаТабулятор Германа Холлеріта

Сполучаючи електроди в схеми, можна було робити складання і комбінаторні обчислення : наприклад, при з'ясуванні загального числа одружених чоловіків. Це був великий крок вперед — вже не механічний, а електромеханічний комп'ютер. Табулятори Холлеріта дозволили обробляти дані на порядок швидше — їх закупив навіть уряд царської Росії, де вони були використані для перепису 1897 року. Створена інженером компанія Computing — Tabulating — Recording (CTR) розробляла і випускала усе більш складні табулятори, а з 1924 року стала відома під новим, нині усією знайомою назвою — International Business Machines, або просто IBM.

Продукти компанії були надзвичайно успішні, але їх здібностей швидко стало не хапати. Індустріалізація і Перша світова війна, бурхливий розвиток заводів і міст, науки і транспорту вимагали все більшій продуктивності. Росли і ускладнювалися електромеханічні системи: побудована тій же IBM в 1941 році машина «Марк I» за замовленням американського ВМФ займала ціла будівля і була неймовірно складна в управлінні і експлуатації.

 Машина «Марк I», побудована IBMМашина «Марк I», побудована IBM

Вона використала десятки перфострічок і мільйони варіантів з'єднань, але головною новинкою стало впровадження електромеханічних реле. Цей пристрій можна назвати перемикачем, який затримує або пропускає струм (що обертає усе те ж рахункове колесо) залежно від того, чи є струм в другому контурі, що управляє. Прийшла пора використати логіку.


Електричні

Комбінуючи такі перемикачі, можна отримувати логічні вентилі для проведення обчислень. Уявимо, що нам необхідно скласти п'ять і шість. У бінарній системі це означає підсумовувати 0101 і 0110, розряд за розрядом, за правилами: 0 + 1 = 1 + 0 = 1, 0 + 0 = 0, 1 + 1 = 10. Нам знадобляться всього два логічні вентилі: перший видаватиме струм (1), якщо один з підсумовуваних регістрів містить 1 і в нашому випадку дасть 0011; другий спрацьовуватиме тільки на 1 і 1 — в нашому випадку це відповідає 1000. Одночасна робота двох схем дасть 1011 — або 11 в десятеричной системі.

З побутової точки зору не занадто зручно, але для комп'ютера — що потрібно. Носіями нулів і одиниць можуть виступати перфокарти, магнітні стрічки або елементи пам'яті, а як логічні елементи — «перемикачі». До моменту, на якому ми зупинилися, вони еволюціонували до повністю електричних.

Насправді, усі 3,5 тисячі механічних реле «Марк I» вимагали фізичного перемикання, примушуючи ланцюг то замикатися, то розмикатися знову. В результаті вони мали лише обмежений запас витривалості і вимагали заміни через приблизно 50 тисяч перемикань. Це знижувало і їх швидкодію: машина могла робити лише три операції складання або віднімання в секунду. Нарешті, механічне рішення украй ненадійно: звичайна комаха, що пробралася всередину системи, загрожувала порушити її роботу — що і траплялося раз у раз, породивши сучасне слівце «баг». Недивно, що незабаром інженери звернули увагу на інший спосіб отримати керовані перемикачі — електронні лампові діоди, що перетворили електромеханічні системи на повністю електричні.

Такі прилади створили ще в 1900-х: вакуумна лампа містить електроди, один з яких, нагріваючись при поданні струму, починає випускати електрони, які спрямовуються до протилежно зарядженого електроду. Проте встановлений між ними третій електрод може управляти цим потоком. Якщо на нього подана негативна напруга, він блокує рух електронів, а якщо позитивне — полегшує його.

Лампові діоди були куди надійніше і швидше за механічні реле, вони могли перемикатися сотні і тисячі разів в секунду і служили довше. Їх широко використали в підсилювачах звуку : слабкий струм в контурі, що управляє, замикав потужніший робочий контур, тим самим посилюючи сигнал. Але якщо побутовий підсилювач вимагав одну лампу, комп'ютеру були потрібні сотні — крихких, дорогих, вимагаючих регулярної заміни і енергетично ненажерливих.

При цьому вже перші лампові комп'ютери — такі як Colossus, що зламував шифри радіоповідомлень вермахту в роки Другий світовий, — швидко перевалили через планку в тисячі діодів. Для проведення кожного конкретного обчислення доводилося перепрограмувати систему повністю, по-новому комбінуючи логічні вентилі з електронних ламп.

Colossus компЛамповий комп'ютер Colossus

Автоматизували цей процес лише творці наступної машини — ENIAC, що закінченою до 1945 року і використалася для розробки термоядерної зброї. Це був перший дійсно програмований комп'ютер, здатний проводити вже до 500 тисяч операцій в секунду. Проте стало очевидно, що потрібний принципово інший механізм створення перемикачів-реле : наближався час транзисторів.

Eniac ENIAC

Електронні

Заслуга створення напівпровідникових транзисторів належить Уільяму Шокли і його колегам з Bell Laboratories. По суті, це ті ж перемикачі, далекі нащадки механічних і лампових систем, але що діють вже на мініатюрнішому рівні.


 Напівпровідниковий транзистор: схемаНапівпровідниковий транзистор: схема

Щоб зрозуміти, як вони діють, нам доведеться знову спуститися до атомного масштабу. Кремній — один з основних елементів в земній корі — утворює кристалічну решітку з властивостями напівпровідника. У чистому вигляді усі чотири електрони, які є на зовнішніх оболонках атомів кремнію, виявляються розділеними між сусідніми вузлами грат.

 Бардин, Шокли і Браттейн в лабораторії Bell, 1948 рікБардин, Шокли і Браттейн в лабораторії Bell, 1948 рік

Вони стабілізовані і не здатні рухатися, так що бездоганний кремнієвий кристал струм не проводить. Проте внесення вже невеликих кількостей добавок (допирование) з елементів з іншим числом зовнішніх електронів (наприклад, бору) створює в гратах вільні носії заряду — або вакансії (дірки), — які ті прагнутимуть зайняти. Ми отримаємо матеріал з електронною (N -) або дірковою (P -) провідністю.

Мініатюрні

Тепер уявимо, що акуратним допированием ми перетворили невеликий фрагмент чистого кремнію на N- напівпровідник з тонкою смужкою Р-провідності, що розділяє його навпіл. Надлишок електронів з N- областей займе найближчі дірки в P- області, створивши область з надмірним негативним зарядом. Вона перешкоджатиме подальшому руху електронів, замикаючи течію струму, як третій електрод, що управляє, у вакуумній лампі. Але якщо на Р-область подається позитивний заряд, він видалить зайві електрони, дозволивши струму рухатися.

Ми отримали все той же перемикач, але вже неймовірно компактний і швидкий, енергоефективний і такий, що абсолютно не зношується. Комбінуючи кремнієві NPN-- або PNP--транзистори, можна вибудовувати будь-які логічні схеми для надшвидких розрахунків, розміщуючи в крихітному об'ємі мільярди транзисторів і контактів між ними. Залишається лише зробити їх.

Сучасні технології виробництва напівпровідникових мікросхем точніше ювелірних і вимагають більш ніж хірургічної чистоти. Температура, яка на деяких етапах доводиться до 1500 °C, контролюється до десятих доль градуса, а порошинок в повітрі величезних виробничих приміщень повинно міститися не більше п'яти на літр об'єму. Тільки так можна добитися достатньої точності і розміщувати на мікросхемі все більше і більше транзисторів — від 2300 на революційному мікропроцесорі 1971 року Intel 4004, до 3,1 мільйонів транзисто-ров на Intel Pentium 1993 роки і сотень мільйонів в кожному з десяти ядер сучасного процесора Xeon.

Високу чистоту потрібно і від основного ресурсу виробництва — кварцевого піску, який прожарюють у присутності магнію для додаткового очищення і видалення кисню. Отриманий кремній розплавляють і занурюють в нього приманку — крихітний кристал, який повільно витягають, нарощуючи усі нові атомарні шари, поки не буде отриманий достатніх розмірів монокристал. Нарізуючи його, отримують тонкі — менше міліметра — пластини чистого напівпровідника, які після шліфування і додаткової обробки перетворюються на заготівлі для того, щоб «вирізувати» цілу систему транзисторів і зв'язків — мікросхему майбутнього процесора.

Для цього кремній (напівпровідник) покривають шаром оксиду кремнію (ізолятор) і фоторезистивного матеріалу. Під дією ультрафіолетового променя він твердне, а в інших ділянках згодом змивається, дозволяючи видалити і ізолюючий шар оксиду. Процес схожий на середньовічну технологію літографії, при якій фарба зберігалася лише в подряпаних в металевій пластинці канавках, утворюючи готовий малюнок для відбитку. Він і називається фотолітографією, хоча «канавки» тут — вже нанометровий малюнок щонайтоншої мікросхеми.

фотолітографія: схемаФотолітографія: схема


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

Розміри трафаретів набагато більші, ніж у майбутнього процесора, тому «снопи» випромінювання після них фокусуються на крихітній площі за допомогою спеціальних лінз. Вже в 1980-х точність роботи таких систем вдалося довести до мікрометрів, а сучасні технології дозволяють «зменшувати» картинку трафарету при перенесенні на кремнієвий кристал ще на багато порядків — аж до 10 нанометрів.

Прогрес вражає і досі повністю узгоджується з правилом, яке ще на зорі розвитку кремнієвої електроніки ствердив Гордон Мур, один з керівників IBM : кожні 18 місяців продуктивність мікросхем подвоюється. Такому розвитку давно і безуспішно заздрять інші області техніки (представте, якби швидкість транспортних перевезень росла подібними темпами!), проте і йому, мабуть, скоро прийде кінець.

Майбутні

Насправді, менше відоме інше зауваження Мура — про те, що витрати на кожен наступний крок мініатюризації кремнієвих мікросхем ростуть майже з тією ж швидкістю, що і їх продуктивність. Останніми роками це привело до деякого відставання схемотехніки від звичної швидкості розвитку, та і інженери впритул наблизилися до межі мінімуму. Транзистори — розмірами лише в сотні, а то і десятки атомів — вже проявляють себе як квантові системи. У них виникають випадкові ефекти, що вносять спотворення в точність обчислень, — і прискорення суперкомп'ютерів все більше покладається не на потужність окремих мікросхем, а на велике число спільно працюючих елементів.

мікросхемаМікросхема

Втім, навіть захід кремнієвих транзисторів не означатиме, що ми підійшли до межі продуктивності комп'ютерів як таких. Велику перспективу деякі фахівці бачать за ДНК-обчисленнями, що комбінують парні нуклеотиди в ланцюжках нуклеїнових кислот : теоретично вони обіцяють неймовірно високу продуктивність при рішенні багатьох завдань, що вимагають паралельних обчислень. Ще більше надій пов'язані з квантовими комп'ютерами, які здатні спиратися на ті самі випадкові і дивні ефекти квантової механіки, від яких страждають неймовірно мініатюрізовані кремнієві мікросхеми. Перші з них вже почали роботу — втім, вони гідні окремої розповіді.