Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Informatica appunti corso base, Sintesi del corso di Elementi di Informatica

Dedizione di informatica, struttura del calcolatore con particolare interesse per la Cpu e la sua evoluzione e per le memorie. Fenomeni informatici, dispostivi input e output nello specifico.

Tipologia: Sintesi del corso

2020/2021

Caricato il 17/01/2021

daniela-nicolosi-2
daniela-nicolosi-2 🇮🇹

4.3

(3)

9 documenti

1 / 34

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
(Materiali usati: appunti e slide del corso)
L’informatica non è altro che una scienza che si occupa di tutti i dati che
possono essere elaborati automaticamente per ottenere un risultato. Di
elaborare questi dati si occupano i calcolatori o elaboratori elettronici (i
computer-smartphone-tablet- calcolatrice) che eseguono delle operazioni
su dati forniti in put ( dati in ingresso) che vengono elaborati per ottenere
dei risultati in output (dati in uscita). Per ottenere un output i calcolatori
devono seguire delle sequenze di istruzioni, queste istruzioni vengono
scritte dai programmatori che le scrivono sotto forma di linee di codici
basati su specifici linguaggi di programmazione. L’insieme di queste
istruzioni prende il nome di programma.
Il programmatore di solito scrive le istruzioni in un linguaggio chiamato
“linguaggio ad alto livello” che è un linguaggio comodo per noi ( esempi
di tale linguaggio: Java - c - cc+ - Pascal – Visual Basic ecc...) mentre il
calcolatore utilizza il linguaggio macchina ed è quindi necessario tradurre
le nostre istruzioni dal linguaggio ad alto livello a quella macchina (ES: se
noi disegniamo un triangolo sappiamo il suo significato. Poiché abbiamo
studiato geometria ma per un computer quel disegno non ha alcun
significato quindi dobbiamo convertirlo in un linguaggio a esso
comprensibile)
Bisogna fare attenzione perché non è solo importante dare una sequenza di
istruzioni ma anche come e in che ordine vengono eseguite in modo tale da
avere il giusto output (concetto utile per gli algoritmi)
Un’altra cosa importante da conoscere è che il calcolatore utilizza il
sistema di numerazione binaria. Poiché conosce solo due stati acceso e
spento e per ciò utilizza solo due simboli (0 – 1 )
mentre noi poiché abbiamo 10 dita utilizziamo il sistema di numerazione
decimale con 10 simboli (i numeri da 0 a 9 )
si può passare da un sistema a un altro.
Il calcolatore è in grado di funzionare e svolgere determinati compiti
poiché monta un software.
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22

Anteprima parziale del testo

Scarica Informatica appunti corso base e più Sintesi del corso in PDF di Elementi di Informatica solo su Docsity!

(Materiali usati: appunti e slide del corso) L’informatica non è altro che una scienza che si occupa di tutti i dati che possono essere elaborati automaticamente per ottenere un risultato. Di elaborare questi dati si occupano i calcolatori o elaboratori elettronici (i computer-smartphone-tablet- calcolatrice) che eseguono delle operazioni su dati forniti in put ( dati in ingresso) che vengono elaborati per ottenere dei risultati in output (dati in uscita). Per ottenere un output i calcolatori devono seguire delle sequenze di istruzioni, queste istruzioni vengono scritte dai programmatori che le scrivono sotto forma di linee di codici basati su specifici linguaggi di programmazione. L’insieme di queste istruzioni prende il nome di programma. Il programmatore di solito scrive le istruzioni in un linguaggio chiamato “linguaggio ad alto livello” che è un linguaggio comodo per noi ( esempi di tale linguaggio: Java - c - cc+ - Pascal – Visual Basic ecc...) mentre il calcolatore utilizza il linguaggio macchina ed è quindi necessario tradurre le nostre istruzioni dal linguaggio ad alto livello a quella macchina (ES: se noi disegniamo un triangolo sappiamo il suo significato. Poiché abbiamo studiato geometria ma per un computer quel disegno non ha alcun significato quindi dobbiamo convertirlo in un linguaggio a esso comprensibile) Bisogna fare attenzione perché non è solo importante dare una sequenza di istruzioni ma anche come e in che ordine vengono eseguite in modo tale da avere il giusto output (concetto utile per gli algoritmi) Un’altra cosa importante da conoscere è che il calcolatore utilizza il sistema di numerazione binaria. Poiché conosce solo due stati acceso e spento e per ciò utilizza solo due simboli (0 – 1 ) mentre noi poiché abbiamo 10 dita utilizziamo il sistema di numerazione decimale con 10 simboli (i numeri da 0 a 9 ) si può passare da un sistema a un altro. Il calcolatore è in grado di funzionare e svolgere determinati compiti poiché monta un software.

