Università degli Studi di Cassino Corso di Laurea in...

23
Corso di Calcolatori Elettronici F. Tortorella Università degli Studi di Cassino Università degli Studi di Cassino Corso di Laurea in Ingegneria delle Telecomunicazioni Corso di Calcolatori Elettronici F.Tortorella

Transcript of Università degli Studi di Cassino Corso di Laurea in...

Corso di Calcolatori ElettroniciF. Tortorella Università degli Studi di Cassino

Università degli Studi di Cassino

Corso di Laurea in Ingegneria delle Telecomunicazioni

Corso di Calcolatori Elettronici

F.Tortorella

Corso di Calcolatori ElettroniciF. Tortorella Università degli Studi di Cassino

Contenuti del corso

•Valutazione delle prestazioni

•Modello di programmazione del processore

•Programmazione in linguaggio assembly

•Elementi di progettazione logica dei circuiti

•Aritmetica e circuiti per l’aritmetica

•Architettura dell’unità centrale: data path e controllo

•Pipelining

•Gerarchia di memoria

•Sottosistema di I/O

Corso di Calcolatori ElettroniciF. Tortorella Università degli Studi di Cassino

• Settore in rapido cambiamento:– valvole -> transistor -> IC -> VLSI– raddoppio delle prestazioni ogni 1.5 anni:

dimensione della memoriavelocità del processore (progressi nella tecnologia e nell’organizzazione)

• Menù del corso:– come funzionano i calcolatori (fondamenti)– come misurare le loro prestazioni (o come non farlo!)– aspetti che riguardano le attuali architetture (cache,

pipeline)• Perché imparare queste cose ?

– scelte progettuali– progettazione software

Corso di Calcolatori ElettroniciF. Tortorella Università degli Studi di Cassino

Corso di Calcolatori ElettroniciF. Tortorella Università degli Studi di Cassino

Corso di Calcolatori ElettroniciF. Tortorella Università degli Studi di Cassino

Corso di Calcolatori ElettroniciF. Tortorella Università degli Studi di Cassino

Testo adottato:Patterson, HennessyStruttura, organizzazione eprogetto dei calcolatori2a edizioneJackson Libri

Testi di consultazione:Hamacher, Vranesic, ZakyIntroduzione all’Architettura dei CalcolatoriMcGraw-Hill Italia

Hennessy, PattersonComputer Architecture:A quantitative approach2nd editionMorgan Kaufmann

Corso di Calcolatori ElettroniciF. Tortorella Università degli Studi di Cassino

Struttura e componenti

Proc

CachesBus

Memory

I/O Devices:

Controllers

adapters

DisksDisplaysKeyboards

Networks

Corso di Calcolatori ElettroniciF. Tortorella Università degli Studi di Cassino

Modello di von Neumann

Bus di sistema

CPU Memoria Centrale

Memoria di Massa

Interfaccia

Periferica 1

Interfaccia

Periferica 2

Corso di Calcolatori ElettroniciF. Tortorella Università degli Studi di Cassino

L’architettura della CPU

Unità di Controllo

Unità Logico

Aritmetica

Mem. Addr. Register

Mem. Data Register

Program Counter

InstructionRegister

Register A Register B

indirizzi dati

La Central Processing Unit è costituita da:• unità

– di controllo– logico-aritmetica

• registri– di uso generale– speciali

• connessioni interne

La CPU è connessa al resto del sistema tramite il BUS (linee indirizzi, dati e controllo).

Read/Write

BUS

Corso di Calcolatori ElettroniciF. Tortorella Università degli Studi di Cassino

Architettura della workstation Sun Ultra80

Corso di Calcolatori ElettroniciF. Tortorella Università degli Studi di Cassino

Blocchi funzionali dell’UltraSPARCII

Corso di Calcolatori ElettroniciF. Tortorella Università degli Studi di Cassino

Un altro sistema basato su microprocessore

SIMKeyboard

Display

TX

SYNT

RX

DUPLEXFILTER

RF12

PSLCD

SYSTASIC

MCU

DSP AUDIO

SYSTEM BLOCKRF BLOCK

reset

reset

reset

clockclock

clock

clock

M2BUS

EBUS

Corso di Calcolatori ElettroniciF. Tortorella Università degli Studi di Cassino

What is “Computer Architecture”?

Compiler

OperatingSystem

Firmware

Application

Instruction SetArchitectureI/O systemInstr. Set Proc.

Datapath & Control

Digital DesignCircuit Design

Layout

• Coordination of many levels of abstraction• Under a rapidly changing set of forces• Design, Measurement, and Evaluation

