Lezione 2 RAPPRESENTAZIONE

Transcript

Lezione 2 RAPPRESENTAZIONE
Lezione 2
[email protected]
RAPPRESENTAZIONE INTERNA DEI DATI NEL COMPUTER
La logica del PC si basa sul sistema binario
SISTEMI NUMERICI arabo (posizionale):
DECIMALE si basa su 10 simboli diversi: 0,1,2,3,4,5,6,7,8,9 ( cifre decimali) che hanno
importanza diversa a seconda della posizione che occupano
1351 = 1*103 + 3*102 + 5*101 + 1*100
La logica del Pc è una logica binaria con due sole possibilità. Le operazione anche le più
complesse vengono svolte realizzando a grande velocità una serie di scelte on/off.
Un politico: se dice SI è FORSE, se dice FORSE è NO, se dice NO non è un politico
Una donna: se dice NO è forse, se dice FORSE è SI, se dice SI non è una donna
Un computer: se dice SI è SI, se dice NO è NO, se dice FORSE non è un computer
BINARIO si basa su 2 simboli diversi: 0,1 che hanno importanza diversa a seconda della
posizione che occupano
Il sistema Binario viene usato all’interno del computer per:
SEMPLICITÀ TECNOLOGICA
è più facile realizzare due livelli di tensione che dieci !
E SEMPLICITA’ LOGICA
il software "ragiona" meglio con concetti di Vero-Falso
Algebra Booleana: mai usata ma che ha trovato applicazioni con lo sviluppo dei
computer; rappresenta il substrato matematico indispensabile.
Nella trasmissione di un segnale (informazione) il bit (b), è la cifra elementare che può
assumere solo due valori: 1 e 0
bit deriva da BInary digiT (testualmente cifra del sistema binario )
1 bit
[]
2 bit
[] []
n bit [ ] ….[ ]
2 stati: 0
1
4 stati: 0 0
01
10
11
2 n stati: 0...000
0...001
0...010
0...011
0...100
0...001
:
1...111
Nel sistema decimale spostare a SX significa moltiplicare per 10
nel sistema binario spostare a SX significa moltiplicare per 2
1 0 1 1 0 1 0 1
1*27 + 0*26 + 1*25 + 1*24 + 0*23 + 1*22 + 0*21 + 1*20 =181
Convertire in binario il numero 150
2^0
2^1
2^2
2^3
2^4
2^5
2^6
2^7
8
9
10
1
2
4
8
16
32
64
128
256
512
1024
0
1
1
0
1
0
0
1
2-2=0
6-4=2
22-16=6
150- 128=22
10010110
ESADECIMALE si basa su 16 simboli diversi: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
Equivalenza tra basi diverse:
Decimale
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Exa
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
Binario
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
Da Exa a Decimale
Esempio: 28E = 2 exa 8exa Eexa
2 exa *162 + 8 exa *161 + E*160 = 210*162 + 810*161 + 1410*160 = 2*256 + 8*16 + 14 = 654
La cifra binaria viene raggruppata in gruppi di 4 bit
1100 1110 1001 =
(1*23+1*22+0*21+0*20)*28 + (1*23+1*22+1*21+0*20)*24 + (1*23+0*22+0*21+1*20)*20 =
equivale alla decimale:
1210*162 + 1410*161 + 910*160 = 3305
e alla Exadecimale:
CE916
Con un numero b di bit a disposizione posso trasmettere N = 2b segnali diversi ( N
combinazioni di 0 e 1)
N = 2b
b = log 2 N
Per trasmettere un segnale, fra 8 diversi segnali disponibili, ho bisogno di
log p m
log 2 8 = 3 bit
log n m =
log p n
Scelta nel seguente menu:
Quanti bit sono necessari per trasmettere una lettera alfabeto italiano?
log10 21
b = log 2 21 =
= 4, 39 bit
log10 2
---------------------------------------------Le sequenze di bit ( b ) possono essere raggruppate in gruppi di 4, 8, 16 o più bit.
Convenzionalmente 8 bit costituiscono 1 Byte. (B)
Con 8 bit si possono ottenere 28 = 256 combinazioni diverse (segnali)
CODICE ASCII è una tabella che associa ad ognuna di queste combinazioni un
Carattere Alfanumerico.
Distinzione tra CARATTERE e NUMERO:
CARATTERI rappresentano le cifre alfanumeriche (simboli) (tabella ASCII)
NUMERI
sono le cifre numeriche
la cifra binaria 111000 ( corrisponde al NUMERO decimale 56), nella tabella ASCII
equivale al CARATTERE ALFANUMERICO-Simbolo ‘8’
i NUMERI possono essere rappresentati in modi diversi. Due esempi:
INTERI la cifra binaria rappresenta il numero.
FLOATING (virgola mobile o ‘fluttuante’) la sequenza di bit può essere divisa in tre gruppi
che rappresentano la parte intera del numero, la parte decimale e l’esponente da dare
ad una base di dieci.
PC
INPUT
Case; Chassis; Cabinet
potenza
OUTPUT
MEMORIA
contenitore con alimentatore
CPU
cc 12-5-3,3 V. Attenzione alla
Motherboard; Mainboard; Scheda Madre Scheda che serve da supporto per accogliere
altri componenti inseriti in “zoccoli” oppure in “slot” (connettori).
Componenti tipici sono: RAM; CPU; Scheda Video; Schede per le porte
.
Il PC è modulare e permette di adattare in modo semplice l’hardware alle esigenze
Scheda Video ( scheda VGA) converte i dati digitali del PC nei segnali analogici necessari
al monitor per visualizzare l’ambiente grafico del S.O. e i risultati delle elaborazioni.
STRUTTURA DI UNA CPU ( Central Processing Unit) :
La CPU ( Microprocessore) ( inserita in un Socket) esegue le istruzioni logicomatematiche previste dal programma memorizzato nella RAM (Memoria Centrale) in
forma di sequenze binarie (linguaggio macchina)
Costituita da:
1. Unità di controllo (CU)
2. Unità aritmetico logica (ALU)
3.
Registri
UNITÀ DI CONTROLLO (CU) Coordina le attività svolte dalle varie unità della CPU
durante l’esecuzione dei programmi e attraverso segnali di controllo gestisce il flusso
dei dati tra Memoria, Registri, ALU, BUS. In dettaglio:
Legge i dati e le istruzioni dei programmi presenti in memoria, li mette in opportuni
Registri, li decodifica ed decide ( con comandi alla ALU, alla Memoria o alle Periferiche)
chi li esegue e quando.
MAR (Memory Access Register-registro di indirizzamento della memoria)
MDR (Memory Data Register -registro dati di memoria)
UNITÀ ARITMETIC LOGIC (ALU) Effettua operazioni di tipo aritmetico e/o logico sui
dati forniti in ingresso.
•
Nel PC le operazioni svolte dalla CPU sono numerose e semplici e fatte
velocemente.
Per sincronizzare i diversi passi di una istruzione o l’accesso alle memorie occorre avere
un riferimento temporale: CLOCK (da 25 MHz nel 1988; 800 MHz nel 2000; 1,8 GHZ nel
2004).
Clock = FSB X Moltiplicatore
FSB ( Frequenza del Bus) Frequenza di lavoro della scheda madre. Frequenza delle
operazioni più lente.
La capacità di elaborazione di un PC o potenza di calcolo di una CPU si misura in MIPS (
milioni di istruzioni al secondo).
Le famiglie dei processori sono due
INTEL
AMD
I microprocessori INTEL dall'8088 all'80486 sono evoluti aumentando il numero di bit
trattati in una singola operazione. Si basano su architettura CISC ( Complex Instruction
Set Computing).
Utilizza comandi complessi che incorporano istruzioni semplici che richiedono diversi cicli
di clock e sono realizzate con programmi elementari (FIRMWARE).
Il Pentium III e Pentium IV adotta architettura RISC ( Reduced Instruction Set
Computing) che usa istruzioni semplici ma più numerose impiega un tempo minore del
CISC. Per utilizzare la struttura RISC bisogna avere un Sistema Operativo e programmi
scritti appositamente.
Altri fattori che caratterizzano un PC sono:
• Capacità della memoria di lavoro (RAM)
• Capacità memorie di massa (HD)
• Acceleratori grafici o coprocessori ( processori che si affiancano alla CPU per
svolgere operazioni molto complesse legate alla visualizzazione grafica 3D).
Ci sono programmi specifici ( benchmark) che valutano le prestazioni dei PC nel suo
complesso (benchmark applicativi) o dei singoli componenti (benchmark sintetici)
BUS: Connessioni situate generalmente sulla scheda madre che permettono il
collegamento e il trasferimento dati tra le diverse unità dell’elaboratore.
Bus dati (trasferisce i dati tra CPU e Memoria e/o periferiche) Fanno parte del Bus anche
microchip (I/O Controller) e gli alloggiamenti (Slot) per le schede di espansione.
Es: Il Bus Locale VESA (Video Electronics Standards Associations) trasferisce 107 MB/sec
Bus Locale PCI della Intel trasferisce 132 MB/sec ed incorpora il Plug and Play
Bus indirizzi (identifica la posizione delle celle di memoria su cui leggere/scrivere)
Bus di controllo (dove transitano i segnali di controllo per la gestione del flusso di dati e il
coordinamento delle unità
La MOTHERBOARD può interfacciarsi con l’esterno attraverso :
Le PORTE PARALLELE, SERIALI, SCSI, USB indicano tecnologie di interfaccia diverse
PORTA SERIALE (Modem, Keyboard). ( COM1, COM2) Generalmente rispetta lo standard
RS-232 ( maschio a 9 piedini)
PORTA PARALLELA (Stampante, Monitor) (connettore Centronics-Femmina 25 piedini)
Invia otto bit alla volta su otto fili paralleli. Inconveniente è la interferenza fra linee
(diafonia; crosstalk) che peggiora con la lunghezza dei cavi i quali quindi non possono
essere più lunghi di circa 3 m. ( LPT1; LPT2; USB; PS/2)
Gli HD sono connessi generalmente con connettori EIDE.
I connettori delle porte sono collegati a schede.
Scheda a 16 bit ISA o PCI (migliore). La scheda ISA (lndustry Standard Architecture)
trasmette i dati su 16 linee a 8 MB/sec. E' la scheda di espansione di uso generale che
non deve gestire grandi quantità di dati come le schede di controllo della memoria e la
scheda video. Es: Le Schede di rete che collegano fra loro PC (aula Informatica, Istituto),
sono normali schede di espansione di tipo ISA o PCI.
Il connettore del PC alla rete può essere BNC o UTP.
BNC ( come cavo coassiale per la TV), non consente una velocità di 100 Mbps però non
richiede la presenza di altri componenti di rete.
UTP ( simile all'attacco telefonico americano ) è collegato a un DOPPINO TELEFONICO
che è veloce ed affidabile. Questo attacco richiede nella rete la presenza di un HUB
(concentratore). Per operare a 100 Mbps si usa un HUB intelligente in grado di gestire più
traffico: SWITCH.
Un HUB a 5 porte a 10 Mbps costa 35-40 Euro.
PROGRAMMI:
Un programma consiste di una sequenza di istruzioni elementari predisposte in modo da
realizzare delle funzioni.
Il Computer ( CPU) esegue le istruzioni in Linguaggio Macchina.
I Programmi sono però scritti in LINGUAGGIO AD ALTO LIVELLO (HLL- High Level
Language) più vicino a quello dell’uomo (PROGRAMMA SORGENTE) che deve essere
quindi tradotto in linguaggio macchina (PROGRAMMA OGGETTO). (Assembler)
La traduzione viene fatta da un INTERPRETE o da un COMPILATORE.
INTERPRETE : legge una istruzione alla volta scritta la trasforma in linguaggio macchina
e la invia alla CPU.
COMPILATORE : prende in considerazione tutto il programma e traduce tutte le istruzioni
in linguaggio macchina. Se una istruzione in un programma viene usata 100 volte con
l’interprete viene tradotta 100 volte , mentre con il compilatore viene tradotta una volta.
Per l’uomo è molto scomodo comunicare con il PC utilizzando il linguaggio macchina.
Il Sistema Operativo ( DOS; Windows; Linus) si frappone come interfaccia fra il SW
applicativo, di cui controlla l’esecuzione, e l’HW di cui controlla il funzionamento.
Le procedure e funzionalità del sistema operativo sono caricate in RAM utilizzando le
istruzioni del BIOS dopo l’autodiagnosi e rimangono attive fino allo spegnimento del PC.
Il S.O. gestisce direttamente il funzionamento dell’HW e delle periferiche I/O e mette a
disposizione alcune funzionalità di base ( Notebock, Paint, utilities), gestisce il File Sistem
delle memorie, rileva gli errori.
I moderni S.O. sono multitasking perché consentono l’esecuzione di più programmi
applicativi contemporaneamente
Senza S.O. il PC non può funzionare. IL PC si avvia e poi segnala l’errore
Es: DOS (DISK OPERATING SYSTEM) determinava la logica con cui i dati erano
organizzati nei dischi affinché potessero facilmente essere raggiunti. Questa era la sua
principale funzione. ha la capacità di gestire direttamente una memoria RAM di 640 KB.
Sistema Operativo a linea di comando (Riga di caratteri in codice). Es: Copy; Del; Dir
Es: WINDOWS 2000, WINDOWS XP, LINUX Ha interfaccia utente grafica (GUI Graphic
User Interface).
Il S.O. è, a sua volta, suddiviso in :
KERNEL (o NUCLEO), è la parte del S.O. che comunica con l’hardware.
Gestisce la memoria e le periferiche: Regola l’accesso dei programmi alla RAM e alle
unità I/O. Organizza i file salvati in una struttura ad albero composta di Cartelle e
sottocartelle. File System
SHELL è INTERFACCIA UTENTE che si occupa di fornire un ambiente di lavoro "umano"
nel quale formulare richieste alla macchina e ricevere le risposte dalla stessa.
Es: SHELL è lo schermo nero del DOS, dove vengono visualizzati i comandi digitati e le
"risposte" ai comandi. Esempio di SHELL è GUI (Grafic User Interface) cioè le schermate
di WINDOWS.
Software Applicativo
Programmi dedicati a funzionalità specifiche ( Word; Excell; Antivirus, CAD, Ritocco
Fotografico)
Le modifiche al SW di modesta entità per correggere errori ( Bug) o per supportare nuovi
dispositivi HW si chiamano Patch o Service Patch .
Modifiche al SW per correggere errori e aggiungendo nuove funzionalità si chiamano
Release che hanno lo stesso Nome ma un diversoNumero:
Photoshop 7.0 Photoshop 7.01 Photoshop 7.1
Le figure professionali coinvolte nello sviluppo del SW sono:
Analista SW: Analizza il problema che dovrà essere risolto dal prodotto
Progettista SW: parte dal modello dell’analista e studia la reale fattibilità del prodotto e le
varie fasi di sviluppo.
Programmatore: realizza materialmente il progetto SW scrivendo il codice sorgente
CODICE
ASCII
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
☺
☻
♥
♦
♣
♠
•
◘
○
◙
♂
♀
♪
♫
☼
►
◄
↕
‼
¶
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
§
▬
↨
↑
↓
→
←
∟
↔
▲
▼
!
"
#
$
%
&
‘
(
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
101
102
e
f
121
122
y
z
141
142
ALT +
Numero
Tastierino
)
*
+
,
.
/
0
1
2
3
4
5
6
7
8
9
:
;
<
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
=
>
?
@
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
Q
R
S
T
U
V
W
X
Y
Z
[
\
]
^
_
`
a
b
c
d
ì
Ä
161
162
í
ó
181
182
Á
Â
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
{
|
}
~
¦
Ç
ü
è
â
ä
à
å
ç
ê
ë
è
ï
î
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
Å
È
æ
Æ
ô
ö
ò
û
ù
ÿ
Ö
Ü
ø
£
Ø
×
ƒ
á
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
+
¦
+
¤
ð
Ð
Ê
Ë
È
ı
Í
Î
Ï
┘
┌
█
▄
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
¦
Ì
▀
Ó
ß
Ô
Ò
õ
Õ
µ
þ
Þ
Ú
Û
Ù
ý
Ý
¯
´
-
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
±
=
¾
¶
§
÷
¸
°
¨
·
¹
³
²
■
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
ú
ñ
Ñ
ª
º
¿
®
¬
½
¼
¡
«
»
▓
▒
▓
│
┤
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
À
©
╣
║
╗
╝
¢
¥
┐
└
┴
┬
├
─
┼
ã
Ã
╚
Ā
ā
Ă
ă
Ą
Ogni insieme di dati per essere memorizzato in HD, Floppy, Cd-Rom deve essere
organizzato in FILE e i file in CARTELLE, DIRECTORIES o FOLDERS.
Le Directories possono contenere altre Directories che sono chiamate, quindi,
SUBDIRECTORIES.
L’organizzazione dei dati in DOS e WINDOWS è ad albero: (Risorse del Computer)
Ai Files viene dato un NOME ed una ESTENSIONE.
Il NOME serve a distinguerli, L’ESTENSIONE indica il TIPO di file ed è formata da 3
caratteri.
Es.: *.EXE per indicare i Files Eseguibili (Programmi)
*.TXT indica i files di Testo costituiti da sequenze di caratteri ASCII;
*. Sys o *.Com sono files di Sistema che fanno parte della configurazione del PC o
del Sistema Operativo. Es: COMMAND.COM, AUTOEXEC.BAT, CONFIG.SYS
Stringa di caratteri (campo)
Più stringhe formano un Record
Più Record formano un Report (Tabella)