Il software è un programma o una serie di programmi che possono essere eseguiti su un calcolatore e si divide in due tipologie: SOFTWARE DI BASE: Sono necessari per il funzionamento del computer (ES: il sistema operativo) SOFTWARE APPLICATIVI: Sono software installati su quello di base che vengono installati per soddisfare alcune nostre esigenze che i software di base non soddisfano, non sono indispensabili per interagire con il calcolatore ma se installati aggiungono delle funzionalità. (ES: photoshop, animate) Altri software di base sono ad esempio il FIRMWARE: il firmware è un software registrato su una memoria particolare o periferica che comprende le istruzioni basilari per la vita della memoria o periferica stessa. L’esempio più noto è il bios che il computer esegue al suo avvio. IL BIOS: Ha tre funzionalità

  1. controllo del hardware
  2. carica in memoria del sistema operativo
  3. ci permette di poter avere un’interfaccia per dialogare con le periferiche il bios viene salvato su una memoria particolare chiamata EPROM (è una memoria di sola lettura programmabile e cancellabile, è una memoria informatica di sola lettura cancellabile tramite raggi ultravioletti ) generalmente il firmware bios viene aggiornato quando colleghiamo schede o periferiche particolari o la scheda madre è troppo vecchia. Generalmente è il produttore che deve fornire il programma per aggiornarlo. HARDWARE: é l’insieme di tutto ciò che in un computer si riconosce fisicamente. Quindi le periferiche, le parti elettriche, meccaniche, elettroniche ed ottiche. Si divide in hardware interno ed esterno

contemporaneamente è limitato dalla quantità di memoria di sistema occupata da questi programmi) è importante dire che non si può lasciare che un applicativo abbia il pieno controllo della cpu perché si potrebbe bloccare e non si sa quanto ci vorrebbe per terminarlo per questo non si aspetta che finisca prima l’applicativo A e poi il B e poi ancora il C ma si esegue prima uno e poi si passa all’altro senza aspettare che finisca il primo questo vale sia per i processori con un singolo core che con più core MULTITHREADING: è il supporto hardware da parte del processore di eseguire più thread i thread sono parti del programma che funzionano all’interno dello stesso e utilizzano le risorse del programma. Un processo con un solo thread è indicato singolo thread un processo con più thread multithreading singolo se si blocca un thread non si blocca l’applicativo ad esempio si può bloccare il cursore di word che ci indica che stiamo scrivendo ma non si blocca tutto word insomma i thread sono programmi che gestiscono parti del programma principale ogni thread gestisce una parte diversa del programma ES: in word un thread serve per visualizzare la grafica un altro per eseguire il controllo ortografico e grammaticale ecc..

Anche il sistema operativo ha dei thread

Partendo dal presupposto che ogni sistema operativo ha una interfaccia grafica (acronimo GUI:Graphical User Interface) e testuale se noi stiamo svolgendo un processo lungo non possiamo interagire con l’interfaccia grafica finché questo comando non termina la sua esecuzione per interagirvi bisogna assegnare questo comando a un altro thread separato.