Corso di Calcolatori ElettroniciF. Tortorella Università degli Studi di Cassino

Computer Architecture = Instruction Set Architecture + Machine Organization

Instruction Set Architecture... the attributes of a [computing] system as seen by the programmer, i.e. the conceptual structure and functionalbehavior, as distinct from the organization of the data flows and controls the logic design, and the physicalimplementation. – Amdahl, Blaaw, and Brooks, 1964

Corso di Calcolatori ElettroniciF. Tortorella Università degli Studi di Cassino

Instruction Set Architecture (ISA)

• Costituisce un importante livello di astrazione– interfaccia tra il software e l’hardware – definisce la sintassi, il formato delle istruzioni in l.m., ecc.– vantaggi: possibili differenti implementazioni a partire dalla

stessa architettura– svantaggi: può essere di ostacolo a possibili innovazioni

La compatibilità con eseguibili precedenti è così fondamentale ?

• ISA attuali:– 80x86/Pentium/K6, PowerPC, DEC Alpha, MIPS, SPARC, HP

Corso di Calcolatori ElettroniciF. Tortorella Università degli Studi di Cassino

Instruction Set Architecture: che cosa specifica ?° Formato e codifica dell’istruzione

– come decodificarla?° Locazione degli operandi e del risultato

– memoria, registri, ...?– quanti operandi espliciti ?– come si accede agli operandi in memoria ?– quali possono essere in memoria?

° Tipi e dimensioni dei dati° Operazioni

– quali operazioni sono supportate ?° Istruzione successiva

– jumps, conditions, branches

InstructionFetch

InstructionDecode

OperandFetch

Execute

ResultStore

NextInstruction

Corso di Calcolatori ElettroniciF. Tortorella Università degli Studi di Cassino

Modelli di programmazione fondamentali • ad accumulatore

LDA AADD BSTA C

• a stackPUSH APUSH BADDPOP C

• a registri generali (registro-memoria)LOAD R1,AADD R1,BSTORE C,R1

• a registri generali (load-store)LOAD R1,ALOAD R2,BADD R3,R1,R2STORE C,R3

istruzioni ad 1 operando

istruzioni ad 0/1 operando

istruzioni a 2 operandI

istruzioni a 2/3 operandI

Corso di Calcolatori ElettroniciF. Tortorella Università degli Studi di Cassino

Vantaggi dell’organizzazione a registri generali

• l’accesso ai registri è più veloce dell’accesso alla memoria

• il compito dei compilatori è più semplice

es.: (A*B)+(C*D)+(E*F)

• gestione delle variabili

– esecuzione del programma più veloce

– codice più compatto

stackregistri

Corso di Calcolatori ElettroniciF. Tortorella Università degli Studi di Cassino

La famiglia Motorola 68000

MC68000 — 16-/32-Bit MicroprocessorMC68EC000 — 16-/32-Bit Embedded ControllerMC68HC000 — Low Power 16-/32-Bit MicroprocessorMC68008 — 16-Bit Microprocessor with 8-Bit Data BusMC68010 — 16-/32-Bit Virtual Memory MicroprocessorMC68020 — 32-Bit Virtual Memory MicroprocessorMC68EC020 — 32-Bit Embedded ControllerMC68030 — Second-Generation 32-Bit Enhanced MicroprocessorMC68EC030 — 32-Bit Embedded ControllerMC68040 — Third-Generation 32-Bit MicroprocessorMC68LC040 — Third-Generation 32-Bit MicroprocessorMC68EC040 — 32-Bit Embedded ControllerMC68330 — Integrated CPU32 ProcessorMC68340 — Integrated Processor with DMAMC68851 — Paged Memory Management UnitMC68881 — Floating-Point CoprocessorMC68882 — Enhanced Floating-Point Coprocessor

Corso di Calcolatori ElettroniciF. Tortorella Università degli Studi di Cassino

Motorola68040

Corso di Calcolatori ElettroniciF. Tortorella Università degli Studi di Cassino

Modello di Programmazione del Motorola 68000 32 bits

168

D3D2D1D0

D7D6D5D4

32 bits

A0

A2A1

A3

A4

A6A5

A7Puntatore Stack utente

Program Counter PSW register

Corso di Calcolatori ElettroniciF. Tortorella Università degli Studi di Cassino

Program Status Word

S M IPM X N Z O CTE

C riportoO overflowZ zeroN negativoX flag di riporto ausiliario

Il byte più significativo è utilizzato dal processore in stato Supervisor

IPM maschera priorità interruptM master/stato di interruptS supervisore/stato di interruptTE autorizza la traccia