Процесорски дизајн

Од Википедија — слободната енциклопедија
Прејди на прегледникот Прејди на пребарувањето

Процесорски дизајн е инженерскиот дел при дизајнирање и креирање на микропроцесор, компонента на компјутерскиот хардвер. Тоа е поле кое спаѓа во електронскиот инженеринг и компјутерскиот иженеринг. Дизајнерскиот процес вклучува бирање на инструкциски сет и одредена парадигма на извршување (пр. VLIW или RISC) и резултира во микроархитектура опишана како пр. VHDL или Verilog. Описот е тогаш изработен со помош на еден од неколкуте процеси за фабрикација на полупроводнички направи. Резултатот на ова е коцка која е вметната во т.н куќиште за чипот. Чипот е тогаш залемен на некое коло (PCB).

Модот на оперирање на секој микропроцесор е извршувањето на листи од инструкции. Инструкциите типично ги вклучуваат оние кои компјутираат или манипулираат податочни вредности со помош на регистри, да менуваат и превземаат вредности во читањето/пишувањето на меморијата, извршуваат релациони тестови помеѓу податочни вредности и со цел да го контролираат текот на програмата.

Детали[уреди | уреди извор]

Процесорскиот дизајн се фокусира на шест главни области:

  1. податочни патеки (како ALU и pipelines)
  2. контролна единица: логика која ги контролира податочните патеки
  3. Мемориски компоненти како регистерски датотеки, кешови
  4. Клок кола како клод драјвери, PLL-ови, дистрибутивни мрежи на клоковките
  5. Трансиверски кола на рампи
  6. Библиотека на ќелии од логички порти кои ќе се користат за имплементација на логиката

Процесорите дизајнирани за пазарот на високи перформанси може да бараат специфичен дизајн за секој од овие предмети да достигне фрекфенција, дисипација на моќта, и цели кон областа на чипот; каде што процесорите дизајнирани за пазари на пониски перформанси може да го олеснат товарот на имплементација со превземање на некои од овие предмети, купувајќи ги како интелектуален имот. Техниките за имплементација на контролната логика (логичка синтеза користејќи CAD алатки) може да се користат за имплементација на податочни патеки, регистарски датотеки и клокови. Вообичаени логички системи кои се користат во процесорски дизајн вклучуваат случајна логика, finite-state машини, микропрограмирање (често од 1965 до 1985), и логички низи кои можат да се програмираат (чести во 1980, кои не се повеќе чести)

Типови на направи користени за имплементација на логиката: логички чипови (транзистори) интегрирани на помала скала - повеќе не се користат во процесори логички низи кои можат да се програмираат и логички направи кои може да се програмираат - повеќе не се користат во процесори емитер-комбинирачко логички(ECL) порти - не се повеќе чести

  • CMOS низи на порти - повеќе не се користат во процесори
  • CMOS интегрирани кола произведени на големо - мнозинството на процесори по волумен
  • CMOS интегрирани кола специфични за апликации - само за малцинство на специјални апликации поради трошоци
  • низи на порти кои се можат да се програмираат со полиња (FPGA) - чести во ‘меки’ микропроцесори, и помалку барани за реконфигурирачко компјутирање

Проект кој дизајнира процесор генерално ги има овие три главни задачи:

  • Архитектура на инструкциски сетови кои се видливи за програмерите, со можност да бидат имплементирани од повеќе видови на микроархитектури
  • Архитектурски увид и моделирање на перформански во ANSI C/C++ или SystemC
  • Синтеза на високот ниво (HLS) или ниво на трансфер на регистри (RTL, пр. логичка) имплементација
  • RTL верификација
  • Дизајн на кола при брзинско-критчни компоненти (кешови, регистри, ALU-а)
  • Синтеза на логика или дизајн на нивоа од логички порти
  • Анализа на тајмирање за да се потврди целата логика и дека колата ќе работат на специфичната фрекфенција на оперирање
  • Физички дизајн вклучувајќи планирање на поставеност, место и рута на логички порти
  • Проверување дека претставувањата на RTL, нивоа на порти, нивоа на транзистори и физичките нивоа се еквиваленти
  • Проверка за интегритетот на сигнали и можноста за произведување на чиповите

