Четвърто поколение
Силно развита и структурирана система за ввход /изход, силно развити концепции на операционни системи, които управляват достъпа до едни и същи изчислителни ресурси. Началото на четвърто поколение - мейнфейм системата - 72 година, същата година американските фирми също преминават към технологията на четвърто поколение. Същата година България заедно с останалите соц. страни взима  решение да копира IBM - 360. 1983 японците обявяват началото на изследванията на пето поколение комютърна система. Пето поколение се характеризира с друг модел на изчисленията - базира се на предикатната логика, където резултата се получава като последователност от съждениея водещи до умозаключения. Реализация на тази концепция учените виждат в използват в концепцията на езиците за лог. програмиране. По това време вече ясно са дефинирани парадигмите на езика ПроЛог. Пето поколение очаква общуването с компютрите да става на естествен език чрез паралелна обработка.1983г. се провежда конференция - Япония под егидата на правителството и водещите японски фирми за поставяне на началото на този проект. Появата на информация за пето поколение мотивира западно -европейците както и соц, държави към изследване на развитие на следващото поколение. Септ. 1983 се създава "Есприт" проекта от 5то поколение. Декември с.г. соц. държави се обединяват за разработване на ново поколение комп. системи.
Резултати - до 1989г. соц. държави организират сбирки за да решат как да се прави ...
"Есприт" организира множество изледвания, които водят до силно развитие на ИИ. Създават се хиляди фирми по света, които рекламират и осъществяват проекти на базата на ИИ. Появява се концепцията за База Знания и силно се развива теорията на математическата лингвистика. Японците стигат до изработване на компютър, който представлява ПроЛог машина с паралелен интерфейс. Освен това те успяват да постигнат общуване с комп. на японски и англйиски (естествен)език. 1993г. японците обявяват прекратяване на изследванията и работата по 5то поколение тъй като резултатите от работата на този компютър са съвместими с универсалната фон Нойманска система на фирмата DEC VAX 750. Върху тази машина софтуерно е получено общуване на англйиски със същата сложност като японския проект и със скорост на обработка на ПроЛог програми по-бързо отколкото при японската ПроЛог машина. По това време (86-91г) се организират хиляди конф., семинари и работни срещи по общи проекти.1993 есента - университета в Манчестър обявява че започва разработка на шесто поколение комп. системи - паралелна машина от множество процесори, всеки със своето лог. устройство и с памет, които са свързани и комуникират по между си на принципа на невронните мрежив човешкия мозък. В крайна сметка е получена една машина - процесорчетата се наричат транспутери, като за конкретна задача се съставя конкретен специфичен алгоритъм и програма за него. Създава се езика OCAM за описание на паралелни процеси (паралелно програмиране). 91 - 95 година много силно се развива теорията на паралелните алгоритми по числени методи. Оказва се че ако трябва да се решава същата задача но с друга стойност на параметъра съществуващата машина и алгоритъм за много неефективни - трябва да се променя хардуера. 1996 фирмите които се занимават с производството на транспутери прекратяват производството.

Логически основи на компютърните системи. Основни компоненти и механизми на взаимовръзките. Процесор - типове команди и основни аспекти на командите.

