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

Садржај обрисан Садржај додат
Нова страница: {{РАФ102013}} У компјутерској науци и инжењерству, архитектура рачунара је скуп дисциплина која…
 
Нема описа измене
Ред 1:
{{РАФ102013}}
У компјутерској науци и инжењерству, архитектура рачунара је скуп дисциплина која описује компјутерски систем наводећи његове делове и њихове односе.
На пример, на високом нивоу, рачунарски инжењери могу бити забринути као централна процесорска јединица ([[Процесор|ЦПУ]]) делује и како користи меморију рачунара. Неки модерне (2011) рачунарске архитектуре укључују кластере рачунарства и неуједначен приступ меморији.
Рачунарски инжењери користе рачунаре за дизајн нове технологија у рачунарству. Иако дизајн је веома лако променити, компајлер дизајнери често сарађују са архитектама, предлажући побољшања у сету инструкција. Модерни емулатори могу мерити време у циклусима генератора такта: проценити потрошњу енергије у џулима, и дају реалне процене величине кода у бајтовима. Они утичу на погодност корисника, трајност батерије, као и величине и цену највећег физичког дела рачунара: својој меморији. То јест, они помажу да процени вредност рачунара.
 
==Историја==
Прва документована компјутерска архитектура била у преписци између [[Чарлс Бебиџ|Чарлс Бебиџа]] и Аде Ловелаце, описујући [[Аналитичка машина|аналитичку машину]]. Још један пример је Јохн вон Нојман је 1945. први нацрт извештаја о [[EDVAC|ЕДВАЦ]] , који је описао организацију логичких елемената. [[IBM|ИБМ]]- ова користи за развој ИБМ 701, први комерцијални рачунар са ускладиштеним програма, испоручен почетком 1952.
Термин "архитектура" у компјутерској литератури може се пратити на раду Лајле Р. Јохнсон, Мохамед Усман Кхана и Фредерика П. Броокс, Јр, 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=0-8493-2691-5|pages=94–95}}</ref> Величина процесорског кеша рачунара, на пример, је организациони проблем који генерално нема везе са ИСА .
* Систем дизајн обухвата све остале хардверске компоненте унутар рачунарског система. Оне укључују:
# Стазе података, као што су рачунарске [[Магистрала (рачунарство)|магистрале]]
# [[Меморијски контролер|Меморијске контролере]] и хијерархије
# Обраду података осим процесора, као што је приступ директаној меморији (ДМА)
# Остало питања као што су виртуализација, мултипроцесорске и софтверске карактеристике.
Неки архитекти у компанијама као што су [[Интел|Интел]] и [[AMD|АМД]] користе детаљнију поделу:
* Макроархитектура : архитектонски слојеви више апстрактни него микроархитектура , нпр ИСА
* Упутство сет Архитектура (ИСА) : као горе , али без :
* [[Асемблер|Асемблер]] ИСА :паметан асемблер може претворити апстрактни језик у заједнички за групу машина у нешто другачијем [[Машински језик|машинском језику]] за различите имплементације.
* Програмер макроархитектуре : виши ниво језичких алатки, као што су компајлери, може дефинисати конзистентан интерфејс или уговор за програмере који их користите, апстрахује разлике између основног МСР , УИСА и микроархитектура. На пример то су [[C (програмски језик)|Ц]] , [[C++|Ц + +]] , [[Јава (програмски језик)|Јава]]
* УИСА -фамилија машина са различитим хардверским нивоима микроархитектуре могу да деле заједничку архитектуру, а самим тим УИСА.
* Пин Архитектура : Функције хардвера које микропроцесор треба да обезбеди на хардверској платформи, на пример, на к86 пинова А20М, ФЕРР / ИГННЕ . Такође , поруке које процесор треба да емитује да се екстерни кеш испразни. Функције пин архитектуре су флексибилнији од ИСА функција јер спољни хардвер може да се прилагоди новом кодирању. Термин " архитектура " одговара , јер мора да се обезбеди функције за компатибилне системе.
Ред 31:
Циљ је дизајниран рачунар који има максимални учинак, а имајући потрошњу енергије у виду, ниске трошкове у односу на износ очекиване перформансе, а такође да је веома поуздан. Да би се ово постигло многи аспекти треба да се размотре,укључујући сет инструкција, функционалну организацију, логику пројектовања и имплементације.Имплементација подразумева интегрисано коло дизајн, паковање, напајање и хлађење. Оптимизација дизајна захтева познавање компајлера, Оперативни системи који одговара логици дизајна и паковања.
===Скуп инструкција архитектуре===
Скуп инструкција архитектуре (ИСА) је интерфејс између хардвера и софтвера рачунара и може се посматрати иѕ угла програмера машине. Рачунари не разумеју језике високог нивоа који имају мало , ако их има , језичке елементе који се преводе директно у изворни [[Машински код|машински код]]. Процесор разуме само инструкције кодиране на неки нумеричком начин, обично као бинарне бројеве. Софтверски алати, као што су компајлери, преводе језике на високом нивоу, као што је Ц, у инструкције.
Осим инструкција, ИСА дефинише ставке у рачунару који су доступни програму - пример типови података, регистара, начини адресирања и меморија.
ИСА рачунара се обично описује као мала књига, која описује како су инструкције кодиране. Такође, она може дефинисати кратко ( нејасно ) мненоничка имена инструкција. Имена се могу препознати помоћу развијеног софтверског алата збаног асемблер. [[Асемблер|Асемблер]] је компјутерски програм који преводи људски читљив облик инсрукција на ИСА компјутерски читљив облик. Дисассемблерс је такође широко распрострањен, обично у дебагерима.
ИСА варира у квалитету и комплетности. А добри ИСА праве компримис између удобности програмера (више инструкција) и трошкова рачунара да тумаче инструкције (јефтиније је боље), брзину рачунара (брже је боље) , и величине кода (мањи је бољи). Меморијска организација дефинише како инструкције интерагују са меморијом, а такође и како различити делови меморије комуницирају једни са другима.
===Организација рачунара===
Организација рачунара помаже у оптимизацији префрормански продукта. На пример, софтверски инжењери треба да знају могућности процесора да обради захтеве. Они ће можда морати да оптимизују софтвер како би добили највише перформансе а најмању цену. Ово може захтевати прилично детаљну анализу организације рачунара. На пример ,мултимедијални декодер , дизајнери можда морати да организују да се већина података обрађују у најбржем путу.
Организација рачунара такође помаже избору процесора за одређени пројекат. Мултимедијалним пројектима потребан је веома брз приступ подацима, док је надзорни софтвер можда морати да има брзе прекиде. Понекад су за одређене задатке потребне додатне компоненте . На пример ,рачунар способан за виртуелизацију захтева хардвер [[Виртуелна меморија|виртуелне меморије]], тако да се меморија различитих симулираних рачунара може држати одвојена. Организација рачунара и карактеристике такође утичу на потрошњу енергије и трошкове процесора.
==Имплементација==
Када се ѕаврши са описом сета инструкција и микроархитектуре рачунара, практична машина може бити пројектована. Овај процес дизајн се зове имплементација. Имплементација се обично не сматра инжењерском дефиницијом, већ дизајном хардвера. Имплементација се може даље разложити на неколико (не потпуно различита корака) :
* '''Логичка Имплементација''' дизајнира блокове дефинисане у микро - архитектури на (пре свега) на нивоу регистар - трансфер и нивоу логичког кола.
* '''Имплементација кола''' ради на транзисторском нивоу - дизајн основних елемената (капије, мултиплексера , резе и сл), као и неких већих блокова ( алус, [[Кеш меморија|кеш]] итд) који се могу спроводити на овом нивоу , или чак (делимично) на физичком нивоу, из разлога перформанси.
* '''Физичка имплементација''' повлачи физичке кола. Различите компоненте кола су смештени у чипу или на табли и жице их повезују се усмеравају.
* '''Дизајн Валидација''' тестира рачунар у целини да види да ли ради у свим ситуацијама и свим тренутцима. Када почне имплементација, први дизајн валидације су симулара користећи логику емулатора. Међутим , ово је обично сувише споро да покреће реалне програме. Дакле, после корекције, прототипови су конструисани користећи програмибилна поља - низове (ФПГА). Многи пројекти хоби заустављени су у овој фази. Последњи корак је да се тестира прототип интегрисаних кола. Интегрисана кола могу захтевати неколико редизајнирања у случају да постоји проблем који треба решити.
За процесоре, цео процес имплементације се често назива дизајн процесора .
==Циљеви дизајна==
Тачан облик рачунарског система зависи од ограничења и циљева. Компутерска арцхитектура обично баванс између стандарда, снаге и перформанси, цене, капацитета меморије, латенције (латенција је количина времена које је потребно за информације од једног чвора да путују до извора) и пропусне моћи. Понекад други разлози, као што су карактеристике, величина, тежина, поузданост и проширења су такође разматрајући фактори.
Најчешћа шема иде у дубину анализе у циљу да разреши како да задржи ниску потрошњу енергије, уз одржавање адекватног учинка.
===Перформансе===
Модерне перформансе рачунара се често описују у МИПС по МХз (милиона инструкција у милионима циклуса такта). Ово мери ефикасност архитектуре при било којој брзини такта. Пошто бржи сат може направити бржи рачунар, ово је корисно, широко примењиво мерење. Историјски рачунари имали МИПС/ МХз ниско око 0.1. Јадноставни модерни процесори лако достижу близу 1. Суперкаларни процесори могу достићи три до пет извршавајући неколико инструкција у једном циклусу. процесори са више језгара и векторске обраде ЦПУ може помножити ово у будућности на много података секунди.
 
