Последната
актуализация
на този
раздел е от 2020
година.
ОРГАНИЗАЦИЯ НА ПРОЦЕСОРА
§ 5.1 Цифров процесор. Основни принципи за организация на автоматизирани машинни изчисления. Логическа структура на цифровия процесор и алгоритъм за първична организация на неговото функциониране
Уважаеми
читателю,
преди да се
запознаеш със
съдържанието
на тази глава
следва да си припомниш
написаното в
кратката
историческа
справка в
началото на
тази книга,
тъй като там
са пояснени
много от
разбиранията
и понятията,
засягащи
темата, върху
които се
основава
следващото
по-долу
изложение.
В
началото на
тази книга
вече беше
изяснено, че
изчислителният
процес е
структурен процес
и неговите
елементи са
изпълнимите операции
-
аритметически,
логически, за
отношение,
трансферни,
за
управление и
пр. Съвкупността
от
елементарни
операции,
изявени при
анализа на
процесите,
съставят
една функционално
пълна
система,
способна да
представи
произволен
алгоритъм
(вижте определението
в §2.1). Тази
структурираност
на изчислителния
процес дава
отражение
както върху логическата
структура,
така и върху
организацията
на цифровия
процесор,
като техническо
средство за
неговата
реализация.
Читателят
ясно следва
да разбира,
че цифровата
машина е
предназначена
да го заменя,
т.е. да прави
това, което
би правил
той, ако не
разполага с
нея. Освен
това следва
да е ясно, че
всяка
цифрова
машина се
подчинява в
пълна степен
на теорията
на крайните
автомати и в
този смисъл
за нея е в
сила
декомпозицията
на Глушков
(вижте фигура
2.2.5).
Като
имаме
предвид
изложеното в
историческата
справка,
отнасящо се
до човешкия
опит да реализира
технически
средства в
областта на
компютинга,
не е трудно
да се
разбере, че в основата
на тази
възможност
стоят няколко
основополагащи
организационни
принципа:
1.
Принцип
на програмно
управление ;
2.
Принцип
на
запомнената
в паметта
програма ;
3.
Принцип
за
използване
на двоична
бройна система
;
4.
Принцип
на
електронна
реализация ;
5.
Принцип
за стремеж
към
максимална
производителност
.
Тези,
както и още
много други
принципи,
които ще
бъдат
излагани в
хода на
изложението
на тази
книга, в
съчетание с
фундаменталните
понятия като алгоритъм
и бройна
система,
формират
философското
разбиране за
компютърната
техника като
такава, за
нейните възможности,
за нейното
приложения,
за нейното бъдеще,
за нейното
значение в
съвременния
живот.
Нека
разгледаме
например
принципа за
максимална
производителност.
Днес и на
децата е
ясно, че
бавните и
непроизводителни
компютри не
са
необходими
никому. Сега
често могат
да се видят
изоставени и
неизползвани,
но напълно
работоспособни
компютърни
системи.
Принципът на
максималната
производителност
например,
обосновава
физическите
принципи за
реализация,
основаваща
се на
най-бързото
познато на
науката природно
(физическо)
явление –
разпространението
на електрическото
поле, т.е.
техническата
реализация е електронна,
което е
изведено в
четвъртия
принцип. В духа
на най-новите
научни
разработки
следва да
споменем и
така
наречените квантови
изчислители,
за които все
още се знае
много малко и
за които тук
няма как да
се говори.
Принципите
за
реализация
на квантови
изчислители
тепърва ще
бъдат формулирани,
но това което
може да кажем
е, че те
използват
същото
електрическо
поле, за което
вече
говорихме. С
други думи
природата на
тези
изчислители
е същата.
Неизбежната
имитация на
двузначната
система с
технически
средства
беше
доказана в пункт 1.1.3,
което води до
третия
принцип.
Принципът
на
запомнената
в паметта
програма
всъщност е
пряко
свързан с
принципа за максимална
производителност.
В неговото наименование
се съдържат
две много
важни думи,
две нови понятия
– памет
и програма.
Но тези две
понятия в
същност
произлизат от
първия
принцип –
принципът на
програмно управление.
Значението и
дълбочината
на разбиранията
ни за
същността на
компютъра в максималната
си част са
вложени
именно в този
принцип.
Принципът на
програмно
управление е
родител на
цяла
съвкупност
от вторични
понятия,
които тук ще
трябва да
изясним. Той
обосновава
възможността
изчислителния
процес да
бъде технически
реализиран и
изпълнен вън
от нас, като
определя и
обосновава
необходимите
елементи в
общата
логическа
структура на
компютъра в
смисъла на
неговото
съвременно
разбиране.
Алгоритъмът,
като израз на
изчислителния
процес,
предписва
изпълнението
на определени
(от нас)
операции в
съответния
ред. Още
Бабедж в
своята
“аналитична
машина” е
нарекъл
мястото
(разбирай
устройството)
за изпълнение
на
операциите
върху
операндите, “мелница”.
В днешни
условия ние
разбираме
това устройство
като операционно
и въпросите,
свързани с
неговото
синтезиране
(проектиране)
бяха
разгледани
тук в трета
глава и още в книга [3]. В общия
случай това
операционно
устройство
наричаме аритметично
логическо
устройство
(АЛУ). На това
устройство
беше
посветена
глава 3 на
тази книга,
където
разгледахме
алгоритмите
на множество
изпълними
операции и
логическите
структури на
устройства, в
които те се
изпълняват.
Наличието на
аритметично
логическо
устройство в
структурата
на
изчислителната
машина е безспорно
и това не се
нуждае от
доказателство.
Понятието устройство
дефинирахме в §2.2. Правилното
му разбиране
е важно за
нашите обяснения.
В съвременни
условия
операционните
устройства в
структурата
на процесора
могат да
бъдат
няколко на
брой, при
това с различно
предназначение
и
функционалност.
Второто
абсолютно
задължително
и безспорно
устройство в
структурата
на всяка
цифрова машина
е запомнящото
устройство
(ЗУ) или още паметта.
Наличието на
това
устройство
се обосновава
от първите
два принципа.
Въпреки, че
понятието
програма ще
дефинираме
малко по-късно,
тук се налага
да кажем, че
запомнящото
устройство е
необходимо
както за съхраняване
на
програмата
(разбирай
управляващия
алгоритъм)
така и на
данните
(изходни,
междинни и
крайни). И
няма нищо
по-естествено
тази
информация
да
съществува
именно в такова
запомнящо
устройство,
защото ако допуснем,
че то не е
задължително,
тогава
програмата и
данните ще
трябва да
записваме
собствено
ръчно в
нашите
тетрадки.
Така нашите изчисления
ще
провеждаме с
помощта на
един калкулатор,
пък бил и той
електронен,
при това с
незавидна
скорост.
Естествено е
запомнящото
устройство
да бъде
технически
реализирано
според
изискванията
на формулираните
по-горе
принципи.
Физическите
принципи,
които се
използват за
реализацията
на
свойството
паметливост,
логиката на
запомнящите
елементи и
логическата
структура на
различните
видове
запомнящи
устройства
вече разгледахме
в
предидущата
глава 4-та на
тази книга.
Допълнителни
аспекти на
запомнящите устройства
са
представени
в глава 6 на
тази книга.
Изпълнението
на дадена
операция в АЛУ или
в ЗУ се инициира,
или още заповядва,
в резултат на
специална
управляваща
информация.
Тази
управляваща
информация
(управляваща
дума) е
вложена
(опакована) в
едно двоично поле
и се нарича машинна
команда или
просто команда.
Тук
настоятелно
се обръщам
към читателите
– моля не
употребявайте
за
изказаната
по-горе
същност
думата инструкция.
Тази дума се
среща в много
литературни
източници на
български
език, тъй
като е буквално
използвана
от английско
езичната
литература. В
българския
език обаче
думата инструкция
има
съвършено
друго
значение и е
крайно
неподходяща
за
изразяване
на същността
на машинната
команда.
Машинната
команда е
външна за
логическата
структура на
операционното
устройство информация
(АЛУ или ЗУ) и според
декомпозиция
на Глушков
(вижте фигура
2.2.5) следва да
се разбира
като сигнал ПУСК
(или СТАРТ)
на
съответната
му функция. В
този смисъл
управляващата
информация
вложена в
понятието
машинна
команда
следва да се
определи по
такъв начин,
щото тя да
бъде еквивалентен
израз на
съответен
елемент от
алгоритъма.
Един традиционен
елемент от
алгоритмите
(операционен
блок) обикновено
се изразява
както е
показано на
рисунката по
долу:
Фиг.
5.1.1.
Структурен
елемент в
блок-схема на
алгоритъм и
неговия
еквивалент
Изразеният
на ниво
изпълними
операции (виж
определението в §3.1)
алгоритъм,
съдържа
операционни
блокове, в които
са вписани
изпълними
машинни
операции.
Освен това
обаче
задължителен
елемент на
всеки блок е изходният
алгоритмичен
преход. Ще
припомним, че
в
блок-схемите
алгоритмичният
преход се
изразява със стрелка.
Без този
преход не е
възможно да
се изрази хода
на
изчислителния
процес. Така
горната
фигура,
изразявайки
еквивалентността
между две
изразни
средства на
един и същи
изчислителен
процес,
всъщност
дава представа
за понятието
машинна
програма, като
последователност
от машинни
команди.
Последователно
записаните
машинни команди
ни води към
разбирането,
че
програмата е
текст, а това
разбиране
подпомага
представата
ни за нещата.
Ето защо
управляващата
информация,
представляваща
машинната команда,
следва да
бъде
структурирана
за
решаването на
следните три
задачи:
1.
Управляваща
информация
за това коя
точно операция
да бъде
изпълнена;
2.
Управляваща
информация
за това кои
са операндите
на
операцията.
3.
Управляваща
информация
за това коя
да бъде следващата
машинна
команда
според реда
за действие,
определен в
алгоритъма
на
изпълняващото
се
изчисление.
Ако
всяка
машинна
команда
решава
посочените
задачи, ще
постигнем
автоматичен
ход на
изчислителния
процес,
описан със
съответната
последователност
от команди,
т.е. онова,
което
наричаме изпълнение
на машинната
програма.
Отново ще
напомним, че
нашата цел е
реализацията
на автоматичния
ход на
изчислителния
процес вън и
независимо от
нас. Онова
нещо, което
ще може да
постигне
тази цел, ще
наричаме
изчислителна
машина или
кратко
компютър.
След
всичко
казано до тук
ще поясним,
че управляващата
информация,
т.е.
командата, се
изразява в
едно двоично
или още логическо
поле, в което
в общия
случай се
съдържат три
подполета,
както е
показано на
фигура 5.1.2. Наричаме
полетата двоични,
тъй като в
тях се
съдържат
двоични
комбинации,
представляващи
единствено
възможните
технически
изразни
средства, при
условията,
които са
приемливи за
това.
Фиг.
5.1.2.
Определение
за структура
на машинната
команда
Подполетата, като структурни единици на машинната команда, са три и съответстват на трите задачи, които тя трябва да реши. Имайки предвид, че информацията, която е необходима на командата за да изпълни последните две задачи, се намира в запомнящото устройство, подполетата са групирани както е показано на фигурата и формират две части във всяка машинна команда:
·
Операционна част - (Поле 1) ;
·
Адресна част - (Поле 2 и
Поле 3).
Операционната
част на
командата е
абсолютно
задължителна,
тъй като тя
по същество
посочва
необходимата
изпълнима
операция.
Всяка
машинна
команда притежава
операционна
част. Що се
отнася до адресната
част, тя не е
задължителна
за всяка
машинна
команда.
Машинни
команди, които
не съдържат в
структурата
си адресна
част, се наричат
безадресни
команди.
Ще
поясним, че
адресната
част на
командата се
нарича адресна,
затова
защото по
силата на
основните
организационни
принципи и
данните и
командите се
намират в
паметта на
процесора, а
както вече
знаем,
достъпът до
съдържанието
на
съответните
запомнящи
клетки се
осигурява
чрез техния
адрес. Така
текущата
машинна
команда
решава
задача №2,
като посочва
в Поле 2
адресите на
клетки от ОП,
съдържащи операндите
и задача №3,
като посочва
в Поле 3 адреса
на
следващата
машинна
команда, която
също се
намира в ОП.
Говорим,
че една
машинна
команда се изпълнява,
т.е. че е актуална
или още активна,
когато се
изпълнява
нейната
микропрограма
(разбирайте
алгоритъмът
й на ниво
микрооперации).
Има се
предвид
тривиалният
случай,
когато в
даден момент в
процесора се
изпълнява
една
операция, което
е оправдано с
наличието в
структурата му
на едно
операционно
устройство.
След
понятието
машинна
команда
можем да поясним
отново принципа
за програмно
управление. Според
него
изчислителният
процес се структурира
в логическа
последователност
от изпълними
операции.
Представянето
на тази последователност
наричаме
алгоритъм.
Пренасянето
на
алгоритъма в
процесора с
цел автоматично
и независимо
от
потребителя изпълнение,
се постига
чрез
неговото
изразяване
(описване) с
помощта на
съответните
машинни
команди, т.е.
той се описва
със
средствата
на машинния
език,
превръщайки
се при това в
програма.
Понятието машинен
език е от
изключително
значение, тъй
като на този
език
написана в
крайна
сметка
следва да се
окаже всяка
програма.
Системата от
машинни
команди на
даден
процесор и
правилата за
тяхната
употреба
представляват
същността на
неговия машинен
език. От тук
можем да
направим
извода, че
различните
процесори
имат различни
машинни
езици. От
този факт
следват още
изводи, отнасящи
се до:
·
преносимостта
на машинните
програми от един
процесор в
друг, която
не е възможна
;
·
необходимост
от
препрограмиране
и отработване
на всяка
програма за
новите и
различни
процесори ;
·
подготовката
и
преподготовката
на програмисти,
която е
трудна и
продължителна
.
И
така,
споменатото
по-горе
понятие,
чието пояснение
вече не търпи
отлагане
това е последователността
от машинни
команди, изразяваща
(описваща)
даден
алгоритъм,
която нарекохме
машинна
програма.
Именно тази
програма
осъществява
управлението
на
изчислителния
процес в
процесора и получава
необходимите
резултати
вместо нас.
Автоматичното
изпълнение
на машинната
програма се
постига при
условие, че
тя се съдържа
в паметта. Нейното
изпълнение
обаче не може
да започне
само по себе
си – то следва
да бъде
специално
организирано
(разбирайте
управлявано),
чрез
реализиране
и изпълнение
на
алгоритмичните
преходи
между командите.
Именно този
механизъм,
реализиращ
автоматичния
преход (или
още предаване
на
управлението)
от команда
към команда,
по хода на
изпълнение
на
програмата,
т.е. на
алгоритъма, е
заложен в
отделно
устройство,
наричано централно
управляващо
устройство (ЦУУ).
Глава 7 на
тази книга е
изцяло
посветена на въпроси,
свързани с
организацията
на управлението
и
логическите
структури на
управляващите
устройства.
Проблемите
на управлението
допълнително
са осветлени
в отделни
раздели на книга [1] и книга
[2].
Ето
още няколко
важни
разбирания –
една машинна
програма е актуална
(активна), ако
се намира в
паметта и
централното
управляващо
устройство
управлява
извличането
от
запомнящото
устройство и
изпълнението
в
операционното
устройство
на нейните
команди. По
тази причина,
паметта, в
която се
намира
активната програма
се нарича още
оперативна.
По същество организацията на автоматичните изчисления, или с други думи - изпълнението на една програма, изисква:
а)
В
организационно
отношение -
реализация
на повтарящи
се действия
от вида:
·
доставяне
на машинна
команда от
паметта;
·
изпълнение
на
заповяданата
от машинната команда
операция;
·
автоматичен
преход към
следващата
машинна
команда.
б)
В
структурно
отношение - в едно
цяло да
функционират
три
устройства:
·
операционно,
което
реализира
операциите;
·
запомнящо,
в което се
намират
данните и командите;
·
управляващо,
което
осъществява
общата организация
на изчислителния
процес.
Очевидно
е вече, че в
организационно
отношение,
изчислителният
процес се
управлява в
един цикъл от
безкрайно
повтарящи се
действия:
…… /
доставяне /
изпълнение /
преход /, / доставяне
/ изпълнение /
преход /,
/
доставяне /
изпълнение /
преход/, /
доставяне /
изпълнение /
преход/,
и т.н.
......
Този
безкраен
цикъл
представлява
основният
алгоритъм, по
който работи
централното
управляващо
устройство и
се нарича команден
цикъл. Този
безкраен
цикъл на доставяне
на
машинна
команда,
изпълнение
на
заповяданото
от нея
действие и
преход към
следващата
команда
представлява
първичния
организационен
алгоритъм
за
автоматично
функциониране
на цифровата
машина като
универсален
изчислител.
Този
алгоритъм е
заложен в
централното
управляващо
устройство като
краен
управляващ
автомат.
В
заключение
на казаното
до момента
може да се
обобщи, че
цифровата
изчислителна
машина се
състои
основно и
задължително
от три
устройства -
аритметично-логическо
(АЛУ),
запомнящо (ЗУ) и
управляващо (УУ), които
функционират
съвместно
според
алгоритъма
на командния
цикъл - безкрайно
повторение
на
действията
доставяне,
изпълнение,
преход.
Съвкупността
от тези три
устройства и
тази
организация
на тяхното
съвместно
функциониране
най-общо
формира
понятието централен
процесор (CPU - central
processor unit) или
просто
процесор.
Централният
процесор
представлява
същността на
цифровата изчислителна
машина.
Структурно
цифровият процесор
се представя
както е
показано на фигура
5.1.3, а
първичният
организационен
алгоритъм на
командния цикъл
е представен
на фигура 5.1.4.
Фиг. 5.1.3. Логическа
структура за
определение
на понятието
цифров
процесор
Фиг.
5.1.4.
Блок-схема
на Първичния
организационен
алгоритъм
(команден
цикъл)
Основен
двигател на
протичащите
в
структурата
от фигура 5.1.3
процеси е
тактовият
генератор (ТГ). Под
негово
въздействие
централното
управляващо
устройство (ЦУУ) като
краен
синхронен
автомат се
превключва
от състояние
в състояние,
изпълнявайки
общия
алгоритъм на командния
цикъл. Чрез
получения от
схемата за
формиране на
адреса за
преход (СФАП) адрес,
от
оперативното
запомнящо
устройство (ОЗУ) се
прочита и
доставя
поредната
машинна команда,
която се
приема в
специален
регистър за
временно
съхранение,
наричан регистър на
командата (РгК). От
този момент
нататък тази
команда
става активна,
тъй като чрез
своята
операционна част
(Поле 1, вижте
фигура 5.1.2) тя
запуска
(стартира) в ЦУУ
своята
микропрограма.
Последователността
от
управляващи
сигнали на
тази микропрограма,
която издава
управляващото
устройство към
всички
останали
устройства,
реализира заповяданата
операция в
структурата
на процесора.
Със
завършване
на
операцията,
т.е. на микропрограмата
й, се
осъществява
преход към
следващата
машинна
команда по
адрес, който
междувременно
СФАП е
подготвила. С
това се
затваря
командния цикъл
и всичко се
повтаря
безкрайно.
Последното
следва добре
да бъде
осмислено от
читателя.
Фактически
след
включване на
захранването
компютърът
(разбирайте
централният
процесор)
започва
изпълнението
на програми и
по силата на
командния
цикъл този
процес не е
възможно да
бъде спрян.
Излиза, че
нормалното
състояние на
компютъра е
да изпълнява
програми
(команди)
непрекъснато
във времето.
Дори
видимото
бездействие
на включения
компютър
всъщност е едно
безспирно
изпълнение
на команди от
някаква
програма
(разбирайте
най-често от
операционна
система).
Преди
обаче да бъде
прочетена и
доставена следващата
команда,
както е
показано в
блок-схемата
на командния
цикъл, се
прави проверка
за наличие на
външния
сигнал ЗП
(заявка
за
прекъсване).
С други думи,
на границата
между всеки
две команди,
в командния
цикъл се
прави проверка
за появила се
ЗП. Това е
външен за
процесора
сигнал, който
се използува
за връзка с "външния
свят".
Най-общо
казано,
"външният свят"
това е
човекът с
неговите
потребности,
желания и
команди,
които подава
към
изчислителната
машина с
помощта на
специални
устройства, в
общия случай
наричани външни.
Включеният в
първичния
организационен
алгоритъм
условен
алгоритмичен
преход е изключително
важен. Според
теорията на
крайните
автомати
няма автомат,
който да не
притежава
възможност
за връзка с
външния свят,
тъй като в противен
случай той е
безсмислен.
Тези разбирания
са
допълнително
разяснени в
глава 7 на
тази книга.
Същността на
всеки
автомат е да
изпълнява
своите
функции
многократно и
по външна
заповед по
един и същи
начин. Тази
именно
възможност,
както тук
виждаме, е заложена
чрез
условния
алгоритмичен
преход,
дълбоко и
безусловно
именно в
първичния
организационен
алгоритъм.
В
случай, че е
постъпило
искане за
внимание от
външен за процесора
обект,
управляващото
устройство осъществява
прекъсване
на текущо
изпълняваната
програма и
преминава
към
изпълнение
на друга
програма.
Прекъсването,
както се
вижда от
блок-схемата
на
алгоритъма,
се осъществява
от една
микропрограмна
процедура
(МППОП)
винаги по
един и същи
начин.
Същността на тази
микропрограмна
процедура се
състои в
изпълнението
на следните
две задачи:
1.
Да
съхрани
временно
състоянието
на текущо
изпълняваната
програма, при
това така, щото
да бъде
възможно
възобновяване
на нейното
изпълнение
именно от
мястото,
където е била
прекъсната;
2.
Да
определи
(формира) в СФАП,
като отговор
на външния
сигнал ЗП, нов
адрес за
преход към
друга
програма.
Вижда
се, че МППОП
завършва с
преход в
командния
цикъл, който
продължава
обичайния си
ход. Разликата
обаче в
случая се
състои в
това, че
следващото
извличане на
команда ще се
осъществи по
нов адрес,
различен от
онзи, който е
предвиждала
прекъснатата
програма. С
извличането
на команда по
този нов
адрес
фактически
се стартира
нова
програма.
Новата
програма
можем да
разбираме
като
адекватна
реакция на
процесора, в
отговор на
подадената
отвън заявка
за внимание
(обслужване).
Адекватността
следва да се
разбира в
стартиране на
онази
програма,
която
съответства
на причината
(обекта),
генерирала
заявката за
прекъсване.
Наивно ще
бъде обаче да
приемаме, че източникът
на подобни
заявки
(безпокойства)
е единствен.
Ето защо този
момент ще изясняваме
допълнително.
Специално
пояснение
изисква
началният момент
– моментът
след включване
на
захранването
и поставяне
на машината в
работни
условия.
Както се
вижда на
фигура 5.1.4,
изходното
положение
(началното състояние)
се осигурява
от сигнала Reset.
Известни са 3
вида сигнал Reset
– “Авто-Reset",
“Студен Reset" и
така
наречения “Топъл
Reset". По тази
причина на
фигура 5.1.3 е
изобразена
пунктирна
връзка между
тактовия
генератор и
външния
сигнал Reset.
Според
особените
свойства на
техническата
реализация
на
управляващите
автомати, този
сигнал е
задължителен
и трябва да
се подаде
именно към
управляващото
устройство
(вижте фигура
5.1.3), защото то
осигурява
цялостното
управление
на системата
от
устройства в
машината.
Най-важното
съдържание,
което сигналът
Reset трябва да
осигури, това
е първият
(началният)
адрес в СФАП.
С този
начален адрес,
изпълнявайки
командния
цикъл, управляващото
устройство
ще започне
изпълнението
на първата
програма.
Сигналът Reset ще бъде
коментиран и
на други
места в тази книга.
Представените обща блок-схема на алгоритъма на командния цикъл и обща структурна схема на цифровия процесор за организация и реализация на изчислителния процес ще бъдат разглеждани подробно в следващите параграфи.
Във
връзка с
разглежданата
структура и
нейното общо
функциониране
стават ясни
основните
функции на
включените в
нея устройства.
Така
например в АЛУ се
извършва
непосредствено
изпълнение на
основните
операции по
преработка
на данните. В
резултат на
всяка
изпълнена в АЛУ
операция се
получава
резултат и
признаци на
резултата. Но
това не са
всички
операции,
които могат
да се изпълняват
в процесора.
Така
например в ОЗУ се
изпълняват
специфичните
за него операции
-
запис и
четене на
данни.
Информационният
поток между ОЗУ, АЛУ
и ЦУУ
не е
единственият.
Всяка
информация в
процесора
идва от
външния свят,
както и
всички резултати
получени в
процесора се
изпращат пак
към външния
свят, където
единствено
потребителят
може да ги
осмисли и
интерпретира.
Ето защо,
трябва да се
обоснове
необходимостта
от още един вид
операции,
наричани входно-изходни,
при които
информационният
поток е
свързан с "външния
свят". За
връзка с
външните
обекти от процесорът
са изведени
трите
основни шини
– даннова,
адресна и
управляваща.
От
своя страна
управляващото
устройство организира
с
необходимата
скорост
изчислителния
процес в
логическата
последователност,
съставена от
потребителят.
В този
смисъл,
изчислителната
машина не е
нищо друго,
освен един сложен
автомат с
вменяеми
(програмируеми)
функции. В
управляващото
устройство
следва да бъдат
вложени
микропрограмите
на всички изпълними
операции,
които могат
да бъдат стартирани
(заповядани)
от
съответните
машинни
команди след
като те
попаднат в
регистъра на
командата.
Така
управляващото
устройство
представлява
един
многофункционален
автомат,
който работи
по
алгоритъма
на командния
цикъл.
Управляващото
устройство
се намира
непрекъснато
в процес на
изпълнение
на определени
машинни
команди, а
оттам може да
се каже, че
процесорът
се намира
непрекъснато
в състояние
на
изпълнение
на една или
друга
програма, с
което се
осигурява
неговата жизненост.
Ако
множеството
от изпълними
операции в
една
изчислителна
машина притежава
свойството
за
функционална
пълнота и ако
е възможно в
паметта да
бъдат
зареждани
различни
програми, то
такава
цифрова изчислителна
машина се
определя
като универсална
машина с
програмируеми
функции. По
същество всяка
нова функция,
която се
присвоява на
такава
машина, се
съдържа в
програмата,
която се
зарежда в
паметта й.
Множеството
от изпълними
операции,
които реализира
цифровата
изчислителна
машина, се
определя въз
основа на
анализ на
широк клас
алгоритми, за
автоматизацията
на които тя е
предназначена.
В частност,
на това
множество
влияние оказват
структурната
организация
и начинът на
реализация
на отделните
устройства в
машината.
Множеството
изпълними
операции се
разделя на
няколко
основни
групи:
1. Операции
за обработка
на данни. В
зависимост
от вида,
фòрмата и
формàта на
данните (вижте
§1.1) тези
операции
могат да се
класифицират
и по-подробно;
2. Операции
за пренасяне
на данни от
едно на друго
място. В
зависимост
от източника
и приемника
на данните
тези операции
също могат да
се
класифицират
допълнително;
3. Операции
за
управление
на прехода
към следващата
команда. В
зависимост
от вида на алгоритмичните
преходи и
използваните
устройства
тези
операции
също се
класифицират
допълнително;
4. Операции
за въвеждане
и извеждане
на данни;
5. Операции
за
управление
на процесора.
Операциите
от първа група
се
изпълняват в
аритметично-логическото
устройство.
Това са
операции
върху логически
данни, върху
символни
данни и върху
числови
данни, които
бяха
подробно
разгледани в
трета глава.
Операциите
от втора група
се
изпълняват
както в АЛУ, така и
в ОЗУ.
По същество
техният
алгоритъм е
твърде елементарен
-
съдържанието
на указания
източник
(клетка от
паметта или
регистър в АЛУ) се
записва в
указания
приемник
(отново клетка
от паметта
или регистър
в АЛУ).
С други думи
това са
операции за
трансфер на
данни. Тези
операции
служат за
запис на готови
резултати, за
прочитане на
операнди, за
разместване,
подреждане,
сортиране и
прочие на
данните.
Операциите
от трета група
са необходими
за
реализация
на
алгоритмичните
структури от
разклонен и
циклически
тип, както и
за
осъществяване
на преход към
общи участъци
в
алгоритмите,
т.е. най-общо - за
реализация
на
алгоритмичните
преходи. В
повечето
случаи тези
операции консумират
признаците
на резултата
от предидущи
операции,
като
анализират
настъпилите
ситуации в
логическите
структури на
отделните
устройства в
хода на извършените
изчисления.
Чрез
разпознаване
на тези
ситуации те
вземат
решение за
съответното
и адекватно
управление
на изчислителния
процес.
Смисълът на
признаците, тяхното
формиране и
актуалност
бяха разглеждани
подробно в
глава 3.
Операциите
от четвърта
група са
предназначени
да свържат
процесора с потребителя,
който
представлява
първоизточникът
на началните
данни и е
ползвател на
получените
резултати.
Изпълнението
на тези
операции
изисква
включване
към процесора
на специални
устройства,
наричани
външни или
периферни.
При
входно-изходни
операции се
пренасят
данни от
външно устройство
към паметта
или обратно.
Операциите
от пета група
се
изпълняват в
случаите,
когато
трябва да се
управляват
състоянието
или режимите
за работа на
процесора.
Това са още
операции свързани
с
управлението
на някои
системи и
механизми,
осигуряващи
жизнеността
на изчислителната
машина, които
ще разгледаме
по-късно.
Ще
завършим с
определянето
на някои
широко
използвани
понятия.
Както тук,
така и в други
литературни
източници, се
употребява понятието
микропроцесор.
В реалността
зад това
понятие се
крие полупроводникова
интегрална
схема (чип),
която е произведена
(създадена)
чрез
съвременни
интегрални
технологии,
минитюаризиращи
електронните
схеми. От там
в
наименованието
идва и
представката
“микро-“.
Същността
понятието
микропроцесор
най-често се
разбира като
съвкупност
само на две
от основните
устройства
на цифровата
изчислителна
машина: АЛУ и
ЦУУ. Като
съставна
част на тази
структура
можем да
добавим и
системата от
машинни
команди,
елементи на
системата за
прекъсване,
на входно-изходната
система и на
запомнящата
система.
Изрично ще
отбележим, че
ОЗУ не присъства
в този тип
интегрални
схеми. Това устройство
се реализира
отделно, вън
от интегралната
схема на
микропроцесора.
Основната
причина за
това е
огромният
брой електронни
елементи
(транзистори),
които не могат
да бъдат
реализирани
върху
кристалната
подложка
заедно с
микропроцесора.
Следва да обърнем
внимание на
читателя, че
изискванията
към обема на
запомнящото
устройство непрекъснато
се
увеличават.
Нека да
припомним, че
през 80-те
години на
миналия век
един компютър
се е радвал
например на 256
[KiB] оперативна
памет, което
днес, на
скромните 4 или
8 [GiB], е смешно (а
какво ли ще
бъде за в
бъдеще).
Когато
в една
интегрална
схема са
запечатани и
трите
основни
устройства
на цифровата
изчислителна
машина, се
говори за
едночипов
микрокомпютър,
наименование,
което вече
отживява и се
подменя с
понятието микроконтролер.
Проектирането
и
производството
на цифрова
машина,
затворена в
една
единствена
интегрална
схема, се
налага
най-вече от
необходимостта
за масово
внедряване
на системи за
управление в
различни сфери
на науката,
промишлеността,
бита, медицината
и пр.
Характерно
за
микроконтролерите
е още и това,
че в тях са
реализирани
още множество
технически
средства за
непосредствено
свързване с
външните
обекти. Такива
са
аналого-цифровите
преобразователи,
цифро-аналоговите
преобразователи,
както и множество
стандартизирани
входно-изходни
интерфейси.
Разбира се, съществуват множество специализирани процесори – комуникационни, сигнални, логически програмируеми и др. С развитието на технологиите и потребностите се променя и вътрешният състав на интегралните схеми и естествено на техните наименования, но това не е същественото. Читателят следва добре да разбира, че всяко средство, което реализира изчислителен процес върху цифрово представени данни, неминуемо съдържа за целта цифрова изчислителна машина, чиято базова логическа структура и организация на функциониране изяснихме в този параграф.
Следващият
раздел е:
5.1.1
Структура
на
операционната
част на
машинната
команда