Архітектура та принципи роботи ЕОМ

 

Вивчаючи комп’ютер, часто виникають асоціації комп’ютера і людини. У комп’ютера є органи сприйняття інформації із зовнішнього світу – це клавіатура, мишка, накопичувачі на магнітних та інших дисках. На рис.1.1 ці органи розміщені справа від системних шин.

У комп’ютера є органи, які “переварюють” отриману інформацію – це центральний процесор і оперативна пам’ять. І на кінець, у комп’ютера є органи спілкування, які видають результати переробки. Це також деякі з пристроїв справа. Сучасним комп’ютерам, звичайно, далеко до людини. Їх можна порівняти з істотами, які взаємодіють із зовнішнім світом на рівні великого, але обмеженого набору безумовних рефлексів. Цей набір рефлексів формує систему машинних команд. На якому б високому рівні ви не спілкувались з комп’ютером, в кінцевому результаті все зводиться до нудної і одноманітної послідовності машинних команд. Кожна машинна команда є, свого роду, подразником для збудження того чи іншого безумовного рефлексу. Реакція на цей подразник завжди однозначна і “зашита” у блоці мікрокоманд у вигляді мікропрограми. Ця мікропрограма і реалізує дії по виконанню машинної команди, але вже на рівні сигналів, які подаються на ті чи інші логічні схеми комп’ютера, тим самим керуючи різними підсистемами комп’ютера. В цьому полягає так званий принцип мікропрограмного управління. Продовжуючи аналогію з людиною, відмітимо: для того, щоби комп’ютер правильно “харчувався”, придумано багато операційних систем, компіляторів сотень мов програмування і т.д.. Але всі вони є, по суті, тільки тарілкою, на якій, по відповідним правилам, доставляється їжа (програми) шлунку (комп’ютеру). Але комп’ютер “любить” інформацію структуровану: у вигляді строго організованих полідовностей нулів і одиниць, комбінації яких і складають машинну мову. Таким чином, ззовні виглядаючи поліглотом, комп’ютер розуміє тільки одну мову – мову машинних команд [1].

 
 

Рисунок 1.1 – Структурна схема персонального комп’ютера

Щоби зібрати воєдино всі поняття, які характеризують комп’ютер з точки зору його функціональних програмно-керованих властивостей, існує спеціальний термін – архітектура ЕОМ.

Архітектура ЕОМ – це абстрактне представлення ЕОМ, яке відображає її структурну, схемотехнічну і логічну організацію [1]. Поняття архітектури ЕОМ є комплексним і включає в себе:

– структурну схему ЕОМ;

– засоби і способи доступу до елементів структурної схеми ЕОМ;

– організацію і розрядність інтерфейсів ЕОМ;

– набір і доступність регістрів;

– організацію і способи адресації пам’яті;

– способи представлення і формати даних ЕОМ;

– набір машинних команд ЕОМ;

– формати машинних команд;

– обробку нештатних ситуацій (переривання).

Всі сучасні ЕОМ володіють деякими загальними та індивідуальними властивостями архітектури. Індивідуальні властивості мають тільки конкретні моделі комп’ютера і відрізняють його від великих і малих братів. Наявність спільних архітектурних властивостей зумовлена тим, що більшість типів існуючих машин належать 4 і 5-му поколінням ЕОМ так званої фон-нейманівської архітектури. До числа загальних архітектурних властивостей і принципів можна віднести:

Принципи зберігання програми.

Згідно цього принципу, код програми та її дані знаходяться в одному адресному просторі в оперативній пам’яті.

Принцип мікропрограмування.

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

Лінійність простору пам’яті.

Лінійний простір пам’яті – сукупність комірок пам’яті, яким послідовно присвоюються імена (адреси) 0, 1, 2, …

Послідовне виконання програм.

Процесор вибирає з пам’яті команди строго послідовно. Для зміни прямолінійного ходу виконання програми або проведення розгалуження необхідно використовувати спеціальні команди. Вони називаються командами умовного і безумовного переходу.

З точки зору процесора немає принципової різниці між даними і командами.

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

Байдужість до цільового призначення даних.

Машині все рівно, яке логічне навантаження несуть оброблювані нею дані.