Quindi nel sistema operativo per un singolo processo utilizziamo più thread per più funzionalità Vantaggi del multithreading:

  1. reattività: appunto si può eseguire un programma anche se parte di esso è bloccata o sta eseguendo un’operazione lunga
  2. condivisione delle risorse: i thread condividono la memoria e le risorse del processo a cui appartengono
  3. utilizzo dell’architettura multiprocessore: ogni thread può essere eseguito in parallelo su un diverso processore differenze multitasking e multithreading nel sistema operativo: 1)multitasking si eseguono più programmi allo stesso tempo nel multithreading si eseguono più thread dello stesso processo o di processi diversi
  4. la cpu deve passare tra più programmi in modo che appaia che più programmi sono in esecuzione contemporaneamente. La cpu deve passare tra più thread per far sembrare che più thread siano in esecuzione contemporaneamente
  5. nel multitasking si usa memoria e risorse separate per ogni programma nei thread appartenenti allo stesso processo si condivide la stessa memoria e risorse del processo CURIOSITA’: ogni applicativo ha un pid cioè un identificativo del processo i thread condividono lo stesso pid dell’applicativo MULTIUTENZA: modalità grazie alla quale più utenti possono accedere a delle informazioni comuni (ES: condividere file o periferiche) è legato anche a un discorso di privilegi, alcuni utenti per esempio possono accedere solo ad alcuni file o non possono modificarli. In questo caso entrano in gioco degli algoritmi particolari chiamati semafori la multi utenza ha comunque diverse sfaccettature
  1. pc (personal computer) elaboratori di uso generarale dal costo medio basso spesso non spostabili 6)Laptop: elaboratore leggero e spostabile in pratica è detto pc portatile
  2. pda (personal digital assistant): sono i vecchi palmari o agende multimediali sono stati sostituiti dagli smartphone e dai tablet. Curiosità: il primo cellulare ben riuscito e commercializzabile fu un motorola che uscì nel 83 negli stati uniti. 10 anni prima però fu svillupato un cellulare con grandi problemi tecnici. La batteria durava solo mezz’ora e impiegava 10 ore a ricaricarsi inoltre il cellulare aveva delle dimensioni troppo ingombranti lo smartphone è stato visto come unione tra cellulari e palmari poiché inizialmente gli smartphone volevano essere sempre più piccoli ora è visto come l’unione di palmari e cellulari poiché gli smartphone di oggi tendono ad essere sempre più grandi LA CPU (unità centrale di elaborazione) : è costituita dal microprocessore da cui dipendono le prestazioni del pc. Ha il compito di eseguire i programmi e gestire gli altri componenti del pc. Quindi ha il compito di eseguire le istruzioni che noi diamo in linguaggio macchina. Il processore ha i core core uguale cervelli più cervelli più prestazioni il processore esegue il programma cioè le istruzioni che sono prelevate da una memoria che è esterna alla cpu la seguenza di operazioni attraverso cui elaboriamo una singola istruzione prende il nome di INSTRUCTION CYCLE ed è suddivido in due cicli: Fetch cycle: la cpu legge dalla memoria l’istruzione che deve essere eseguita