Ре-дизајнирање на процесорско јадро на помала коцкаста област помогнува да се смали сé (т.н photomask shrink), резултирање во истиот број на транзистори само на помала коцка. Тоа го подобрува перформаности (помали транзистори префрлуваат побрзо), намалуваат на енергетска потрошувачка (помали жици имаат помал паразитска капацитивност) и ја намалуваат цената (помалку процесори собрани на истата силиконска вафла). Пуштање во употреба процесор на коцка со истата големина, но со помало процесорско јадро, ја задржува цената на истата бројка но дозволува поголеми нивоа на интеграција во еден ‘големо-скалиран интегриран чип’ (додатен кеш, повеќе проесори или други компоненти), подобрувајќи ги перформансите и намалување на воглавната цена на системот.

Како и со повеќето сложени електронски дизајни, напорот за логичка верификација (докажување дека дизајнот нема грешки) доминира со распоредот на процесорскиот проект.

Клучни архитектурски иновации вклучуваат индекс регистри, кеш, виртуелна меморија, инструкциски pipelining, суперскалирање, CISC, RISC, виртуелни машини, емулатори, микропрограми и стекови.

Теми за истражување[уреди | уреди извор]

Разновидност на нови идеи за дизајнирање на процесори биле предложени, вклучувајќи реконфигурабилна логика, процесори без клок, компјутитионален RAM и оптичко компјутирање. Анализа на перформанси и бенчмаркинг Бенчмаркингот е начин на тестирање на процесорската брзина. Примери вклучуваат SPECint и SPECfp, развиени од Standard Performance Evaluation Corporation, и ConsumerMark развиени од Embedded Microprocessor Benchmark Consortium EEMBC.

Некои од најчесто користените метрики вклучуваат:

  • Интрукции во секунда - Повеќето конзумери бираат компјутерска архитектура (нормално Intel IA32 архитектура) која може да обработува голема паза на веќе постоечки и однапред компајлиран софтвер. Дел од нив, бидејќи се неинформирани за компјутерски бенчмарк, избираат процесор базиран на оперативната фрекфенција.
  • FLOPS - Бројот на операции со подвижна запирка во секунда е често важна при селектирање на компјутери за научни компјутирања.
  • Перформанс/вати сооднос - Дизајнери на системи кои градат паралелни компјутери, како Гугл, бираат процесори базирани на нивната брзина во однос на вати поради тоа што цената на енергијата што е потребна за напојување на процесорот е поголема од цената на самиот процесор.
  • Некои дизајнери на системи кои градат паралелни компјутери бираат процесори базирани на брзината во однос на цената.
  • Систем дизајнери кои градат компјутерски системи во ‘реално-време’ сакаат да гарантираат одговор при ‘најлошо сценарио’. Тоа полесно се прави кога процесорот има ниска латенција на прекинатост и детерминистички одговор (DSP).
  • Програмери кои работат директно во assembly сакаат процесор кои поддржува цело вметнат инструкциски сет.
  • Ниска енергетска потрошувачка - За системи со лимитирани извори на моќност (пр. соларна, батерии, човечка)
  • Мала големина или тежина - за преносни ембедирани системи, пример во вселенски летала.
  • Еколошко влијание - Минимизирање на еколошкото влијание за време на производство, рециклирање и користење. Намалување на ѓубрето, намалување на опасните материјали.

Може да има размени во оптимизирање на некои од овие параметри. Конкретно, многу техники на дизајн кои го прават работењето на процесорот побрзо ги прави "перформансите на вати", "перформансите по долар", и "детерминистички одговор" многу полоши, и обратно.

Пазари[уреди | уреди извор]

Има повеќе различни пазари кои користат процесори. Бидејќи секој од овие пазари се разликува во побарувачката на перформансите на процесорите, направите дизајнирани за едниот пазар се многу неадекватни во однос на цената со другите пазари.

