• Non ci sono risultati.

Architettura dei calcolatori

N/A
N/A
Protected

Academic year: 2021

Condividi "Architettura dei calcolatori"

Copied!
7
0
0

Testo completo

(1)

Architettura dei calcolatori

Paolo Bison

Fondamenti di Informatica 1 A.A. 2004/05 Universit`a di Padova

Architettura dei calcolatori, Paolo Bison, A.A. 2004-05, 2004-10-29 – p.1/27

Architettura

 struttura e funzionalità di un calcolatore

 hardware

 software

Architettura dei calcolatori, Paolo Bison, A.A. 2004-05, 2004-10-29 – p.2/27

Hardware

 macchina di von Neumann

a

I M O

CC CA

R R

CA central arithmetic I input CC central control O output

C CA+CC R outside recording medium M memory

Neumann rivista

memoria centrale

memoria secondaria o ausiliaria

Central Processing Unit

Input Output

...

(2)

Memoria

 dispositivo per la memorizzazione di informazione

 programmi

 dati in ingresso

 dati intermedi

 risultati

 struttura e modalità di accesso

Architettura dei calcolatori, Paolo Bison, A.A. 2004-05, 2004-10-29 – p.5/27

Struttura della memoria

 insieme di M elementi di memoria (celle, parole)

 rappresentazione binaria bit (0,1)

 dimensione elemento di memoria

4 (nibble), 8 (byte), 16, 32, 64, ..., 1024, ...

 dimensione M della memoria

kilobyte KB 1024 1 1024

megabyte MB 1024 2 1.048.576 gigabyte GB 1024 3 1.073.741.824 terabyte TB 1024 4 1.099.511.627.776

Architettura dei calcolatori, Paolo Bison, A.A. 2004-05, 2004-10-29 – p.6/27

Modalità di accesso

 lettura/scrittura delle celle

 ad accesso casuale

 indirizzo associato ad ogni cella

 RAM (Random Access Memory)

 tempo di accesso costante

 sequenziale

 per accedere al n-esima cella, si deve accedere alle n-1 precedenti

tempo di accesso variabile M−1 M−2 0 1 2

Memoria centrale

 primaria

 tecnologia al silicio

 tipo RAM

 accesso veloce

 memorizzazione temporanea

(3)

Memoria secondaria

 memorizzazione permanente

 accesso lento

 differenti tecnologie

 magnetica (disco rigido, nastro)

 ottica (disco)

 accesso

 ad indirizzo (disco)

 sequenziale (nastro)

Architettura dei calcolatori, Paolo Bison, A.A. 2004-05, 2004-10-29 – p.9/27

Disco rigido

Architettura dei calcolatori, Paolo Bison, A.A. 2004-05, 2004-10-29 – p.10/27

Nastro Centrale vs. secondaria

centrale secondaria

accesso veloce lento

costo alto basso

dimensione bassa elevata

memorizzazione temporanea permanente

(4)

CPU

 individua ed esegue le istruzioni del programma

 moduli funzionali

 Control Unit (CU)

 Arithmetic and Logic Unit (ALU)

 Floating Point Unit (FPU)

 Cache

 Clock

 registri

celle di memoria per funzioni particolari

Architettura dei calcolatori, Paolo Bison, A.A. 2004-05, 2004-10-29 – p.13/27

Istruzioni macchina

 repertorio di istruzioni che la CPU sa eseguire

 specifico per ogni tipo di CPU

 categorie

 trasferimento dati

 operazioni aritmetiche e logiche

 salti

 codifica binaria

 programma eseguibile

sequenza finita di istruzioni macchina

Architettura dei calcolatori, Paolo Bison, A.A. 2004-05, 2004-10-29 – p.14/27

Control Unit

 governa il funzionamento della CPU

 registri

 Program Counter (PC)

 Instruction Register (IR)

 ciclo di esecuzione

 fetch

 decode

 execute

Unità di calcolo

 ALU

esegue calcoli aritmetici e logici

 FPU

esegue calcoli su numeri in formato floating point

 registri

 data registers

 address registers

 status registers

(5)

Cache e Clock

 cache

memoria tampone veloce interna alla CPU

memoria

centrale cache CPU

 clock

modulo per la temporizzazione e sincronizzazione del calcolatore

Architettura dei calcolatori, Paolo Bison, A.A. 2004-05, 2004-10-29 – p.17/27

Input/Output

 dispositivi di interfaccia tra il calcolatore ed l’esterno

 input

 tastiera

 mouse

 output

 video

 stampante

Architettura dei calcolatori, Paolo Bison, A.A. 2004-05, 2004-10-29 – p.18/27

Software

 sistema operativo

 software di base

 software utente

UTENTE BASE

HW OS

Sistema operativo

 software per la gestione del calcolatore

 funzionalità

 astrazione ed indipendenza dai dispositivi fisici

 gestione risorse

• processore

• memoria centrale

• memoria secondaria

 esecuzione dei programmi (processi)

(6)

Gestione risorse

 processore

 multiprogrammazione

 memoria centrale

 spazio di memoria per il singolo processo

 memoria virtuale

 memoria secondaria

 file system

Architettura dei calcolatori, Paolo Bison, A.A. 2004-05, 2004-10-29 – p.21/27

Software base

 software per facilitare l’uso del calcolatore

 programmi

 interfaccia utente (UI)

 editor

 assembler

 compilatori e interpreti

 comandi file system

 rete

 librerie

 matematiche

 grafiche

Architettura dei calcolatori, Paolo Bison, A.A. 2004-05, 2004-10-29 – p.22/27

Assembler (ASM)

 assembly

istruzioni macchina espresse in forma mnemonica

 LOAD

 STORE

 ADD

 JUMP

 converte codice assembly in istruzioni macchina

High Level Languages (HLL)

 astrazione del modello di calcolo

 indipendenza dalla piattaforma hardware

 maggiore leggibilità e comprensibilità

 traduzione in linguaggio macchina

programma sorgente −→ programma eseguibile

(7)

Compilatore vs. interprete

 compilatore

converte l’intero programma sorgente nel corrispondente programma eseguibile

 interprete

converte ed esegue immediatamente una ad una le istruzioni del programma sorgente

Architettura dei calcolatori, Paolo Bison, A.A. 2004-05, 2004-10-29 – p.25/27

Virtual Machine (VM)

 combinazione di compilazione ed interpretazione

 si compila in un codice intermedio che poi viene interpretato

Java Virtual Machine

 emulazione di CPU

Architettura dei calcolatori, Paolo Bison, A.A. 2004-05, 2004-10-29 – p.26/27

Software utente

 software (programmi/librerie) sviluppato dall’utente

 basato sulle funzionalità fornite dal sistema operativo e dal software di base

 ciclo di sviluppo

→ scrittura/modifica

↑ ⇓

← compilazione

↑ ⇓

← esecuzione

Riferimenti

Documenti correlati

Architettura dei calcolatori, Paolo Bison, FI08, 2008-09-29 – p.13.

 meccanismo per simulare una memoria centrale di dimensione maggiore di quella esistente utilizzando porzioni di memoria secondaria (disco). 

converte l’intero programma sorgente nel corrispondente programma eseguibile.

converte l’intero programma sorgente nel corrispondente programma eseguibile.

In realtà i virus più recenti mescolano le caratteristiche di diversi tipi di malware con lo scopo di diventare più difficili da individuare e più efficaci nel diffondere l'infezione

E quindi questi, in generale, sono i sistemi operativi più esposti agli attacchi dei virus, proprio perché permettono al virus di andare a scrivere in qualunque locazione di

L’iscrizione ed i rapporti con gli studenti sono gestiti mediante la piattaforma informatica che permette l’iscrizione ai corsi, la fruizione delle lezioni, la partecipazione a forum

Codice assembly