questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Docente
• docente:MaurizioMancini• [email protected]• CasaPaganini
– PiazzaSantaMariainPassione,3416123–Genova
h/p://www.casapaganini.org
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Materiale
• Sitodelcorso:– h/p://www.mauriziomancini.org/wordpress/fdi-2017
• Testodiriferimento:
– C.ThomasWu,"IntroduzioneallaProgrammazioneadOggeTinJava"
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Primi"computer"
• Circa2400a.C.:L’invenzionedelabaco• 1621d.C.:L’invenzionedelregolo• 1642:BlaisePascalcrealaprimamacchinameccanicaper
ilcalcolodellesomme• 1833:Macchina
differenziale di Babbage
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Primi"computer"
• 1843:AdaLovelace(laprimaprogrammatricealmondo)pubblicaleproprieannotazioni
• 1890:Vieneu_lizzatal’ele/ricitàinunproge/odielaborazionedeida_(schedeperforate)
• 1900:Primamacchinaautoma_caaschedeperforate
• 1945:Propostadell’archite/ura“generalpurpose”(macchinadivonNeumann)
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Primocomputer
• 1946:Primocomputerele/roniconegliSta_Uni_(ENIAC)
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Evoluzionemoderna
• 1952:IlcomputerUNIVACprevedecorre/amentel’elezionedelpresidenteamericanoEisenhower
• 1967:Laprimacalcolatriceporta_le• 1969:NascelereteARPANETchedaràl’origineaInternet• 1981:IBMintroduceipersonalcomputer• 1982:Computerporta_li,compactdisk• 1984:Laprimastampantelaser,ildesktoppublishing• 1985:Telefonicellulari• 1993:Desktopmul_mediali• 1994:Trasmissionewireless(senzafili)perilcomputerporta_li• 1998:Inizialatransizionedallevideocasse/eaiDVD• …
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Informa_ca
• L'informazione:lasuacodifica;letecnicheperraccoglierla,memorizzarla,distribuirla,trasformarla...
• Ilcomputer:ilsuofunzionamento,lepossibilitàcheoffreperlatrasformazionedell’informazione,letecnichediu_lizzo...
• Lacomunicazione:tracomputer,trapersone(mediatadalcomputer)
Informatica: la scienza della rappresentazione e dell'elaborazione dell'informazione
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
L’usodell’informazione
• Uncomputerdeve:– Memorizzarel’informazione
• Usandolamemoriaprincipale/secondaria
– Elaborarel’informazione• Usandoilprocessore
– Farel’input/outputdell’informazione• Usandoidisposi_vidiinput/output
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Tipidiinformazione
• Esistonovari_pidiinformazione,dinaturaeformadiversa,cosìcomerappresentazionidiversedellastessainformazione– Lasceltadellarappresentazioneèingenerevincolataal_podi
u_lizzoedal_podioperazionichedevonoesserefa/esulleinformazionestesse
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Tipidiinformazione
• Ilcomputermemorizzaedelaborainformazionichedevonoessererappresentateinunaformages_bile
• Rappresentazionedigitale– Originariamente“rappresentazionedigitale”significava:
rappresentarel’informazioneconlecifre0,1,2,…,8,9– Oggi“rappresentazionedigitale”significa:rappresentare
l’informazioneconlecifre0,1(bit):larappresentazionebinaria
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Rappresentazionebinaria
Mondo
informazione rappresentazione binaria
codifica
decodifica
Computer: memorizzazione, elaborazione
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Rappresentazionebinaria
• L’en_tàminimadiinformazionechepossiamotrovareall’internodiunelaboratoreprendeilnomedibit– binarydigit–cifrabinaria– unbitpuòassumereduevalori(0e1)
• Rappresentazionebinaria:– soloduesimboli(0e1)
• Perchéusiamolarappresentazionebinaria?• Perchéleinformazionirappresentatenelsistemabinario
possonoessereelaboratesecondovaricriterieconvaristrumen6…
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Perchélarappresentazionebinaria?
• Iduesimboli(0e1)possonoessererappresentateda:
Due stati di polarizzazione di una sostanza magnetizzabile
Due stati di carica elettrica di una sostanza
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Perchélarappresentazionebinaria?
• Iduesimboli(0e1)possonoessererappresentateda:
Al passaggio/non passaggio di corrente attraverso un cavo conduttore
Al passaggio/non passaggio di luce attraverso un cavo ottico
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Rappresentazionebinaria
• Ingenerale:larappresentazionebinariaèbasatosullapresenzaoassenzadiunfenomenofisico(inuncertoluogo,auncertopuntoditempo)
• Discreta:nonesistealcunagradazionedivalore– Ilfenomenoèpresenteoppureassente,connessunaviadimezzo
• Lalogicaèlabasedelfunzionamentodelcomputer:– “Associandoilvaloreveroconlapresenzadiunfenomenoeil
valorefalsoconlasuaassenza,possiamoimplementareilmondologicopermezzodelmondofisico.”
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
• Perpoterrappresentareunnumeromaggiorediinformazionesiusanosequenzedibit
• Peresempio,perrappresentarequa/roinformazionidiversepossiamou_lizzareduebitcheciperme/onodio/enerequa/roconfigurazionedis_nte
00011011
Codificadell’informazione
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Codificadell’informazione
• Ilprocessosecondocuisifacorrispondereadun’informazioneunasequenzedibitprendeilnomecodificadell’informazione
informazione rappresentazione binaria
codifica dell’informazione
decodifica
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Codificabinaria
• Esempio-unesamepuòaverequa/ropossibiliesi_:
o8mo,discreto,sufficiente,insufficiente
• Codifico(duebit):– o8mocon 00– discretocon 01– sufficientecon 10– insufficientecon 11
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Codificabinaria
• Esempio-o/ocolori:nero,rosso,blu,giallo,verde,viola,grigio,arancione
• Codifico(trebit):– nerocon 000– rossocon 001– blucon 010– giallocon 011– verdecon 100– violacon 101– grigiocon 110– arancionecon 111
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Codificabinaria
• Esempio-o/ocolori:nero,rosso,blu,giallo,verde,viola,grigio,arancione
• Codifico(trebit):– nerocon 000– rossocon 001– blucon 010– giallocon 011– verdecon 100– violacon 101– grigiocon 110– arancionecon 111
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
• Con2bitsicodificano4informazioni(22)• Con3bitsicodificano8informazioni(23)• …• ConNbitsipossonocodificare2Ninformazionidifferen_
Codificabinaria
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
• SeilproblemaèquellodidoverrappresentareMinformazionidifferen_sideveselezionareilnumerodiNbitinmodotaleche
2N≥M
• Esempio:perrappresentare40informazionidifferen_devou_lizzare6bitperché
26=64– 5bitnonsonosufficien_perché25=32
Codificabinaria
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Codificabinaria
• Esisteunapar_colareaggregazionedibitcheècos_tuitada8bit(28=256informazioni)eprendeilnomedibyte
• Disolitosiusanoimul_plidelbyte
Kilo KB 210 (~ un migliaio, 1024 byte) Mega MB 220 (~ un milione, 1KB x 1024) Giga GB 230 (~ un miliardo, 1MB x 1024) Tera TB 240 (~ mille miliardi, 1GB x 1024) Peta PB 250 (~ miliardo miliardi, 1TB x
1024)
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Codificadeicara/eri
• Alfabetoanglosassone– Le/eremaiuscoleeminuscole– Cifrenumeriche(0,1,2,…,9)– Simbolidipunteggiatura(,.;:!“?…)– Segnimatema_ci(+,-,{,[,>,…)– Alcunicara/erinazionali(à,è,ì,ò,ù,ç,ñ,ö,…)
puòesserecodificatousandounbyte(220cara/ericirca)• Ilmetododicodificapiùdiffusotraiprodu/oridi
hardwareediso�wareprendeilnomeExtendedASCII(ASCII=AmericanStandardCodeforInforma_onInterchange)
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Codificadeicara/eri(ExtendedASCII)
Extended ASCII Simbolo 00000000 NUL (spazio bianco)
… … 00111110 > 00111111 ? 01000000 @ 01000001 A 01000010 B 01000011 C
… …
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Codificadelleparole
• Parolesonosequenzedicara/eri• Codificadellaparolecane
01100011011000010110111001100101cane
• Ilproblemainverso:dataunasequenzadibit,iltestocheessacodificapuòessereo/enutonelmodoseguente:– Sidividelasequenzaingruppidio/obit(byte)– Sideterminailcara/erecorrispondenteadognibyte
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Codificadeicara/eri
• Abbiamoconsideratoilcodice:– ExtendedASCII:8bitpercara/ere– ÈstatobasatodalcodiceASCII:7bitpercara/ere
• IlcodiceASCIInonincludeà,è,é,ì,ò,ù,peresempio
• Unaltrocodice:– UNICODE,16bitpercara/ere(ExtendedASCII+cara/erietnici)
– 216=65.536simboli
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Codificadell’informazione
• Quan_bitsidevonou_lizzareperrappresentare300informazionidis_nte?
• Da_7bitperlacodifica,quanteinformazionidis_ntesipossonorappresentare?
• Quan_byteoccupalaparola“psicologia”selasicodificau_lizzandoilcodiceExtendedASCII?
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Codificadelleimmagini
• Sistemidisupportoallaproge/azioneCAD/CAM• Campomedico(peresempio,isistemidiTACodiecografia)
• Telecamereevideoregistratoriprofessionali• EffeTspecialiifilm,televisione• Telefonicellulari• Ecc.
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Campionamentospaziale
Suddividiamo l’immagine mediante una griglia formata da righe orizzontali e verticali a distanza costante
• Esempio: un’immagine in bianco e nero
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Quan_zzazionecroma_ca
• Ogniquadra_noderivantedatalesuddivisioneprendeilnomedipixel(pictureelement)epuòesserecodificatoinbinariosecondolaseguenteconvenzione:– Ilsimbolo“0”vieneu_lizzatoperlacodificadiunpixelcorrispondenteadunquadra_noincuiilbiancoèpredominante
– Ilsimbolo“1”vieneu_lizzatoperlacodificadiunpixelcorrispondenteadunquadra_noincuiilneroèpredominante
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Codificadelleimmagini
0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Codificadelleimmagini
0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
Poiché una sequenza di bit è lineare, è necessario definire convenzioni per ordinare la griglia dei pixel in una sequenza. Assumiamo che i pixel siano ordinati dal basso verso l’alto e da sinistra verso destra 0000000000 0011111000 0011100000 0001000000
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Codificadelleimmagini
Non sempre il contorno della figura coincide con le linee della griglia. Quella che si ottiene nella codifica è un’approssimazione della figura originaria Se riconvertiamo la sequenza di stringhe 0000000000 0011111000 0011100000 0001000000 in immagine otteniamo
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Codificadelleimmagini
La rappresentazione sarà più fedele all’aumentare del numero di pixel, ossia al diminuire delle dimensioni dei quadratini della griglia in cui è suddivisa l’immagine
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Codificadelleimmagini
• Assegnandounbitadognipixelèpossibilecodificaresoloimmaginiinbiancoenero
• Percodificareleimmaginicondiversilivellidigrigiooppureacolorisiusalastessatecnica:perognipixelvieneassegnataunasequenzadibit– Peresempio,seu_lizziamoqua/robitpossiamorappresentare24
=16livellidigrigioo16coloridiversi– Mentrecono/obitnepossiamodis_nguere28=256,ecc.
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
L’usodelcolore
• Ilcolorepuòesseregeneratocomponendo3colori:red(rosso),green(verde),blue(blu)
• Adognicoloresiassociaunapossibilesfumatura
• Usando2bitperognicoloresipossonoo/enere4sfumatureperilrosso,4perilbluee4perilverdeche,combinateinsieme,dannooriginea64coloridiversi– Ognipixelperesserememorizzato
richiede6bit
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
ModelloRGB
• Usando8bitperognicoloresipossonoo/enere:– 256sfumatureperilrosso…– …256perilverdee…– …256perilblu…
che,combinateinsieme,dannoorigineacirca16,8milionidicoloridiversi(precisamente16.777.216colori)
• Ognipixelperesserememorizzatorichiede3byte
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
L’usodelcolore
1bit 3 bit
1 byte 3 byte
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
L’usodelcolore
• Esempi:– 000000000000000000000000→nero– 111111111111111111111111→bianco– 111111110000000000000000→rosso– 111111111111111100000000→giallo– 000000001111111100000000→verde– 000000001111111111111111→cyan– 000000000000000011111111→blu– 111111110000000011111111→viola
– 100000001000000010000000→grigio(uncertotonalitàdi…)
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Codificadelleimmagini
• Esempio:– Perrappresentare256colorisononecessario/obitperla
codificadiciascunpixel– Lacodificadiun’immaginedi256colori,formatada640x480
pixel,richiederà640x480=307.200byte(2.457.600bit)
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Risoluzione
• Ilnumerodipixelpresen6sulloschermo(colonnexrighe)prendeilnomedirisoluzione
4:3 16:9 640 480 640 360 nHD 800 600 720 405 1024 768 848 480 1280 1024 960 540 qHD 1600 1200 1024 576
1280 720 HD 1366 768 1600 900 HD+ 1920 1080 Full HD
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Codificadelleimmagini
• Leimmaginicodificatepixelperpixelsonode/eimmaginiingraficabitmap– Leimmaginibitmapoccupanoparecchiospazio
• Esistonodelletecnichedicompressionecheperme/onodiridurreledimensioni– Adesempio,sepiùpun_vicinidiun’immagineassumonolo
stessocolore,sipuòmemorizzarelacodificadelcoloreunasolavoltaepoiricordareperquantevoltedeveessereripetuta
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Codificadelleimmagini
• Unesempioconcreto-codificaRun-LengthEncoding(RLE)nelcontestodelleimmaginiinbiancoenero:
• Usanumeribinariperspecificarelalunghezzadellaprimasequenzadi0(bianco)
• …poiquelladellasequenzadi1(nero)• …poiquelladellasuccessivasequenzadi0• …ecosìvia
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Codificadelleimmagini
• Iforma_comeGIF,JPEGePNGsonoforma_compressi– Peresempio:rispe/oalbitmap,ilformatoJPEGdedicamenobitalladescrizionedellesfumaturacroma_chediun’immagine
– Un'immagineinJPEGpuòarrivareadoccupare1/10dellacorrispondenteimmaginebitmap
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Codificadelleimmagini
• Dis_nzionetracompressionelosslessecompressionelossy– Lossless:compressionesenzaperditadiinformazioni
• Dallaversionecompressa,sipuòricostruireperfe/amentelaversionenon-compressa
• Peresempio,GIF,PNG– Lossy:compressioneconperditadiinformazioni
• Dallaversionecompressa,nonèpossibilerecuperarelaversioneoriginale
• Peresempio,JPEG:nostriocchidis_nguonobenevariazionidiluminositàmanontonalità–JPEGdedicamenobitallatonalità
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Codificadelleimmagini
• JPEG:livellidicompressione
30,2 KB 6,8 KB
3,2 KB
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Codificadiimmaginiinmovimento
• Unfilmatoèunasequenzadiimmaginista_che(de/efotogrammioframe)
• Percodificareunfilmatosi“digitalizzano”isuoifotogrammi
• Esempio:– 30immaginiadaltarisoluzionealsecondo– 30imm./secx2.457.600bit/imm.=73.728.000bit/sec– Unminutorichiederebbe60secx73.728.000=4.423.680.000bit
(5.529.600byte,circa5.400KB)• Esempidiforma_perilvideo:AVI,MOV• Compressione:MPEG(MovingPictureExpertGroup),
memorizzasololadifferenzatrafotogrammiconsecu_vi
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Codificadelleimmagini
• Quan_byteoccupaun’immaginedi20x40pixelinbiancoenero?
• Quan_byteoccupaun’immaginedi100x100pixela256colori?
• Seun’immaginea16.777.216dicolorioccupa2400byte,daquan_pixelsaràcomposta?
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Codificadeisuoni
• Fisicamenteunsuonoèrappresentatocomeun’ondachedescrivelavariazionedellapressionedell’arianeltempo(ondasonora)
• Sull’asse delle ascisse viene rappresentato il tempo e sull’asse delle ordinate viene rappresentata la variazione di pressione corrispondente al suono stesso
Tempo
Pres
sion
e de
l suo
no
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Codificadeisuoni
• Un’ideachiave:ilsuonoècon6nuo(lapressionevariasenzasal_)
• Èpossibileo/enereunaregistrazioneanalogicacon_nuadell’onda– Unaregistrazioneanalogicamemorizzaognivariazionedell’onda
originale(almenoinlineadiprincipio)
• Larappresentazionedigitalediunsuonofunzionainunmododiverso
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Campionamento
• Sieffe/uanodeicampionamen<sull’onda(cioèsimisurailvaloredell’ondaaintervalliditempocostan_)esicodificanoinformadigitaleleinformazioneestra/edatalicampionamen_
• Quanto più frequentemente il valore di intensità dell’onda viene campionato, tanto più precisa sarà la sua rappresentazione
• Il numero di campioni raccolti per ogni secondo definisce la frequenza di campionamento che si misura in Hertz (Hz, numero di campionamento ogni secondo – di solito 44.100 Hz)
Tempo
Pres
sion
e de
l suo
no
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Quan_zzazione
• Lasequenzadeivalorinumericio/enu_daicampionipuòesserefacilmentecodificataconsequenzedibit
Un’approssimazione!
Tempo
Pres
sion
e de
l suo
no
• La rappresentazione è tanto più precisa quanto maggiore è il numero di bit utilizzati per codificare l’informazione estratta in fase di campionamento
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Quan_zzazione
• Peresempio:con1bit
Tempo
Pres
sion
e de
l suo
no
• Per esempio: con 2 bit
Tempo
Pres
sion
e de
l suo
no
1
0
11 10
00
01
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Esempio
• SevolessimocodificarelamusicadiqualitàCDdovremmo:– Usaredueregistrazionicorrisponden_aduemicrofonidis_n_
– Campionareilsegnalemusicaleproducendo44.100campionialsecondo
– Perognicampione(cheèunnumero)siusano16bit(qualitàCD)
– Percui,ilnumerodibitchesarebberonecessaripercodificareognisecondoèparia
2x44.100campionix16bit/campione=1.414.200bit(circa176.775byte,o173KB)
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Codificadeisuoni
ADC: da
analogico a digitale
DAC: da digitale
ad analogico
01011010 11110000 10100000 10000010
Convertitore analogico-digitale
Convertitore digitale-analogico
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Codificadeisuoni
• Codifichestandard– MP3,WAV(MS-Windows),AIFF(AudioInterchangeFileFormat,
Apple),MIDI
• MP3– VarianteMPEGpersuoni– Lossy– Grandediffusione,moltoefficiente(fa/oredicompressionecirca
5:1-10:1,circa1-2MBogniminuto)
• MIDI:codificalenoteeglistrumen_chedevonoeseguirle– Efficiente,masolomusica,nonvoce
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Codificadeisuoni
• Quantospaziooccupaunsuono(noninstereo)delladuratadi10secondicampionatoa100Hz(100campionialsecondo),incuiognicampioneoccupa4byte?
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Codificadeinumeri(ilsistemadecimale)
• Lanumerazionedecimalequindiu_lizzaunanotazioneposizionalebasatasulnumero10
• Lanotazioneposizionalepuòessereu_lizzatainqualunquealtrosistemadinumerazioneconbasediversadi10– Base:ilnumerodicifredisponibilenelsistema– Inbase10,usiamolediecicifre0,1,2,3,4,5,6,7,8,9
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Codificadeinumeri(ilsistemabinario)
• Nelsistemadinumerazionebinario(base2)inumerivengonocodifica_u_lizzandoleduecifre0e1
• NelsistemadinumerazioneoFale(base8)inumerivengonocodifica_u_lizzandoleo/ocifre0,1,2,3,4,5,6,7
• Nelsistemadinumerazioneesadecimale(base16)inumerivengonocodifica_u_lizzandolesedicicifre0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Codificadeinumeri(ilsistemabinario)
• Inanalogiaconilcasodecimalelasequenzacncn-1cn-2…c1c0(ogni“ci”èlacifra“0”olacifra“1”)rappresenteràilnumero
La cifra meno significativa
La cifra più significativa
c0 x 20 + c1 x 21 + c2 x 22 + … +
cn-1 x 2n-1 + cn x 2n
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Codificadeinumeri(ilsistemabinario)
• Casogenerale:considerareunsistemaconbaseb• Lasequenzacncn-1cn-2…c1c0(ogni“ci”èunacifradel
sistema)rappresenteràilnumero
La cifra meno significativa
La cifra più significativa
c0 x b0 + c1 x b1 + c2 x b2 + … +
cn-1 x bn-1 + cn x bn
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Codificadeinumeri(ilsistemabinario)
• Esempio:lasequenza“1011”inbase2denotailnumero
1x23+0x22+1x21+1x20=11(inbase10)
• Esempio:lasequenza“10011”inbase2denotailnumero
1x24+0x23+0x22+1x21+1x20=19(inbase10)
• Perevitareambiguitàsiusalanotazione10112=1110,100112=1910
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Altrebasi:o/ale,esadecimale
• Sistemao/ale– U_lizzaunanotazioneposizionalebasatasuo/ocifre(0,1,…,7)esullepotenzedi8
– Esempio:1038=1x82+0x81+3x80=6710
• Sistemaesadecimale– U_lizzaunanotazioneposizionalebasatasusedicicifre(0,1,…,9,A,B,C,D,E,F)esullepotenzedi16
– Esempio:10316=1x162+0x161+3x160=25910– Esempio:AC416=10x162+12x161+4x160=275610
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Conversionedallabase10allabase2
• DatounnumeroNrappresentatoinbasedieci,lasuarappresentazioneinbaseduesaràdel_pocmcm-1cm-2…c1c0(le“ci”sonocifrebinarie)
• Perconver_reunnumeroinbasediecinelcorrispondenteinbaseduesidevono:– Trovareires_delledivisionisuccessivedelnumeroNperdue– Leggereires_inordineinversopero/enerelarappresentazione
binariadiN(dallacifrapiùsignifica_vaallaciframenosignifica_va)
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
• Esempio:ilnumero610:
6/2=3resto03/2=1resto11/2=0resto1
• Leggendoires_dalbassoversol’alto,sihachelarappresentazionebinariadelnumero610è1102
• Perunacorre/averificabastariconver_reilrisultatoallabase10– Cioè,calcolare1x22+1x21+0x20
Conversionedallabase10allabase2
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
• Perché1102=610?
Conversionedallabase10allabase2
6/2 = 3 resto 0 3/2 = 1 resto 1 1/2 = 0 resto 1
0 x 20 + 1 x 21 + 1 x 22
= 6
1 x 22 + 1 x 21 + 0 x 20 = 1 x 21 + 1 x 20 con resto 0 2 1 x 21 + 1 x 20 = 1 x 20 con resto 1 2 1 x 20 = 0 con resto 1 2
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
• Esempio:ilnumero34510:345/2=172resto1172/2=86resto086/2=43resto043/2=21resto121/2=10resto110/2=5resto05/2=2resto12/2=1resto01/2=0resto1
• Leggendoires_dalbassoversol’alto(inquantosio/engonoapar_redallaciframenosignifica_va,l’unità),sihacherappresentazionebinariadelnumero34510è1010110012
Conversionedallabase10allabase2
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Conversionedallabase2allabase10
• Siacmcm-1cm-2…c1c0unnumerorappresentatoinbase2,usiamo:
cmx2m+cm-1x2m-1+cm-2x2m-2+…+c1x21+c0x20=N10
• Esempio:1010110012
1x28+0x27+1x26+0x25+1x24+1x23+0x22+0x21+1x20
=256+64+16+8+1
=34510
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Operazionisunumeribinari
• Vediamosoloilcasodellaaddizionenellacodificabinaria:– Sime/onoincolonnainumeridasommare– Sicalcolailriportoognivoltachelasommaparzialesuperailvalore1
• Addizione:0+0=0conriporto00+1=1conriporto01+0=1conriporto01+1=0conriporto1
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Operazionisunumeribinari
• Addizione:0+0=0conriporto00+1=1conriporto01+0=1conriporto01+1=0conriporto1
• Esempi: 1 + 1 = 1 0
1 0 1 + 1 1 = 1 0 0 0
1 0 1 1 0 1 0 1 + 1 0 0 0 1 1 0 = 1 1 1 1 1 0 1 1
1 1 1 + 1 1 = 1 0 1 0
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Codicialunghezzafissa
• Sesiusaunnumeroprestabilitodicifresihauncodicealunghezzafissa– Normalmenteicomputerusano32o64bitperrappresentarei
numeri• Inquestomodosiponeancheunlimitealnumero
massimorappresentabile• Esempio:qualèilnumeropiùgranderappresentabilecon
4cifre?– Inbase10: 9999– Inbase2: 1111 (=1510)– Inbase16: FFFF (=6553510)– Inbase8: 7777 (=409510)
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Codicialunghezzafissa
• Numerimaggioridiquellomassimorappresentabilecausanoproblemidioverflow– Ovveroperessererappresenta_richiedonopiùcifrediquelleadisposizione
• Esempio:4cifre– Inbase10: 9999+1 =1000010– Inbase2: 1111+1 =100002(=1610)– Inbase16: FFFF+1 =1000016(=6553610)– Inbase8: 7777+1 =100008(=409610)
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Codicialunghezzafissa
• Ingenerale,conNcifreadisposizioneebasebilpiùgrandenumero(interoposi_vo)rappresentabilesipuòesprimerecome
bN–1• Esempio:N=4
– Inbase10: 9999 =104-1– Inbase2: 1111 =24-1– Inbase16: FFFF =164-1– Inbase8: 7777 =84-1
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Codicialunghezzafissa
• Esempiodioverflownelsistemabinariodovutoaoperazioniaritme_che:– 5+4=9(insistemadecimale)– Abbiamousatosolouncifredecimaleperilrisulto
• Ricordiamo:510=1012 , 410=1002
1 0 1 + 1 0 0 = 1 0 0 1
(in sistema binario)
Errore: overflow (non può essere codificato 910 = 10012 con tre bit)
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Codificadeinumeri
• Codificareilnumero13210nellacorrispondenterappresentazionebinaria
• Ordinareinmodocrescenteiseguen_numeri:– 10410– 128– 100112– 1000100002– 1001110
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Rappresentazionedeinumeri
• Inrealtà,unasemplicecodificabinariacomequelladiscussafinoadoranonèsufficiente,perduemo_vi:– Numerinega_vi– Numericonlavirgola
• Perques_numerivengonou_lizzatedellerappresentazionidifferen_– Peresempio“complementoadue”perrappresentareinumerinega_vi
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Archite/uradeicomputer
• Uncomputerdeve:– elaborarel’informazione
• usandoilprocessore(CentralProcessingUnit-CPU)– memorizzarel’informazione
• usandolamemoriaprincipale(RAM)• usandolamemoriasecondaria
– farel’input/outputdell’informazione• usandoidisposi_vidiinput/output
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Hardwareeso�ware
• Hardware: – Stru/urafisica(archite/ura)delcalcolatoreformatadapar_meccaniche,ele/riche,ele/roniche
• SoKware:– Programmidibaseperlages_onedelsistema– Programmiapplica_viperl’usodelsistema(possonousareiprogrammidibase)
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Hardware
• Inuncomputerpossiamodis_nguerequa/rounitàfunzionali:– Ilprocessore– Lamemoriaprincipale– Lamemoriasecondaria– Idisposi_vidiinput(inserimento)/output(res_tuzionedirisulta_)
• Ilprocessoreelamemoriaprincipalecos_tuisconol’unitàcentraledelcomputer
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Componen_principalidiuncomputer
Unità centrale Processore
Dispositivi di input/output
Memoria secondaria
Memoria principale
Periferiche del calcolatore
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
CPU(processore)
Unità centrale Processore
Dispositivi di input/output
Memoria secondaria
Memoria principale
Periferiche del calcolatore
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Componen_dellaCPU
• LaCPUnonèununicocomponentemaècos_tuitadacomponen_diversichesvolgonocompi_diversi
Unità di controllo
Unità aritmetico logica
Program Counter REGISTRI
Registro di Stato
Bus Interno
Registro Istruzioni
Registri Generali 8 o 16 …
Registro Indirizzi Memoria
Registro Dati Memoria
Registro di Controllo
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Unitàdicontrollo
Unità di controllo
Unità aritmetico logica
Program Counter REGISTRI
Registro di Stato
Bus Interno
Registro Istruzioni
Registri Generali 8 o 16 …
Registro Indirizzi Memoria
Registro Dati Memoria
Registro di Controllo
L’unità di controllo è la parte più importante del processore • Esegue le istruzioni dei programmi • Coordina le attività del processore • Controlla il flusso delle istruzioni tra il processore e la memoria
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Unitàdicontrollo
• SvolgelasuaaTvitàinmodociclico(implementailciclomacchina)
• Fetch istruzione (preleva dalla memoria principale la “prossima” istruzione da eseguire)
• Decodifica istruzione • Fetch dati (preleva gli operandi specificati
nell’istruzione) • Esecuzione istruzione • Restituzione risultato
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Unitàdicontrollo
• L’esecuzionecomportal’inviodicomandiopportuniall’unitàrela_va– Calcoli→Unitàaritme_cologica– Le/ura/scri/urada_→memoria– Acquisizione/stampa→disposi_vidiI/O
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Businterno
Unità di controllo
Unità aritmetico logica
Program Counter REGISTRI
Registro di Stato
Bus Interno
Registro Istruzioni
Registri Generali 8 o 16 …
Registro Indirizzi Memoria
Registro Dati Memoria
Registro di Controllo
Bus interno: permette la comunicazione tra i componenti del processore
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Registri
Unità di controllo
Unità aritmetico logica
Program Counter REGISTRI
Registro di Stato
Bus Interno
Registro Istruzioni
Registri Generali 8 o 16 …
Registro Indirizzi Memoria
Registro Dati Memoria
Registro di Controllo
• Iregistrisonodelleunitàdimemoriaestremamenteveloci• Sonousatepermantenereleinformazionidinecessitàimmediataperil
processore• Ledimensionideiregistrivarianoda16,32,64bit
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Registri
• ProgramCounter– con_enel'indirizzodella"prossima"istruzionedaeseguireè
memorizzatonelregistroProgramCounter• normalmenteleistruzionidiunprogrammasonomemorizza_insequenzanellamemoriaprincipale
• ilProgramCounterdeveessereaumentato(di1)ogniciclo(inmodotalechecorrispondeall’indirizzodellaprossimaistruzionedaeseguire)
• RegistriGenerali– iregistrichepossonoessereu_lizza_comememorietemporanee
persvolgereleoperazionimatema_che
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Unitàaritme_cologica
Unità di controllo
Unità aritmetico logica
Program Counter REGISTRI
Registro di Stato
Bus Interno
Registro Istruzioni
Registri Generali 8 o 16 …
Registro Indirizzi Memoria
Registro Dati Memoria
Registro di Controllo
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Unitàaritme_cologica
• L’Unitàaritme_cologica(ALU)sioccupadieseguireleoperazionidi_poaritme_co/logico– Somme,so/razioni,…,confron_,…
• PrelevaglioperandidelleoperazionidaiRegistriGenerali
• DepositailrisultatodelleoperazionineiRegistriGenerali
• Insiemeall’unitàdicontrollocollaboraalcompletamentodiunciclomacchina
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Clock
• AbbiamovistocheilprocessoresvolgalasuaaTvitàinmodociclico– Adogniciclocorrispondel’esecuzionediun’operazioneelementare(un’istruzionemacchina)
• Ilclockfornisceunacadenzatemporaleperl’esecuzionedelleoperazionielementari
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
• Consideriamounaipotesisemplificata:ognibaTtodiclockcorrispondeesa/amentel’esecuzionediunasolaistruzionemacchina– Peresempio:ilclockchehacirca66milionidibaT_persecondo→ilcomputerpuòeseguirecirca66milionidioperazionipersecondo
• Inrealtà,questaipotesinonèsemprevero– L’esecuzionediunaistruzionepuòrichiederepiùbaT_diclock– Oppurenellostessociclodiclocksipossonoeseguire(par_)di
istruzionidiverse– Dipendedal_podiprocessore-peresempio:
• IlprocessoreIntelCoreduorichiede3baT_delclockpercalcolarelamol_plicazionediduenumeri
Clock
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
• Lafrequenzadelclocksimisurain:– MHz(1MHzcorrispondecircaaunmilionediistruzioni
elementari/baT_alsecondo)– GHz(1GHzcorrispondecircaaunmiliardodiistruzioni
elementari/baT_alsecondo)• Peresempio:seacquistateuncomputerevidiconoche
haunprocessorea4GHz– Vuoldirecheilprocessoreèingradodieseguire(circa)3miliardi
diistruzionialsecondo• Esempi:
– Intel®Core™i7-6700KProcessor4.2GHz– AMDATHLON™X4QUAD-CORE870K4.1GHz
Clock
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Memoriaprincipale
Unità centrale Processore
Memoria secondaria
Memoria principale
Periferiche del calcolatore
Dispositivi di input/output
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Linguaggiomacchina
• illinguaggioincuisiscrivonoiprogrammiperilprocessoreprendeilnomedilinguaggiomacchina– unasequenzaditaliistruzioniprendeilnomediprogrammain
linguaggiomacchina
• ilruolodelprocessore:– eseguireprogrammiinlinguaggiomacchina
• ogni_podiprocessoreèingradodieseguireunnumerodisolitolimitatodiistruzionimacchina– normalmentecircauncen_naio– essendopochevengonoeseguitemoltovelocemente
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Programmiinlinguaggiomacchina
• cometu/elealtreinformazionicontenuteinuncomputeriprogrammiinlinguaggiomacchinasonosequenzedi1e0:
10001111 10101010 00000011 11001100 10101011 11111110 11001111 00000110 00000100 00000111 11000101 10111001 11111101 01011111 11001111 00101011
ADD R1 R2 R3
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Istruzionimacchina
• tre_pidiistruzionimacchina:– operazioniaritme_co-logiche:
• peresempio,lasommadiduenumeri,ilconfrontotraduenumeriperstabilireseessisonouguali
• bisognaindicaredovesitrovanoida_sucuioperare– trasferimentoda_:
• indicanoqualida_trasferireeinqualedirezione• peresempio,dallamemoriaalCPUoviceversa,dall'esternoall'interno(input)oviceversa(output)
• anchebisognaindicaredovesitrovanoida_sucuioperare– controllo:
• perme/onomodificareilflussodiesecuzionedelleistruzione(peresempio,sullabasedieven_esterniorisulta_intermedio/enu_dalleistruzionipreceden_)
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Operazioniaritme_co-logiche
A B A and B 0 0 0 0 1 0 1 0 0 1 1 1
A B A or B 0 0 0 0 1 1 1 0 1 1 1 1
A not A 0 1 1 0
• esempio:• add:addizione• sub:so/razione• and/or/not:congiunzione/disgiunzione/negazionelogica
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Trasferimentoecontrollo
• trasferimento,esempi:– load:leggeredallamemoriaprincipale– store:scrivereallamemoriaprincipale
• controllo,esempi– if_eq:seunacondizioneèvero,proseguireinuncertomodo,altrimen_proseguireinunaltromodo
– goto:saltareaun’istruzione
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Esempio
• ADDR1R2R3
– recuperareivalorimemorizza_neiregistriR2eR3einserireilrisultatodellasommadeivalorinelregistroR1
Codice istruzione Argomento 1 Argomento 2 Argomento 3
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Esempio
• LOAD3568R2
– operazionedile/uradallamemoria:richiedelale/uradelvalorecontenutonellacellaconindirizzo3568eilsuocaricamentonelregistroR2
Codice istruzione Argomento 1 Argomento 2
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Memoriaprincipale(RAM)
Unità centrale Processore Memoria principale
0 1 2 3 4 5
N
Sequenza di celle: – ad ogni cella è associato un indirizzo (un numero progressivo a partire da 0)
Insieme al processore forma l’Unità Centrale di un elaboratore Contiene i programmi e i dati usati dal processore
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Memoriaprincipale(RAM)
• RandomAccessMemory– Sipuòaccederedire/amenteallevariecelle,unavoltanotoilloroindirizzo
– Iltemponecessarioperaccedereadunacellaèlostesso,indipendentementedallaposizionedellacellanellasequenza
– Iltermine“random”(casuale)indicaproprioilfa/ochenonvisonodifferenzenell’accessoallevariecelledellamemoria(ilcomputerpuòaccedereinqualsiasimomentoaqualsiasilocazione)
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Memoriaprincipale(RAM)
• Alcuneproprietàdellamemoriaprincipale– Vola<le:èfa/adicomponen_ele/ronici,togliendol’alimentazionesiperdetu/o
– (Rela_vamente)costosa(costoperbit)• Dallalezione1:icos_sonoindiminuzione
– …
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Memoriaprincipale(RAM)
• Alcuneproprietàdellamemoriaprincipale– …– Veloce:perleggere/scrivereunacellacivuoleuntempodiaccessodell’ordinedipochedecinedinanosecondi(millesimidimilionesimidisecondo=10-9sec.)• Tempodiaccesso:iltempotra
– Ilmomentoincuiilprocessorespecifical’indirizzodellacellasuicuivuoleoperareedàilcomandodile/ura/scri/ura
– Ilmomentoincuil’operazioneèterminata(ildatole/oedisponibileoppureildatoscri/oèinmemoria)
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Memoriaprincipale(RAM)
• Tu/elecellehannolastessadimensione:8,16,32,o64bit
• LeoperazionichesieseguonosullamemoriasonooperazionidileFuraescriFura
• Unacellapuòcontenere(partedi)undatooun’istruzione
0 1 2 3 4 5
N
Indirizzi Contenuto (in questo
esempio, 8 bit)
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Memoriaprincipale(RAM)
• Ognicalcolatoreusaunnumerodibitcostanteperrappresentaregliindirizzi
• Maggioreèilnumerodibitusa_,maggioresaràilnumerodicelleindirizzabili:spaziodiindirizzamento– Sesiusano16bitpercodificaregliindirizzi,sipotrannoindirizzarefinoa65.536celle(circa64KBdimemoria,nell’ipotesidicelledimemoriadi1byte)
– Con32bitsipotrannoindirizzarefinoa4.294.967.296celle(circa4GBdimemoria)
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Memoriaprincipale(RAM)
• LeunitàdimisuradellamemoriaRAMvarianoasecondadel_podicalcolatoreevengonoespresseinGB
• NeiPCgeneralmentesivadai4GBai32GB• LaRAM,finoaduncertolimite,èespandibile(slotdi
espansione)
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
MemoriaROM
• Memoriadisolale/ura(ROM)– fapartedellamemoriaprincipale– nonpuòesseremodificata– adifferenzadellaRAMnonèvola_le– velocequasicomelaRAM– con_eneleinformazionidiinizializzazioneusateognivoltachesiaccendel’elaboratore(bootstrap)
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Memoriacache
• Memoriacache– LivellodimemoriaintermediotrairegistrielaRAM
• Memorizzaida_usa_piùspessosenzadoverlirecuperaretu/elevoltedallaRAM(cheèpiùlenta)
• Influiscemol_ssimosulleprestazioniesulcostodellaCPU(equindidelcomputer)
– ÈmoltopiùcostosadellaRAM– Ingenereèinternaalprocessore(cacheL1),maesisteancheuna
cachesecondaria(L2)esternaalprocessore– Lesuedimensione_pichevannodai1MBa8MB
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Buffer
• Buffer– Piccolepar_diRAMconfunzionidimemoriatemporanea– Usa_perilpassaggiodelleinformazionidaunprogrammao
disposi_voadunaltro– InWindowssiparladiClipboard,memoriatemporaneausataper
esempioperleoperazionidiCopiaeIncolla
1
2
3
4
5
Foglio elettronico Programma di videoscrittura
Clipboard (buffer)
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
TecnologiecostruTve
• SRAM(RAMsta_che):– Cos_eleva_– TempidiaccessoridoT– Normalmenteusateperlamemoriacache
• DRAM(RAMdinamiche):– TempidiaccessopiùdellaSRAM(40-60nanosecondi)– Normalmenteusateperlamemoriaprincipale– SDRAM:DRAMsincrono,unclock(chehaunafrequenzamisurata
inMHz)sincronizzal’accessoallamemoria– DDR:DoubleDataRate,raddoppialavelocitàditrasferimentodi
da_tralamemoriaeilprocessore• VRAM(RAMvideo):usateperlages_onedelleimmagini
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Busesterno
• Busesterno:perme/elacomunicazionetrailprocessoreeglialtricomponen_delcomputer
CPU RAM Interfaccia
dati indirizzi
controllo
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Busesterno
Unità di controllo
Unità aritmetico logica
REGISTRI Bus Interno
…
… 1000 LOAD 4809 R2 1001 LOAD 3568 R1 1002 ADD R1 R2 1003 STORE R1 3568 1004 GOTO 1001 … 3568 25 … 4809 30 … Interfaccia
CPU RAM
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Componen_principalidiuncomputer
Unità centrale Processore
Memoria secondaria
Memoria principale
Periferiche del calcolatore
Dispositivi di input/output
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Memoriasecondaria
• Lamemoriaprincipalenonbasta(èvola_le,costosa)
• Ingradodimemorizzareiprogrammieida_inmodopermanente
• Èmenocostosachelamemoriaprincipale:ledimensionidellamemoriasecondariasonodisolitomoltomaggioridiquelledellamemoriaprincipale
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Memoriasecondaria
• Isuppor_dimemoriasecondariasonopiùlen6rispe/oallamemoriaprincipale(presenzadidisposi_vimeccanici)
• NontuTisuppor_dimemoriasecondariaperme/onol’accessodireFoaida_– Alcuniperme/onosolounaccessosequenziale(peresempio,nastrimagne_ci)
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Ricordiamo:caricamentodelprogramma
• All’aumentaredellacapacitàdimemoriadimassa,aumenteràilnumerodiprogrammiedocumen_chepoteteconservarenelvostrocomputer
• Quandosi“lancia”unprogrammaquestovienecopiatodallamemoriasecondaria(disolitounharddisk)nellamemoriaprincipale
• Questaoperazionesichiamacaricamentodelprogrammaevieneeseguitadalsistemaopera_vo
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Caricamentodiunprogramma
• Iprogrammieida_risiedononelmemoriasecondaria• Peressereesegui_(iprogrammi)eusa_(ida_)vengonocopia_nella
memoriaprincipale• Ilprocessoreèingradodieseguireleistruzionidicuisonocompos_i
programmi
Processore
Memoria secondaria
Memoria principale
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Memoriasecondaria
• Lamemoriasecondariadeveaverecapacitàdimemorizzazionepermanenteequindiperlasuasiu_lizzanoprincipalmentetecnologiebasate:– sulmagne_smo(tecnologiamagne6ca)
• dischimagne_ci(harddiskefloppydisk)• nastrimagne_ci
– sull’usodeiraggilaser(tecnologiao8ca)• dischioTci(CD-ROM,DVD)
– sullamemoriaflash(memoriaele/ronicaallostatosolido)• SolidStateDrive(SSD)• USBmemorycard
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Idischimagne_ci
• Idischimagne<ci:sonoisuppor_dimemoriapiùdiffusi
• Nelcorsodelleoperazioni:– Idischivengonomantenu_inrotazioneavelocitàcostante
– Leinformazionivengonole/eescri/edates_nemagne_che
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Idischimagne_ci
• Idischisonosuddivisiintracceconcentricheese/ori,ognise/oreèunafe/adidisco– Ise/orisuddividonoognitracciainporzionide/eblocchi
Testina Traccia Blocco
Settore
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Idischimagne_ci
piatto testina
briaccio
piatti testine
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Idischimagne_ci
• Harddisk(discorigido/fisso):sonodeidischichevengonou_lizza_comesupportodimemoriasecondariafissoall’internodelcomputer– daalcuniGBdimemoria
(500GB)adalcuniTB(4TB)epiù
– Circa5000–10.000girialminuto
• Floppy disk (dischetti flessibili): sono supporti rimovibili – Un solo disco, da 3,5 pollici di diametro, capacità 1,44 MB – Circa 300 giri al minuto
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
LamemoriaoTca
• Usailraggiolaseresfru/alariflessionedellaluce– Ilraggiolaservieneriflessoinmododiversodasuperficidiverse,e
sipuòpensarediu_lizzaredellesuperficicondeipiccolissimiforellini• Ogniunitàdisuperficiepuòessereforataononforata• L’informazionevienele/aguardandolariflessionedelraggiolaser
0 1 0 1
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
LamemoriaoTca
0 1 0 0 1 0 1 0 1
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
IdischioTci
• CD:– CD-ROM(CD-ROMovveroCompactDiscReadOnlyMemory):consentonosolamenteoperazionidile/ura• Poichélascri/uraèun’operazionecherichiededellemodifichefisichedeldisco
• Vengonousa_solitamenteperladistribuzionedeiprogrammiecomearchividiinformazionichenondevonoesseremodificate
– CD-R:possonoesserescrivibileunasolavolta– CD-RW:riscrivibili;basa_supiùstra_dimateriale
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
IdischioTci
• DVD(DigitalVersa_leDisc):piùcapaceevelocedelnormaliCD– Sviluppa_perleimmaginidi“standard”TV(a768×576pixel)
– DVDadoppiostrato:unstratoso/ol’altro;ilprimostratoèrealizzatoinmaterialesemi-trasparen_
• Blu-RayeHD-DVD:sviluppa_perleimmaginidigitalidialtarisoluzione(a1920x1080pixel)
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
SolidStateDrive
• SSD:suppor_didimensionisimiliagliharddisk(da64GBa1TBepiù)mabasa_sucircui_dimemoriariscrivibilenonvola_le(flashmemory)
• sullostessoprincipiosonobasa_chiaviUSB,memorycard,compactflash,memorypen,memorys_ck,USBflashdrive,USBs_ck,…(2GB-64GB)
• USBflashdrive,USBs_ck:– u_lizzabilesulleporteUSBdiunpersonalcomputer– piùvelocedeifloppydisk,efacilmentetrasportabili– ancheusa_neglieBookreadersele/oriMP3
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Unitàdimisura
• ChiaviUSB/USBflashdrive:2GB-64GB• Harddisk:500GB-4TB• SSD:64GB-1TB• DVD:da4.7finoa17GBdimemoria• Nastrimagne_ci,usa_soloperfunzionidibackup
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Componen_principalidiuncomputer
Unità centrale Processore
Memoria secondaria
Memoria principale
Periferiche del calcolatore
Dispositivi di input/output
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Idisposi_vidiinput/output
• InterazioneUomo-Macchina• Basatasuidisposi_vidiI/O• Lalorofunzioneprimariaè
quelladiconsen_re…– l’immissionedeida_all’interno
delcomputer(input)o– l’uscitadeida_dalcomputer
(output)
• Interfacciauomo/macchina– perme/elacomunicazionetra
l'essereumanoeilcomputer
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Idisposi_vidiinput/output
• Sicolleganoalleportedelcomputer– Adaltolivelloleportesonole“prese”cuisiconne/onoidisposi_vi
– Neesistonodi_pidiversiasecondadel_podicollegamentoedellavelocitàditrasmissione(esempio:portaUSB,porta1394)
USB
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Idisposi_vidiinput/output
• Leportefannopartedischede,chesonodisposi_viinternoalcase(invulcro)delcomputer,echesonoconnessedire/amentealbus
• Insieme,leporteeleschedediinput/outputrealizzanol’interfacciatrailbusel’esterno(inquestocasol'interfaccianonètraessereumanoecomputer!)
CPU RAM scheda
dati indirizzi
controllo
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Idisposi_vidiinput/output
• Input:– Tas_era– Mouse(ealtristrumen_
dipuntamento)– Scanner– Microfono– Macchinefotografiae
telecameradigitale– Le/oridicodiciabarre
• Output:– Monitor– Stampante– Casseacus_che
• Input/output: – Touchscreen – Modem
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Idisposi_vidiinput
• Latas<era:ilprincipalestrumentodiinput– Ognivoltachel’utentedigitauntasto,latas_era“avverte”ilprocessorecheuncara/ereèdisponibile
– Nonhacapacitàdielaborazione– Undisposi_vodiinputcieco,nelsensochel’utentenonpuòvedereida_immessi• Latas_eraèu_lizzatainsiemeadundisposi_vodioutputsucuivengonovisualizzateleinformazionifornitetramitetas_era
• Latas_eraeildisposi_vodioutputnonsonodire/amentecollega_traloro
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Idisposi_vidiinput
• Ilmouse:undisposi_vodipuntamento– Unafreccia(ounaltrosimbolo)indicalaposizionedelmousesulvideoelospostamentodelmousesultavolovienecomunicatoalprocessore,cheproducelospostamentocorrispondentedellafreccia(/simbolo)sulvideo
– Unavoltaraggiuntalaposizionedesiderata,premendounodeipulsan_delmousesigeneraunsegnaleininputchepuòcorrispondereadiversefunzioni
– Comelatas_era:è“cieco”,nonhacapacitadielaborazione
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Idisposi_vidioutput
• Ilmonitor:visualizzaida_chel’utenteinserisceininputeirisulta_delleelaborazionidelcalcolatore– Unmonitorpuòesserevistocomeunamatricedipun_(pixel)illumina_condiversaintensità
– Ladimensionedelmonitorvienemisuratainpollici(lunghezzadelladiagonaledelvideo)• Porta_le:12ai15pollici• Desktop:15ai17pollici• Professionali:17ai21pollici
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Idisposi_vidioutput
• Schedavideo:– Schedacheconverteleinformazionidioutputdelprocessorein
unsegnalevideochevieneinviatotramiteuncavoalmonitor– L’immaginechevediamosulmonitor(opportunamentecodificata)
vienememorizzatainunamemoriaspecializzatade/amemoriavideo(VRAM)(risiedesullaschedavideo)
– Esistonoschedevideoconaccelerazione2Doppure3D:hannolacapacitàdielaborazione
questeslidesonostatescri/edaJ.Sproton:h/p://www.di.unito.it/~sproston/
Idisposi_vidiinput/output
• Schedaaudio:– Schedacheconverteunasegnaleaudiodigitaleinunsegnale
audioanalogico,riprodoTdaialtoparlan_delcomputer– Equipaggiatoconunconver_toredigitale-analogico– Normalmente,leschedeaudioanchepossonoricevereinput(per
esempio,daunmicrofono),chevienetrasformatoinunsegnaledigitale(laschedaèequipaggiatoconunconver_toreanalogico-digitale)
• Touchscreen:– L’utenteinteragisceconilcomputertoccandoloschermo
(smartphone,tablet)