Компјутирање за општа потреба[уреди | уреди извор]

Мнозинството од приходи генерирани од процесорските продажби е за компјутери за општа употреба како: лични компјутери, лаптопи, сервери кои се користат најчесто во домашни услови и претпријатија. Во овој пазар Intel IA-32 архитектурата доминира, со нејезините ривали PowerPC и SPARC одржувајќи многу помали бази на клиенти. Годишно, стотици-милиони IA-32 архитектурски процесори се користено од страна на овој пазар. Растечки процент на овие процесори се за мобилни имплементации како нетбукови и лаптопи.[1]

Бидејќи овие направи се користат за рабтење на безброј различни типови на програми, овие процесори не се специфично таргетирани кон еден тип на апликација или функција. Побарувачката за можноста да работат со повеќе типови на програми воедно ги има направено овие процесорски дизајни меѓу технолошки најразвиените, заедно со некои лоши страни како и фактот дека се поскапи и имаат поголема енергетска побарувачка.

Економија на процесори со висок квалитет[уреди | уреди извор]

Во 1984, за повеќето процесори со висок квалитет било потребно четири до пет години развој на истите.[2]

Научни компјутери[уреди | уреди извор]

Научните компјутери е многу помал вид на пазар (во приход и испорачани бројки). Се користи во владини лабаратории за истражување и универзитети. Пред 1990, процесорскиот дизајн бил најчесто правен за тој пазар, но масовни процесори организирани во големи кластери докажале дека се по економско просперитетни. Главната преостаната област од активниот хардверски дизајн и истражување за научните компјутери е за системи за пренос на податоци при големи брзини и нивното поврзување со процесори од масовниот пазар.

Вграден дизајн[уреди | уреди извор]

Мерени според испорачани бројки, голем дел од процесорите се вградени во други машини како телефони, саати, уреди, возила и инфраструктура. Вградени процесори се продаваат околу билиони годишно, но со многу пониски цени одколку оние процесори со општа намена.

Овие уреди со една функција се разликуваат од повеќе познатите процесори со општа функција на неколку начини:

  • Ниската цена е од огромна важност.
  • Важно е да се одржува ниска потрошувачка на моќ бидејќи вградените системи често имаат лимитиран живот на батеријата и често е непрактично да се вградуваат вентилатори за ладење.[3]
  • За да се добие ниска цена на системот, надворешните конектори за уреди се интегрирани со процесорот на истиот силиконски чип.
  • Одржувајќи ги надворешните уреди на истиот чип ја намалува енергетската конзумација бидејќи екстерните порти типично имаат потреба од баферинг за да може да ги одржуваат на ниво фисоките напони кои се потребни за да се одржи јак сигнал надвор од чипот.
    • Многу вградени апликации имаат лимитирана количина на физички простор за кола: задржувајќи ги екстерните уреди на чипот го намалуваат просторот наменет за колото.
    • Програмските и податочни мемории се често интегрирани на самиот чип. Кога единствената дозволена програмска меморија е ROM, направата е позаната како микроконтролер.
  • За многу вградени апликации, латенцијата на прекинување е по-критична одколку во процесорите со општа намена.

Економија на вградени процесори[уреди | уреди извор]

Најчесто испорачувана ‘фамилија’ на вградени чипови, со најголема бројка на испораки, е 8051 со близу до билион единици секоја година.[4] 8051 е најшироко користена бидејќи не е многу скапа. Времето на дизајнирање е грубо кажано - нула бидеќи е широко достапно како комерцијален интелектуален имот. Моментално, најчесто е вграден како мал дел од поголем систем на чип. Цената на силиконот на 8051 е моментално одприлика 0,001 американски долари бидејќи некои имплементации користат 2.200 логични порти и завземаат 0,0127 квадратни милиметри силикон.[5][6]

Од 2009, повеќе процесори се изработени користејќи ја ARM архитектурата на инструкциски сет одколку било кој друг 32-битен инструкциски сет.[7][8] ARM архитектурата и првиот ARM чип биле дизајнирани во одприлика една ипол година и пет човечки години работа.

