Introduzione ad ARM e al processore S3C2440
|
|
- Adelina Di Marco
- 7 anni fa
- Visualizzazioni
Transcript
1 03.a Introduzione ad ARM e al processore S3C2440 C. Fantozzi, A. Gardich (revisione di S. Congiu, M.Moro) Che cosa è ARM? ARM = Advanced RISC Machine 1 ARM Ltd non produce microprocessori: progetta e vende proprietà intellettuale ARM è una architettura: insieme dei registri e delle istruzioni disponibili modi d indirizzamento gestione delle interruzioni Esistono molte versioni dell architettura, e molti processori per versione
2 ARM nella vita quotidiana: esempi 2 Nintendo DSi (un ARM7 e un ARM9) Netgear WGR614 (Marvell ARM9) Apple iphone (ARM11) Molte calcolatrici e palmari Architettura ARM: versioni Sono state definite 7 versioni (da 1 a 7) del set di istruzioni ARM. 3 Per ogni versione esistono varianti, identificate da lettere: T (Thumb: istruzioni da 16 bit) M (Multiply: con prodotto da 64 bit) E (Enhanced: con istruzioni DSP per applicazioni multimediali Le più diffuse nei sistemi embedded portatili (smartphones, Personal Digital Assistants, ) sono le versioni 4 e 5.
3 Architettura ARM: famiglie Le famiglie di processori ARM attualmente più diffuse sono: 4 FAMIGLIA ARM7 ARM9 ARM9E ARM10E XScale ARM11 Cortex VERSIONE CORE ARMv3 ARMv4T ARMv5TE ARMv5TE ARMv5TE ARMv6 ARMv7-x (anche ARMv6-M) La famiglia Cortex Presentata nel 2005, si caratterizza per essere costituita da un insieme di unità funzionali collegabili tra loro Uno specifico processore ne può realizzare un sottoinsieme serie A (application) è quella più completa (computer, smartphone, ecc.) serie R (realtime), floating point opzionale, cache configurabile, MMU più semplice serie M (microcontroller) è quella più semplice, cache assente e MMU opzionale Le diverse configurazioni possono essere a singolo core o multicore Alcune caratteristiche specifiche dell architettura v7 unità NEON per operazioni SIMD su 64 o 128 bit unità floating point con più registri e nuove operazioni set di istruzioni Thumb per accelerare l esecuzione di macchine virtuali (es. JVM) modalità di esecuzione sicura (TrustZone) 5
4 Cortex 6 La famiglia Cortex 7
5 Samsung S3C24xx Application Processors 8 Applicazioni Mobile Computing Portable Network Devices Portable media players Edutainment toys E-book readers Mobile Communication Smartphones Obiettivi di progetto Insieme completo di periferiche on-chip Elevate prestazioni Basso consumo Rapporto prezzo/prestazioni S3C2440: specifiche tecniche 9 Processore RISC a 32 bit Architettura ARMv4T Core ARM 920T; thumb i.s. Memory Management Unit Cache (instruction & data) Nessun HW floating point Funzionalità integrate: ADC a 10 bit, 8 canali; 3 porte seriali; USB host & device; controller LCD, touch screen; Interfacce per sensori CMOS, schede di memoria, audio, ecc. ecc. 14x14 mm 289-pin FBGA (Fine Ball Grid Array) Processo produttivo: 130 nm Frequenza: 533 MHz max Bus memoria: 100 MHz max Tensione di alimentazione 1.2V Consumo: 400 MHz
6 S3C2440: schema a blocchi 10 ARMv4: caratteristiche 11 L architettura ARMv4 è a 32 bit word=32 bit (in memoria allineati ad indirizzi multipli di 4) halfword=16 bit (in memoria allineati ad indirizzi multipli di 2) byte =8 bit (singolarmente indirizzabili in memoria) 2 32 byte di memoria indirizzabili (4GB), ma S3C2440 supporta max 1 GB (8 banchi da 128 MB)
7 ARMv4: caratteristiche RISC 12 L architettura ARMv4 è di tipo RISC Numero elevato di registri (37 in tutto) Istruzioni con lunghezza fissa di 32 bit Le parole di estensione non esistono, Architettura load/store: ad esclusione di load e store, tutte le istruzioni operano su registri Modi di indirizzamento semplici: tutti gli indirizzi di memoria nelle istruzioni load/store sono specificati da informazioni contenute in registri o nei campi dell istruzione ARMv4: altre caratteristiche 13 Controllo sia dell ALU sia dello shifter, con tutte le istruzioni di elaborazione-dati Modalità di indirizzamento auto-incrementanti e auto-decrementanti (efficienza nei loop) Esecuzione condizionata specificabile in tutte le istruzioni Istruzioni di load e store multipli (più registri) Shift di n posizioni in un solo ciclo di clock Istruzioni a 3 operandi
8 Modi operativi User (USR): modo utente FIQ (FIQ): gestione veloce interruzioni IRQ (IRQ): gestione interruzioni Supervisor (SVC): modo protetto Abort (ABT): per gestione memoria Undefined (UND): emulaz. coprocessori System (SYS): usa risorse di USR senza limitazioni d accesso 14 I registri: panoramica 15
9 I registri R0-R13: registri di uso generale SP: stack pointer (R13) LR: link register (R14) Memorizza l indirizzo di ritorno da subroutine PC: program counter (R15) Punta all istruzione da eseguire 16 CPSR: Current Program Status Register Contiene i bit di stato SPSR: Saved Program Status Register Copia di CPSR prima del cambio di modo CPSR: bit utili Bit 0 4 (M): modo operativo (7 attualmente previsti) Bit 7 (I): interruzioni on/off (0/1) Bit 28 (V): indica errore di overflow (aritmetica con segno in complemento a 2) Bit 29 (C): indica il carry o riporto (overflow nell aritmetica senza segno) Bit 30 (Z): indica un risultato zero Bit 31 (N): indica un risultato negativo (aritmetica con segno in complemento a 2) Altri bit: Bit 5 (T): Thumb instruction set off/on (0/1) Bit 6 (F): fast IRQ on/off (0/1) Bit 7 (I): IRQ on/off (0/1) 17 Riservati
10 Big o Little Endian? 18 S3C2440 supporta tutte e 2 le modalità Il comportamento predefinito è little endian, secondo specifiche ARM Operazioni di I/O L I/O è di tipo memory mapped: i registri delle periferiche si trovano in locazioni di memoria predefinite 19 2 tipi di interruzioni: Normale Fast (vengono salvati meno registri) Hardware delle periferiche con accesso diretto alla memoria (DMA)
11 Classificazione delle istruzioni Accesso alla memoria Load / store tra memoria e registri 20 Elaborazione di dati (data processing) Operazioni di movimento tra registri Operazioni aritmetico-logiche Operazioni di confronto Controllo di flusso Branch (= salto ) con o senza condizione Le istruzioni ARMv4 prevede: - istruzioni di elaborazione dati a 3 operandi: uno (registro) per il risultato, due per gli operandi: SUB R2, R0, R2=R0-R1 SUB R2, R0, R1, LSL R2=R0-R1*16 - altre istruzioni a 2 operandi: uno per l op. destinazione, uno per l op. sorgente: MOV R2, R2, ASR R2=R2/4 - altre istruzioni a 1 operando: ad es. le istruzioni di branch: B LAB2 21
12 Modifica dei bit di stato 22 Per default le istruzioni non modificano i bit di stato N,Z,C,V Per modificare i bit di stato si aggiunge il suffisso S al simbolo mnemonico dell istruzione: ADD R2, R0, R1 ADDS R2, R0, non modifica modifica NZCV Non vale per le istruzioni di confronto! Istruzioni con condizione - 1 Aggiungendo specifici suffissi di condizione, l istruzione viene eseguita solo se i bit di condizione soddisfano quanto specificato 23 Esempi: MOVEQ R0, #0 poni R0=0 solo se Z=1 MOVNE R0, #0 esegui se Z=0 MOVGT R0, #0 esegui se Z=0 e N=V MOVLE R0, #0 esegui se Z=1 o N V MOVAL R0, #0 esegui sempre
13 Istruzioni con condizione - 2 Permettono di velocizzare il codice risparmiando salti condizionati mantenendo pieni i pipeline 24 CMP r0, #10 if (a > 10) return 0; MOVGT r0, #0 else return 1 MOVLE r0, #1 Nessun branch misprediction! Lista delle condizioni Estensione mnemonica Significato Flag di condizione Opcode [31:28] EQ Uguali Z= NE Non uguali Z= CS/HS Carry Attivato / Senza segno maggiore o uguale C= CC/LO Carry Disattivato / Senza segno minore C= MI Negativo N= PL Positivo o Zero N= VS Overflow V= VC Non Overflow V= HI Senza segno maggiore C=1 e Z= LS Senza segno minore o uguale C=0 o Z= GE Con segno maggiore o uguale N=V 1010 LT Con segno minore N!=V 1011 GT Con segno maggiore Z=0 e N=V 1100 LE Con segno minore o uguale Z=1 o N!=V 1101 AL Sempre (è il default) NV Mai
14 I modi di indirizzamento Ogni categoria di istruzioni ha i propri: ci sono 4 classi di modi di indirizzamento. 26 RISC: niente indirizzamento assoluto (non usa puntatori in memoria, ma solo nei registri) indirizzamento in memoria (indiretto con registro) solo per le istruzioni LDR (load) e STR (store) Classi di indirizzamento Modo 1: per istruzioni di elaborazione dati ADC, ADD, AND, BIC, CMN, CMP, EOR, MOV, MVN, ORR, RSB, RSC, SBC, SUB, TEQ, TST 27 Modo 2: per Load&Store di word o unsigned byte LDR, LDRB, STR, STRB Modo 3: per L&S di halfword o signed byte LDRH, LDRSB, LDRSH, STRH Modo 4: per L&S di registri multipli LDMxx, STMxx
15 Istruzioni di elaborazione dati 28 3 indirizzi: <opcode>{<cond>}{s} <Rd>, <Rn>, <shifter_operand> <cond>: stabilisce l esecuzione condizionata S: stabilisce se modifica i bit di condizione <Rd>: destinazione <Rn>: primo operando <shifter_operand>: secondo operando esempio: addges R4, R3, R4 R3+R2 Modo 1 (indirizz( indirizz.. per elaboraz.. dati) sintassi: <istruzione3op> Rd, Rn, <shifter_operand> <istruzione2op> Rd, <shifter_operand> <shifter_operand> può essere: un valore immediato #<valore> un registro Rm un registro, dopo scorrimento specificato con: - un valore immediato Rm, <sop> #<shift_imm> - un registro Rm, <sop> Rs gli operatori <sop> disponibili sono: ASR, LSL, LSR, ROR, RRX 29
16 <shifter_operand>: indirizzamento immediato Il campo dell istruzione contiene il valore su cui operare sintassi: #<immediato> 30 esempio: add R3, R3, R3 R bit a disposizione per l operando immediato, con la seguente struttura: 8 bit (bit c) definiscono un valore c (0 c 255); 4 bit (bit r) specificano una rotazione verso destra di 2r posizioni <shifter_operand>: indirizzamento immediato cond opcode S Rn Rd rotate immed_8 31 0x00 c 0xFF 0 r r 30 #<immediato>=c>> rot 2r r c immediato valido: #0x104 (c=0x41, r=15) immediato non valido: #0x102
17 <shifter_operand>: indirizzamento di registro 32 Il valore su cui operare è contenuto in un registro Rm Tale valore può essere shiftato di una quantità: specificata in modo immediato (0..31: 5 bit) specificata da un altro registro (Rs): Rm, LSR #shift_imm oppure Rm, LSR Rs Rm, ASR #shift_imm oppure Rm, ASR Rs Rm, LSL #shift_imm oppure Rm, LSL Rs Rm, ROR #shift_imm oppure Rm, ROR Rs Rm, RRX esempi: add R3, R1, R2, LSL R3 R1+R2*4 add R3, R1, R2, ASR R3 R1+R2/2 R5 <shifter_operand>: indirizzamento di registro cond opcode S Rn Rd shift_imm sop 0 Rm codifica di Rm, <sop> #shift_imm cond opcode S Rn Rd Rs 0 sop 1 Rm codifica di Rm, <sop> Rs <sop>: 00 LSL 01 LSR 10 ASR 11 ROR (RRX = ROR #0)
18 Modo 1: esempi mov R0, R0 0 add R3, R3, R3 R3+1 cmp R7, cc (R7 1000) bic R9, R8, R9 R8 and not 0xff00 mov R2, R2 R0 add R4, R3, R4 R3+R2 mov R2, R0, LSL R2 R0*4 add R9, R5, R5, LSL R9 R5+R5*8 = R5*9 sub R9, R5, R5, ASR R9 R5 R5/8 rsb R9, R5, R5, ASR R9 R5/8 R5 mov R5, R3, R5 R3 ruotato a destra di una posiz. mov R7, R4, ROR R7 R4 ruotato a di R3 posizioni 34 Modo 2 (per Word o unsigned Byte) sintassi: LDR STR{B} Rd, <addressing_mode2> <addressing_mode2> è un indirizzamento di registro con un eventuale: offset immediato offset da registro offset da registro scalato pre-incremento immediato pre-incremento da registro pre-incremento da registro scalato post-incremento immediato post-incremento da registro post-incremento da registro scalato 35
19 Modo 2: nessun offset Corrisponde a quello che nel PD32 è l indirizzamento indiretto con registro. 36 Il valore dell operando è puntato da un registro Rn (cioè Rn contiene l indirizzo dell operando) sintassi: [Rn] esempio: ldr R1, R1 M 32 [R0] Modo 2: offset Offset immediato [Rn, Rd M[Rn ± <offset_12>] 37 Offset da registro [Rn, Rd M[Rn ± Rm] Offset da registro scalato [Rn, ±Rm, <sop> Rd M[Rn ± (Rm <sop> # <shift_imm>)]
20 Modo 2: pre-incremento Pre-incremento immediato [Rn, Rn Rn ± Rd M[Rn] Pre-incremento da registro [Rn, Rn Rn ± Rd M[Rn] Pre-incremento da registro scalato [Rn, ±Rm, <sop> Rn Rn ± (Rm <sop> # Rd M[Rn] 38 Modo 2: post-incremento Post-incremento immediato [Rn], Rd Rn Rn ± <offset_12> Post-incremento da registro [Rn], Rd Rn Rn ± Rm Post-incremento da registro scalato [Rn], ±Rm, <sop> Rd Rn Rn ± (Rm <sop> # <shift_imm>) 39
21 Pre/post post-increm.. con registro scalato L offset contenuto nel registro Rm può essere shiftato di un valore immediato di 5 bit sintassi: Pre-incremento Post-incremento 40 [Rn, ±Rm, LSL #num]! [Rn, ±Rm, LSR #num]! [Rn, ±Rm, ASR #num]! [Rn, ±Rm, ROR #num]! [Rn, ±Rm, RRX]! esempio: ldr R1, [R0], -R2, ASR #2 [Rn], ±Rm, LSL #num [Rn], ±Rm, LSR #num [Rn], ±Rm, ASR #num [Rn], ±Rm, ROR #num [Rn], ±Rm, R1 M 32 [R0]; R0 R0-(R2/4) Indirizzamento auto-relativo Si ottiene usando il registro R15 (PC) nell indirizzamento indiretto con registro: esempi: ldr R1, [R15, -#8] ldr PC, [PC, R0, LSL R1 M 32 PC M 32 [PC+R0*4] 41 Il valore di R15 usato è PC_istruz.+8 o +12 a causa del prefetching Lo shift è specificato tramite un valore immediato: il valore di R15 usato è PC_istruz.+8 Lo shift è specificato tramite un registro: il valore di R15 usato è PC_istruz.+12
22 Modo 2: esempi ldr R2, [R0] ldr R1, [R0,#4] ldr R1, [R0], R2 M 32 R1 M 32 R1 M 32 R0 R ldr PC, [PC, R0, LSL #2]@ PC M 32 [PC+R0*4] strb R7, [R9], M 8 [R9] R7 R9 R9+1 str R5, R0 M 32 [R0] R5 Modo 3 (per HalfWord/signed Byte) sintassi: STR LDR[H] Rd, <addressing_mode3> LDR[SH SB] Rd, <addressing_mode3> <addressing_mode3> può essere: offset immediato offset da registro pre-incremento immediato pre-incremento da registro post-incremento immediato post-incremento da registro differenze rispetto al Modo 2: - non si possono scalare i registri - gli offset immediati sono a soli 8bit 43
23 Modo 2 e modo 3: tabella riassuntiva 44 W LDR Modo 2 STR Modo 2 SH Modo 3 - H Modo 3 Modo 3 SB Modo 3 - B Modo 2 Modo 2 NOTA BENE: non ha senso parlare di STORE per quantità con segno, perché non c è alcuna estensione del segno da effettuare Modo 4 (per load/store multiplo) - 1 sintassi: LDM STM <addressing_mode4> Rn{!}, <registers> <addressing_mode4> può essere: IA increment after start_addr = Rn ; end_addr = Rn + #regs*4-4 IB increment before start_addr = Rn + 4 ; end_addr = Rn + #regs*4 DA decrement after start_addr = Rn - #regs*4 + 4 ; end_addr = Rn DB decrement before start_addr = Rn - #regs*4 ; end_addr = Rn 4 (#regs è il numero di registri indicati in <registers>) 45! provoca l'aggiornamento del registro Rn: al suo contenuto viene sommata o sottratta la quantità #regs*4
24 Modo 4 (per load/store multiplo) - 2 sintassi: LDM STM <addressing_mode4> Rn{!}, <registers> <registers> è la lista di registri da salvare/caricare, racchiusa tra parentesi graffe {} e con gli elementi separati da virgola. esempi: STMDB SP!, salva sullo stack i da R0 a R7 LDMIA SP!, ricarica R0-R7 dall istruzione precedente LDMDA R9, carica i registri R1, da M 32 [R9-12].. M 32 [R9] Fine 03.a Introduzione ad ARM e al processore S3C2440
ARM: le istruzioni assembly
ARM: le istruzioni assembly 03.b C. Fantozzi, A. Gardich (revisione di S. Congiu) Struttura programma assembly La forma generale delle linee di codice assembly è: 1 label:istruzioneoperandi@commento
DettagliIl set istruzioni di MIPS Modalità di indirizzamento. Proff. A. Borghese, F. Pedersini
Architettura degli Elaboratori e delle Reti Il set istruzioni di MIPS Modalità di indirizzamento Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano
DettagliLezione E3. Architettura ARM - I. Sistemi embedded e real-time
Lezione E3 Sistemi embedded e real-time 11 ottobre 2012 Dipartimento di Ingegneria Civile e Ingegneria Informatica Università degli Studi di Roma Tor Vergata SERT 13 E3.1 Di cosa parliamo in questa lezione?
DettagliMicroelettronica. Architettura del processore ARM. Stefano Salvatori. Università degli Studi Roma Tre. (salvator@uniroma3.it) Microelettronica
Microelettronica Architettura del processore ARM Stefano Salvatori (salvator@uniroma3.it) Microelettronica Sommario Architettura ARM Differenze con i RISC Programmer s model Sistemi di sviluppo Microelettronica
DettagliRichiami sull architettura del processore MIPS a 32 bit
Richiami sull architettura del processore MIPS a 32 bit Architetture Avanzate dei Calcolatori Valeria Cardellini Caratteristiche principali dell architettura del processore MIPS E un architettura RISC
DettagliSommario. Premessa Architettura ARM Programmer's model (ARM7) Sistemi di sviluppo. S. Salvatori - Microelettronica aprile 2016 (13 di 45)
Sommario Premessa Architettura ARM Programmer's model (ARM7) Sistemi di sviluppo S. Salvatori - Microelettronica aprile 2016 (13 di 45) Architettura di ARM Elevato numero di di registi 31 31 registri interni
DettagliPXA255: concetti avanzati
PXA255: concetti avanzati 10.a C. Fantozzi, A. Gardich (revisione di S. Congiu) PXA255: il nucleo 1 PXA255: memorie cache Uno dei principali colli di bottiglia nei moderni calcolatori è l inadeguata velocità
DettagliUniversità degli Studi di Cassino
Corso di Istruzioni di confronto Istruzioni di controllo Formato delle istruzioni in L.M. Anno Accademico 2007/2008 Francesco Tortorella Istruzioni di confronto Istruzione Significato slt $t1,$t2,$t3 if
DettagliCorso di Calcolatori Elettronici MIPS: Istruzioni di confronto Istruzioni di controllo Formato delle istruzioni in L.M.
di Cassino e del Lazio Meridionale Corso di MIPS: Istruzioni di confronto Istruzioni di controllo Formato delle istruzioni in L.M. Anno Accademico 201/201 Francesco Tortorella Istruzioni di confronto Istruzione
DettagliFONDAMENTI DI INFORMATICA Lezione n. 11
FONDAMENTI DI INFORMATICA Lezione n. 11 ARCHITETTURA INTERNA ARCHITETTURA ESTERNA CODICE MACCHINA MODI DI INDIRIZZAMENTO ARCHITETTURE A PIU' INDIRIZZI In questa lezione verranno introdotti i concetti di
DettagliCalcolatori Elettronici
Calcolatori Elettronici Classificazione dei calcolatori elettronici Sistemi basati sull architettura di Von Neumann Sistemi basati sull architettura Harward Architettura dei calcolatori: definizioni Evoluzione
Dettagli.: CALCOLATORI 7 MAGGIO 2015
.: CALCOLATORI 7 MAGGIO 2015 .: AGENDA.: MIPS, X86, ARM.: CARATTERISTICHE DI ARM ( CONFRONTO A MIPS ).: ESEMPIO COPIA_STRINGA SU ARCHITETTURA ARM.: ESEMPIO FATTORIALE SU MIPS, ARM ADVANCED RISC MACHINE.:
DettagliARM PROCESSORS FAMILY
1 ARM PROCESSORS FAMILY INTRODUZIONE ALL ISA ARM PIPELINES UTILIZZATE DAI PROCESSORI ARM ARM PROCESSOR CORES ARM CPU CORES EMBEDDED ARM-BASED SYSTEMS 2 INTRODUZIONE ALL'ISA ARM PROCESSORI ARM 3 I processori
DettagliArchitettura dei calcolatori e sistemi operativi. Il processore Capitolo 4 P&H
Architettura dei calcolatori e sistemi operativi Il processore Capitolo 4 P&H 4. 11. 2015 Sommario Instruction Set di riferimento per il processore Esecuzione delle istruzioni Struttura del processore
DettagliSottosistemi ed Architetture Memorie
Sottosistemi ed Architetture Memorie CORSO DI CALCOLATORI ELETTRONICI I CdL Ingegneria Biomedica (A-I) DIS - Università degli Studi di Napoli Federico II La memoria centrale Memoria centrale: array di
DettagliArchitettura di una CPU
Massimo VIOLANTE Politecnico di Torino Dipartimento di Automatica e Informatica Sommario Organizzazione di un processore Linguaggio macchina Modi di indirizzamento Tipi di istruzioni 2 M. Violante 1.1
DettagliArchitettura hardware
Architettura hardware la parte che si può prendere a calci Architettura dell elaboratore Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione
DettagliIn realtà, non un solo microprocessore, ma un intera famiglia, dalle CPU più semplici con una sola pipeline a CPU molto complesse per applicazioni ad
Principi di architetture dei calcolatori: l architettura ARM. Mariagiovanna Sami Che cosa è ARM In realtà, non un solo microprocessore, ma un intera famiglia, dalle CPU più semplici con una sola pipeline
DettagliSistemi e Tecnologie per l'automazione LS. HW per elaborazione digitale in automazione: Microcontrollori e DSP
Laurea Specialistica in Ingegneria Informatica Laurea Specialistica in Ingegneria Elettronica e delle Telecomunicazioni Sistemi e Tecnologie per l'automazione LS HW per elaborazione digitale in automazione:
DettagliIntroduzione. Caratteristiche generali. Sistemi e Tecnologie per l'automazione LS. HW per elaborazione digitale in automazione: Microcontrollori e DSP
Laurea Specialistica in Ingegneria Informatica Laurea Specialistica in Ingegneria Elettronica e delle Telecomunicazioni Sistemi e Tecnologie per l'automazione LS HW per elaborazione digitale in automazione:
DettagliAccesso a memoria. Accesso a memoria. Accesso a memoria. Modalità di indirizzamento. Lezione 5 e 6. Architettura degli Elaboratori A.
< < } } Lezione 5 e 6 Accesso a memoria A questo livello di astrazione, la memoria viene vista come un array di byte Per ogni richiesta di un dato ad un certo indirizzo, la CPU ottiene un numero di byte
DettagliArchitettura del processore. Modello di calcolatore. Caratteristiche del processore. Caratteristiche del processore. Fondamenti di Informatica
FONDAMENTI DI INFORMATICA Prof PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Architettura e funzionamento del calcolatore 20 Pier Luca Montessoro (si veda la nota di copyright
DettagliIl Processore: l unità di controllo
Il Processore: l unità di controllo La frequenza con cui vengono eseguiti i cicli di esecuzione è scandita da una componente detta clock Ad ogni impulso di clock la UC esegue un ciclo di esecuzione di
DettagliMetodi di indirizzamento
Testo di rif.to: [Congiu] 4.3 (pg. 138 148) 02.b Metodi di indirizzamento Indirizzamento immediato Indirizzamento di registro Indirizzamenti in memoria Metodi di indirizzamento 1 Gli indirizzi degli operandi
DettagliIl processore. Istituzionii di Informatica -- Rossano Gaeta
Il processore Il processore (detto anche CPU, ovvero, Central Processing Unit) è la componente dell unità centrale che fornisce la capacità di elaborazione delle informazioni contenute nella memoria principale
DettagliLinguaggio Assembly e linguaggio macchina
Architettura degli Elaboratori e delle Reti Lezione 11 Linguaggio Assembly e linguaggio macchina Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano
DettagliLinguaggio Macchina. Linguaggio Macchina. Linguaggio Macchina. Linguaggio Macchina ADD A,B ISTRUZIONE SUCCESSIVA
Lezione n.11 n.11 Lezione n. 11 ARCHITETTURA INTERNA ARCHITETTURA ESTERNA CODICE MACCHINA MODI DI INDIRIZZAMENTO ARCHITETTURE A PIU' INDIRIZZI In questa lezione verranno introdotti i concetti di base relativi
DettagliLa CPU e la Memoria. Sistemi e Tecnologie Informatiche 1. Struttura del computer. Sistemi e Tecnologie Informatiche 2
La CPU e la Memoria Sistemi e Tecnologie Informatiche 1 Struttura del computer Sistemi e Tecnologie Informatiche 2 1 I registri La memoria contiene sia i dati che le istruzioni Il contenuto dei registri
DettagliLinguaggio Assembly e linguaggio macchina
Architettura degli Elaboratori e delle Reti Lezione 11 Linguaggio Assembly e linguaggio macchina Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano
DettagliIstruzioni macchina. Dove sono gli operandi? Ciclo della CPU. Elementi di un istruzione macchina. Rappresentazione delle istruzioni
Istruzioni macchina Linguaggio macchina Insieme delle istruzioni (instruction set) che la CPU puo eseguire Capitolo 10 1 2 Elementi di un istruzione macchina Codice operativo Specifica l operazione da
DettagliComponenti di un processore
Componenti di un processore Unità di Controllo Bus Interno REGISTRI Program Counter (PC) Registro di Stato (SR) Registro Istruzioni (IR) Registri Generali Unità Aritmetico- Logica Registro Indirizzi Memoria
DettagliLe etichette nei programmi. Istruzioni di branch: beq. Istruzioni di branch: bne. Istruzioni di jump: j
L insieme delle istruzioni (2) Architetture dei Calcolatori (lettere A-I) Istruzioni per operazioni logiche: shift Shift (traslazione) dei bit di una parola a destra o sinistra sll (shift left logical):
DettagliARCHITETTURA DI UN SISTEMA DI ELABORAZIONE
ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE Il computer o elaboratore è una macchina altamente organizzata capace di immagazzinare, elaborare e trasmettere dati con notevole precisione e rapidità. Schematicamente
DettagliArchitettura di un calcolatore e linguaggio macchina. Primo modulo Tecniche della programmazione
Architettura di un calcolatore e linguaggio macchina Primo modulo Tecniche della programmazione CPU Central Processing Unit, processore Unita logica/aritmetica: elaborazione dati Unita di controllo: coordina
DettagliIl linguaggio assembly
Il linguaggio assembly Introduzione al linguaggio macchina Indice Che cos è l assembly Elementi del linguaggio Memoria di programma Registri interni e di I/O Registri particolari Rappresentazione dell
DettagliArchitettura di tipo registro-registro (load/store)
Caratteristiche principali dell architettura del processore MIPS E un architettura RISC (Reduced Instruction Set Computer) Esegue soltanto istruzioni con un ciclo base ridotto, cioè costituito da poche
DettagliArchitettura dei computer
Architettura dei computer In un computer possiamo distinguere quattro unità funzionali: il processore la memoria principale (memoria centrale, RAM) la memoria secondaria i dispositivi di input/output La
DettagliMotivazioni. Assembly
Assembly Programmazione in linguaggio macchina (o meglio in assembly): programmare utilizzando istruzioni direttamente eseguibili dal processore. Questa parte del corsi si accompagna a lezioni in laboratorio:
DettagliLaboratorio di Architettura degli Elaboratori
Laboratorio di Architettura degli Elaboratori Dott. Massimo Tivoli Set di istruzioni del MIPS32: istruzioni aritmetiche e di trasferimento Istruzioni (Alcune) Categorie di istruzioni in MIPS Istruzioni
DettagliUniversità degli Studi di Cassino
Corso di MIPS: modello di programmazione Anno Accademico 2007/2008 Francesco Tortorella CPU Compito della CPU: eseguire istruzioni Le istruzioni costituiscono le operazioni primitiva eseguibili dalla CPU
DettagliRiassunto. Riassunto. Ciclo fetch&execute. Concetto di programma memorizzato. Istruzioni aritmetiche add, sub, mult, div
MIPS load/store word, con indirizzamento al byte aritmetica solo su registri Istruzioni Significato add $t1, $t2, $t3 $t1 = $t2 + $t3 sub $t1, $t2, $t3 $t1 = $t2 - $t3 mult $t1, $t2 Hi,Lo = $t1*$t2 div
DettagliArchitettura del Set di Istruzioni (ISA)
Architettura del Set di Istruzioni (ISA) Maurizio Palesi Maurizio Palesi 1 Instruction Set Architecture (ISA) Software instruction set Hardware Maurizio Palesi 2 1 Instruction Set Architecture (ISA) Applicazioni
DettagliARCHITETTURA DI UN ELABORATORE
ARCHITETTURA DI UN ELABORATORE Unità funzionali Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40). La macchiana di Von Neumann: Non distingueva fra RAM
DettagliStruttura CPU. Struttura e Funzione del Processore. Capitolo 12. Compiti CPU:
Struttura e Funzione del Processore Capitolo 12 Struttura CPU Compiti CPU: Prelevare istruzioni Interpretare istruzioni Prelevare dati Elaborare dati Scrivere (memorizzare) dati 1 CPU con bus di sistema
DettagliProcessore. Memoria I/O. Control (Parte di controllo) Datapath (Parte operativa)
Processore Memoria Control (Parte di controllo) Datapath (Parte operativa) I/O Memoria La dimensione del Register File è piccola registri usati per memorizzare singole variabili di tipo semplice purtroppo
DettagliEsempio di moltiplicazione come somma e spostamento
Esempio di moltiplicazione come somma e spostamento Implementare una moltiplicazione coinvolge algoritmi di shift e somma Istruzioni di Shift:movimento di bit: ROL Rd ROR Rd LSL Rd LSR ASR Rd Rd 22 x 35
DettagliLa microarchitettura. Didattica della strumentazione digitale e sistemi a microprocessore anno accademico 2006 2007 pagina 1
La microarchitettura. anno accademico 2006 2007 pagina 1 Integer Java virtual machine Ogni microprocessore può avere una microarchitettura diversa, ma la modalità di funzionamento per certi aspetti è generale.
DettagliParte V. Il Livello delle Istruzioni Macchina
Parte V Il Livello delle Istruzioni Macchina V.1 Instruction Set Architecture Il livello ISA è l interfaccia tra HW e SW È il livello più basso a cui il processore è programmabile Criteri di scelta: Semplicità
DettagliLecture 2: Prime Istruzioni
[http://www.di.univaq.it/muccini/labarch] Modulo di Laboratorio di Architettura degli Elaboratori Corso di Architettura degli Elaboratori con Laboratorio Docente: H. Muccini Lecture 2: Prime Istruzioni
DettagliIntroduzione al Many/Multi-core Computing
Introduzione al Many/Multi-core Computing Sistemi Operativi e reti 6 giugno 2011 Parte I Architettura Classificazione fra architetture Flynn s taxonomy SISD Single instruction on Single Data- (es. architetture
DettagliCalcolatori Elettronici Parte VII: il Livello delle Istruzioni Macchina
Anno Accademico 2013/2014 Calcolatori Elettronici Parte VII: il Livello delle Istruzioni Macchina Prof. Riccardo Torlone Universita Roma Tre Instruction Set Architecture Il livello ISA è l interfaccia
DettagliProgrammazione dello Z80
Il microprocessore si incarica di: gestire il programma e i suoi dati di eseguire i calcoli richiesti. Le azioni appena elencate rendono necessario che il microprocessore abbia da qualche parte, al suo
DettagliLinguaggio macchina. 3 tipi di istruzioni macchina. Istruzioni per trasferimento dati. Istruzioni logico/aritmetiche
3 tipi di istruzioni macchina Linguaggio macchina e assembler 1) trasferimento tra RAM e registri di calcolo della CPU 2) operazioni aritmetiche: somma, differenza, moltiplicazione e divisione 3) operazioni
DettagliProgettare l'isa. Progettare l'isa. Corso di Architettura degli Elaboratori. Interpretazione
Corso di Architettura degli Elaboratori Il livelo ISA: ISA IJVM, tipi di dati e formato delle istruzioni Matteo Baldoni Dipartimento di Informatica Università degli Studi di Torino C.so Svizzera, 185 I-10149
DettagliParte IV Architettura della CPU Central Processing Unit
Parte IV Architettura della CPU Central Processing Unit IV.1 Struttura della CPU All interno di un processore si identificano in genere due parti principali: l unità di controllo e il data path (percorso
DettagliIl Processore. Informatica di Base -- R.Gaeta 27
Il Processore Il processore (detto anche CPU, ovvero, Central Processing Unit) è la componente dell unità centrale che fornisce la capacità di elaborazione delle informazioni contenute nella memoria principale
DettagliLa macchina programmata Instruction Set Architecture (1)
Corso di Laurea in Informatica Architettura degli elaboratori a.a. 2014-15 La macchina programmata Instruction Set Architecture (1) Schema base di esecuzione Istruzioni macchina Outline Componenti di un
DettagliLezione 15. L elaboratore Elettronico
Lezione 15 Architettura di un calcolatore L elaboratore Elettronico Un elaboratore elettronico è una macchina elettronica in grado di elaborare dati secondo le specifiche fornite da un algoritmo Internamente
DettagliLezione4: MIPS e Istruzioni (1 Parte)
Architettura degli Elaboratori Lezione4: MIPS e Istruzioni (1 Parte) Michele Nappi mnappi@unisa.it http://www.biplab.unisa.it/ Alcune slide di questa lezione sono prodotte dal Prof. Luigi Palopoli AGENDA
DettagliArchitettura ARM. 1 Introduzione 1 INTRODUZIONE 1
1 INTRODUZIONE 1 Architettura ARM Aggiornato al 5 marzo 2013 1 Introduzione La sigla ARM oggi viene interpretata come Advanced RISC Machine. In realtà la sigla originariamente significava Acorn RISC Machine,
DettagliSistemi a microprocessore
Storia dei Computer 1945 John Von Neumann propose la stored program architecture 1948 Bardeen, Brattain and Shockley inventarono il transistor 1958 Jack Kilby introdusse l IC (integrated circuit) e aprì
DettagliARCHITETTURA DELLE CPU come ARCHITETTURA DEL SET DI ISTRUZIONI
PROGETTO DELLA CPU MEMORIZZAZIONE DEGLI OPERANDI DOVE SONO MEMORIZZATI GLI OPERANDI NELLA CPU? ARCHITETTURA DELLE CPU come ARCHITETTURA DEL SET DI ISTRUZIONI SCELTE PROGETTUALI: 1. DOVE SONO MEMORIZZATI
DettagliArchitettura dei sistemi di elaborazione: La CPU: Architettura (parte1)
Architettura dei sistemi di elaborazione: La CPU: Architettura (parte1) La CPU Architettura L organizzazione interna di una CPU è caratterizzata dal data path, che è costituito da una serie di componenti,
DettagliLezione E12. Sistemi operativi open-source, embedded e real-time
Lezione E12 Sistemi operativi open-source, embedded e real-time 17 dicembre 2013 Dipartimento di Ingegneria Civile e Ingegneria Informatica Università degli Studi di Roma Tor Vergata SOSERT 13 E12.1 Di
DettagliModi di indirizzamento
Vari modi di specificare l indirizzo degli operandi Modi di indirizzamento Capitolo 11 Immediato Diretto Indiretto Registro Registro indiretto Spiazzamento Pila 1 2 Indirizzamento immediato L operando
DettagliLezione 20. Assembly MIPS: Il set istruzioni, strutture di controllo in Assembly
Architettura degli Elaboratori Lezione 20 Assembly MIPS: Il set istruzioni, strutture di controllo in Assembly Prof. F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano
DettagliIntroduzione. Indice. Linguaggio macchina. Linguaggio assembler
Indice Linguaggio ad alto livello, linguagio assembler e linguaggio macchina Il linguaggio assembler MIPS: istruzioni aritmetiche, di trasferimento dati e di salto Conversione linguaggio assembler in linguaggio
DettagliComponenti e connessioni. Capitolo 3
Componenti e connessioni Capitolo 3 Componenti principali CPU (Unità Centrale di Elaborazione) Memoria Sistemi di I/O Connessioni tra loro Architettura di Von Neumann Dati e instruzioni in memoria (lettura
DettagliMicroelettronica Corso introduttivo di progettazione di sistemi embedded
Microelettronica Corso introduttivo di progettazione di sistemi embedded Architettura dei sistemi a microprocessore prof. Stefano Salvatori A.A. 2014/2015 Eccetto dove diversamente specificato, i contenuti
DettagliEsame di INFORMATICA Lezione 4
Università di L Aquila Facoltà di Biotecnologie Esame di INFORMATICA Lezione 4 MACCHINA DI VON NEUMANN Il sottosistema di memorizzazione (memoria) contiene dati + istruzioni, inseriti inizialmente tramite
DettagliLA CODIFICA DELL INFORMAZIONE. Introduzione ai sistemi informatici D. Sciuto, G. Buonanno, L. Mari, McGraw-Hill Cap.2
LA CODIFICA DELL INFORMAZIONE Introduzione ai sistemi informatici D. Sciuto, G. Buonanno, L. Mari, McGraw-Hill Cap.2 Codifica dati e istruzioni Per scrivere un programma è necessario rappresentare istruzioni
DettagliCalcolatori Elettronici A a.a. 2008/2009
Calcolatori Elettronici A a.a. 2008/2009 Instruction Set Architecture: nozioni generali Massimiliano Giacomin 1 DOVE CI TROVIAMO Livello del linguaggio specializzato Traduzione (compilatore) o interpretazione
DettagliArchitettura dei calcolatori
Architettura dei calcolatori Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ Architettura dei calcolatori 2 Cos'è un computer?
DettagliNel microprocessore 8086 abbiamo una gran quantità di registri
I registri del microprocessore 8086 Nel microprocessore 8086 abbiamo una gran quantità di registri AH AL AX 1 1 1 1 1 1 1 0 0 1 0 1 1 1 0 1 B H B L BX 1 0 1 0 1 0 0 1 1 1 0 1 1 0 1 0 C H C L CX 1 0 1 1
DettagliArchitettura dei calcolatori. Architettura dei calcolatori. Cos'è un computer?
Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ 2 Cos'è un computer? 3 Cos'è un computer? E' un dispositivo in grado di Elaborare
DettagliCapitolo 5 Elementi architetturali di base
Capitolo 5 Elementi architetturali di base Giuseppe Lami Istituto di Scienza e Tecnologie dell Informazione CNR Via Moruzzi, 1 - Pisa giuseppe.lami@isti.cnr.it Struttura - Unità di elaborazione e controllo
DettagliArchitettura degli elaboratori (A)
Laurea in Informatica a.a. 2010-2011 Laboratorio del corso di Architettura degli elaboratori (A) Modulo 1: l Architettura dell 8086 Valeria Carofiglio Linguaggi a vari livelli e loro relazioni Programma
DettagliArchitettura di un calcolatore
Architettura di un calcolatore Corso di Informatica A Vito Perrone Indice La macchina di Von Neumann Memoria CPU Bus Interfacce Esempio L algoritmo Il programma Fasi di esecuzione di un istruzione 2 1
DettagliSistemi e Tecnologie per l'automazione LM. HW per elaborazione digitale in automazione: Microcontrollori e DSP
Laurea Magistrale in Ingegneria Informatica Laurea Magistrale in Ingegneria Elettronica e Telecomunicazioni per lo Sviluppo Sostenibile Sistemi e Tecnologie per l'automazione LM HW per elaborazione digitale
DettagliOrganizzata secondo il modello della macchina di von Neumann definita nei tardi anni 40 all Institute for Advanced Study di Princeton.
Architettura di un Elaboratore Organizzata secondo il modello della macchina di von Neumann definita nei tardi anni 40 all Institute for Advanced Study di Princeton. È costituita da quattro elementi funzionali
DettagliIl Ciclo Fetch-Decode-Execute. C Nyssen/Aberdeen College 2003
Il Ciclo Fetch-Decode-Execute C Nyssen/Aberdeen College 2003 Linguaggio Assembler Op code (Mnemonico) Operando #assembly code program 0000 LDA-24 #loads 0001 ADD-25 #adds 0002 HLT #stops #end of program
DettagliDEFINIZIONE. particolare l'unità di elaborazione centrale è una tipologia di
CORSO BASE DI TECNICO RIPARATORE HARDWARE CPU Docente: Dott. Ing. Antonio Pagano DEFINIZIONE L'unità di elaborazione centrale o CPU è una tipologia di processore digitale general purpose la quale si contraddistingue
DettagliLezione 1: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 10 Marzo 2014
Lezione 1: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 10 Marzo 2014 Ricorda... Il ciclo di esecuzione di un istruzione è composto da sei fasi: FETCH DECODE ADDRESS
DettagliFamiglia dei processori INTEL
Famiglia dei processori INTEL 1975 2002 8080-8086 - 80286-80386 - 80486 - Pentium - Pentium II-III-IV - Itanium Compatibilità del SW (assemby) 8086 80286 80386 80486 Pentium Pentium III Perché studiare
DettagliMacchine Astratte. Luca Abeni. February 22, 2017
Macchine Astratte February 22, 2017 Architettura dei Calcolatori - 1 Un computer è composto almeno da: Un processore (CPU) Esegue le istruzioni macchina Per fare questo, può muovere dati da/verso la memoria
DettagliARCHITETTURA DI UN ELABORATORE
ARCHITETTURA DI UN ELABORATORE Unità funzionali Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40) Macchina di Von Neumann: Non distingueva fra RAM e ROM
DettagliUso dei metodi di indirizzamento
Testo di rif.to: [Congiu] 4.4.1 (pg. 148 158) 02.e Uso dei metodi di indirizzamento Un esempio: acquisizione dati Esempi d impiegod Confronto tra i metodi Analisi temporale Sistema di acquisizione dati
DettagliModi di indirizzamento del processore MC68000 (parte prima)
Corso di Calcolatori Elettronici I A.A. 2011-2012 Modi di indirizzamento del processore MC68000 (parte prima) Lezione 21 Prof. Antonio Pescapè Università degli Studi di Napoli Federico II Facoltà di Ingegneria
DettagliMacchine Programmabili
Macchine di Calcolo Programmabili Fabio Campi Corso di Elettronica dei Sistemi Digitali LS AA 2003-2004 Macchine Programmabili Systems -on-programmable Chip Systems -on-chip Reconfigurable Computing APPLICAZIONE
DettagliCalcolatori Elettronici
Calcolatori Elettronici ISA di riferimento: MIPS Massimiliano Giacomin 1 DOVE CI TROVIAMO Livello funzionale Livello logico Livello circuitale Livello del layout istruzioni macchina, ISA Reti logiche:
DettagliIntroduzione alle architetture
Introduzione alle architetture 66 I n questo articolo tratteremo una breve introduzione al modello di programmazione delle architetture progettate da ARM Ltd., società che non produce processori, ma progetta
DettagliModi di esecuzione user / kernel
Corso di Gestione eccezioni nel MIPS Interruzioni Anno Accademico 2006/2007 Francesco Tortorella Modi di esecuzione user / kernel Due modi di esecuzione: User kernel Per ognuno dei due modi di esecuzione
DettagliMacchina di von Neumann
Il processore PD32 Macchina di von Neumann Unità di Ingresso Memoria di lavoro Unità di Uscita Unità di Calcolo Unità di Controllo Suddivisione SCA-SCO Unità di Ingresso Memoria di lavoro Unità di Uscita
DettagliAXO Achitettura dei Calcolatori e Sistema Operativo. Instruction Set Architecture (ISA) e 68000
AXO Achitettura dei Calcolatori e Sistema Operativo Instruction Set Architecture (ISA) e 68000 introduzione a ISA ISA - Instruction Set Architecture insieme delle istruzioni (instruction set) che possono
DettagliARCHITETTURA DEL MICROPROCESSORE INTEL 8086 (iapx86/10)
ARCHITETTURA DEL MICROPROCESSORE INTEL 8086 (iapx86/10) Chip con 40 piedini e 29000 transistori Progettato a metà degli anni 70, periodo in cui la densità di integrazione era relativamente bassa ( solo
DettagliLinguaggio Assembly. Architettura di riferimento Formato istruzioni Classi di istruzioni Modalità di indirizzamento Direttive Codice macchina
Linguaggio Assembly Architettura di riferimento Formato istruzioni Classi di istruzioni Modalità di indirizzamento Direttive Codice macchina Modello di architettura di riferimento Nel seguito faremo riferimento
DettagliIl calcolatore. È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica
Il calcolatore È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica ogni livello di descrizione è caratterizzato da una struttura rappresentante l organizzazione
DettagliCenni ad Assembly Intel
Cenni ad Assembly Intel Luca Abeni April 17, 2015 Architerrura Intel Utilizzata sulla maggior parte dei laptop, desktop e server moderni Lunga storia Dagli anni 70 (Intel 8080-8 bit!)......fino ad oggi
DettagliIl Modello di von Neumann (2) Prevede 3 entità logiche:
Introduzione all Architettura degli Elaboratori Sommario Macchina di von Neumann Esecuzione dei programmi Rappresentazione dei dati Dati numerici Dati alfabetici 1 2 Il Modello di von Neumann (1) L architettura
DettagliArchitettura dei calcolatori
Cos'è un calcolatore? Architettura dei calcolatori Esecutore automatico di algoritmi Macchina universale Elementi di Informatica Docente: Giorgio Fumera Corso di Laurea in Edilizia Facoltà di Architettura
Dettagli