excution cycle: decodifico l’istruzione- lettura degli operandi dell’istruzione – esecuzione dell’istruzione Ogni processore è formato da: 1)Alu: Fa i calcoli aritmetico logici

  1. Registro: sono piccole porzioni di memoria all’interno del processore e sono molto veloci. Ci sono registri che assolvono un ruolo molto importante. Più veloci della memoria principale. Un registro è in grado di contenere un numero di bit diverso a seconda del tipo di cpu. Ci sono registri a 8,16,32,64 bit. Il registro più importante è il program counter che indica la prossima istruzione da eseguire. E l’instruction register è il registro che memorizza l’istruzione che si sta per eseguire.
  2. unità di controllo ( control unit ) componente che gestisce quale istruzione deve essere eseguita. Le istruzioni e la loro complessità varia asseconda dell’architettura della cpu ESECUZIONE DI UNA ISTRUZIONE: Per prima cosa il Sistema Operativo, dopo aver ricevuto comando dall'esterno (come un click su un'icona, o Enter, ecc.), avvia l'eseguibile che inserisce all'interno del PC (Program Counter) a CPU carica l'istruzione dalla memoria principale mediante Data Bus nella Memory Data Register (MDR). Il valore dalla MDR è poi depositato nell'Instruction Register (IR), un circuito che trattiene l'istruzione temporaneamente così che possa essere decodificata ed eseguita. a CPU carica l'istruzione dalla memoria principale mediante Data Bus nella Memory Data Register (MDR). Il valore dalla MDR è poi depositato

EVOLUZIONE CPU:

man mano che le cpu si evolvevano aumentavano i transistor e i MIPS. Transistor: sono i componenti elettronici all’interno della cpu MIPS: milioni istruzioni per secondo. Indicano il numero di istruzioni al secondo che il processore è in grado di eseguire altre sigle di cose che sono migliorate: micron: è un'unità di misura derivata del Sistema Internazionale. Corrisponde a un milionesimo di metro. Un micrometro equivale a 1 000 nanometri (nm) data width: è La larghezza di banda ed indica la differenza tra la frequenza massima e quella minima gestite da un canale, da una unità ecc. clock speed: La velocità di clock misura il numero di cicli eseguiti dalla CPU ogni secondo, misurati in GHz (gigahertz). ... La frequenza definisce il numero di operazioni svolte in un determinato periodo di tempo, come sopra indicato. Una CPU con una velocità di clock di 3,2 GHz esegue 3,2 miliardi di cicli al secondo. In origine le cpu avevano un singolo core ma dal 2005 grazie alla miniaturizzazione dei transistor avanzo lo spazio per aggiungere un altro core nascono così le cpu multi core prima su pc e negli anni a venire su smartphone e tablet. Sono migliorati:

  1. il numero di core: più core abbiamo maggiori sono le prestazioni. Sugli I7 e I5 abbiamo 4 core sugli I3 e i pentium abbiamo due core

ma gli I7 e I3 hanno l’hyper threading che non è presente su I5 e i pentium.

  1. Hyper threading: è una tecnologia che raddoppia ma solo virtualmente il numero di core quindi la potenza di calcolo non è raddoppiata ma aumenta solo del 10% circa è utile quando è rischiesto un uso elevato di thread ( ES: macchine virtuali ed elaborazioni video )
  2. Turbo boost: aumenta la velocità del processore per operazioni poche complicate. Questo perché se devo eseguire una operazione poco complessa non uso tutti e 4 i core ma aumento le prestazioni del singolo core utilizzandone 4 direttamente per operazioni complesse. le unità di misura per valutare le prestazioni di un processore sono
  3. megahertz (MHz): non è però un parametro molto significativo in quando indica solo il ritmo interno di lavoro del processore e non specifica quanti cicli occorrono per eseguire le varie istruzioni
  4. MIPS: anche questo parametro non è molto attendibile in quanro non specifica il tipo di istruzioni che vengono eseguite il tempo impiegato infatti per eseguire le istruzioni dipende dalle stesse. Ci vuole più tempo per fare un addizione piuttosto che una divisione ad esempio per avere un’idea più chiara e capire quale sistema è più potente eseguiamo un benchmark (banco di lavoro). Cioè facciamo una serie di test del software. Vi è in realtà una seconda definizione, relativa ai test di particolari software: in questo

