Мікропроцесор

Мікропроце́сор (англ. microprocessor) інтегральна схема, яка виконує функції центрального процесора (ЦП) або спеціалізованого процесора. Сьогодні слово мікропроцесор є практично повним синонімом слова процесор, оскільки функціональний блок, що на ранніх стадіях розвитку обчислювальної техніки займали цілу плату чи навіть шафу, тепер вміщається в одну невеличку інтегральну схему із сотнями мільйонів транзисторів всередині[1]. Гарним прикладом сьогодення є SoC - "система на чипі / кристалі". З середини 1980-х майже мікропроцесори витіснили інші види ЦП, особливо у побуті. Проте загалом це не так: центральні процесорні пристрої деяких суперкомп'ютерів навіть сьогодні є складними комплексами великих (ВІС) і надвеликих (НВІС) інтегральних схем.

Мікропроцесор 80486dx2

Етимологія

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

Першим хто подав ідею універсального обчислювального процесора був Тед Гофф, який розробив архітектуру першого мікропроцесора. Практичну реалізацію здійснив Федеріко Фаджин[2].

Історія

Перша мікросхема успішно запрацювала 12 вересня 1958 року в компанії Texas Instruments. У 2000 році Нобелівську премію з фізики присудили Джеку Кілбі — за винахід інтегральної мікросхеми. Ще одним творцем інтегральної мікросхеми вважається Роберт Нойс, померлий в 1990 році (за правилами, Нобелівська вручається тільки живим вченим). Фізики як такої при створенні мікросхеми було небагато, але Кілбі і Нойс «всього лише» придумали технологію, яка зробила переворот в електронній промисловості.

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

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

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

1971 рік: Intel 4004

Першим загальнодоступним мікропроцесором був 4-розрядний Intel 4004. Його змінили 8-розрядні Intel 8080 і 16-розрядний 8086, що заклали основи архітектури всіх сучасних настільних процесорів. Але внаслідок поширеності 8-розрядних модулів пам'яті був випущений 8088, клон 8086 з 8-розрядною шиною пам'яті. Потім пройшла його модифікація 80186. У процесорі 80286 з'явився захищений режим з 24-бітовою адресацією, що дозволяв використовувати до 16 МБ пам'яті. Процесор Intel 80386 з'явився в 1985 році і привніс покращений захищений режим, 32-бітову адресацію, що дозволила використовувати до 4 ГБ оперативної пам'яті і підтримку механізму віртуальної пам'яті.

Технологія виробництва напівпровідників

Є два основні напрями розвитку індустрії виробництва мікросхем.

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

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

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

Мікропроцесорна система

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

Будь-яка мікропроцесорна система працює разом з рядом зовнішніх пристроїв, одержуючи від них необхідну інформацію та передаючи іншу. Для зв'язку з зовнішніми пристроями існує інтерфейс (англ. interface). Цим терміном позначається весь комплекс пристроїв, правил та технічних засобів, що регламентують та забезпечують обмін інформацією між мікропроцесором (включаючи пам'ять) та зовнішніми пристроями. Головними в інтерфейсі є шини, або, як їх ще часто називають, магістралі. Магістраль — це сукупність провідників, для яких строго нормовані логічні рівні «0» та «1». Потужність сигналів на шинах має бути достатньою для живлення необхідної кількості приєднаних до них пристроїв. Для забезпечення цієї потужності використовуються спеціальні мікросхеми — шинні підсилювачі (ШП).

За призначенням, шини поділяються на три типи:

  • адресні;
  • даних;
  • керування.

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

Система команд мікропроцесорів

Рівні роботи

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

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

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

Структура команд

Формат пам'яті мікропроцесорної системи також тісно пов'язаний з довжиною слова. Тому при зберіганні таких команд відповідно використовується адресний простір та пам'ять. Якщо, наприклад, команда складається з трьох слів, а використовується з послідовною адресацією, то для зберігання такої команди використовуються три послідовні адреси. Для того, щоб таку команду вибрати з пам'яті, необхідно мати спеціальні засоби, щоб забезпечити її представлення як єдине ціле.

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

Цикли у мікропроцесорі

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

Машинні цикли

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

Цикли команди

Цикл команди — це інтервал часу, необхідний для вибірки з пам'яті команди, та її виконання. Він складається з 1-5 машинних циклів. Їхнє конкретне число залежить від складності операції, яка виконується в цій команді і дорівнює числу звернень мікропроцесора до пам'яті. Тривалість виконання команди визначається кількістю тактів в циклі команди та тривалістю такту.

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

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

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

Див. також

Джерела

  1. Ланский, Александр (4 липня 2019). Как работает процессор?. Tproger (ru-RU). Процитовано 4 грудня 2020.
  2. Invention of the Microprocessor

Посилання

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.