Основното предназначение на компютърните системи е да изпълняват команди. Реализацията на командата се извършва от базов компонент наречен процесор. Решаването на една задача се състои от изпълнението на команди написани в програма. Командите от тези програми се съхраняват в друг остновен компонен наречен памет - ОП. Визуализацията на данните и разултатите се изпълняват от друг основен компонент наречен входно/изходно устройство. Днес развитието на вход/изход - а е довело до създаването на специализиран процесор за вход/изход, който управлява работата на тези входно/изходни устройства. Тези три основни компонента могат да бъдат взаимно свързани по между си в няколко схеми 3 от които са основни за компютрите на пазара. Най - простата е шинната схема на взаимовръзка състояща се в следното.(Картинка 1) Върху една унифицирана система от ел. линии наречена система от съединения са включени основните компоненти. Тази схема е много проста за реализация и затова е основно приложима за персонални компютри. Тя е разработена като теория през 73 година и за първи път е приложена от DEC в PDP-11. След това фирмата DEC изцяло минава на тази комцепция (до сега) и 1986г. IBM  взаимства тази концепция и се появява масово на пазара. Системно съединение - групирани семантично ел. линии като линии за данни (16 линии по 1бит за 16 разрядните системи), линии за адреси, чрез които се задава адреса на клетката от ОП, линии за синхронизация, линии за управление, линии за прекъсване и т.н. В даден момент от времето по една група линии може да протича само един сигнал, т.е. ако от ОП се извежда нещо за печат (по линиите за данни) тези линии се оказват заети и централния процесор в това време не може да извлече следваща команда за изпълнение, т.е. имаме силна последователност на основните и съпътстващите процеси в комп. система. Днес за да се разреши донякъде този конфликт са въведени приоритети на устройствата за достъп до системното съединение. Процесорът е с най-висок приоритет. Когато "поиска" достъп до системното съединение го получава. Извлича в своя памет - регистри командата и веднага системното съединение за да могат другите устройства да ползват ел. линии. Всяко едно от другите устройства получава достъп до сис. съединение за определено време. В рамките на това време се извършва обмен (примерно м/у ОП и принтера) след което устройствата отново се състезават за получаване на достъп до сис. съединение и ако процесора има заявка за извличане на следваща команда той получава достъп. Така днес работят системите на шинната схема.
Втората система е всеки със всеки - 1965 е била предложена от IBM и се използва и до сега. Целта на IBM е била да намери такава арх. и взаимовръзка на компонентите така че да може да произвежда както евтини и бавни компоненти така скъпи и бързи, като условието е една и съща програма да може да работи както при евтината така и при скъпата архитектура. Именно за постигане на тази цел те са специфицирали функционалността в отделни модули представляващи днешните основни компоненти. (Картинка 2) Централният процесор има много бърза постоянна връзка с ОП - шина на паметта. Тя е паралелна. От своя страна централния процесор има връзка с процесорите за вход/изход (пряка ел. връзка) в структура наречена голям интерфейс. Процесорите за вход/изход могат да се разглеждат като самостоятелни устройства работещи едно за друго, като всяко устройство има набор от команди. Когато процесора за вход/изход реализира последователност от команди това води до прехвърляне на информация от негов буфер към буфер на паметта или обратно от негов буфер към някое входно/изходно устройство. Тъй като интерфейса е всеки към всеки ЦП праща сигнал към процесор за вход/изход. Процесора за вход/изход получавайки тази команда започва да реализира последователност от свои машинни команди съответстващи на тази заявка която води до обмен на данни към ОП. В същото време ЦП продължава да обработва следващите машинни команди. Някоя от тях може да доведе до искане на обмен с друго входно/изходно устройство и така в тази схема всички входно/изходни утройства работят паралелно и обменят информация с ОП а ЦП едновременно с това изпълнява командите от програмите. 
Третият модел се използва при супер компютрите и се състои в следното.(Картинка 3) Към основната памет е прикрепено разширение на паметта което е по -бавно от ОП но много по ефиктивно. ЦП има шини на паметта както към ОП така и към разширената памет. От ЦП няма пряк достъп до процесорите за вход/изход. Когато една програма има заявка за вход/изход в резултат на изп. на машинните командите на процесора тази заявка се изпраща към т.нар. "Пощенска кутия" на процесора за вход/изход. Всеки процесор за вход/изход има своя пощенска кутия на фиксиран адрес в основната памет. Процесора за вход/изход е по-интелигентен, има памет за буфери за обмен с входно/изходните устройства но има и памет за програми представляващи подпрограми (всяка подпрограма реализира някакъв вид обмен). Заявката която се помества в пощенската кутия за обмен задължително съдържа името на подпрограмата. Всеки процесор за вход/изход през определен инт. от време "обхожда" своята пощенска кутия за да види няма ли заявка за него, ако не чака известно време и пак преглежда, ако да прочита в своя памет наречена регистри съдържанието на пощенската кутия и извиква подпрограмата указана в тази заявка за реализацията на входно/изходния обмен. Така по тази схема всеки процесор за вход/изход може да извърши паралелно обмен с ОП или разширената памет. Когато една подпраграма завърши нормално или аварийно този процесор за вход/изход занася в своята пощенска кутия индикация за резултата (флагове). ЦП по заявка на ОС през определен квант време обхожда пощенските кутии за да види има ли получен отказ от заявки. Ако да събужда програмата чакаща заявения входно/изходен обмен и и предава управлението и освобождава пощенската кутия за поместване в нея на следващи заявки. Фактически пощенските кутии се явяват механизма за синхронизация. Липсата на пряка електронна връзка на централния процесор с процесорите за вход/изход не рядко поради грешка води до зацикляне на програма от процесор за вход/изход който цикъл може да доведе до унищожаване съдържанието на паметта. Единствения начин за разрешаване на този проблем е спиране на цялата система от ел. тока и отново включване. Поради този недостатък тази концепция често е критикувана и въпреки това все по често използвана във всички супер компютри, тъй като основното предназначение не е входно/изходния обмен, а големия брой изчисления.

