Тема 2. Поняття архітектури комп’ютера Лекція № 7-8
Фон-Нейманівська архітектура. Алгоритмічна універсальність.
Шинна архітектура. Набір мікросхем chipset . Шини даних і адреси.
3.1. Фон-Нейманівська архітектура
Під архітектурою комп’ютера розуміється особливості його логічної структури, які впливають на проходження програм. Це поняття охоплює формати команд, форми зображення даних, методи адресації, управління операціями введення-виведення, структуру пам'яті, інтерфейси всіх рівнів, реалізацію зовнішніх пристроїв та ін. В той же час такі характеристики ЕОМ, як швидкодія, надійність, елементна база, енергоспоживання та подібні, не розглядаються як складові архітектури.
В основу більшості сучасних комп’ютерів покладено принципи, які в 1946 році були сформовані Джоном фон Нейманом і його колегами і знайшли розповсюдження в літературі під терміном „фон-нейманівської архітектури”.
Основні принципи архітектури фон Неймана такі:
використання двійкової системи для кодування інформації в комп’ютері
збереження програм і даних в загальній пам'яті комп’ютера
адресація пам'яті
програмне керування роботою комп’ютера
послідовне виконання команд програми з реалізацією умовних периходів
В 1946 году трое учёных — Артур Бёркс , Герман Голдстайн и Джон фон Нейман — опубликовали статью «Предварительное рассмотрение логического конструирования электронного вычислительного устройства» . В статье обосновывалось использование двоичной системы для представления данных в ЭВМ (преимущественно для технической реализации, простота выполнения арифметических и логических операций — до этого машины хранили данные в десятичном виде), выдвигалась идея использования общей памяти для программы и данных. Имя фон Неймана было достаточно широко известно в науке того времени, что отодвинуло на второй план его соавторов, и данные идеи получили название «принципы фон Неймана».
Принцип двоичности.
Для представления данных и команд используется двоичная система счисления.
Принцип программного управления.
Программа состоит из набора команд, которые выполняются процессором друг за другом в определённой последовательности.
Программа состоит из набора команд, которые выполняются процессором автоматически друг за другом в определенной последовательности. Выборка программы из памяти осуществляется с помощью счетчика команд. Этот регистр процессора последовательно увеличивает хранимый в нем адрес очередной команды на. . Если же нужно после выполнения команды перейти не к следующей, а к какой-то другой, используются команды условного или безусловного переходов. Выборка команд из памяти прекращается после достижения и выполнения команды “стоп”. Таким образом, процессор исполняет программу автоматически, без вмешательства человека
Во время процесса процессор считывает последовательность команд, содержащихся в памяти, и исполняет их. Такая последовательность команд называется программой и представляет алгоритм работы процессора. Очерёдность считывания команд изменяется в случае, если процессор считывает команду перехода, — тогда адрес следующей команды может оказаться другим. Другим примером изменения процесса может служить случай получения команды останова или переключение в режим обработки прерывания.
.
Принцип однородности памяти.
Как программы (команды), так и данные хранятся в одной и той же памяти (и кодируются в одной и той же системе счисления — чаще всего двоичной). Над командами можно выполнять такие же действия, как и над данными.
Поэтому компьютер не различает, что хранится в данной ячейке памяти — число, текст или команда. Над командами можно выполнять такие же действия, как и над данными. Это открывает целый ряд возможностей. Например, программа в процессе своего выполнения также может подвергаться переработке, что позволяет задавать в самой программе правила получения некоторых ее частей (так в программе организуется выполнение циклов и подпрограмм).
Принцип адресуемости памяти.
Структурно основная память состоит из пронумерованных ячеек; процессору в произвольный момент времени доступна любая ячейка.
Принцип последовательного программного управления.
Все команды располагаются в памяти и выполняются последовательно, одна после завершения другой.
Принцип условного перехода.
Kоманды из программы не всегда выполняются одна за другой. Возможно присутствие в программе команд условного перехода, которые изменяют последовательность выполнения команд в зависимости от значений данных. (Сам принцип был сформулирован задолго до фон Неймана Адой Лавлейс и Чарльзом Бэббиджем, однако он логически включен в фоннеймановский набор как дополняющий предыдущий принцип.
Архітектура комп’ютера фон Неймана
Всі операції в комп’ютері виконуються за певними алгоритмами, які реалізовані у вигляді програм.
Алгоритм – це формалізована методика, визначаюча порядок виконання дій над даними з метою одержання бажаючого результату.
Алгоритм розрахований на формального виконавця, з погляду якого вказівки мають бути елементарними, тобто такими, що можуть бути виконані безпосередньо, без додаткового тлумачення.
Алгоритм має задовольняти певним вимогам, серед яких потрібно виділити найважливіші:
визначеність – кожен крок алгоритму має інтерпретуватись однозначно
результативність – за скінчену кількість кроків алгоритм має приводити до розв’язання задачі або зупинятись через неможливість її розв’язання
дискретність – дії алгоритму виконатись по крокам
масовість – алгоритм повинен спрацьовувати з будь-якими даними з області застосування алгоритму
Існує декілька способів запису алгоритмів: словесний, алгоритмічна мова, набір формул, графічний у вигляді блок-схем та ін.
Приклад.
Дана послідовність с n чисел х1, х2, ..., хі, ..., xn. Необхідно знайти суму додатних та від’ємних чисел.
Позначимо Р – сума додатних, а N – сума від'ємних чисел, і – індекс. Введемо оператор надання ( := ), з допомогою якого змінній величині надається значення, яке стоїть після цього оператора. Числами з дужкою будемо позначати кроки алгоритму.
Тоді алгоритм вирішення даної задачі запишуться в такій формі:
Pi := 0, Ni := 0
i := 1
якщо xi ≥ 0, то перейти до 4), інакше перейти до 6)
Pi := Pi + xi
Перейти до 7)
Ni = Ni + xi
якщо i < n, то перейти до 8), інакше перейти до10)
i := i + 1
перейти до 3)
кінець
Той же самий алгоритм у графічному зображені, Рис.3.1.
Рис.3.1