NetBurst (робоча назва — P68) — суперскалярна гіперконвеєрна мікроархітектура, розроблена компанією Intel і яка лежить в основі мікропроцесорів Pentium 4, Pentium D, Celeron і Xeon.
Історія
Архітектура NetBurst прийшла на зміну архітектурі P6 на ринку процесорів для настільних і серверних систем. Вона не була розвитком архітектури P6, а являла собою принципово нову порівняно з усіма попередниками архітектуру.
Перші процесори архітектури NetBurst були анонсовані 20 листопада 2000. 8 серпня 2007 компанія Intel оголосила про початок дії програми зі зняття з виробництва всіх процесорів цієї архітектури. На зміну процесорам архітектури NetBurst прийшли процесори сімейства Core 2 Duo, архітектура яких являє собою розвиток архітектури P6.
Особливості архітектури
Архітектура NetBurst розроблялася, в першу чергу, з метою досягнення високих тактових частот процесорів. Характерними особливостями архітектури NetBurst є гіперконвеєризація і застосування кешу послідовностей мікрооперацій замість традиційного кешу інструкцій. АЛП процесорів архітектури NetBurst також має суттєві відмінності від АЛП процесорів інших архітектур. Також можливе застосування технології Hyper-threading.
Гіперконвеєризація (англ. Hyper Pipelining)
Процесори Pentium 4 на ядрах Willamette і Northwood мають конвеєр глибиною 20 стадій, а процесори на ядрах Prescott і Cedar Mill — 31 стадію. При цьому стадії декодування інструкцій не враховуються: у зв'язку із застосуванням кешу послідовностей мікрооперацій, декодер (англ. Instruction decoder) винесений за межі конвеєра. Це дозволяє процесорам Pentium 4 досягати вищих тактових частот в порівнянні з процесорами, що мають більш короткий конвеєр при однаковій технології виробництва. Так, наприклад, максимальна тактова частота процесорів Pentium III на ядрі Coppermine (180 нм. Технологія) становить 1333 МГц, а процесори Pentium 4 на ядрі Willamette здатні працювати на частоті, що перевищує 2000 МГц.
Для мінімізації впливу невірно передбачених переходів, в процесорах архітектури NetBurst використовуються збільшений у порівнянні з попередниками буфер передбачення розгалужень (BTB, англ. Branch target buffer) і новий алгоритм передбачення розгалужень, що дозволило досягти високої точності передбачення (близько 94 %) в процесорах на ядрі Willamette. У наступних ядрах механізм передбачення розгалужень піддавався модернізаціям, які підвищили точність передбачення.
Кеш послідовностей мікрооперацій (англ. Execution Trace Cache)
Процесори архітектури NetBurst, як і більшість сучасних x86-сумісних процесорів, є CISC-процесорами з RISC-ядром: перед виконанням складні інструкції x86 перетворюються в більш простий набір внутрішніх інструкцій (мікрооперацій), що дозволяє підвищити швидкість обробки команд. Однак, внаслідок того, що інструкції x86 мають змінну довжину і не мають фіксованого формату, їх декодування пов'язано з істотними витратами часу.
У зв'язку з цим, при розробці архітектури NetBurst було прийнято рішення відмовитися від традиційної кеш-пам'яті інструкцій першого рівня, що зберігає команди x86, на користь кешу послідовностей мікрооперацій, що зберігає послідовності мікрооперацій відповідно до передбачуваного порядку їхнього виконання. Ємність trace cache становила близько 12 тис. мікрооперацій. Така організація кеш-пам'яті дозволила також знизити часові витрати на виконання умовних переходів і на вибірку інструкцій.
АЛП і механізм прискореного виконання цілочислових операцій (англ. Rapid Execution Engine)
Оскільки основною метою розробки архітектури NetBurst було підвищення продуктивності внаслідок досягнення високих тактових частот, виникла необхідність збільшення темпу виконання основних цілочисельних операцій. Для досягнення цієї мети АЛП процесорів архітектури NetBurst розділений на кілька блоків: «повільний АЛП» (англ. slow ALU), здатний виконувати велику кількість цілочисельних операцій, і два «швидких АЛП» (англ. 2X ALU), що виконують тільки найпростіші цілочисельні операції (наприклад, додавання). Виконання операцій на «швидких АЛП» відбувається послідовно в три етапи: спочатку обчислюються молодші розряди результату, потім старші, після чого можуть бути отримані прапори.
«Швидкі АЛП», обслуговуючі їх планувальники (англ. Fast scheduler), а також регістровий файл (англ. Integer register file) синхронізуються по половині такта процесора, таким чином, ефективна частота їх роботи вдвічі перевищує частоту ядра. Ці блоки утворюють механізм прискореного виконання цілочислових операцій.
У процесорах на ядрах Willamette і Norhtwood «швидкі АЛП» здатні виконувати лише ті операції, які обробляють операнди в напрямку від молодших розрядів до старших. При цьому результат обчислення молодших розрядів може бути отриманий через половину такту. Таким чином, ефективна затримка становить половину такту. У процесорах на ядрах Willamette і Norhtwood відсутні блоки цілочисельного множення і зсуву, а дані операції виконуються іншими блоками (зокрема, блоком інструкцій MMX).
У процесорах на ядрі Prescott (а також більш нових ядрах) присутній блок цілочисельного множення, а «швидкі АЛП» здатні виконувати операції зсуву. Ефективна затримка операцій, виконуваних «швидкими АЛП», зросла в порівнянні з процесорами на ядрі Norhtwood і становить один такт.
Система повторного виконання мікрооперацій (англ. Replay System)
Основним завданням планувальників мікрооперацій є визначення готовності мікрооперацій до виконання і передача їх на конвеєр. Внаслідок великого числа стадій конвеєра, планувальники змушені відправляти мікрооперації на виконавчі блоки до того, як завершиться виконання попередніх мікрооперацій. Це забезпечує оптимальне завантаження виконавчих блоків процесора і дозволяє уникнути втрати продуктивності в тому випадку, якщо дані, необхідні для виконання мікрооперації, знаходяться в кеш-пам'яті першого рівня, регістровому файлі, або можуть бути передані минаючи регістровий файл.
При визначенні готовності нових мікрооперацій до передачі на виконавчі блоки, планувальником необхідно визначити час виконання тих попередніх мікрооперацій, результатом яких є дані, необхідні для виконання нових мікрооперацій. У тому випадку, якщо час виконання заздалегідь не визначено, планувальник для його визначення використовує найменший час її виконання (так, наприклад, якщо для виконання деякої мікрооперації необхідно завантажити дані з пам'яті, планувальник при передачі цієї мікрооперації на конвеєр буде виходити з припущення, що необхідні дані знаходяться в кеш-пам'яті даних першого рівня і будуть отримані через кількість тактів, рівну сумі латентності кеш-пам'яті першого рівня і кількості тактів, яке займе передача мікрооперації від планувальника до виконавчого блоку).
Якщо оцінка часу, необхідного для отримання даних, виявилася вірною, мікрооперація виконується успішно. У тому випадку, якщо дані не були отримані вчасно, перевірка коректності результату закінчується невдачею. При цьому мікрооперація, результат виконання якої виявився некоректний, ставиться в спеціальну чергу (англ. replay queue), а потім знову направляється планувальником на виконання.
Існують такі несприятливі ситуації, в яких повторне виконання мікрооперацій може призвести до блокування. Вихід з таких ситуацій здійснюється припиненням передачі нових мікрооперацій на виконавчі блоки і напрямом перевиконуваних мікрооперацій в спеціальний буфер для того, щоб вони могли звільнити конвеєр.
Всупереч тому, що повторне виконання мікрооперацій призводить до значних втрат продуктивності, застосування даного механізму дозволяє в разі помилкового виконання мікрооперацій уникнути зупину і скидання конвеєра, який приводив би до більш серйозних втрат.
Див. також
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
NetBurst robocha nazva P68 superskalyarna giperkonveyerna mikroarhitektura rozroblena kompaniyeyu Intel i yaka lezhit v osnovi mikroprocesoriv Pentium 4 Pentium D Celeron i Xeon IstoriyaArhitektura NetBurst prijshla na zminu arhitekturi P6 na rinku procesoriv dlya nastilnih i servernih sistem Vona ne bula rozvitkom arhitekturi P6 a yavlyala soboyu principovo novu porivnyano z usima poperednikami arhitekturu Pershi procesori arhitekturi NetBurst buli anonsovani 20 listopada 2000 8 serpnya 2007 kompaniya Intel ogolosila pro pochatok diyi programi zi znyattya z virobnictva vsih procesoriv ciyeyi arhitekturi Na zminu procesoram arhitekturi NetBurst prijshli procesori simejstva Core 2 Duo arhitektura yakih yavlyaye soboyu rozvitok arhitekturi P6 Osoblivosti arhitekturiArhitektura NetBurst rozroblyalasya v pershu chergu z metoyu dosyagnennya visokih taktovih chastot procesoriv Harakternimi osoblivostyami arhitekturi NetBurst ye giperkonveyerizaciya i zastosuvannya keshu poslidovnostej mikrooperacij zamist tradicijnogo keshu instrukcij ALP procesoriv arhitekturi NetBurst takozh maye suttyevi vidminnosti vid ALP procesoriv inshih arhitektur Takozh mozhlive zastosuvannya tehnologiyi Hyper threading Giperkonveyerizaciya angl Hyper Pipelining Procesori Pentium 4 na yadrah Willamette i Northwood mayut konveyer glibinoyu 20 stadij a procesori na yadrah Prescott i Cedar Mill 31 stadiyu Pri comu stadiyi dekoduvannya instrukcij ne vrahovuyutsya u zv yazku iz zastosuvannyam keshu poslidovnostej mikrooperacij dekoder angl Instruction decoder vinesenij za mezhi konveyera Ce dozvolyaye procesoram Pentium 4 dosyagati vishih taktovih chastot v porivnyanni z procesorami sho mayut bilsh korotkij konveyer pri odnakovij tehnologiyi virobnictva Tak napriklad maksimalna taktova chastota procesoriv Pentium III na yadri Coppermine 180 nm Tehnologiya stanovit 1333 MGc a procesori Pentium 4 na yadri Willamette zdatni pracyuvati na chastoti sho perevishuye 2000 MGc Dlya minimizaciyi vplivu nevirno peredbachenih perehodiv v procesorah arhitekturi NetBurst vikoristovuyutsya zbilshenij u porivnyanni z poperednikami bufer peredbachennya rozgaluzhen BTB angl Branch target buffer i novij algoritm peredbachennya rozgaluzhen sho dozvolilo dosyagti visokoyi tochnosti peredbachennya blizko 94 v procesorah na yadri Willamette U nastupnih yadrah mehanizm peredbachennya rozgaluzhen piddavavsya modernizaciyam yaki pidvishili tochnist peredbachennya Kesh poslidovnostej mikrooperacij angl Execution Trace Cache Procesori arhitekturi NetBurst yak i bilshist suchasnih x86 sumisnih procesoriv ye CISC procesorami z RISC yadrom pered vikonannyam skladni instrukciyi x86 peretvoryuyutsya v bilsh prostij nabir vnutrishnih instrukcij mikrooperacij sho dozvolyaye pidvishiti shvidkist obrobki komand Odnak vnaslidok togo sho instrukciyi x86 mayut zminnu dovzhinu i ne mayut fiksovanogo formatu yih dekoduvannya pov yazano z istotnimi vitratami chasu U zv yazku z cim pri rozrobci arhitekturi NetBurst bulo prijnyato rishennya vidmovitisya vid tradicijnoyi kesh pam yati instrukcij pershogo rivnya sho zberigaye komandi x86 na korist keshu poslidovnostej mikrooperacij sho zberigaye poslidovnosti mikrooperacij vidpovidno do peredbachuvanogo poryadku yihnogo vikonannya Yemnist trace cache stanovila blizko 12 tis mikrooperacij Taka organizaciya kesh pam yati dozvolila takozh zniziti chasovi vitrati na vikonannya umovnih perehodiv i na vibirku instrukcij ALP i mehanizm priskorenogo vikonannya cilochislovih operacij angl Rapid Execution Engine Oskilki osnovnoyu metoyu rozrobki arhitekturi NetBurst bulo pidvishennya produktivnosti vnaslidok dosyagnennya visokih taktovih chastot vinikla neobhidnist zbilshennya tempu vikonannya osnovnih cilochiselnih operacij Dlya dosyagnennya ciyeyi meti ALP procesoriv arhitekturi NetBurst rozdilenij na kilka blokiv povilnij ALP angl slow ALU zdatnij vikonuvati veliku kilkist cilochiselnih operacij i dva shvidkih ALP angl 2X ALU sho vikonuyut tilki najprostishi cilochiselni operaciyi napriklad dodavannya Vikonannya operacij na shvidkih ALP vidbuvayetsya poslidovno v tri etapi spochatku obchislyuyutsya molodshi rozryadi rezultatu potim starshi pislya chogo mozhut buti otrimani prapori Shvidki ALP obslugovuyuchi yih planuvalniki angl Fast scheduler a takozh registrovij fajl angl Integer register file sinhronizuyutsya po polovini takta procesora takim chinom efektivna chastota yih roboti vdvichi perevishuye chastotu yadra Ci bloki utvoryuyut mehanizm priskorenogo vikonannya cilochislovih operacij U procesorah na yadrah Willamette i Norhtwood shvidki ALP zdatni vikonuvati lishe ti operaciyi yaki obroblyayut operandi v napryamku vid molodshih rozryadiv do starshih Pri comu rezultat obchislennya molodshih rozryadiv mozhe buti otrimanij cherez polovinu taktu Takim chinom efektivna zatrimka stanovit polovinu taktu U procesorah na yadrah Willamette i Norhtwood vidsutni bloki cilochiselnogo mnozhennya i zsuvu a dani operaciyi vikonuyutsya inshimi blokami zokrema blokom instrukcij MMX U procesorah na yadri Prescott a takozh bilsh novih yadrah prisutnij blok cilochiselnogo mnozhennya a shvidki ALP zdatni vikonuvati operaciyi zsuvu Efektivna zatrimka operacij vikonuvanih shvidkimi ALP zrosla v porivnyanni z procesorami na yadri Norhtwood i stanovit odin takt Sistema povtornogo vikonannya mikrooperacij angl Replay System Osnovnim zavdannyam planuvalnikiv mikrooperacij ye viznachennya gotovnosti mikrooperacij do vikonannya i peredacha yih na konveyer Vnaslidok velikogo chisla stadij konveyera planuvalniki zmusheni vidpravlyati mikrooperaciyi na vikonavchi bloki do togo yak zavershitsya vikonannya poperednih mikrooperacij Ce zabezpechuye optimalne zavantazhennya vikonavchih blokiv procesora i dozvolyaye uniknuti vtrati produktivnosti v tomu vipadku yaksho dani neobhidni dlya vikonannya mikrooperaciyi znahodyatsya v kesh pam yati pershogo rivnya registrovomu fajli abo mozhut buti peredani minayuchi registrovij fajl Pri viznachenni gotovnosti novih mikrooperacij do peredachi na vikonavchi bloki planuvalnikom neobhidno viznachiti chas vikonannya tih poperednih mikrooperacij rezultatom yakih ye dani neobhidni dlya vikonannya novih mikrooperacij U tomu vipadku yaksho chas vikonannya zazdalegid ne viznacheno planuvalnik dlya jogo viznachennya vikoristovuye najmenshij chas yiyi vikonannya tak napriklad yaksho dlya vikonannya deyakoyi mikrooperaciyi neobhidno zavantazhiti dani z pam yati planuvalnik pri peredachi ciyeyi mikrooperaciyi na konveyer bude vihoditi z pripushennya sho neobhidni dani znahodyatsya v kesh pam yati danih pershogo rivnya i budut otrimani cherez kilkist taktiv rivnu sumi latentnosti kesh pam yati pershogo rivnya i kilkosti taktiv yake zajme peredacha mikrooperaciyi vid planuvalnika do vikonavchogo bloku Yaksho ocinka chasu neobhidnogo dlya otrimannya danih viyavilasya virnoyu mikrooperaciya vikonuyetsya uspishno U tomu vipadku yaksho dani ne buli otrimani vchasno perevirka korektnosti rezultatu zakinchuyetsya nevdacheyu Pri comu mikrooperaciya rezultat vikonannya yakoyi viyavivsya nekorektnij stavitsya v specialnu chergu angl replay queue a potim znovu napravlyayetsya planuvalnikom na vikonannya Isnuyut taki nespriyatlivi situaciyi v yakih povtorne vikonannya mikrooperacij mozhe prizvesti do blokuvannya Vihid z takih situacij zdijsnyuyetsya pripinennyam peredachi novih mikrooperacij na vikonavchi bloki i napryamom perevikonuvanih mikrooperacij v specialnij bufer dlya togo shob voni mogli zvilniti konveyer Vsuperech tomu sho povtorne vikonannya mikrooperacij prizvodit do znachnih vtrat produktivnosti zastosuvannya danogo mehanizmu dozvolyaye v razi pomilkovogo vikonannya mikrooperacij uniknuti zupinu i skidannya konveyera yakij privodiv bi do bilsh serjoznih vtrat Div takozh