Централен процесор - мозъкът на компютърната система - определя нейната функционалност. ЦП се състои от множество подустройства и шини на взаимовръзка между тях. (Картинка 4) (... набор регистри с общо предназначение, набор от регистри за служебни цели недостъпни за програмиста(instruction register в който командата която трябва да се изпълни от процесора все взима от ОП и се записва в регистъра преди да започне програмата, program counter - следваща програма, адресни регистри и съответните им буферни регистри)) протичането на ел. сигнали между тези подкомпоненти става на тактове през определено време. Тези тактове се управляват от кварцов генератор на тактови импулси. Колкото честотата е по - висока толкова по бърз е процесора. Когато на такта t някой <MARi> register получи стойност съитветния <MBRi> регистър получва стойността на клетката... Може да си мислим че <MARi> регистъра представлява нещо като реле. Процесора базиран на фон Нойманския модел обработва една команда в строго определена последователност от стъпки наречена цикъл на команди. Първа стъпка - устройство за управление показан от program counter- a извлича от паметта предстоящата команда и я зарежда в IR регистъра. 
Втора стъпка - управляващото устройство увеличава program counter-a с дължината на извлечената команда. По този начин в този момент program couter-a вече сочи следващата команда.
Трета стъпка - прави се анализ и декомпозиция с цел определяне на брой параметри в тази команда, начини на кодиране на данните използвани от тази команда (компютърните системи данните могат да бъдат кодирани по много начини наречени видове представяния на данни)
Четвърта стъпка - локализация на данните участващи в командата. Да се определи местоположението на данните, т.е. пореден номер клетка от началото на паметта в която се намира някаква данна. Местоположението на клетката с данна е кодирано по някакъв начин в командата. Този начин на кодиране се нарича метод на адресация.
Пета стъпка - извличане в буферни регистри <МБР> данните с определеното местоположение
Шеста стъпка - реализация от аритметико-логическото устройство на операцията указана от командата (чрез код) между регистрите съдържащи извлечените данни. Така винаги операцията между регистри се реализира като регистър - регистър.
Седма стъпка - определяне местоположението на реултата
Осма стъпка - занасяне на резултата на определеното място
Девета стъпка - проверка на портовете за линии за прекъсване има ли ел. сигнал (заявка за прекъсване) Ако да - преход към аварийния цикъл на изпълнения цикъл, ако не преход към първа стъпка от този цикъл наречен нормален цикъл. 

Аритметико-логическото устройство е основен компонент в ЦП и той заедно с регистрите формира т.нар. тракт данни. Трактът данни се състои от регистрите(Картинка 5), двуичен суматор, шини на входа на двуичния суматор (шини на левия вход, шини на десния вход) и шина на изхода. Освен това има пред входовете в самия двуичен суматор 2 устройства за образуване на обратен код на съдържанието на регистъра. Т.е. ако в един регистър има набор от 0 и 1, то обратния код е стойност при която на всяка 1 се поставя 0 и обратното. Смисълът на обратния код реализация на изваждането (събиране с обратен код). Има системи които работят не в обратен а в т.нар. допълнителен код.
Друг важен елемент в управлението на тракта данни - това са т. нар. тригери. Тригера е вид превключвател който реализира т.нар "И"- схема. Един тригер ако е "отпушен" (има стойност 1) тогава той "отпушва" движението на ел. заряди от битовете на този регистър към съответната шина. По този начин ако искаме да получим резултат от вида - R3 =< R2> + <R1> трябва да отпушим тригерите. Т.е. ако се подаде ел. сигнал над R3 , R2 и R1 то в следващия момент ще получим реализирана операцията <R2> + <R1>. Двуичния суматор реализира двуично сумиране и отрицание. Тъй като всяка функция може да се реализира като формула (ДНФ) на тези 2 функция следва че тракта с данни може да реализира всяка аритметична операция. Този механизъм на функциониране на процесора е накарало учените 1972 година да въведат микро-програмното управление на операциите. (Картинка 6). Така идва идеята да разгледаме програмите като последователност от двуични набори, които последователно (такт след такт) се зареждат в регистъра на тригерите. Т.е. на всеки такт се указва кои тригери да бъдат отпушени. По този начин се управлява реализацията на изчислителния прицес и 1972 е предложено тази реализация на управление на тригерите да се съхранява в микро памет (извън ОП). Така стандартните машинни команди се реализират чрез последователност от команди които указват кои тригери да се отварят и затварят.