拉墨绿色的大便是什么原因| 什么样的降落伞| 阴蒂是什么| 复方对乙酰氨基酚片是什么药| 血糖高什么东西不能吃| 苦涩是什么意思| 才子男装什么档次| 嘛哩嘛哩哄是什么意思| 为什么会拉肚子| 前方起飞是什么意思| 中国特工组织叫什么| 牙龈炎吃什么消炎药| 离殇是什么意思| 月经一直不停有什么办法止血| 哺乳期可以吃什么水果| 成人发烧吃什么退烧药| 什么蔬菜| 状况是什么意思| 牙套什么年龄戴合适| 肺主治节是什么意思| 气血不足挂什么科| 石家庄为什么叫国际庄| 娃哈哈纯净水是什么水| 口臭是什么原因导致的呢| 苏轼为什么反对王安石变法| 包饺子什么意思| 胃不好吃什么好消化又有营养| 水洗棉是什么| 吃什么预防脑梗| 杭州落户需要什么条件| 造化什么意思| 坐月子什么不能吃| 夏天中暑吃什么药| 孕妇耻骨疼是什么原因| 低频是什么意思| 什么的宇宙| sherpa是什么面料| 莫名其妙的心情不好是什么原因| 十月一日是什么星座| 脸上经常长痘痘是什么原因| 东方是什么意思| 甲状腺功能亢进症是什么病| 男性支原体阳性有什么症状| 出差什么意思| 梦到龙预示着什么| 鹅翅膀下垂是什么原因| 千古一帝指什么生肖| 老打嗝什么原因| 桦树茸有什么功效| 维生素b5药店叫什么| 抑郁看病看什么科| 什么操场| 打水光针有什么副作用| 第一次什么感觉| 山药什么季节成熟| 人咬人有什么危害| 举措是什么意思| 什么水果通便| 老是咳嗽挂什么科| 碳酸饮料喝多了有什么危害| mle是什么意思| 祛风是什么意思| 松花蛋不能和什么一起吃| 开水冲服是什么意思| 排卵什么意思| darling什么意思| 变性淀粉是什么| 17088a是什么尺码男装| d3是什么| 喝什么排湿气| 咖喱是什么做的| dg是什么| 甘地是什么种姓| 怂人是什么意思| 肠胃不好喝什么奶粉好| 扁桃体化脓是什么原因引起的| balenciaga什么品牌| 6月21号什么星座| 身体上有小红点是什么病| 肋间神经痛用什么药| 什么叫三观不合| 七月四日是什么星座| 产后能吃什么水果| 胳膊肘往外拐是什么意思| 怀璧其罪是什么意思| 减肥为什么不让吃茄子| 荆条是什么意思| 白色t恤配什么裤子| 急性肠胃炎可以吃什么食物| 人生导师是什么意思| 上眼皮突然肿了是什么原因| 乌岽单丛是什么茶| 紫苏有什么功效与作用| 周星驰是什么星座| 宝宝睡觉头上出汗多是什么原因| 食管反流什么症状| 什么相马| 女人腰疼是什么原因引起的| 内秀是什么意思| 腰疼想吐什么原因| 为什么会宫缩| 粉尘作业时必须佩戴什么口罩| 八五年属什么| 凤梨和菠萝的区别是什么| 身上为什么会起湿疹| 白羊座后面是什么星座| 肾结石挂什么科室| 皮肌炎是什么病| 牛的本命佛是什么佛| 第二个手指叫什么| 72年是什么年| 拉开帷幕是什么意思| 一什么红枣| 伶字五行属什么| 粘膜慢性炎是什么病| 虐猫是什么意思| 人乳头病毒是什么意思| cv是什么| 睡醒后口苦是什么原因| 老年人吃饭老是噎着是什么原因| 全麦面包是什么做的| 蝶窦囊肿是什么病| 不排大便是什么原因| 逆天改命是什么意思| 狗屎运是什么意思| 喝红枣水有什么好处和坏处| balco是什么牌子手表| 白带是什么| 气道高反应是什么意思| 代谢慢是什么原因| 正佳广场有什么好玩的| pcr医学上是什么意思| 尖嘴鱼叫什么鱼| 淋巴结肿大是什么引起的| 坐飞机不能带什么| 政协主席是什么级别| 部队指导员是什么级别| 腰椎间盘突出适合什么运动| o型血为什么叫贵族血| 甲状腺腺体回声欠均匀是什么意思| 曹操是什么样的人| 测骨龄去医院挂什么科| 荨麻疹是什么原因| 斐乐是什么档次| 为什么医生说直肠炎不用吃药| 什么水花| 贱人的意思是什么意思| 农村做什么致富| 程字五行属什么| 泌尿科看什么病| 血压低吃什么中成药| 排卵期出血是什么原因引起的| 什么是边界感| 皮肤疖是什么病| 胃酸胃胀吃什么药| 宝宝蛋白质过敏喝什么奶粉| 腋下副乳有什么危害吗| 双子座男生喜欢什么样的女生| 总胆红素升高是什么原因| 低级别上皮内瘤变是什么意思| 什么品牌奶粉好消化| 为什么腿会抽筋| 1958年属什么| grp是什么意思| 月食是什么意思| 喜上眉梢是什么意思| 孩子营养不良吃什么| 便民门诊是做什么的| 虾青素有什么功效| 一吃东西就牙疼是什么原因引起的| 马步鱼是什么鱼| 想的偏旁是什么| 脾胃不好喝什么茶| 夏天适合喝什么茶| 退烧药吃多了有什么副作用| 酒店尾房是什么意思| 血清铁蛋白低说明什么| 肾阳虚吃什么中成药| 宝宝不长肉是什么原因| 胃腺息肉什么意思| 为什么总是头疼| 彩金和黄金有什么区别| 母公司是什么意思| 什么是生物工程| 咽喉炎吃什么药好| 九月十九是什么星座| 胆囊炎能吃什么水果| 宜家宜室什么意思| 什么是钓鱼网站| 王维有什么之称| 失常是什么意思| 兆以上的计数单位是什么| 振幅是什么意思| 葫芦代表什么生肖| 非洲人一日三餐吃什么| 臭氧有什么作用| 羊冲什么生肖| 壬寅年五行属什么| tpo是什么意思| 什么叫| 为什么会得灰指甲| 幽门螺旋杆菌的症状是什么| 青光眼用什么眼药水| 阴虱病是什么原因引起的| 日本樱花什么时候开| 过度换气是什么意思| 穿匡威的都是什么人| 一毛不拔指什么生肖| tba是什么意思| 潜伏是什么意思| 验血肝功能看什么指标| 孕妇什么情况下打肝素| 达英35是什么药| 气血亏虚吃什么中成药| 为什么一吃完饭就肚子疼| 房早是什么意思| 狡兔三窟什么意思| 早上八点多是什么时辰| 痛经什么感觉| 心肌病吃什么药| 女性膀胱炎是什么症状| 右小指麻木是什么征兆| acc是什么意思| 女人带貔貅有什么讲究| 霍金是什么病| 吃什么水果通便| 心悸是什么意思| 高密度脂蛋白胆固醇偏低是什么原因| 食管在什么位置图片| 皱褶什么意思| clinic是什么意思| 1985年是什么年| adidas是什么品牌| 甘油三酯吃什么药| ins是什么| 好运连连是什么意思| 空调自动关机什么原因| 吃什么能胖起来| 叶公好龙的寓意是什么| 老打嗝什么原因| 特效药是什么意思| 咳嗽发烧吃什么药| mcn是什么意思| 卖关子是什么意思| lycra是什么面料| 肾结石炖什么汤喝最好| mmc什么意思| 五爷是什么菩萨| 早泄吃什么药好| 抗血小板是什么意思| 口腔老是出血是什么原因| 吉祥如意是什么意思| 我国的国花是什么| 郎酒是什么香型| 夏威夷果吃了有什么好处| 妇炎康片主要治什么妇科病| 文竹的寓意是什么| 梦见自己准备结婚是什么意思| 世界上什么动物牙齿最多| 吃什么东西下火| 双肺钙化灶是什么意思| 右加一笔是什么字| 小意思是什么意思| 孤独症有什么表现| 百度Vai al contenuto

