<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wx="http://ilps.science.uva.nl/WikiXML/wx" xml:lang="it" lang="it">
<head>
<title>Microprocessore superscalare</title>
<meta name="wx_namespace" content="0"/>
<meta name="wx_pagename" content="Microprocessore_superscalare"/>
<meta name="wx_page_id" content="119108"/>
</head>
<body>
<div id="wx_article">
<wx:section level="1" title="Microprocessore superscalare" id="wxsec1"><h1 class="pagetitle" id="wx1">Microprocessore superscalare</h1>

<p id="wx2">Un <a href="/wit/Microprocessore" title="Microprocessore" wx:linktype="known" wx:pagename="Microprocessore" wx:page_id="23197" id="wx3">microprocessore</a> con architettura <b id="wx4">superscalare</b> supporta il <a href="/wit/Calcolo_parallelo" title="Calcolo parallelo" wx:linktype="known" wx:pagename="Calcolo_parallelo" wx:page_id="119257" id="wx5">calcolo parallelo</a> su un singolo chip, permettendo prestazioni molto superiori a parità di <a href="/wit/Clock" title="Clock" wx:linktype="known" wx:pagename="Clock" wx:page_id="27141" id="wx6">clock</a> rispetto ad una <a href="/wit/CPU" title="CPU" wx:linktype="known" wx:pagename="CPU" wx:page_id="23203" id="wx7">CPU</a> ordinaria. Questa caratteristica è posseduta più o meno da tutte le <a href="/wit/CPU" title="CPU" wx:linktype="known" wx:pagename="CPU" wx:page_id="23203" id="wx8">CPU</a> <i id="wx9">general purpose</i> prodotte dal <a href="/wit/1998" title="1998" wx:linktype="known" wx:pagename="1998" wx:page_id="4665" id="wx10">1998</a>.</p>

<p id="wx11">I microprocessori più semplici sono scalari: compiono una operazione sul numero di operandi di questa alla volta. Invece, in un <a href="/wit/Processore_vettoriale" title="Processore vettoriale" wx:linktype="known" wx:pagename="Processore_vettoriale" wx:page_id="288824" id="wx12">processore vettoriale</a>, una singola istruzione viene applicata su di un vettore, formato da più dati raggruppati. In questo modo, una applicazione che deve eseguire una certa operazione su una grande quantità di dati viene svolta con molta più rapidità. Un processore superscalare è una forma intermedia tra i due: istruzioni diverse trattano i propri operandi contemporaneamente, su diverse unità <a href="/wit/Hardware" title="Hardware" wx:linktype="known" wx:pagename="Hardware" wx:page_id="2233" id="wx13">hardware</a> all'interno dello stesso chip. In questo modo più istruzioni possono essere eseguite nello stesso ciclo di clock.</p>

<p id="wx14">Il semplice fatto di eseguire più istruzioni nello stesso ciclo di clock non rende una <a href="/wit/CPU" title="CPU" wx:linktype="known" wx:pagename="CPU" wx:page_id="23203" id="wx15">CPU</a> superscalare: una <a href="/wit/CPU" title="CPU" wx:linktype="known" wx:pagename="CPU" wx:page_id="23203" id="wx16">CPU</a> con una <i id="wx17"><a href="/wit/Pipeline_dati" title="Pipeline dati" wx:linktype="known" wx:pagename="Pipeline_dati" wx:page_id="104105" id="wx18">pipeline</a></i> semplice, che può quindi caricare un'istruzione, eseguirne un'altra e immagazzinare il risultato di quella ancora precedente non è necessariamente superscalare.</p>

<p id="wx19">In una <a href="/wit/CPU" title="CPU" wx:linktype="known" wx:pagename="CPU" wx:page_id="23203" id="wx20">CPU</a> superscalare sono presenti diverse unità funzionali dello stesso tipo, con dispositivi addizionali per distribuire le istruzioni alle varie unità. Per esempio, sono generalmente presenti numerose unità per il calcolo intero (definite <a href="/wit/Arithmetic_Logic_Unit" title="Arithmetic Logic Unit" wx:linktype="known" wx:pagename="Arithmetic_Logic_Unit" wx:page_id="1199778" id="wx21">ALU</a>). Le unità di controllo stabiliscono quali istruzioni possono essere eseguite in parallelo e le inviano alle rispettive unità. Questo compito non è facile, dato che un'istruzione può richiedere il risultato della precedente come proprio operando, oppure può dover impiegare il dato conservato in un registro usato anche dall'altra istruzione; il risultato può quindi cambiare secondo l'ordine d'esecuzione delle istruzioni. La maggior parte delle <a href="/wit/CPU" title="CPU" wx:linktype="known" wx:pagename="CPU" wx:page_id="23203" id="wx22">CPU</a> moderne dedica molta potenza per svolgere questo compito con la massima precisione possibile, per permettere al processore di funzionare a pieno regime in modo costante; compito che si è reso sempre più importante con l'aumento del numero delle unità. Mentre le prime <a href="/wit/CPU" title="CPU" wx:linktype="known" wx:pagename="CPU" wx:page_id="23203" id="wx23">CPU</a> superscalari possedevano due <a href="/wit/Arithmetic_Logic_Unit" title="Arithmetic Logic Unit" wx:linktype="known" wx:pagename="Arithmetic_Logic_Unit" wx:page_id="1199778" id="wx24">ALU</a> ed una <a href="/wit/Floating_Point_Unit" title="Floating Point Unit" wx:linktype="known" wx:pagename="Floating_Point_Unit" wx:page_id="1199836" id="wx25">FPU</a>, un processore attuale come ad esempio il <a href="/wit/PowerPC_970" title="PowerPC 970" wx:linktype="known" wx:pagename="PowerPC_970" wx:page_id="49060" id="wx26">PowerPC 970</a> possiede quattro <a href="/wit/Arithmetic_Logic_Unit" title="Arithmetic Logic Unit" wx:linktype="known" wx:pagename="Arithmetic_Logic_Unit" wx:page_id="1199778" id="wx27">ALU</a>, due <a href="/wit/Floating_Point_Unit" title="Floating Point Unit" wx:linktype="known" wx:pagename="Floating_Point_Unit" wx:page_id="1199836" id="wx28">FPU</a> e due unità <a href="/wit/SIMD" title="SIMD" wx:linktype="known" wx:pagename="SIMD" wx:page_id="1199863" id="wx29">SIMD</a>. Se il sistema di distribuzione delle istruzioni non mantiene occupate tutte le unità funzionali del processore, le sue prestazioni ne soffrono grandemente.</p>

<p id="wx30">Le architetture superscalari ebbero origine nell'ambiente <a href="/wit/Reduced_instruction_set_computer" title="Reduced instruction set computer" wx:linktype="known" wx:pagename="Reduced_instruction_set_computer" wx:page_id="1592791" id="wx31">RISC</a>, dato che questo tipo di design richiede unità funzionali semplici, che possono essere incluse in più esemplari in una unica <a href="/wit/CPU" title="CPU" wx:linktype="known" wx:pagename="CPU" wx:page_id="23203" id="wx32">CPU</a>. Questa è la ragione per cui questi processori erano più veloci dei <a href="/wit/Complex_instruction_set_computer" title="Complex instruction set computer" wx:linktype="known" wx:pagename="Complex_instruction_set_computer" wx:page_id="587413" id="wx33">CISC</a> tra gli <a href="/wit/Anni_1980" title="Anni 1980" wx:linktype="known" wx:pagename="Anni_1980" wx:page_id="40" id="wx34">anni '80</a> e gli <a href="/wit/Anni_1990" title="Anni 1990" wx:linktype="known" wx:pagename="Anni_1990" wx:page_id="41" id="wx35">anni '90</a>. Tuttavia, col progresso della tecnologia, anche design ingombranti come l'<a href="/wit/IA-32" title="IA-32" wx:linktype="known" wx:pagename="IA-32" wx:page_id="2309" id="wx36">IA-32</a> poterono essere progettati in modo superscalare.</p>

<p id="wx37">Attualmente è impensabile un futuro miglioramento sensibile del sistema di controllo, ponendo di fatto un limite ai miglioramenti prestazionali dei processori superscalari. Il progetto <a href="/wit/Very_long_instruction_word" title="Very long instruction word" wx:linktype="known" wx:pagename="Very_long_instruction_word" wx:page_id="286899" id="wx38">VLIW</a> (very long instruction word) cerca una soluzione scaricando parte del processo di controllo delle istruzioni in fase di scrittura del programma e di compilazione, evitando al processore di doverlo ripetere ad ogni esecuzione del programma.</p>

<wx:template id="wx_t1" pagename="Template:Portale" page_id="949487"/>
<div style="margin-left:0; margin-right:0" id="wx39">
<ul style="display:block; clear:both; list-style-image:none; list-style-type:none; width:100%; vertical-align:middle; margin:0; margin-bottom:1em; padding:0; min-height:27px" id="wx40">
<li style="float:left; height:27px; line-height:25px; width:100%; margin:0; margin-top:.5em; margin-left:0; margin-right:0; padding:0; border:1px solid #CCF; background-color:#F0EEFF" title="Accedi alle voci di Wikipedia che parlano di Informatica" id="wx41"><a href="/wit/Immagine:Stub_Informatica.png" title="Informatica" wx:linktype="image" wx:pagename="Immagine:Stub_Informatica.png" wx:page_id="1387162" id="wx42"><img src="/wit/Immagine:Stub_Informatica.png" alt="Informatica" width="25" height="25" id="wx43"/></a> <b id="wx44"><a href="/wit/Portale:Informatica" class="new" title="Portale:Informatica" wx:linktype="unknown" wx:pagename="Portale:Informatica" id="wx45">Portale Informatica</a></b>
<p id="wx46">:  accedi alle voci di Wikipedia che parlano di Informatica</p>
</li>
</ul>
</div>

