Architettura dei calcolatori, algebra di Boole e supporti di memoria

Documento da Università su Architettura dei calcolatori. Il Pdf esplora l'architettura dei calcolatori, l'algebra di Boole e i vari tipi di supporti di memoria, come dischi magnetici e ottici, per la materia Informatica.

Mostra di più

48 pagine

Architettura dei calcolatori
In questa lezione vedremo quali sono le caratteristiche fisiche fondamentali di un calcolatore, ovvero cercheremo di
rispondere alla domanda: come funziona un calcolatore?
Sappiamo che:
l’architettura di Von Neumann descrive l’organizzazione strutturale e funzionale di un calcolatore.
i sottosistemi della macchina di Von Neumann sono implementati da circuiti elettronici
i dati sono rappresentati da sequenze binarie
Discutiamo ora come si realizzano i diversi componenti di un calcolatore.
Algebra di Boole
Il tipo di dati dei valori Booleani, detto anche algebra di Boole (o algebra Booleana)
1
è costituito dall’insieme dei
valori Booleani, ovvero le costanti 1 e 0 (che identificano i valori logici Vero e Falso) e da alcune operazioni
fondamentali:
congiunzione: A B, si legge A AND B (denotata anche A ˄ B o A && B)
disgiunzione: A + B, si legge A OR B (denotata anche A ˅ B o A || B)
negazione (o complemento): ~A, si legge NOT A (denotata anche ¬A , Ā oppure !A )
A B è vera se e solo se sia A che B sono vere, mentre A + B è vera se almeno una fra A e B è vera; infine, ~B è
vera se B è falsa e viceversa.
1 Introdotta da George Boole nell’opera An Investigation of the Laws of Thought del 1854.
1
Combinando le tre operazioni logiche possiamo definire delle operazioni più complesse, le espressioni Booleane.
Un’espressione Booleana (o espressione logica) è:
una costante Booleana (0, 1) o una variabile Booleana ;
un'espressione del tipo ~A oppure A B oppure A + B; dove A e B sono a loro volta espressioni Booleane.
Ad esempio, lo XOR (OR esclusivo) è definito dalla sequente espressione Booleana:
A B = (~A B) + (A ~B).
Un altro esempio di espressione (l'operatore " " si può omettere come nella moltiplicazione) è: ~((AB) + (~BC)) .
Una volta che alle variabili è assegnato il valore 0 o il valore 1, si può calcolare il valore dell’espressione,
elencandone i valori in una tabella, detta tabella di verità dell’espressione:
A B C AB ~B ~BC (AB)+(~BC) ~((AB)+(~BC))
0 0 0 0 1 0 0 1
0 0 1 0 1 1 1 0
0 1 0 0 0 0 0 1
0 1 1 0 0 0 0 1
1 0 0 0 1 0 0 1
1 0 1 0 1 1 1 0
1 1 0 1 0 0 1 0
1 1 1 1 0 0 1 0
2

Visualizza gratis il Pdf completo

Registrati per accedere all’intero documento e trasformarlo con l’AI.

Anteprima

Architettura dei calcolatori

In questa lezione vedremo quali sono le caratteristiche fisiche fondamentali di un calcolatore, ovvero cercheremo di rispondere alla domanda: come funziona un calcolatore? Sappiamo che:

  • l'architettura di Von Neumann descrive l'organizzazione strutturale e funzionale di un calcolatore.
  • i sottosistemi della macchina di Von Neumann sono implementati da circuiti elettronici
  • i dati sono rappresentati da sequenze binarie

Discutiamo ora come si realizzano i diversi componenti di un calcolatore.

Algebra di Boole

Il tipo di dati dei valori Booleani, detto anche algebra di Boole (o algebra Booleana)1 è costituito dall'insieme dei valori Booleani, ovvero le costanti 1 e 0 (che identificano i valori logici Vero e Falso) e da alcune operazioni fondamentali:

  • congiunzione: A · B, si legge A AND B (denotata anche A A B o A && B)
  • disgiunzione: A + B, si legge A OR B (denotata anche A v B o A | B)
  • negazione (o complemento): ~ A, si legge NOT A (denotata anche -A , A oppure !A )

A · B è vera se e solo se sia A che B sono vere, mentre A + B è vera se almeno una fra A e B è vera; infine, ~B è vera se B è falsa e viceversa. 1 Introdotta da George Boole nell'opera An Investigation of the Laws of Thought del 1854. 1Combinando le tre operazioni logiche possiamo definire delle operazioni più complesse, le espressioni Booleane. Un'espressione Booleana (o espressione logica) è:

  • una costante Booleana (0, 1) o una variabile Booleana ;
  • un'espressione del tipo ~A oppure A · B oppure A + B; dove A e B sono a loro volta espressioni Booleane.

Ad esempio, lo XOR (OR esclusivo) è definito dalla sequente espressione Booleana: A & B = (~A . B) + (A . ~ B). Un altro esempio di espressione (l'operatore "." si può omettere come nella moltiplicazione) è: ~ ((AB) + (~BC)) . Una volta che alle variabili è assegnato il valore 0 o il valore 1, si può calcolare il valore dell'espressione, elencandone i valori in una tabella, detta tabella di verità dell'espressione:

ABC AB ~B ~BC (AB)+(~BC) ~((AB)+(~BC)) 000 0 1 0 0 1 0010 1 1 1 0 0 1 0 0 0 0 0 1 0 1 1 0 0 0 0 1 1 00 0 1 0 0 1 1 0 1 0 1 1 1 0 1 1 0 1 0 0 1 0 1 1 1 1 0 0 1 0 2

I circuiti logici

Le tre operazioni logiche fondamentali si possono rappresentare graficamente con dei simboli, detti porte logiche (logic gates) che hanno ingressi ed uscite: gli ingressi corrispondono agli argomenti e l'uscita al risultato dell'operazione.

AND OR NOT Combinando le porte logiche si ottengono dei diagrammi, o circuiti logici (logic circuits) che calcolano i valori delle espressioni logiche. Di seguito, il circuito che calcola l'espressione ~((A · B) + (~B . C))

A AandB B not((AandB) C notBandC or(notBandC)) B notB C ABC Il pallino dopo la porta OR indica la negazione. Ad ogni valore di verità assegnato alle variabili A, B e C, il circuito fornisce in uscita il corrispondente valore dell'espressione. 3

Esempio di sommatore

I circuiti logici possono essere estremamente complessi e descrivono il funzionamento di qualunque dispositivo digitale, incluso il calcolatore. Per convincerci delle capacità di calcolo dei circuiti logici, costruiamo un esempio non banale di circuito logico: un addizionatore, ovvero un circuito che compie l'addizione di due numeri interi senza segno rappresentati in base 2. L'addizionatore è un circuito di fondamentale importanza che si trova all'interno di ogni processore. Per realizzare un sommatore di numeri in base 2, occorre prima costrire un sommatore a 1 bit, con un riporto in ingresso (carry in) per l'eventuale riporto dalla cifra precedente.

carry_in A B carry_out somma 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 I 2 bit di output Somma e carry_out rappresentano in binario la somma A+B+carry_in dei tre bit di ingresso. 4

Circuito del sommatore a 1 bit

Ecco il circuito del sommatore a 1 bit, realizzato con porte AND, OR e XOR.

(carry in) riporto somma A (sim) B riporto (carry out) Connettendo n sommatori a 1bit otteniamo un sommatore per numeri da n bit. In figura, un sommatore a 4 bit.

S1 S2 S3 S4 0 Cl1=0 Co1 -) C12 Co2 C13 CO3 C14 CO4 T C L A1 B1 A2 B2 A3 B3 A4 B4 5

I circuiti elettronici digitali

I circuiti logici possono essere facilmente realizzati tramite circuiti elettronici. Infatti, le porte logiche si implementano facilmente con circuiti elettronici (composti da transistor): lo 0 corrisponde a tensione nulla, invece 1 a una tensione positiva, ad esempio, 5 V. Da sinistra a destra: un circuito elettronico composto da 2 transistor e 3 resistenze che implementa una porta AND, un chip che contiene 4 porte AND e lo schema dei collegamenti dei piedini del chip (circuito integrato).

+Vcc Vcc 4B 4A 4Y 3B 3A 3Y 14 13 12 10 9 8 R A 1 M T1 5V 1 2 3 4 5 6 7 1A 1B 1Y 2A 2B 2Y GND 0 0 0 0 1 0 R2 1 0 0 1 1 1 Con le moderne tecnologie elettroniche si possono realizzare dei circuiti estremamente complessi all'interno di un unico chip (il numero dei transistor all'interno di una CPU supera il miliardo). Tenete presente tutto ciò quando tra poco parleremo della CPU e della ALU in particolare: anche se la descrizione di quest'ultima in termini di porte logiche risulterebbe estremamente complessa, in linea di principio è possibile, ed il circuito sommatore appena visto ne costituisce una parte. 6

