КУРСОВА РОБОТА
Багаторівнева організація комп’ютерів
ЗМІСТ
Вступ.............................................................................................................................3
1. Багаторівнева комп'ютерна організація................................................................4
1.1 Мови, рівні і віртуальні машини………….........................................................4
1.2 Сучасні багаторівневі машини.............................................................................7
2. Розвиток комп'ютерної архітектури.....................................................................11
2.1 Нульове покоління — механічні комп'ютери (1642-1945)..............................11
2.2 Перше покоління — електронні лампи (1945-1955)........................................14
2.3 Друге покоління — транзистори (1955-1965).................................................. 18
2.4 Третє покоління — інтегральні схеми (1965-1980)..........................................21
2.5 Четверте покоління — надвеликі інтегральні схеми (1980-?).........................23
3. Типи комп'ютерів…………………………...........................................................26
3.1 Технологічні і економічні аспекти.....................................................................26
3.2 Широкий спектр комп'ютерів………………………………….........................28
4. Сімейства комп'ютерів..........................................................................................32
4.1 Pentium II..............................................................................................................32
4.2 ULTRASPARC II.................................................................................................36
4.3 PicoJava II.............................................................................................................39
Література..................................................................................................................42
Вступ
Цифровий комп'ютер — це машина, яка може вирішувати задачі, виконуючи дані їй команди. Послідовність команд, що описують рішення певної задачі, називається програмою. Електронні схеми кожного комп'ютера можуть розпізнавати і виконувати обмежений набір простих команд. Всі програми перед виконанням повинні бути перетворені на послідовність таких команд, які зазвичай не складніше чим:*
скласти 2 числа;*
перевірити, чи не є число нулем;*
скопіювати шматок даних з однієї частини пам'яті комп'ютера в іншу.
Ці примітивні команди в сукупності складають мову, на якій люди можуть спілкуватися з комп'ютером. Така мова називається машинною мовою. Розробник при створенні нового комп'ютера повинен вирішувати, які команди включити в машинну мову цього комп'ютера. Це залежить від призначення комп'ютера, від того, які завдання він повинен виконувати. Зазвичай прагнуть зробити машинні команди якомога простіше, щоб уникнути складнощів при конструюванні комп'ютера і понизити витрати на необхідну електроніку. Оскільки більшість машинних мов дуже примітивні, використовувати їх важко і утомливо. Це просте спостереження з часом привело до побудови ряду рівнів абстракцій, кожна з яких надбудовується над абстракцією нижчого рівня. Саме таким чином можна подолати складнощі при спілкуванні з комп'ютером. Ми називаємо цей підхід багаторівневою комп'ютерною організацією.
Так ми і назвали цю книгу. У наступному розділі ми розповімо, що розуміємо під цим терміном. Потім ми розповімо про історію розвитку цієї проблеми і положення справ зараз, а також розглянемо деякі важливі приклади.
Багаторівнева комп'ютерна організація
Як ми вже сказали, існує величезна різниця тим часом, що зручно для людей, і тим, що зручно для комп'ютерів. Люди хочуть зробити X, але комп'ютери можуть зробити тільки Y. Через це виникають проблеми. Мета даної книги — пояснити, як можна вирішувати ці проблеми.
Мови, рівні і віртуальні машини
Проблему можна вирішити двома способами. Обидва ці способу включають розробку нових команд, які зручніші для людини, чим вбудовані машинні команди. Ці нові команди в сукупності формують мову, яку ми називатимемо Я 1. Вбудовані машинні команди теж формують мову, і ми називатимемо його Я 0. Комп'ютер може виконувати тільки програми, написані на його машинній мові Я 0. Згадані два способи вирішення проблеми розрізняються тим, яким чином комп'ютер виконуватиме програми, написані на мові Я 1.
Перший спосіб виконання програми, написаної на мові Я 1, — заміна
кожної команди на еквівалентний набір команд в мові Я 0. В цьому випадку комп'ютер виконує нову програму, написану на мові Я 0, замість старої програми, написаної на Я 1. Ця технологія називається трансляцією.
Другий спосіб — написання програми на мові Я 0, яка бере програми, написані на мові Я 1, як вхідні дані, розглядає кожну команду по черзі і відразу виконує еквівалентний набір команд мови Я 0. Ця технологія не вимагає складання нової програми на Я 0. Вона називається інтерпретацією, а програма, яка здійснює інтерпретацію, називається інтерпретатором.
Трансляція і інтерпретація схожі. При застосуванні обох методів комп'ютер зрештою виконує набір команд на мові Я 0, еквівалентних командам Я 1. Відмінність лише в тому, що при трансляції вся програма Я 1 переробляється в програму Я 0, програма Я 1 відкидається, а нова програма на Я 0 завантажується в пам'ять комп'ютера і потім виконується.
При інтерпретації кожна команда програми на Я 1 перекодує в Я 0 і відразу ж виконується. На відміну від трансляції, тут не створюється нова програма на Я 0, а відбувається послідовна перекодувала і виконання команд. Обидва ці методу, а також їх комбінація широко використовуються.
Зазвичай набагато простіше уявити собі існування гіпотетичного комп'ютера або віртуальної машини, для якої машинною мовою є мова Я 1, чим думати про трансляцію і інтерпретацію. Назвемо таку віртуальну машину М 1. Якби таку машину М 1 можна було б сконструювати без великих грошових витрат, мова Я 0, та і машина, яка виконує програми на мові Я 0, були б не потрібні. Можна було б просто писати програми на мові Я 1, а комп'ютер відразу б їх виконував. Навіть якщо віртуальна машина дуже дорога або її дуже важко сконструювати, люди все ж таки можуть писати програми псові. Ці програми можуть транслюватися або інтерпретуватися програмою, написаною на мові Я 0, яка сама могла б виконуватися фактично існуючим комп'ютером.
Іншими словами, можна писати програми для віртуальних машин, неначе
вони дійсно існують. Щоб трансляція і інтерпретація були доцільними, мови Я 0 і Я 1 не повинні сильно розрізнятися. Це означає, що мова Я 1 хоч і краще, ніж Я 0, але все таки далекий від ідеАЛП. Можливо, це декілька бентежить в світлі первинної мети створення мови Я 1 — звільнити програміста від тягаря написання програм на мові, яка зручніша для комп'ютера, чим для людини.
Проте ситуація не так безнадійна. Очевидне рішення цієї проблеми — створення ще одного набору команд, які більшою мірою орієнтовані на людину і у меншій мірі на комп'ютер, чим