Въведение във високо производителните компютърни системи

- Секция Компютри

 

     Все още няма точно, ясно и еднозначно възприето определение на понятието "архитектура на компютъра". Така например, до началото на 70-те, под понятието "архитектура на компютъра" се е разбирало описание на структурата на данните и регистрите, необходими за изясняване на набора команди на процесора и интерпретацията им. С други думи казано, това понятие обхваща онзи минимум от познания, които могат да представят програмата на асемблерен език. Но разпространението на виртуалната памет, а така също и на различните средства за разширение на вход/изхода се явява причина за увеличаване на номенклатурата на блоковете на компютъра, познанията върху които, дават възможност за съставяне на ефективни програми. Така че познанията само върху командния набор не е достатъчно за описание на цялостното функциониране на компютъра. Понастоящем под архитектура на компютъра се разбира структурна организация на компютъра във вид на съвкупност от функционални модули и определяне на връзките между тях. Това определение доста добре се съчетава със съвременната тенденция за изграждане на компютъра чрез свръх големи интегрални схеми, като всяка една схема може да се разглежда като функционален модул.
 
     Понятието "архитектура на компютъра" може да бъде определено и като разпределение на функциите, реализирани от компютъра на отделните нива и точно определяне на границите между тези нива. По такъв начин, ако за архитектурата на компютъра е определено някакво ниво, то първо е необходимо да се установи какви системни функции цялостно или частично изпълняват компонентите на системата, намиращи се над и под това ниво. След решението на тази задача трябва точно да се определят интерфейсите на разглежданите нива. От казаното до тук следва, че архитектурата на компютъра предполага организация на няколко нива. На фиг. 1-1 е показан компютър в неговия вертикален разрез. Тя се отнася за конвенционална система, т.е. за система с последователно действие.
Нека накратко проследим тези нива.
 
Първо ниво определя какви функции по обработката на данните изпълнява компютъра като цяло и какви се възлагат на "външния свят" (програмиста, оператора и т.н.). Компютърът взаимодейства с външния свят чрез два набора интерфейси:
· езици (езици за програмиране, езика на операционната система, езика за манипулиране на базата данни и т.н.);
· системни програми (програми за редактиране, сортировка, обновяване на информацията и др.).
 
Нива 2,3 и 4 разграничават определени нива вътре в програмното осигуряване. Те нямат общоприети наименования. Ето защо те се наричат обобщено "архитектура на програмното осигуряване". Ниво 2 това са транслаторите; ниво 3 включва реализацията на такива функции като управлението на базата данни, файловете, виртуалната памет, мрежовата телеобработка и т.н.; ниво 4 - управлението на външната и оперативната памет, вътрешните процеси протичащи в системата и т.н.
 


Фиг.1-1. Вертикална структура на архитектурата на конвенционален (последователен) компютър.
 
Ниво 5 отразява границата между системното програмно осигуряване (операционната система) и апаратното осигуряване. (Терминът "апаратно осигуряване" в случая обобщава както електронните схеми, така и микропрограмното осигуряване). Така това ниво позволява да се представи физическата структура на компютъра независимо от способа на реализация. Разграничаване на функциите, изпълнявани по-нагоре или по-надолу от това ниво е една от съставните части при разработката на компютърната архитектура.
 
Ниво 6 представлява интерфейса на микропрограмното управление, понеже функциите на всеки процесор и контролер на външно устройство могат да бъдат разпределени между микропрограмите и комбинационните схеми, и последователността от логически схеми. Ниво 6 отразява съгласуването на потока данни и управляващите сигнали с формата на микрокомандите. Много често ниво 6 и ниво 8 се наричат архитектура на процесора или организация на процесора.
 
Ниво 7 отразява какви функции реализира централния процесор, изпълняващите програми и какви процесорите за вход/изход. Ако процесорът за вход/изход отсъства в конкретната конфигурация на компютъра, то неговите функции трябва да се разпределят между ниво 6 и нива 9 и 10.
 
Ниво 8 отразява интерфейса между централния процесор и паметта.
 
Нива 9 и 10 определят разграничаването на функциите реализирани от процесорите за вход/изход и контролерите. Ето защо те се наричат "архитектура на физическия вход/изход".
 
     Приведеният по-горе общ обзор на архитектурата на различните нива на организация на компютъра, позволява да се определи архитектурата като абстрактно представяне на физическата система от гледна точка на програмиста, разработващ програми на асемблерен език или на проектанта на компилатора на език от високо ниво
 
     От изложеното до сега следва, че ако ниво 5 се придвижи по-нагоре (според фиг.1-1), то делът на програмното осигуряване ще се намали за сметка на апаратното осигуряване, т.е. повече функции на компютъра ще се реализират по апаратен път. Обратно, при движение на ниво 5 надолу повече функции ще се реализират по програмен път. Така се получават два компютъра с едни и същи функционални възможности, но с различни характеристики.
Представеният на фиг.1-1 вертикален разрез на системата съответства на класическия, фон Нойманов компютър. Един хоризонтален разрез ще отразява архитектурата на паралелния компютър. В този случай трябва да се отразяват функциите между група от процесори, в някои случаи с различно предназначение, и съответстващите им интерфейси, чрез които те взаимодействат.
 
Архитектурата не се занимава с въпроси от управлението и предаването на данни вътре в процесора, конструктивните особености на логическите схеми или технологията на тяхното производство.
 
Класическите задачи, които трябва да се решат при разработването на архитектурата на компютъра, могат да се групират в следните три групи:
 
· да се определи формата за представяне на програмата на компютъра и правилата на интерпретация;
· да се установят методите за адресация на данните в тези програми;
· да се определят форматите на данните.
 
     При решаването на всеки от посочените проблеми трябва да се решат задачите за определяне минималната област на паметта, типа и форматите на данните, кодовете на операциите и форматите на машинните команди, способите за адресация и защита на паметта, механизма за управление на последователността на изпълнение на командите, интерфейса на компютъра с устройствата за вход/изход.
 
     Трябва да се подчертае, че процесът на проектирането на архитектурата на компютъра има итеративен характер и обикновено се налага многократно да се повтарят отделните или всички етапи на проектирането.
В последно време процесът на разработка на компютри съществено се е изменил. Проектантите отдавна са престанали да бъдат просто инженери по апаратни средства или програмно осигуряване. Сега ,те е необходимо не само да се ориентират в новите технологии, но и в приложната математика, мрежите от компютри, интерфейсите и системите за изчисления.
 
     Преди всичко, компютрите от новото поколение трябва да бъдат гъвкави, както в смисъл на технологията, така и в смисъл на архитектурата. Те трябва да бъдат съвместими със новите технологии, а така също и да са разширяеми. Още една черта на новите разработки, от персоналните компютри до суперкомпютрите, се явява и способността да образуват мрежи. Времето на отделно стоящите компютри е минало и е необходимо да се отчита, че разработваният компютър ще се включва в стандартна мрежа. Стандартите в многото области на разработка на изчислителни системи заемат важно място, защото те позволяват да се свързват в едно цяло оборудването на различни фирми. Това има смисъл не само за мрежите и апаратната част, но и за програмното осигуряване.
 
Литература
1. Г. Майерс Архитектура современных ЭВМ, в 2-х книгах, Москва, Мир, 1985., т.1 стр.10-17.
2. J.Till Computer system architecture. "Computer Design", 1989, 37, No1, pp.50-54, 56, 58, 60, 62-63.

 

 






Коментирай свободно: