{"id":897,"date":"2004-10-06T00:00:00","date_gmt":"2004-10-05T22:00:00","guid":{"rendered":""},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T22:00:00","slug":"897","status":"publish","type":"post","link":"https:\/\/www.vialattea.net\/content\/897\/","title":{"rendered":"Ho sentito parlare di una tecnologia usata sui processori che sfruttano un ciclo di clock per compiere pi\u00f9 di un operazione alla volta, quindi riuscendo ad essere pi\u00f9 veloci, se ci\u00f2 che ho detto \u00e8 corretto, come \u00e8 possibile? Grazie."},"content":{"rendered":"<p><font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\"><\/p>\n<p>Gi\u00e0 da molti anni l&#8217;evoluzione delle architetture interne dei<br \/>\nprocessori ha portato ad includere<br \/>\nvarie unit\u00e0 logiche ed aritmetiche che possono operare<br \/>\ncontemporaneamente e, ovviamente, vari bus interni<br \/>\nin grado di fornire i dati contemporaneamente a pi\u00f9 unit\u00e0.<br \/>\nCi\u00f2 consente<br \/>\ndi aumentare la velocit\u00e0 di calcolo a parit\u00e0 di altri parametri.<br \/>\n<\/font><\/p>\n<p>\n<font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\">Per comprendere come ci\u00f2 possa avvenire facciamo riferimento ad un<br \/>\nsemplice esempio.<br \/>\n<\/font><\/p>\n<p>\n<font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\">Supponiamo che un programma debba eseguire una operazione aritmetica<br \/>\ndel tipo:<\/p>\n<p><\/font><\/p>\n<blockquote><p>\n<font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\">E = A * B + C * D<br \/>\n<\/font><\/p><\/blockquote>\n<p><font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\">Questa operazione, tradotta in istruzioni elementari del processore<br \/>\n(ovvero in <i>linguaggio macchina<\/i>) diventa:<br \/>\n<\/font><\/p>\n<blockquote>\n<table cellpadding=\"5\" border=\"1\">\n<tbody>\n<tr>\n<td align=\"center\">1<\/td>\n<td align=\"center\">Accedi all&#8217;operando <b>A<\/b> <\/td>\n<\/tr>\n<tr>\n<td align=\"center\">2<\/td>\n<td align=\"center\">Accedi all&#8217;operando <b>B<\/b><\/td>\n<\/tr>\n<tr>\n<td align=\"center\">3<\/td>\n<td align=\"center\">Applica l&#8217;operazione <b>*<\/b><\/td>\n<\/tr>\n<tr>\n<td align=\"center\">4<\/td>\n<td align=\"center\">Memorizza il risultato temporaneo in <b>R1<\/b><\/td>\n<\/tr>\n<tr>\n<td align=\"center\">5<\/td>\n<td align=\"center\">Accedi all&#8217;operando <b>C<\/b> <\/td>\n<\/tr>\n<tr>\n<td align=\"center\">6<\/td>\n<td align=\"center\">Accedi all&#8217;operando <b>D<\/b><\/td>\n<\/tr>\n<tr>\n<td align=\"center\">7<\/td>\n<td align=\"center\">Applica l&#8217;operazione <b>*<\/b><\/td>\n<\/tr>\n<tr>\n<td align=\"center\">8<\/td>\n<td align=\"center\">Memorizza il risultato temporaneo in <b>R2<\/b><\/td>\n<\/tr>\n<tr>\n<td align=\"center\">9<\/td>\n<td align=\"center\">Accedi all&#8217;operando <b>R1<\/b> <\/td>\n<\/tr>\n<tr>\n<td align=\"center\">10<\/td>\n<td align=\"center\">Accedi all&#8217;operando <b>R2<\/b><\/td>\n<\/tr>\n<tr>\n<td align=\"center\">11<\/td>\n<td align=\"center\">Applica l&#8217;operazione <b>+<\/b><\/td>\n<\/tr>\n<tr>\n<td align=\"center\">12<\/td>\n<td align=\"center\">Memorizza il risultato in <b>E<\/b><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/blockquote>\n<p><font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\">I simboli <b>A<\/b>, <b>B<\/b>, <b>C<\/b>, <b>D<\/b>, <b>E<\/b>, <b>R1<\/b> ed<br \/>\n<b>R2<\/b> indicano opportune locazioni di memoria che possono contenere<br \/>\nvalori numerici.<br \/>\n<\/font><\/p>\n<p>\n<font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\">Supponiamo adesso che il processore sia dotato di due unit\u00e0<br \/>\nper la moltiplicazione ed una per la somma, fra loro indipendenti.<br \/>\nIn tal caso alcune delle operazioni possono essere svolte contemporaneamente:<\/p>\n<p><\/font><\/p>\n<blockquote>\n<table cellpadding=\"5\" border=\"1\">\n<tbody>\n<tr>\n<td align=\"center\">1<\/td>\n<td align=\"center\">Accedi all&#8217;operando <b>A<\/b> <\/td>\n<td align=\"center\">Accedi all&#8217;operando <b>C<\/b> <\/td>\n<\/tr>\n<tr>\n<td align=\"center\">2<\/td>\n<td align=\"center\">Accedi all&#8217;operando <b>B<\/b><\/td>\n<td align=\"center\">Accedi all&#8217;operando <b>D<\/b><\/td>\n<\/tr>\n<tr>\n<td align=\"center\">3<\/td>\n<td align=\"center\">Applica l&#8217;operazione <b>*<\/b><\/td>\n<td align=\"center\">Applica l&#8217;operazione <b>*<\/b><\/td>\n<\/tr>\n<tr>\n<td align=\"center\">4<\/td>\n<td align=\"center\">Memorizza il risultato temporaneo in <b>R1<\/b><\/td>\n<td align=\"center\">Memorizza il risultato temporaneo in <b>R2<\/b><\/td>\n<\/tr>\n<tr>\n<td align=\"center\">5<\/td>\n<td align=\"center\" colspan=\"2\">Accedi all&#8217;operando <b>R1<\/b> <\/td>\n<\/tr>\n<tr>\n<td align=\"center\">6<\/td>\n<td align=\"center\" colspan=\"2\">Accedi all&#8217;operando <b>R2<\/b><\/td>\n<\/tr>\n<tr>\n<td align=\"center\">7<\/td>\n<td align=\"center\" colspan=\"2\">Applica l&#8217;operazione <b>+<\/b><\/td>\n<\/tr>\n<tr>\n<td align=\"center\">8<\/td>\n<td align=\"center\" colspan=\"2\">Memorizza il risultato in <b>E<\/b><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/blockquote>\n<p><font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\">In questo caso il risultato finale pu\u00f2 essere ottenuto in soli 8 passi contro i dodici<br \/>\ndella sequenza precedente.<\/p>\n<p><\/font><\/p>\n<p>\n<font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\">Quella mostrata nell&#8217;esempio non \u00e8 l&#8217;unica tecnica per aumentare il<br \/>\n&#8220;grado di parallelismo&#8221; nell&#8217;esecuzione delle istruzioni di un processore.<br \/>\nIn generale le moderne CPU utilizzano vari altri accorgimenti tendenti<br \/>\nad aumentare la velocit\u00e0 di esecuzione dei programmi.<\/p>\n<p><\/font><\/p>\n<p>\u00a0 <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[&#8230;]<\/p>\n","protected":false},"author":198,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[61],"tags":[],"class_list":["post-897","post","type-post","status-publish","format-standard","hentry","category-hardware"],"_links":{"self":[{"href":"https:\/\/www.vialattea.net\/content\/wp-json\/wp\/v2\/posts\/897","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.vialattea.net\/content\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.vialattea.net\/content\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.vialattea.net\/content\/wp-json\/wp\/v2\/users\/198"}],"replies":[{"embeddable":true,"href":"https:\/\/www.vialattea.net\/content\/wp-json\/wp\/v2\/comments?post=897"}],"version-history":[{"count":0,"href":"https:\/\/www.vialattea.net\/content\/wp-json\/wp\/v2\/posts\/897\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.vialattea.net\/content\/wp-json\/wp\/v2\/media?parent=897"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.vialattea.net\/content\/wp-json\/wp\/v2\/categories?post=897"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.vialattea.net\/content\/wp-json\/wp\/v2\/tags?post=897"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}