550 likes | 834 Views
Архитектура на компјутери. Предавач : д-р Цвета Мартиновска Фонд на часови : 2+2. СТРУКТУРИРАНА КОМПЈУТЕРСКА ОРГАНИЗАЦИЈА. Компјутерите се дизајнирани како серија на нивоа, секое изградено врз претходното. Структурирана компјутерска организација.
E N D
Архитектура на компјутери Предавач: д-р Цвета Мартиновска Фонд на часови: 2+2
СТРУКТУРИРАНА КОМПЈУТЕРСКАОРГАНИЗАЦИЈА
Компјутерите се дизајнирани како серија на нивоа, секое изградено врз претходното.
Структурирана компјутерска организација • Преведување: во програмот напишан во јазик од ниво L1 се заменува секоја инструкција со еквивалентна во L0. • Интерпретирање: програмата во јазик L0 ја користи програмата во јазик L1 како влезни податоци. Директно (без да се креира програм во L0) се извршуваат L0 секвенци кои одговараат на програмата во јазик L1.
Компјутерите се дизајнирани како серија на нивоа, секое изградено врз претходното.
Нивоата 2 и 3 секогаш се интерпретирани, а нивоата 4 и 5 се обично преведени. Нивоата на машински јазици 1,2 и 3 се нумерички. Почнувајќи од 4 ниво јазиците се симболички.
Ниво на дигитална логика • контролен збор/знаменца (FLAGS) контролни сигнали кои управуваат и диктираат различниакции го сочинуваат контролниот збор • на ова ниво се и сигналите на системскиот часовник
Ниво на дигитална логика • Елементарни булови функции • прекинувачки портиgates • мрежи од елементарни логичкифункции без повратни врски • мемориски ќелии со повратни врски • Флип Флоп – Flip-Flop • множество од Флип-Флопoви -регистер
Ниво микроархитектура • процесорскиинструкции според кои контролната единица преземаоперанди и иницира пресметка во процесорот. • во контролната единица се декодираат адресите на операндите и операндите се сместуваат во регистри на процесорот • се декодира операцијата и се иницира пресметка на процесорот • резултатот се сместува во декодираната адреса
Ниво микроархитектура • колекција од регистри (типично 8-32) формираат меморија • Аритметичко-логичка единица (Arithmetic-Logic Unit)пресметува едноставни аритметички и логички операции • регистрите се поврзани во data path преку кој се пренесуваат податоците • на некои машини datapath се контролира со програм наречен microprogram, на други машини се контролира директно од хардверот (hardwired)
Ниво микроархитектура • На машините со софтверска контрола на datapath микропрограмот е интерпретер за инструкциите од повисокото ниво. Тој ги зема (fetch), декодира и извршува инструкциите една по една користејќи го data path за тоа. • На машините со хардверска контрола на datapath се изведуваат слични чекори, но без експлицитно складиран програм за контрола на интерпретирањето на инструкции од повисоко ниво.
Ниво инструкциско множество на архитектурата (ISA – Instruction Set Architecture Level) • Инструкции кои се изведуваат интерпретерски од микрoпрограмот или хардверските кола.
Ниво на оперативни системи • Најголем број инструкции во оперативниот систем се од ISA нивото. Овие инструкции се изведуваат директно од микропрограм или хардверска контрола. • Другите инструкции се однесуваат на организација на меморијата, можност да се извршуваат два или повеќе програми конкурентно. Овие инструкции се изведуваат од интерпретер кој работи на ISA ниво кој историски се нарекувал оперативен систем
Ниво на асемблерски јазик • Асемблерскиот програм мора да се преведе до машински јазик со програм асемблер. • Програмите во асемблерски јазик прво се преведуваат во јазици од ниво 1, 2 или 3 а потоа се интерпретираат.
Ниво на виши програмски јазици • виши програмски јазици: Fortran, ALGOL, C, Java, Lisp, Prolog и слично.Вообичаено се преведуваат до јазици од ниво 3 или 4. • Програмите во Java обично се преведуваат до ISA јазик наречен Java byte code кој потоа се интерпретира.
КОНЦЕПЦИЈА ЗА ДИЗАЈН • Идеален случај -дизајн од лево кон десно
ИСТОРИСКИ РАЗВОЈ • Поделба по генерации според: • технологијата, • системска архитектура, • начинот на пресметување и • користење програмски јазици. • Просечно секоја генерација -10 години. • Некои генерации се преклопуваат.
Нулта генерација - механички компјутери (1642-1945) • Blaise Pascal (1623-1662) - механичка направа која можела само да собира и одзема. • Leibniz (1646-1711) – механичка направа за множење и делење.
Нулта генерација - механички компјутери (1642-1945) • Charles Babbage (1792-1871) • -difference engine - механичка направа која пресметувала табели од поморска навигација. Операции: собирање и одземање. • -analytical engine – машина за општа намена со 4 компоненти: меморија (1000 збора по 10 цифри), пресметувачка единица, влезна секција и печатен излез. Операции: собирање, одземање, множење и делење, операции со условно разгранување, операции со меморија. • Програмабилна во асемблер напишан од Ada Lovelace. • Чести хардверски грешки.
Нулта генерација - механички компјутери (1642-1945) • Konrad Zuse-Германија 1930-ти, 1940-ти програмабилни компјутери засновани на електромагнетни релеи. • John Atanasoff (USA Iowa State University)-машина која користела бинарна аритметика и меморија со кондензатори кои периодично се освежувале (принцип на работа на DRAM). • Howard Aiken-Harvard USA, машина Mark 1 во 1944 год. Имала 74 збора од 23 цифри меморија и време на извршување на инструкција 6 секунди.
Прва генерација - електронски компјутери (1945-1955) • Alan Turing-Англија COLOSSUS 1943 направа за дешифрирање на германски пораки кодирани со ENIGMA • Eckert & Mauchly – Moore School, Pennsylvania,USA- прв оперативен општо наменски компјутер ENIAC (Electronic Numerical Integrator and Calculator)намена: пресметки во артилерија, 18000 електронски цевки и 1500 релеи, 1900 собирања/сек, 30 тони, димензии: 20м*2м. Програмирање: 6000 повеќе позициски преклопници.
Прва генерација - електронски компјутери (1945-1955) • Maurice Wilkes (Univ. Cambridge) 1949 – изградил оперативна машина EDSAC. • JOHNIAC (Rand Corporation), ILLIAC (Univ. Illinois), MANIAC (Los Alamos Lab), WEIZAC (Weizmann Institute Израел)
Прва генерација - електронски компјутери (1945-1955) • John von Neumann, учествувал во ENIAC проектот, нови идеи во EDVAC(Electronic Discrete Variable AutomaticComputer) - бинарна аритметика - машината имала: меморија, ALU, контролна единица, влезни и излезни уреди • Програмот треба да се претстави во дигитална форма во меморија заедно со податоците.
Прва генерација - електронски компјутери (1945-1955) • Во von Neumann-овата машина меморијата била 4096 збора по 40 бита. Секој збор содржел 2 20-битни инструкции или 40-битен integer со знак. 8 бита биле тип на инструкција и 12 бита за адресирање 4096 мемориски збора. Во ALU е сместен 40-битен регистер акумулатор.
Прва генерација - електронски компјутери (1945-1955) • Во исто време кога бил направен ENIAC, на МIT е направен Whirlwind I. Машината имала 16 битен збор и била наменета за контрола на процеси во релно време. • Во 1951 IBM го произвела 701, со 2048 36-битни зборови со 2 инструкции по збор. • По три години е произведен 704 со 4096 36-битни збора меморија, 36-битни инструкции и хардвер за работа со операции со подвижна запирка. • Во 1958 е произведена последната машина изградена со вакумски цевки, 709.
Втора генерација – транзистори (1955-1965) • Во 1948 John Bardeen, Walter Brattain и William Shockley го произвеле транзисторот. • TX-0 (Transistorized eXperimental Computer 0) (MIT) е прв компјутер од транзистори, 16-битна машина. • Kenneth Olsen еден од инжењерите кои работеле на TX-0 во 1957 година ја формирал Digital Equipment Corporation (DEC) • Во 1961 се појавила прва комерцијална машина PDP-1 базирана на TX-0.Имала 4096 18-битни збора, 200000 инстр./сек. Многу поефтина од IBM 7090 наследник на 709.
Втора генерација – транзистори (1955-1965) • Иновација во PDP-1 визуелен дисплеј и плотер. • Неколку години подоцна е произведен PDP-8, 12-битна машинa. Иновација е заедничка магистралa.
Втора генерација – транзистори (1955-1965) • Во исто време IBM ја произведува машината 7094, со 32536 36-битни зборови. • 7090 и 7094 го означиле крајот на ENIAC тип машини кои доминирале во научните кругови. • IBM го произведува малиот бизнис-ориентиран компјутер 1401. Можела да чита и пишува на магнетни ленти, да чита дупчени картички и да печати скоро исто толку брзо како 7094. • Нема регистри и фиксна должина на збор, има меморија од 4000 8-битни збора.
Втора генерација – транзистори (1955-1965) • Во 1964 компанијата CDC (Control Data Corporation) на Seymor Cray го произвела 6600. Компјутерот се карактеризира со паралелно извршување инструкции. Имал неколку функционални единици за множење, собирање и делење. Се изведувале и по 10 инструкции паралелно. • Дополнителни процесори се користеле за влезно/излезни операции. • Во 1976 е произведен Cray 1,суперкомпјутер
Втора генерација – транзистори (1955-1965) • 1948 -појава на транзистори • TRAnsistored DIgital Computer =TRADIC, процесор-800 транзистори • печатени електронски плочки наместо жици • магнетен медиум -меморија • асемблер, потоа Fortran 1956, Cobol 1959, Algol 1960
Трета генерација – интегрирани кола (1965-1980) • Интегрираните кола се пронајдени од Robert Noyce во 1958. • SSI = Small Scale Integration • MSI = Medium Scale Integration, 10 до 1000 • LSI = Large Scale Integration, 1000до 10000 транзистори по интегрално коло.
Трета генерација – интегрирани кола (1965-1980) • До 1964 IBM била водечка компјутерска компанија, но се појавил проблем со некомпатибилноста на 7094 и 1401. • 7094-пралелна бинарна аритметика • 1401-влезно/излезен процесор со сериска декадна аритметика над зборови со варијабилна должина во меморија • System/360 базирана на интегрирани кола • 1401 бил заменет со 360 Model 30 • 7094 бил заменет со 360 Model 75
Трета генерација – интегрирани кола (1965-1980) • Некои карактеристики на фамилијата компјутери IBM 360
Трета генерација – интегрирани кола (1965-1980) • Важна иновација на 360 е мултипрограмирањето – неколку програми може да се вчитани во исто време во меморијата, додека еден програм чека влезно/излезни податоци друг може да го користи CPU. • 360 можел да емулира други компјутери (моделите 1401 и 7094) па можеле да се користат старите бинарни програми. Бидејќи се користело микропрограмирање требало само да се напишат 3 микропрограми: за инструкциското множество на 360, за 1401 и за 7094. • 360 имал 16 32-битни регистри за бинарна аритметика но нејзината меморија била бајт-ориентирана како на 1401. Можела да адресира 224 бајти меморија. • Во 1980 се користат 32-битни адреси со што може да се адресира 232 бајти меморија. • DEC го произведува PDP-11, 16-битен наследник на PDP-8.
Трета генерација – интегрирани кола (1965-1980) • виши програмски јазици со интелигентни преведувачи • повеќе програмско програмирање (multiprogramming) • временска распределба на процесорот (time sharing) • виртуелна меморија • дискови -секундарна меморија
Четврта генерација – VLSI (1980-) • Во 1980 започнува ерата на персоналните компјутери • Првите персонални компјутери се произведени во 1981. Имале процесор Intel 8080, ОС CP/M напишан од Gary Kildall. • Друг персонален компјутер е Apple дизајниран од Steve Jobsи Steve Wozniak. • Apple Macintosh бил произведен 1984. Вовел GUI (Graphical User Interface) • Од 1992 година наваму персоналните компјутери биле 8,16 или 32 битни. • DEC ја произведува Alpha, 64-битна RISC машина една декада пред другите 64-битни машиини.
Четврта генерација – VLSI (1980-) • 1982 - Cyber-205 • 1984 - MPP = Massively Parallel Processorод 16384 процесори • CISC процесори • RISCпроцесори • масивен паралелизам
Четврта генерација – VLSI (1980-) • изведување инструкции вон редослед • предвидување на разгранување и предвремено преземање инструкции • паралелизам на ниво на инструкции (Instruction Level of Parallelism) • superscalar – извршува повеќе од една инструкција по такт, повеќе ALU , паралелно извршување инструкции
Петтагенерација • Во 1981 владата на Јапонија инвестирала средства за петта генерација на компјутери базирани на вештачка интелигенција. Проектот пропаднал. • Mark Weiser - ubiquitous computing/pervasive computing (сеопфатна компјутеризација) • Невидливи компјутери – вградени во уреди (автомобили, воени системи, радио-контролирани играчки, медицински уреди, како MRI, монитори за следење на витални функции, дигитални камери, TV, modem, printer, MP3 player и други)
Преглед на дел од спомнатите компјутерите
Параметри за оценка на перформанси на компјутери • аритметичка латентност • време да се изведе една инструкција со реални броеви со подвижна запирка (floating point) • мемориска латентност • време на пристап кон податокот во меморијата.
Параметри за оценка на перформанси на компјутери • мемориската латентност се намалува 10 пати за 20 години • аритметичката латентност се намалува за повеќе од 1000 пати • фреквенција >50% за една година!
Параметри за оценка на перформанси на компјутери-процесор • 198_ -аритметичка латентност • 100 ns (10MHz) • > 1992 -аритметичка латентност • < 5 ns (200MHz) • > 1998 -аритметичка латентност • < 1.33 ns (750 MHz)
АритметичкаимеморискалатентностАритметичкаимеморискалатентност
Параметри за оценка на перформанси на компјутери - меморија • густина на мемориско пакувањеенормно расте • 1980 -мемориски чипови од 64 KB • 1985 -мемориски чипови од 512 KB • 1990 -мемориски чипови од 4 MB • 1995 -мемориски чипови од 64 MB • 2000 -мемориски чипови од 1 GB
Параметри за оценка на перформанси на компјутери • Мoore-ов закон (Gordon Moore – соосновачот на Intel): Бројот на транзистори се дуплира секои 18 месеци. • Секоја нова генерација мемориски чипови се воведува по 3 години од претходната и има 4 пати повеќе меморија.
Муровзакон за меморија • Муровиот закон предвидува зголемување на бројот на транзистори за 60% годишно.
Муровзакон за CPU чипови • Муровиот закон предвидува зголемување на бројот на транзистори за 60% годишно.