R Transistor Switches BO M T2 B A | OUT OUT Q = AB

Riassumendo:

  • il calcolatore è composto da circuiti logici.
  • I circuiti logici sono implementati da circuiti elettronici: il transistor (Bardeen, Brattain e Shockley, 1948) è un dispositivo a stato solido formato da semiconduttori (silicio) che lascia passare o meno la corrente fra due punti a seconda della tensione applicata ad un terzo punto.

I circuiti integrati sono pezzi di silicio (chips) che integrano -- appunto -- molti transistor (e quindi molte porte logiche) sullo stesso chip. Un moderno circuito integrato può contenere un miliardo di transistors su un'area di 200 mm- (questi numeri sono solo un'indicazione di ordine di grandezza). J POZ SAR341 R293 iji IC122º JC468 av EIG 7

Legge di Moore

Il numero di transistor per chip raddoppia ogni due anni [Gordon Moore (Intel) nel 1965].

Moore's Law - The number of transistors on integrated circuit chips (1971-2016) Our World in Data Moore's law describes the empirical regularity that the number of transistors on integrated circuits doubles approximately every two years. This advancement is important as other aspects of technological progress - such as processing speed or the price of electronic products - are strongly linked to Moore's law. 20,000,000,000 IBM z13 Storage Controller 18-core Xeon Haswell-E5 Xbox One main SoC 61-core Xeon Phi 12-core POWER8 22-core Xeon Broadwell-E5 15-core Xeon Ivy Bridge-EX QIBM z13 8-core Xeon Nehalem-EX Six-core Xeon 7400 8 8-core Core i7 Haswell-E Dual-core Itanium 2 Quad-core + GPU GT2 Core i7 Skylake K Pentium D Presler POWER6 Itanium 2 with g MB cache O O Core 2 Duo Wolfdale Pentium D Smithfield Core 2 Duo Conroe Itanium 2 Mckinley Q Core 2 Duo Wolfdale 3M Pentium 4 Prescott-2MO Core 2 Duo Allendale Pentium 4 Cedar Mill AMD K89 Pentium 4 Prescott Pentium 4 Northwood ·Barton QAtom Pentium II Mobile Dixon on QARM Cortex-A9 AMD K7 6 Pentium III Coppermine AMD K6-III 10,000,000 AMD K6 Pentium III Katmai Pentium Proo Pentium II Klamath Pentium AMD K5 O SA-110 Intel 80486 R4000 1,000,000 TI Explorer's 32-bit Lisp machine chip ARM700 Intel 80386 9 ARM 3 Motorola 68020 DEC WRL Multi Titan O Motorola 68000 ARM 9TDMI 50,000 O Intel 80186 Intel 80869 · Intel 8088 QARM 2 ARM 6 ARM 1 WOC Motorola 65C816 6809 Novix NC4016 RCA 1802 PIntel 8085 5,000 B Intel 8080 Intel 8008 MOS Technology 6502 Intel 4004 1,000 1970 1972 1974 1976 1978 1980 1982 1984 1986 1988 1990 1992 1994 1996 1998 2000 2002 2004 2006 2008 2010 2012 2014 2016 Year of introduction Data source: Wikipedia (https://en.wikipedia.org/wiki/Transistor_count) The data visualization is available at OurWorldinData.org. There you find more visualizations and research on this topic. Licensed under CC-BY-SA by the author Max Roser. 5,000,000,000 8 Apple A8X (tri-core ARM64 "mobile SoC") 8 Duo-core + GPU Iris Core i7 Broadwell-U Quad-core + GPU Core i7 Haswell 1,000,000,000 Apple A7 (dual-core ARM64 "mobile SoC") 500,000,000 Core i7 (Quad) AMD K10 quad-core 2M L3 Itanium 2 Madison 6MQ 100,000,000 50,000,000 Pentium 4 Willamette O Pentium III Tualatin Transistor count 8 OPentium II Deschutes 5,000,000 500,000 100,000 Intel 80286 10,000 TMS 1000 Zilog Z80 WDC 65C02 Motorola 6800 8Cell SPARC M7 10,000,000,000 8

Macchina di Von Neumann

La macchina di von Neumann è un modello teorico di organizzazione e funzionamento dei moderni calcolatori composto da tre parti o sottosistemi:

  • memorizzazione: dati e programmi sono nella stessa memoria
  • elaborazione: la CPU esegue i programmi
  • interfaccia: dispositivi di input/output per l'immissione e l'emissione dati

Sottosistema di interfaccia Sottosistema di memorizzazione Sottosistema di elaborazione Connessione Sia i dati che le istruzioni del programma da eseguire risiedono in memoria, da dove l'unità di elaborazione preleva in sequenza le istruzioni da eseguire e i dati necessari. Un calcolatore è una "macchina a programma memorizzato", ovvero è una macchina in grado di svolgere compiti mediante l'esecuzione di programmi appositi precedentemente caricati in memoria. Componenti di un calcolatore elettronico classificati secondo l'Architettura di Von Neumann. Elaborazione Memorizzazione Interfaccia CPU, GPU Memoria RAM, Hard disk, SSD, CD/DVD Tastiera, Monitor, mouse, stampante, ... 9

La struttura interna di un calcolatore

video tastiera Mouse Hard Disk Interfaccia Interfaccia Interfaccia Interfaccia RAM CPU bus dati bus indirizzi bus di controllo e la sua realizzazione, la motherboard (scheda madre):

PORTE USB, PARALLELA SERIALI, AUDIO, PS2 ... CHIP DEL BIOS SOCKET PER LA INSTALLAZIONE DEL PROCESSORE SLOT PCI EXPRESS 16x SLOT PCI EXPRESS 11 SLOT PER LA MEMORIA RAM SLOT PCI CLASSIC CHIPSET NORTHBRIDGE G CONNETTORE DI ALIMENTAZIONE ATX 12 VOLT BATTERIA DELLA CMOS DEL BIOS CONNETTORI IDE PARALLEL - ATA CHIPSET SOUTHBRIDGE CONNETTORI IDE SERIAL - ATA 10

Non hai trovato quello che cercavi?

Esplora altri argomenti nella Algor library o crea direttamente i tuoi materiali con l’AI.