Историјски гледано, многи људи мерили брзине рада рачунара по такту (обично у МХз или ГХз). Ово се односи на број циклуса у секунди главног такта процесора. Међутим, ово је нешто погрешно метрички, машина са вишим тактом не мора нужно имати боље перформансе. Као резултат тога произвођачи су удаљили од такта као мере учинка.
Остали фактори могу утицати на брзину , као што је мешавина брзина, брзина магисртале, брзина меморије на располагању, као и врста и редослед инструкција које се покрећи у програмима.
 
У типичном кућном рачунару, најједноставнији, најпоузданији начин да се убрза рад је обично додавање радне меморије (РАМ). Више РАМ-а повећава вероватноћу да су потребни податкци или програм у РАМ-у - па је мање вероватно да це систему требати да се премеместе податци из меморије диска. Диск је често десет хиљада пута спорији него РАМ јер има механичке делове који морају да се покрећу како би се приступило подацима.
 
Постоје две главне врсте брзине , латенције и продуктивност. Латенција је време између почетка процеса и његовог завршетка. Продуктивност је количина изведених инструкција по јединици времена. Прекидачка латенција је гарантовано максимално време одзива система за електронски догађаја ( нпр. када диск заврши померање неких података).
 
На перформансе утиче веома широк спектар дизајнерских избора - на пример, процесор обично чини латенцијеа гори (спорији), али чини проток бољи. Рачунарима који контролишу машине обично је потребно да имају ниске прекидне латенција. Ови рачунари раде у реалном времену окружења и имаће неуспех ако операција није завршена у одређеном временском периоду. На пример, компјутерски контролисана против блокирања кочница мора почети кочење у предвидљиво, кратко време после стискања предале кочнице.
 
===Прошерења у снази===
Потрошња у снази је још једна мера која је важна у савременим рачунарима. Енергетска ефикасност се често може балансирати између брзину или ниже цене. Типичано мерење у овом случају је МИПС/В (милион инструкција у секунди по вату).
 
Модернa кола имају мање снаге по [[Транзистор|транзистору]] како број транзистора по [[Чип|чипу расте]]. Дакле, проширења у снази повећавају ефикасност значајно. Предходни дизајни процесора, као што су Интел коре 2 cу ставили већи нагласак на повећању енергетске ефикасности. Такође, у свету уграђених пачунара, ефикасност снаге је дуго била и остаје важан циљ поред продоктувности и кашњења.
 
==References==
{{Reflist}}