|
|||||||||||||||||||||||||||||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Сучасні багаторівневі машини
Більшість сучасних комп'ютерів складається з двох і більш рівнів. Існують машини навіть із шістьма рівнями (рис.1.2). Рівень 0 – апаратне забезпечення машини. Його електронні схеми виконують програми, написані мовою рівня 1. Рівень 0 – рівень фізичних пристроїв – не показаний на рис.1.2, тому що він попадає в сферу електронної техніки.На цьому рівні знаходяться транзистори, що є примітивами для розробників комп'ютерів. Пояснювати, як працюють транзистори, – задача фізики. На самому нижньому рівні, цифровому логічному рівні, об'єкти називаються вентилями. Хоча вентилі складаються з аналогових компонентів, таких як транзистори, вони можуть бути точно змодельовані як цифрові засоби. У кожного вентиля є одне або декілька цифрових вхідних даних (сигналів, що представляють 0 чи 1). Вентиль обчислює прості функції цих сигналів, такі як І чи АБО. Кожен вентиль формується з декількох транзисторів. Кілька вентилів формують 1 біт пам'яті, що може містити 0 чи 1. Біти пам'яті, об'єднані в групи, наприклад, по 16,32 або 64, формують регістри. Кожен регістр може містити одне двійкове число до визначеної межі. З вентилів також може складатися сам комп'ютер.
рівень 5
Трансляція (компілятор)
рівень 4 Трансляція (асемблер)
рівень 3
Трансляція (асемблер)
рівень 2 Інтерпретація (мікропрограма) або безпосереднє виконання
Апаратне забезпечення
рівень 0
Рис.1.2. Комп'ютер із шістьма рівнями Наступний рівень – мікроархітектурний рівень. До цього рівня відноситься сукупність 8 або 32 регістрів, що формують локальну пам'ять і схему, так звану АЛП (арифметико-логічний пристрій). АЛП виконує прості арифметичні операції. Регістри разом з АЛП формують тракт даних, по якому надходять дані. Основна операція тракту даних полягає в наступному. Вибирається один або два регістри, АЛП робить над ними яку-небудь операцію, наприклад додавання, а результат міститься в один з цих регістрів. На деяких машинах робота тракту даних контролюється особливою програмою, що називається мікропрограмою. На інших машинах тракт даних контролюється апаратними засобами. Раніше цей рівень майже завжди був інтерпретатором програмного забезпечення, зараз тракт даних звичайно контролюється апаратним забезпеченням. На машинах, де тракт даних контролюється програмним забезпеченням, мікропрограма – це інтерпретатор для команд на рівні 2. Мікропрограма викликає команди з пам'яті і виконує їх одну за іншою, використовуючи при цьому тракт даних. Наприклад, для того щоб виконати команду ADD, ця команда викликається з пам'яті, її операнди містяться в регістри, АЛП обчислює суму, а потім результат переправляється назад. На комп'ютері з апаратним контролем тракту даних відбувається така ж процедура, але при цьому немає програми, що контролює інтерпретацію команд рівня 2. Другий рівень називається рівнем архітектури системи команд. Коли описується набір машинних команд, в дійсності це є опис команди, що виконуються інтерпретатором або апаратним забезпеченням. Наступний рівень, звичайно, гібридний. Більшість команд у його мові є також і на рівні архітектури системи команд (команди, що є на одному з рівнів, цілком можуть знаходитися на інших рівнях). У цього рівня є деякі додаткові особливості: набір нових команд, інша організація пам'яті, здатність виконувати дві і більше програм одночасно і деякі інші. Нові засоби, що з'явилися на третьому рівні, виконуються інтерпретатором, що працює на другому рівні. Цей інтерпретатор був колись названий операційною системою. Команди третього рівня, ідентичні командам другого рівня, виконуються мікропрограмою або апаратним забезпеченням, але не операційною системою. Іншими словами, одна частина команд третього рівня інтерпретується операційною системою, а інша частина – мікропрограмою. От чому цей рівень вважається гібридним. Він називається рівнем операційної системи. Між третім і четвертим рівнями є істотна різниця. Нижні три рівні конструюються не для того, щоб з ними працював звичайний програміст. Вони призначені для роботи інтерпретаторів і трансляторів, що підтримують більш високі рівні. Ці транслятори й інтерпретатори складаються так званими системними програмістами, що спеціалізуються на розробці і побудові нових віртуальних машин. Рівні з четвертого і вище призначені для прикладних програмістів, що вирішують конкретні задачі. Ще одна зміна, що з'явилася на рівні 4, – спосіб, яким підтримуються більш високі рівні. Рівні 2 і 3 звичайно інтерпретуються, а рівні 4, 5 і вище звичайно, хоча і не завжди, підтримуються транслятором. Інше розходження між рівнями 1,2,3 і рівнями 4,5 і вище – особливість мови. Машинні мови рівнів 1,2 і 3 – цифрові. Програми, написані на цих мовах, складаються з довгих рядів цифр, що зручні для комп'ютерів, але зовсім незручні для людей. Починаючи з четвертого рівня, мови містять слова і скорочення, зрозумілі людині. Четвертий рівень – це символічна форма однієї з мов більш низького рівня. На цьому рівні можна писати програми в прийнятній для людини формі. Ці програми спочатку транслюються на мову рівня 1, 2 чи 3, а потім інтерпретуються відповідною віртуальною або фактично існуючою машиною. Програма, що виконує трансляцію, називається ассемблером. П'ятий рівень звичайно складається з мов, розроблених для прикладних програмістів. Такі мови називаються мовами високого рівня. Існують сотні мов високого рівня. Найбільш відомі серед них – BASIC, С, C++, Java, LISP і Prolog. Програми, написані на цих мовах, звичайно транслюються на рівень 3 чи 4. Транслятори, що обробляють ці програми, називаються компіляторами. Відзначимо, що іноді також використовується метод інтерпретації. Наприклад, програми мовою Java звичайно інтерпретуються. У деяких випадках п'ятий рівень складається з інтерпретатора для такої сфери додатка, як символічна математика. Він забезпечує дані та операції для рішення задач у цій сфері в термінах, зрозумілих людям, знаючим у символічній математиці. Отже, комп'ютер проектується як ієрархічна структура рівнів, кожний з який надбудовується над попереднім. Кожен рівень являє собою визначену абстракцію з різними об'єктами й операціями. Набір типів даних, операцій і особливостей кожного рівня називається архітектурою. Архітектура пов'язана з аспектами, що видні програмісту. Наприклад, зведення про те, скільки пам'яті можна використовувати при написанні програми, – частина архітектури. А аспекти розробки (наприклад, яка технологія використовується при створенні пам'яті) не є частиною архітектури. Вивчення того, як розробляються ті частини комп'ютерної системи, що видні програмістам, називається вивченням комп'ютерної архітектури. Терміни «комп'ютерна архітектура» і «комп'ютерна організація» означають у сутності те саме. Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.004 сек.) |