logo
AOM / Мельник А

1.5. Предмет та порядок розгляду матеріалу даної книги

Комп'ютер є складною системою. Сучасні комп'ютери складаються з мільйонів або й мільярдів елементарних електронних компонент. Для зрозумілого опису такої складної системи використовується її ієрархічна природа, тобто комп'ютер розглядається як на­бір взаємозв'язаних підсистем, кожна з яких також є ієрархічною (рис. 1.22). Найниж­чим рівнем є елементарна підсистема. На кожному рівні складна система включає набір відповідним чином з'єднаних компонент, які визначають її поведінку на даному рівні. Кожен рівень може бути описаним структурою та функціями компонент. Структура включає перелік компонент та організацію їх взаємозв'язків. Функції описують операції кожної індивідуальної компоненти.

51

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

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

52

архітектурного рівня. На рівні мов програмування програміст працює з комп'ютером на таких мовах як: С, C++, FORTRAN,Lisp,Pascal,Prolog.Користувач цього рівня бачить дуже мало з того, що робиться на нижчих рівнях.

На рис. 1.23 представлено сім рівнів організації комп'ютера, запропоновані Е. Та-ненбаумом. Біля кожного з рівнів показаний спосіб його підтримки, а в дужках - назва програми, яка цей рівень підтримує.

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

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

53

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

Оскільки кожен з рівнів сприймається по-іншому, користувачі сприймають комп'ю­тери кожного рівня як окремі комп'ютери, які називають віртуальними машинами.

Виходячи з окресленого вище, матеріал даної книги викладено в наступній послідов­ності.

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