Архитектура рачунара — разлика између измена

м
нема резимеа измене
м (Разне исправке)
м
{{nekat}}
{{сређивање|непреведени делови}}
У рачунарској науци и инжењерству, архитектура рачунара је скуп дисциплина која описује рачунарски систем наводећи његове делове и њихове односе.
 
На пример, на високом нивоу, рачунарски инжењери могу бити забринути како централна процесорска јединица ([[Процесор|ЦПУ]]) делује и како користи меморију рачунара. Неке модерне (2011) рачунарске архитектуре укључују кластере рачунарства и неуједначен приступ меморији.
 
Рачунарски инжењери користе рачунаре за дизајн нових технологија у рачунарству. Иако је дизајн веома лако променити, компајлер дизајнери често сарађују са архитектама, предлажући побољшања у сету инструкција. Модерни емулатори могу мерити време у циклусима генератора такта: проценити потрошњу енергије у џулима и дају реалне процене величине кода у бајтовима. Они утичу на погодност корисника, трајност батерије, као и величине и цену највећег физичког дела рачунара: меморији. То јест, они помажу да процени вредност рачунара.
 
 
Термин „архитектура“ у рачунарској литератури може се пратити на раду Лајле Р. Јохнсон, Мохамед Усман Кхана и Фредерика П. Броокс, Јр, 1959- чланова одељења Машинске организације у главном истраживачком центру ИБМ-а. Џонсон је имао прилику да напише истраживачки рад о Стречу, ИБМ - развија [[Суперрачунар|суперрачунар]] у научној лабораторији Лос Аламос. Да би описао ниво детаља за разматрање рачунара, он је истакао да је његов опис формата, инструкција, типове хардвера параметара, брзине и побољшања били на нивоу " архитектуре система " -термин који се чинило више него користан " машинска организација“.
 
Након тога, Брукс, почео је друго поглавље књиге (планирање рачунарског система : Пројекат Стреч , изд В. Бучхолз , 1962 ) пишући, " Архитектура рачунара, као и друге архитектуре, јесте уметност утврђивања потреба корисника, структуре, а затим пројектовање да, што је могуће у оквиру економских и технолошких ограничења задовољи те потребе“.
 
Брукс је помогао развој ИБМ Систем/360 линију рачунара, у којој је " архитектура " постала именица која дефинише „шта корисник треба да зна“. Касније, корисници рачунара су користили термин у многим мање - експлицитним начинима.
 
== Подкатегорије ==
Дисциплина архитектуре рачунара има три главне подкатегорије : :<ref>{{Cite book|author=John L. Hennessy and David A. Patterson|title=Computer Architecture: A Quantitative Approach|edition=Third Edition|publisher=Morgan Kaufmann Publishers}}</ref>
* Скуп инструкција архитектуре, или ИСА . ИСА дефинише кодове који централни процесор чита и поступа по њима. То је језик машина (или скупа језика), укључујући и сетскуп инструкција, величине речи, меморија адресних модова, процесорских регистара, и адресу и формат података.
* Микроархитектура, такође познат као рачинарска организација која описује стазе података, елементе за обраду података и елементе за складиштење података, и описује како они треба да имплементирају ИСА.<ref>{{Cite book|title=Dictionary of Computer Science, Engineering, and Technology|last=Laplante|first=Phillip A.|year=2001|publisher=CRC Press|isbn=978-0-8493-2691-2|pages=94–95}}</ref> Величина процесорског кеша рачунара, на пример, је организациони проблем који генерално нема везе са ИСА.
* Систем дизајн обухвата све остале хардверске компоненте унутар рачунарског система. Оне укључују:
== Улога ==
=== Дефиниција ===
Циљ је дизајниран рачунар који има максимални учинак, а имајући потрошњу енергије у виду, ниске трошкове у односу на износ очекиване перформансе, а такође да је веома поуздан. Да би се ово постигло многи аспекти треба да се размотре, укључујући сетскуп инструкција, функционалну организацију, логику пројектовања и имплементације. Имплементација подразумева интегрисано коло дизајн, паковање, напајање и хлађење. Оптимизација дизајна захтева познавање компајлера, Оперативни системи који одговара логици дизајна и паковања.
 
=== Скуп инструкција архитектуре ===
Скуп инструкција архитектуре (ИСА) је интерфејс између хардвера и софтвера рачунара и може се посматрати из угла програмера машине. Рачунари не разумеју језике високог нивоа који имају мало , ако их има , језичке елементе који се преводе директно у изворни [[машински код]]. Процесор разуме само инструкције кодиране на неки нумеричком начин, обично као бинарне бројеве. Софтверски алати, као што су компајлери, преводе језике на високом нивоу, као што је Ц, у инструкције.
 
Осим инструкција, ИСА дефинише ставке у рачунару који су доступни програму - пример типови података, регистара, начини адресирања и меморија.
 
ИСА рачунара се обично описује као мала књига, која описује како су инструкције кодиране. Такође, она може дефинисати кратко (нејасно) мненоничка имена инструкција. Имена се могу препознати помоћу развијеног софтверског алата збаног асемблер. [[Асемблер]] је рачунарски програм који преводи људски читљив облик инсрукција на ИСА рачунарски читљив облик. Дисассемблерс је такође широко распрострањен, обично у дебагерима.
 