avviare quella successiva. È anche possibile avere più di un pipelining e in questo caso vengono lette due istruzioni alla volta che vengono eseguite su pipeline diverse anche qui bisogna però gestire eventuali conflitti tra le istruzioni. BUS: è un canale che permette a periferiche e componenti di dialogare tra loro. Esistono diversi tipi di bus che vengono classificati in base al tipo di dati che trasportano. (bus dati – Bus di indirizzi – bus di controllo) abbiamo i bus paralleli ( ISA – PCI AGP) E i bus seriali (SATA – PCI EXSPRESS ) SCHEDA MADRE: è la scheda elettronica principale che raccoglie in sé tutta la circuiteria elettronica e i collegamenti tra i vari componenti interni del pc. Comprende quindi anche i bus di espansione attraverso cui questi componenti hardware sono collegati e le interfacce verso le periferiche esterne. Si occupa della trasmissione corretta di molte centinaia di segnali diversi tra processore e periferiche interne e viceversa. La scheda madre ha diversi connettori: sata – pata – agp pci- pcle INTERFACCE: nel sistema binario ogni singolo simbolo, cioè numero, prende il nome di bit. Quindi lo 0 e l’1 sono dei bit un Byte è l’insieme di 8 bit.

Fatta questa premessa possiamo dire di avere diversi tipi di interfacce.

  1. Interfaccia seriale: si trasferiva un bit alla volta
  2. interfaccia parallela: si trasferiva un byte alla volta ( vengono trasmessi contemporaneamente in parallelo, su otto fili diversi, 8 bit)
  3. interfaccia usb (universal serial bus): la prima interfaccia usb trasferiva la versione 1.1 trasferiva 16000 bit al secondo. La versione 2.0 era 40 volte più veloce. Questo tipo di interfaccia consente di collegare più dispositivi a cascata e inoltre consente di collegare e configurare nuove periferiche. SI parla dunque di plug e play (o plug & play, dall'inglese che tradotto letteralmente significa "collega e usa"), in informatica è un termine che viene usato in diversi contesti con riferimento a tecnologie che possono essere messe in uso all'interno di un sistema hardware o/e software senza che l'utente del sistema conosca o metta in atto una specifica procedura di installazione o configurazione ad esempio il controller per il pc.
  4. interfaccia usb 3.1: è un nuovo standard introdotto nel
  1. Vi sono due generazioni la prima trasferisce ad una velocità di 5 gbps mentre la seconda generazione arriva a 10 gbps. Attenzione però è vero che è importante avere un interfaccia veloce ma bisogna sempre ricordare che in rete il trasferimento dati avviene alla velocità più bassa se io ho la fibra e l’altra persona 2 mega il trasferimento sarà a due mega al secondo.

condensatore che, tende a scaricarsi nel tempo e quindi deve essere continuamente rinfrescato. Cioè se il condensatore è carico deve essere ricaricato al massimo mentre se è scarico va lasciato così. Un tempo le RAM statiche erano relativamente frequenti come sostituti delle memorie FLASH. Infatti si riusciva a realizzare componenti che necessitavano di pochissima corrente per mantenere il contenuto in virtù del fatto che fossero statiche e quindi con una batteria tampone, mantenevano come una memoria FLASH il contenuto anche a sistema spento. Oggi sono usate solo per mantenere vecchi progetti e non ne userei per un progetto nuovo, anche considerando che non sono economiche.

  1. rom: memoria a sola lettura che contiene le informazioni generalmente per avviare il computer. È una memoria di tipo permanente, ovvero è il luogo dove noi salviamo i nostri dati. Es: ssd, disco rigido, eprom è una memoria informatica di sola lettura cancellabile tramite raggi ultravioletti, eeprom è un tipo di memoria non volatile, usata nei computer e altri dispositivi elettronici per memorizzare piccole quantità di dati che devono essere mantenuti quando viene tolta l'alimentazione elettrica. Ed è inoltre importante dire qualìè l’unità di misura della memoria. Il byte è l’unità di misura della memoria

il bit come unità di misura della trasmissione dell’informazione 8 bit pari a 1 BYTE (B) 1024 BYTE sono pari a 1 KILOBYTE (KB) 1024 KB sono pari a 1 MEGABYTE (MB) 1024 MB sono pari a 1 GIGABYTE (GB) 1024 GB sono pari a 1 TERABYTE (TB) possiamo ora immaginare la memoria come un enorme casellario con tante celle. Tutte le celle hanno la stessa dimensione ed i programmi più grandi occupano diverse celle. Tutte queste celle vengono caricate sulla ram ma non vengono salvate per salvarle bisogna riportarle alla rom, noi non possiamo scegliere quali celle utilizzare ma lo farà per noi il sistema operativo se noi cancelliamo un dato e svuotiamo il cestino ad esempio nell’immediato potremo riprenderci quel dato attraverso un applicativo che però dovrà essere istallato su un’altra memoria che non sia quella in cui dobbiamo riprendere il dato. Perchè se cancello il dato dico al sistema operativo che può riutilizzare quelle celle ma quelle celle non sono vuote il mio dato è lì ma non è visibile quindi se scarico un nuovo programma e quelle celle si riempiono io ho perso il dato che volevo recuperare e questa volta per sempre. Questo perché non posso scegliere in quali celle installare il programma. Se noi installiamo e disinstalliamo spesso programmi potrebbe succedere che i dati non si salvino più in celle continue ma discontinue ( solitamente i dati si salvano in celle continue) e questo ovviamente andrà poi a

2)DIMM: sono stati utilizzati per la prima volta sulle schede madre pentium. Possono essere installati anche in numero dispari e possono condividere due moduli che hanno capacità differenti. Per esempio posso installare un modulo da 32mb e una da 64 per avere una capacità di 96 mb prima non era possibile fare tutto ciò con i moduli SIMM. ESISTONO TANTI TIPI DI MEMORIE: dalla più veloce alla più lenta: 1(registri cpu) - 2( chache livello 1 – chache livello 2) – 3(ram fisica – memoria virtuale) 4) device di memorizzazione ( ram/ bios - drivers remov – network – hard drive) 5) device di imput ( tastiera- mouse- device removibili – device remoti – altri device – video camera scanner microfono ) il secondo e terzo gruppo sono aree di memorizzazione temporanea il terzo di memorizzazione permanente. ALTRA TABELLA: registri, cache, memoria principale (ram), memoria a stato solito ( ssd, i flash drive che sono le chiavette,), hard disk drive ( dischi magnetici), memorie ottiche (cd, DVD ) nastri magnetici Più scendiamo minore è la velocità ma maggiore è lo spazio di archiviazione.

  • Negli ultimi anni la memoria montata sopra i moduli DIMM è di tipo SDRAM che è molto più veloce ed affidabile in questi anni ad oltre sette anni dal lancio delle memorie ddr3 SDRAM sono state lanciate le memorie ddr4 che garantiscono prestazioni migliori con una migliore efficienza energetica. Un modulo ram ddr4 ha una frequenza di trasferimento di milioni di trasferimenti al secondo, danno la possibilità di compiere tarsferimenti simultaneamente su più canali. Richiedono 1,2 volt di corrente per funzionare contro i 1,5 volte delle ddr3 e hanno 288 pin e una maggiore densità di chip. CACHE: è una memoria piccola ma molto veloce, tengono una copia dei dati che usiamo più frequentemente così possiamo utilizzarli più velocemente, ogni processore quad core presenta una memoria cache di primo e secondo livello e esiste anche una cache di terzo livello disponibile per tutti i core questa cache di terzo livello è anche in grado di scambiare dati su i quali i core potrebbero lavorare in parallelo. Memorie di massa: sono memorie non volatili cioè permanenti, hanno un costo minore rispetto alla memoria principale ma hanno dei tempi di attesa più lunghi si passa dai nanosecondi ai millisecondi. Esempi di memoria di massa sono gli hard disk le ssd le chiavette i nastri magnetici o i floppy disk i cd e i dvd