32-битниот Parallax Propeller микроконтролер архитектура и првиот чип биле дизајнирани од двајца колеги во одприлика 10 години работно време.[9]

8-битната AVR архитектура и првиот AVR микроконтролер бил зачнат и дизајниран од двајца студенти на Норвешкиот Институт за Технологија.

8-битната 6502 архитектура и првиот MOS Technology 6502 лип биле дизајнирани за 13 месеци од страна на група која се состоела од 9 луѓе.[10]

Дизајн на процесори за истражување и едукативни причини[уреди | уреди извор]

32-битниот Berkeley RISC I и RISC II архитектури и првите чипови биле главно дизајнирани од серија студенти како дел од четвртинска секвенца на курсеви од факултет.[11] Дизајнот настанал основа за комерцијалниот SPARC процесорски дизајн.

За време на една декада, секој студент кој го земал 6.004 курсот на MIT бил дел од тим, секој тим имал еден семестар да дизајнира и изгради еднотавн 8-битен процесор од 7400 серија интегрирани кола. Еден тим од 4 студенти дизајнирал и изградил едноставен 32-битен процесор за време на тој семестар.[12]

Неколку додипломски курсеви имале потреби од тим кој се состоел од 2-5 студенти со цел да дизајнираат, имлементираат и тестираат едноставен процесор во FPGA за време од еден 15 неделен семестар.[13]

MultiTitan процесорот бил дизајнран за време на 2.5 човечки години, кои биле сметани за ‘релативно мал напор’ во тоа време.[14] 24 колеги придонеле кон 3.5 годишниот MultiTitan истражувачки проект, кој вклучувал дизајнирање и градење на прототип процесор.[15]

Меки мултипроцесорски јадра[уреди | уреди извор]

За вградени системи, највискоите нивоа на перформанс се најчесто непотребни или пожелни поради потребите за енергетски вредности. Ова дозволува користењето на процесори и истите да бидат целосно имплементирани во техники на логичка синтеза. Овие синтезирани процесори можат да бидат имплементирани во многу пократкро време, давајќи побрзо време за да се донесат на пазарот.

Референци[уреди | уреди извор]

  1. Kerr, Justin. "AMD Loses Market Share as Mobile CPU Sales Outsell Desktop for the First Time." Maximum PC. Published 2010-10-26.
  2. "New system manages hundreds of transactions per second" article by Robert Horst and Sandra Metz, of Tandem Computers Inc., "Electronics" magazine, 1984 April 19: "While most high-performance CPUs require four to five years to develop, The NonStop TXP processor took just 2+1/2 years -- six months to develop a complete written specification, one year to construct a working prototype, and another year to reach volume production."
  3. S. Mittal, "A survey of techniques for improving energy efficiency in embedded computing systems", IJCAET, 6(4), 440–459, 2014.
  4. http://people.wallawalla.edu/~curt.nelson/engr355/lecture/8051_overview.pdf
  5. Square millimeters per 8051, 0.013 in 45nm line-widths; see
  6. To figure dollars per square millimeter, see [3], and note that an SOC component has no pin or packaging costs.
  7. "ARM Cores Climb Into 3G Territory" by Mark Hachman, 2002.
  8. "The Two Percent Solution" by Jim Turley 2002.
  9. "Why the Propeller Works" by Chip Gracey
  10. "Interview with William Mensch"
  11. 'Design and Implementation of RISC I' - original journal article by C.E. Sequin and D.A.Patterson
  12. "the VHS"
  13. "Teaching Computer Design with FPGAs" by Jan Gray
  14. Norman P. Jouppi and Jeffrey Y. F. Tang. "A 20-MIPS Sustained 32-bit CMOS Microprocessor with High Ratio of Sustained to Peak Performance". 1989. doi:10.1.1.85.988. p. "i".
  15. "MultiTitan: Four Architecture Papers". 1988. p. 4-5