Файл: Мельник А. Архітектура комп\'ютера.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 24.12.2021

Просмотров: 6763

Скачиваний: 22

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

30

виведення. За складом системи команд комп'ютери можуть бути поділені на наступні типи: комп'ютери з складною (комплексною) системою команд, комп'ютери з простою (спрощеною) системою команд, комп'ютери з доповненою системою команд, комп'юте­ри з орієнтованою (спеціалізованою) системою команд.

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

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

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

1.3.2. Архітектурні принципи Джона фон Неймана

Описана в 1946 році Джоном фон Нейманом архітектура комп'ютера дістала назву його імені. Оскільки це був опис реалізованого Преспером Екертом та Джоном Моучлі універсального комп'ютера ЕNІАС, створеного в Принстонському університеті, часом її іще називають принстонською. Головні особливості архітектури комп'ютера Джона фон Неймана:

  • Інформація в комп'ютері ділиться на команди і дані.

  • Команди вказують комп'ютеру, які дії і над якими операндами виконувати.

  • Послідовність команд, за якою виконується алгоритм вирішення задачі, назива­ють програмою.

  • Весь набір виконуваних комп'ютером команд називають системою команд ком­п'ютера.

  • Дані - це числа і закодовані символи, які використовуються командами як операн-ди. Одні команди для інших також можуть бути операндами.

  • Команди і дані представлено двійковим кодом.


  • Немає відмінностей в представленні команд і даних. Наприклад, двійкове число 100011011100 може бути як командою, так і даним.

  • Команди і дані зберігаються в одній пам'яті.

  • Команди і дані зберігаються в пам'яті за відповідними адресами.

  • Пам'ять мас довільну адресацію, тобто в кожному такті можна звернутися до до­вільної її комірки.

  • Пам'ять є лінійною. Її адресу кодують двійковим кодом, починаючи від молодшої, всі розряди якої рівні нулю (00...0), до старшої, всі розряди якої рівні одиниці (11 ...1).


В основу роботи цього комп'ютера покладено принцип програмного керування. Тоб­то функціонування цього комп'ютера здійснюється потактово за вказівкою команд про-


31

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

Як буде видно далі, ці особливості характерні для більшості сучасних комп'ютерів.

1.3.3. Ненейманівські архітектури комп'ютерів

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

Коротко виділимо основні риси деяких з названих архітектур.

Гарвардська архітектура вперше була реалізована Ховардом Айкеном в комп'ютері Марк-1 в Гарварді. Вона передбачає розділення пам'яті на пам'ять даних і пам'ять ко­манд. Тим самим розділяються шини передачі керуючої і оброблюваної інформації (рис. 1.9). При цьому підвищується продуктивність комп'ютера за рахунок суміщення в часі пере­силання та обробки даних і команд.

Рис. 1.9. Ядро комп'ютера гарвардської архітектури, утворене процесором та пам'яттю команд і даних


32

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

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

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

Машина потоків даних. Керування обчислювальним процесом в машині потоків даних здійснюється даними за їх готовністю до обробки. Кожне дане в такій машині має спеціальні ознаки. За цими ознаками пристрій керування знаходить дані, які готові до обробки, і передає їх в АЛП для виконання відповідних операцій. Тим самим тут за рахунок можливого паралельного аналізу та обробки даних досягається гранично ви-


33

сока продуктивність. Принципи машини потоків даних використовуються в багатьох сучасних високопродуктивних комп'ютерах.

Паралельні комп'ютерні системи. Перші паралельні комп'ютерні системи, до скла­ду яких входило лише два процесори, були побудовані в кінці 60-х років минулого сто­ліття. В 70-х роках такі системи мали в своєму складі до 64-х процесорів, в 80-х роках - до 1000, а в кінці 90-х років фірма IBM анонсувала конструкцію суперкомп'ютера з паралельною архітектурою, який включав понад мільйон процесорів і на даний час є найпродуктивнішим у світі. Паралельна обробка інформації є ключовим напрямком побудови високопродуктивних комп'ютерних систем. Однак і паралельні комп'ютерні системи мають обмеження. По-перше, зі збільшенням кількості процесорів ускладню­ється задача розподілу завдань між процесорами. Для її вирішення використовуються додаткові процесори, кількість яких може значно перевищувати кількість процесорів, зайнятих безпосередньо виконанням алгоритму. По-друге, послідовна природа багатьох алгоритмів обмежує прискорення, якого можна досягти, використовуючи багатопроце­сорну організацію.

1.4. Типи сучасних комп'ютерів

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

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