ИСА варира у квалитету и комплетности. А добри ИСА праве компримис између удобности програмера (више инструкција) и трошкова рачунара да тумаче инструкције (јефтиније је боље), брзину рачунара (брже је боље) , и величине кода (мањи је бољи). Меморијска организација дефинише како инструкције интерагују са меморијом, а такође и како различити делови меморије комуницирају једни са другима.
 
=== Организација рачунара ===
Организација рачунара помаже у оптимизацији префрормански продукта. На пример, софтверски инжењери треба да знају могућности процесора да обради захтеве. Они ће можда морати да оптимизују софтвер како би добили највише перформансе а најмању цену. Ово може захтевати прилично детаљну анализу организације рачунара. На пример , мултимедијални декодер , дизајнери можда морати да организују да се већина података обрађују у најбржем путу.
 
Организација рачунара такође помаже избору процесора за одређени пројекат. Мултимедијалним пројектима потребан је веома брз приступ подацима, док је надзорни софтвер можда морати да има брзе прекиде. Понекад су за одређене задатке потребне додатне компоненте . На пример , рачунар способан за виртуелизацију захтева хардвер [[Виртуелна меморија|виртуелне меморије]], тако да се меморија различитих симулираних рачунара може држати одвојена. Организација рачунара и карактеристике такође утичу на потрошњу енергије и трошкове процесора.
 
== Имплементација ==
Када се ѕаврши са описом сета инструкција и микроархитектуре рачунара, практична машина може бити пројектована. Овај процес дизајн се зове имплементација. Имплементација се обично не сматра инжењерском дефиницијом, већ дизајном хардвера. Имплементација се може даље разложити на неколико (не потпуно различита корака) :
* '''Дизајн Валидација''' тестира рачунар у целини да види да ли ради у свим ситуацијама и свим тренутцима. Када почне имплементација, први дизајн валидације су симулара користећи логику емулатора. Међутим , ово је обично сувише споро да покреће реалне програме. Дакле, после корекције, прототипови су конструисани користећи програмибилна поља - низове (ФПГА). Многи пројекти хоби заустављени су у овој фази. Последњи корак је да се тестира прототип интегрисаних кола. Интегрисана кола могу захтевати неколико редизајнирања у случају да постоји проблем који треба решити.
За процесоре, цео процес имплементације се често назива дизајн процесора.
 
== Циљеви дизајна ==
Тачан облик рачунарског система зависи од ограничења и циљева. Компутерска арцхитектура обично баванс између стандарда, снаге и перформанси, цене, капацитета меморије, латенције (латенција је количина времена које је потребно за информације од једног чвора да путују до извора) и пропусне моћи. Понекад други разлози, као што су карактеристике, величина, тежина, поузданост и проширења су такође разматрајући фактори.
 
Најчешћа шема иде у дубину анализе у циљу да разреши како да задржи ниску потрошњу енергије, уз одржавање адекватног учинка.
 
=== Перформансе ===
Модерне перформансе рачунара се често описују у МИПС по МХз (милиона инструкција у милионима циклуса такта). Ово мери ефикасност архитектуре при било којој брзини такта. Пошто бржи сат може направити бржи рачунар, ово је корисно, широко примењиво мерење. Историјски рачунари имали МИПС/ МХз ниско око 0.1. Јадноставни модерни процесори лако достижу близу 1. Суперкаларни процесори могу достићи три до пет извршавајући неколико инструкција у једном циклусу. процесори са више језгара и векторске обраде ЦПУ може помножити ово у будућности на много података секунди.
 
Историјски гледано, многи људи мерили брзине рада рачунара по такту (обично у МХз или ГХз). Ово се односи на број циклуса у секунди главног такта процесора. Међутим, ово је нешто погрешно метрички, машина са вишим тактом не мора нужно имати боље перформансе. Као резултат тога произвођачи су удаљили од такта као мере учинка.
 
Остали фактори могу утицати на брзину , као што је мешавина брзина, брзина магисртале, брзина меморије на располагању, као и врста и редослед инструкција које се покрећи у програмима.
 
У типичном кућном рачунару, најједноставнији, најпоузданији начин да се убрза рад је обично додавање радне меморије (РАМ). Више РАМ-а повећава вероватноћу да су потребни податкци или програм у РАМ-у - па је мање вероватно да це систему требати да се премеместе податци из меморије диска. Диск је често десет хиљада пута спорији него РАМ јер има механичке делове који морају да се покрећу како би се приступило подацима.
 
Постоје две главне врсте брзине , латенције и продуктивност. Латенција је време између почетка процеса и његовог завршетка. Продуктивност је количина изведених инструкција по јединици времена. Прекидачка латенција је гарантовано максимално време одзива система за електронски догађаја ( нпр. када диск заврши померање неких података).
 
На перформансе утиче веома широк спектар дизајнерских избора - на пример, процесор обично чини латенцијеа гори (спорији), али чини проток бољи. Рачунарима који контролишу машине обично је потребно да имају ниске прекидне латенција. Ови рачунари раде у реалном времену окружења и имаће неуспех ако операција није завршена у одређеном временском периоду. На пример, рачунарски контролисана против блокирања кочница мора почети кочење у предвидљиво, кратко време после стискања предале кочнице.