石嘴山市“硬约束”依法推进全国文明城市创建

Da Wikipedia, l'enciclopedia libera.
Disambiguazione – "Single core" rimanda qui. Se stai cercando il tipo tradizionale di processore, vedi Processore scalare.
Disambiguazione – "Dual core" rimanda qui. Se stai cercando altri significati, vedi Dual core (disambigua).
Interno di un Microprocessore quad-core
百度 本季度,猎豹的个性化工具产品业务持续增长,CheetahKeyboard与AI技术深度结合,已经成为GooglePlay主要的第三方移动输入法产品。

In elettronica e informatica, con il termine processore multicore si intende un tipo di processore parallelo caratterizzato dall'essere costituito da una moltitudine di unità di elaborazione indipendenti, integrate sullo stesso chip, che assumono la denominazione di core (lett. "nucleo" in italiano).[1]

Fino al 2005 quasi tutti i microprocessori (dall'Intel 8086, fino agli Athlon 64 e Pentium 4) sono sempre stati single core e i miglioramenti nelle prestazioni sono passati attraverso aumenti della frequenza di funzionamento, maggiori dimensioni della cache, funzionalità aggiuntive, e miglioramenti dell'efficienza della microarchitettura, grazie anche al continuo progresso dei processi produttivi, che ha consentito di ridurre progressivamente l'energia necessaria al funzionamento e offrire le condizioni necessarie per l'aumento della frequenza.

Intel cercò già con il Pentium 4 Northwood, che introduceva la tecnologia Hyper-Threading, di migliorare questo limite dei processori single core, sfruttando in maniera più razionale la lunga pipeline tipica dei suoi processori basati su architettura NetBurst; si trattava in buona sostanza di simulare la presenza di due core, rendendo disponibile al sistema due core "logici". In realtà nell'esecuzione delle applicazioni il contributo di tale tecnologia era marginale ma si otteneva un discreto miglioramento nella reattività del sistema, ottimizzando il multitasking, cioè l'esecuzione di più operazioni contemporaneamente.

Il raggiungimento dei limiti tecnologici

[modifica | modifica wikitesto]

Con il progredire dei processi produttivi (fino ad arrivare a quello a 90 nm) e il raggiungimento di frequenze di funzionamento sempre più elevate e vicini ai limiti fisici della tecnologia a semiconduttore, i due principali produttori di chip, Intel e AMD decisero di migrare gradualmente[2] all'architettura dual core (a due core). In pratica, non potendo aumentare più la frequenza massima si cerca di migliorare il parallelismo, mettendo a disposizione del sistema operativo una configurazione molto simile a quella dei tradizionali sistemi multiprocessore.

Difatti si giunse a un punto tale per cui aumentare ulteriormente le frequenze delle CPU, malgrado le dimensioni minime dei transistor, comportava ormai consumi troppo elevati in relazione al modesto aumento di prestazioni[3] e questo aveva serie ripercussioni anche sul gravoso problema del raffreddamento dei circuiti.

La soluzione che sembrò più ovvia ai progettisti di microprocessori fu quella di puntare tutto sul parallelismo, in modo da poter aumentare il numero di operazioni eseguibili in un unico ciclo di clock. Questo nuovo approccio comunque non era del tutto indolore e comportava anche alcuni svantaggi, in quanto i programmi dovevano essere ottimizzati per un utilizzo multi-thread ovvero parallelizzati anch'essi per poter sfruttare appieno le caratteristiche di questi processori, in caso contrario essi avrebbero impegnato solo uno dei core, lasciando l'altro pressoché inutilizzato. Paradossalmente, era anche possibile che un programma applicativo non pensato per un'esecuzione di tipo parallelo risultasse di più lenta esecuzione su un processore multicore rispetto a uno single core, e infatti al momento del lancio dei primi esemplari, erano veramente pochi i software già pronti per queste nuove architetture. Tale incapacità di raggiungere i livelli di prestazione teorici dei sistemi a parallelismo massiccio è nota come "sindrome di von Neumann".

Diversi analisti software, infatti, prevedevano già allora che se il software pensato per un utilizzo parallelo in ambito dual core fosse stato realizzato in maniera oculata, tenendo conto non del funzionamento su un sistema dual core, ma su un sistema a più core, esso non avrebbe richiesto poi grosse modifiche per essere utilizzato su un dual core o su un più generico processore multicore. Secondo altri, invece, gli sforzi necessari per realizzare software multi processore che avrebbe funzionato in maniera ottimale saturando tutti i core e non occupandoli in modo disomogeneo sarebbero stati esagerati in relazione con i reali vantaggi, soprattutto di impatto di costi. Su una materia tanto nuova in ambito desktop, ai tempi non si poteva fare altro che attendere maggiori dettagli, ma il tempo ha poi portato gli sviluppatori ad acquisire sempre maggiore esperienza e dimestichezza con la programmazione parallela e molti dei timori dei primi giorni risultano ormai superati.

Le prime CPU multicore

[modifica | modifica wikitesto]

I primi esemplari di CPU multicore vennero presentati da IBM con l'introduzione linea POWER4 nel 2001. Tuttavia fu solo nel 2005 che l'interesse del mercato mondiale verso la tecnologia multicore divenne rilevante: in quell'anno i due maggiori produttori di CPU al mondo, Intel e AMD, misero in commercio i primi esemplari di una nuova generazione di microprocessori per il mercato consumer, basati sui rispettivi prodotti esistenti ma contenenti due core. Si trattava delle famiglie di processori Pentium D dalla parte di Intel, e di Opteron e Athlon 64 X2 dalla parte di AMD.

Intel estese progressivamente l'utilizzo della tecnologia dual core a tutti i segmenti di mercato, incluso quello mobile, di cui il primo esponente fu il Core Duo Yonah e successivamente Merom, entrambi evoluzioni del Pentium M, e al settore server. In questa categoria i primi dual core furono Montecito evoluzione del processore a 64 bit Itanium 2 con cache L3 che raggiunse in alcune versioni i 24 MB di capacità, mentre per i server x86 basati sul processore Xeon, videro la luce Dempsey e Paxville, pensate rispettivamente per i sistemi workstation e server a due e quattro processori. Da Conroe venne derivato anche lo Xeon Woodcrest, per sistemi server di fascia bassa dotati di due socket.

I primi processori con più di due core vennero presentati sul mercato già verso la fine del 2005: si trattava del Cell, sviluppato congiuntamente da IBM, Sony e Toshiba per il mercato console e blade server e composto da 8 core eterogenei; e l'UltraSPARC T1, sviluppato da Sun Microsystems per il mercato server, composto da 8 core omogenei.

Nel 2006 Intel continuò ad investire sul mercato consumer introducendo i processori Core 2 Extreme e Core 2 Quad, a quattro core in architettura Kentsfield.

Tipologie di architetture multicore

[modifica | modifica wikitesto]
Lo stesso argomento in dettaglio: Architettura dual core.

Esistono differenti approcci attraverso i quali si possono realizzare chip multicore, ciascuno con precise peculiarità.

Ci sono casi in cui ci possono essere prodotti con un numero dispari di core, come il triple core di AMD (Athlon II X3 435).

Utilizzo da parte dei sistemi operativi

[modifica | modifica wikitesto]

Ogni sistema operativo gestisce in modo differente le potenzialità dei processori multicore, in alcuni casi queste gestioni variano anche a seconda della versione del sistema operativo (Windows XP, Windows XP SP2 professional, ecc), tuttavia pur implementando il supporto a varie tecnologie hardware e soluzioni software non è detto che si possa assistere a reali vantaggi, in quanto i programmi non sempre supportano queste architetture hardware in modo efficiente, limitando i vantaggi all'utilizzo di più programmi contemporaneamente, per questo bisognerebbe riscrivere il kernel per poter sfruttare le potenzialità multicore a pieno.[4][5]

Le prime implementazioni nei sistemi Microsoft si ha con la versione SP2 professional di Windows XP, con un supporto limitato all'architettura hardware SMP (Symmetric multiprocessing o Symmetric multiprocessor) dove i core o processori accedono ad uno spazio di memoria condiviso, mentre dal punto di vista software viene usata la funzionalità processor affinity che identifica i core come Core0 e Core1, consentendo all'utente di decidere su quale di essi avviare ed eseguire l'applicazione, successivamente l'approccio venne rivisto prima con Windows Vista poi con Windows 7, quest'ultimo supporta soluzioni hardware NUMA (Non-Uniform Memory Access)[6].

Nei sistemi Apple macOS con la versione 10.6 c'è l'introduzione del Grand Central Dispatch per implementare il parallelismo a livello di thread, migliorando il supporto ai multicore.

Nei sistemi basati su kernel Linux, si ha il primo supporto all'hardware SMP con la versione 2 del kernel, che comprendeva un big kernel lock (BKL) per la gestione degli interrupt, successivamente con la versione 2.2 i gestori d'interrupt avevano spinlock differenziati, alcune distribuzioni e ottimizzazioni inclusero il codice di supporto per sistemi NUMA. Nella versione 2.4 sempre più sottosistemi vennero gestiti al di fuori del BKL, grazie all'introduzione di nuovi database lock, ma presenta ancora spinlocks che coprono interi sottosistemi, questo permise di migliorare la scalabilità, che migliorò ulteriormente con la versione 2.5 del kernel, che ottimizzò la cache della pagina dei lock di conversione da un singolo blocco di codice a più blocchi di dati.
Con la versione 2.6 il BKL venne relegato ad una piccola parte del codice del kernel, in quanto la maggior parte del BKL venne convertito in database lock con elevata sintonizzazione e scalabilità per eliminare il ripetersi della linea di cache condivisa, mentre nei sottosistemi critici c'è un certo uso di approcci di lock meno avanzati, quali Read-Copy-Update (RCU), venne introdotto un nuovo programmatore multi CPU di coda, risolvendo le contese sulle code di esecuzione globali condivise da più CPU, riducendo il sovraccarico dei processi di pianificazione in parallelo. Questo scheduler venne introdotto anche su alcuni kernel 2.4 delle ultime distribuzioni.[7][8] Questa strategia ha permesso al kernel linux in elevata scalabilità ed effettivi miglioramenti con sistemi multicore[9]

In ambito videoludico e in particolar modo delle librerie grafiche le DirectX 12, Vulkan (API) e Mantle hanno permesso il migliore sfruttamento dei diversi core del processore, permettendone il dialogo attivo e diretto con la GPU, cosa che in precedenza non era attuabile se non in modo limitato[10]

Lo sfruttamento da parte delle applicazioni e situazioni operative varia molto a seconda degli stessi e a seconda del sistema operativo utilizzato[11]

  1. ^ Processore multicore, in Treccani.it – Enciclopedie on line, Roma, Istituto dell'Enciclopedia Italiana.
  2. ^ Tra le ultime CPU prodotte per PC a single core c'è l'Intel Celeron 807 e il Celeron B730, entrambi hanno debuttato nel mercato ad agosto 2012.
  3. ^ a quei tempi un processore single core top di gamma superava abbondantemente i 100 W di consumo massimo
  4. ^ Windows poco efficiente con le CPU multi-core.
  5. ^ Sistemi multiprocessore e multicore (PDF).
  6. ^ Windows e le CPU Multi-Core, su storiainformatica.it. URL consultato il 13 settembre 2014 (archiviato dall'url originale il 13 settembre 2014).
  7. ^ Linux multi-core scalability (PDF).
  8. ^ How well does Linux support multi-core CPUs?, su tuxradar.com. URL consultato il 13 settembre 2014 (archiviato dall'url originale il 13 settembre 2014).
  9. ^ Linux 2.6.38: benchmark del kernel multi-core scaling (archiviato dall'url originale il 29 settembre 2014).
  10. ^ Brad Wardell svela perché Microsoft, AMD, Nvidia e Intel non vogliono parlare dei benefici delle DirectX 12, su tmag.it. URL consultato il 26 aprile 2015 (archiviato dall'url originale il 23 marzo 2015).
  11. ^ Multi-Core, Multi-OS Scaling Performance.

Voci correlate

[modifica | modifica wikitesto]

Collegamenti esterni

[modifica | modifica wikitesto]
Controllo di autoritàGND (DE7598578-0
中国是什么国家 有市无价是什么意思 心脏消融术是什么手术 单三是什么 细菌性阴道炎用什么药好
924是什么星座 出气不顺畅是什么原因 侏儒是什么意思 外阴湿疹用什么药 Picu病房是什么意思
什么的贝壳 跟班是什么意思 什么是水解奶粉 金牛座和什么座最配 心里想的话用什么标点符号
中央电视台台长什么级别 走马观花是什么生肖 空亡什么意思 九夫痣是什么意思 换手率高说明什么
玉米什么时候成熟hcv8jop6ns4r.cn 狗是什么属性hcv8jop5ns9r.cn 孟德是什么意思hcv9jop8ns2r.cn 火焰山为什么这么热hcv8jop6ns4r.cn china的形容词是什么hcv9jop4ns8r.cn
锋字五行属什么xinjiangjialails.com 免疫力和抵抗力有什么区别hcv9jop2ns4r.cn 日本是什么时候投降的hcv9jop4ns4r.cn 肠炎挂什么科hcv8jop9ns5r.cn 第一次同房是什么感觉tiangongnft.com
蚂蚁上树什么姿势hcv7jop6ns0r.cn 智商120是什么水平hcv8jop3ns9r.cn np是什么hcv9jop5ns0r.cn 吃什么白蛋白提升快bjcbxg.com 99属什么生肖hcv9jop6ns9r.cn
什么入什么口hcv8jop8ns8r.cn 棉花什么时候传入中国hcv7jop9ns1r.cn 右边腰疼是什么原因hcv9jop3ns1r.cn 牙龈发炎是什么原因引起的hcv8jop6ns1r.cn 阴虱长什么样子图片hcv9jop1ns1r.cn
百度