<wx:templateend start="wx_t1"/>
</wx:section></div>
<div id="wx_categorylinks">
<a href="/wit/index.php?title=Speciale:Categories&amp;article=Microprocessore_superscalare" title="Speciale:Categories" wx:linktype="known" wx:pagename="Speciale:Categories" id="wx47">Categorie</a>: <span dir="ltr" id="wx48"><a href="/wit/Categoria:Microprocessore" title="Categoria:Microprocessore" wx:linktype="known" wx:pagename="Categoria:Microprocessore" wx:page_id="118535" id="wx49">Microprocessore</a></span> | <span dir="ltr" id="wx50"><a href="/wit/Categoria:Calcolo_parallelo" title="Categoria:Calcolo parallelo" wx:linktype="known" wx:pagename="Categoria:Calcolo_parallelo" wx:page_id="286509" id="wx51">Calcolo parallelo</a></span></div>
<div id="wx_languagelinks">
Altre lingue: <a href="http://de.wikipedia.org/wiki/Superskalarit%C3%A4t" class="external" wx:linktype="interwiki" wx:pagename="de:Superskalarität" id="wx52">Deutsch</a> | <a href="http://el.wikipedia.org/wiki/%CE%A5%CF%80%CE%B5%CF%81%CE%B2%CE%B1%CE%B8%CE%BC%CF%89%CF%84%CF%8C%CF%82_%CE%B5%CF%80%CE%B5%CE%BE%CE%B5%CF%81%CE%B3%CE%B1%CF%83%CF%84%CE%AE%CF%82" class="external" wx:linktype="interwiki" wx:pagename="el:Υπερβαθμωτός_επεξεργαστής" id="wx53">Ελληνικά</a> | <a href="http://en.wikipedia.org/wiki/Superscalar" class="external" wx:linktype="interwiki" wx:pagename="en:Superscalar" id="wx54">English</a> | <a href="http://es.wikipedia.org/wiki/Superescalar" class="external" wx:linktype="interwiki" wx:pagename="es:Superescalar" id="wx55">Español</a> | <a href="http://fr.wikipedia.org/wiki/Processeur_superscalaire" class="external" wx:linktype="interwiki" wx:pagename="fr:Processeur_superscalaire" id="wx56">Français</a> | <a href="http://id.wikipedia.org/wiki/Superskalar" class="external" wx:linktype="interwiki" wx:pagename="id:Superskalar" id="wx57">Bahasa Indonesia</a> | <a href="http://ja.wikipedia.org/wiki/%E3%82%B9%E3%83%BC%E3%83%91%E3%83%BC%E3%82%B9%E3%82%B1%E3%83%BC%E3%83%A9" class="external" wx:linktype="interwiki" wx:pagename="ja:スーパースケーラ" id="wx58">日本語</a> | <a href="http://nl.wikipedia.org/wiki/Superscalaire_processor" class="external" wx:linktype="interwiki" wx:pagename="nl:Superscalaire_processor" id="wx59">Nederlands</a> | <a href="http://pl.wikipedia.org/wiki/Superskalarno%C5%9B%C4%87_%28procesory%29" class="external" wx:linktype="interwiki" wx:pagename="pl:Superskalarność_(procesory)" id="wx60">Polski</a> | <a href="http://pt.wikipedia.org/wiki/Superescalar" class="external" wx:linktype="interwiki" wx:pagename="pt:Superescalar" id="wx61">Português</a> | <a href="http://ru.wikipedia.org/wiki/%D0%A1%D1%83%D0%BF%D0%B5%D1%80%D1%81%D0%BA%D0%B0%D0%BB%D1%8F%D1%80%D0%BD%D0%BE%D1%81%D1%82%D1%8C" class="external" wx:linktype="interwiki" wx:pagename="ru:Суперскалярность" id="wx62">Русский</a> | <a href="http://zh.wikipedia.org/wiki/%E8%B6%85%E7%B4%94%E9%87%8F" class="external" wx:linktype="interwiki" wx:pagename="zh:超純量" id="wx63">中文</a></div>
</body>
<wx:templatearguments for="wx_t1"><wx:argument name="1">
<p id="wx64">Informatica</p>
</wx:argument></wx:templatearguments>
</html>
