Macchine Programmabili

Documenti analoghi
Macchine Programmabili

Microprocessori. F.Campi, A.Romani, F.Thei. Elettronica dei Sistemi Digitali LA AA MACCHINE PROGRAMMABILI - 1

Introduzione al Many/Multi-core Computing

Sistemi e Tecnologie per l'automazione LS. HW per elaborazione digitale in automazione: Microcontrollori e DSP

Introduzione. Caratteristiche generali. Sistemi e Tecnologie per l'automazione LS. HW per elaborazione digitale in automazione: Microcontrollori e DSP

INGEGNERIA E TECNOLOGIE DEI SISTEMI DI CONTROLLO Processori per sistemi di controllo

Linguaggio Assembly e linguaggio macchina

Calcolatori Elettronici

Richiami sull architettura del processore MIPS a 32 bit

Ingegneria e Tecnologie dei Sistemi di Controllo. Unità di Elaborazione: MicroControllori e DSP

Architettura degli Elaboratori

Come aumentare le prestazioni Cenni alle architetture avanzate

Linguaggio Assembly e linguaggio macchina

Assembly. Linguaggio di programmazione corrispondente al linguaggio macchina P.H. Cap. 2.1, 2.2 e App. A. Linguaggio assembly (App.

Sistemi a microprocessore

Richiami sull architettura del processore MIPS a 32 bit

Il processore: unità di elaborazione

Il calcolatore. È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica

Cosa è? Come lo si usa? Come iniziare? Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)

Scopo della lezione. Analizzare i tipi di macchine Indirizzamento e memorie Tipi di dato

Sistemi e Tecnologie per l'automazione LM. HW per elaborazione digitale in automazione: Microcontrollori e DSP

Microelettronica Corso introduttivo di progettazione di sistemi embedded

Architettura degli Elaboratori Lez. 8 CPU MIPS a 1 colpo di clock. Prof. Andrea Sterbini

Corso di Fondamenti di Informatica Elementi di Architettura

Linguaggio Assembly e linguaggio macchina

CALCOLATORI ELETTRONICI

La CPU e la Memoria. Sistemi e Tecnologie Informatiche 1. Struttura del computer. Sistemi e Tecnologie Informatiche 2

La macchina programmata Instruction Set Architecture (1)

Architettura degli Elaboratori - 1

Trend di sviluppo delle pipeline

Progettazione dell unità di elaborazioni dati e prestazioni. Il processore: unità di elaborazione. I passi per progettare un processore

Sistemi e reti CPU Concetti di base

L'architettura del processore MIPS

Lez. 4 L hardware. Prof. Pasquale De Michele Gruppo 2

6: Macchina di Von Neumann

Il modello di von Neumann

Elementi di informatica

Architettura degli elaboratori - CPU multiciclo A.A. 2016/17. Architettura degli elaboratori

La CPU a singolo ciclo

ARCHITETTURA DI UN PERSONAL COMPUTER

ARCHITETTURA DI UN ELABORATORE! Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40).!

Processore. Memoria I/O. Control (Parte di controllo) Datapath (Parte operativa)

Il set istruzioni di MIPS Modalità di indirizzamento. Proff. A. Borghese, F. Pedersini

Calcolatori Elettronici A a.a. 2008/2009

Università degli Studi di Milano - Corso Architettura II Prof. Borghese Appello del

Davide Gennaretti, Matteo Nicolini

Le etichette nei programmi. Istruzioni di branch: beq. Istruzioni di branch: bne. Istruzioni di jump: j

ISA (Instruction Set Architecture) della CPU MIPS

Lezione 2. Lezione 2

Architettura di un calcolatore e linguaggio macchina. Primo modulo Tecniche della programmazione

Architettura dei calcolatori

Elementi di informatica

Architettura dei Calcolatori Elettronici

Microelettronica Corso introduttivo di progettazione di sistemi embedded

IL DSP - Digital Signal Processor

Programmazione A.A Architettura dei Calcolatori. ( Lezione V ) Componenti hardware e loro schema funzionale

Architettura dei Calcolatori elettronici

ARCHITETTURA DI UN ELABORATORE

Classificazione delle Architetture Parallele

Architettura dei calcolatori e sistemi operativi. Il processore Capitolo 4 P&H

Tecnologie dei Sistemi di Automazione

Architettura di von Neumann

Architettura di von Neumann

Sommario. Premessa Architettura ARM Programmer's model (ARM7) Sistemi di sviluppo. S. Salvatori - Microelettronica aprile 2016 (13 di 45)

Linguaggio assembler e linguaggio macchina (caso di studio: processore MIPS)

Architettura del calcolatore

Processore. Memoria I/O. Control (Parte di controllo) Datapath (Parte operativa)

Progetto CPU (ciclo singolo) Salvatore Orlando

Stru*ura del computer. Archite*ura dell elaboratore. Funzioni. Archite*ura di Von Neumann. unità funzionali. A. Ferrari

Corso di Sistemi di Elaborazione A.A. 2008/2009

Microelettronica Corso introduttivo di progettazione di sistemi embedded

AXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori

Macchina di von Neumann/Turing

Lezione 20. Assembly MIPS: Il set istruzioni, strutture di controllo in Assembly

Architettura degli Elaboratori B Introduzione al corso

MIPS & SPIM. Modulo del Corso di Architettura degli Elaboratori. Nicola Paoletti. Università di Camerino Scuola di Scienze e Tecnologie

Introduzione all'architettura dei Calcolatori

Università degli Studi di Cassino

Architettura hardware

ARCHITETTURA DI UN ELABORATORE

Sistemi Embedded Digital Signal Processors per i sistemi embedded

Lezione 20. Assembly MIPS: Il set istruzioni, strutture di controllo in Assembly

Macchine Astratte. Luca Abeni. February 22, 2017

Linguaggio macchina. 3 tipi di istruzioni macchina. Istruzioni per trasferimento dati. Istruzioni logico/aritmetiche

Progettazione di circuiti integrati

Architettura degli Elaboratori B Introduzione al corso

Architettura dei calcolatori

Architettura dei Calcolatori. Macchina di von Neumann /2. Macchina di von Neumann /1. Architettura dei Calcolatori

Architetture on-chip Sistemi di interconnessione di tipo Shared Bus AMBA AHB AMBA AHB Multilayer

L insieme delle istruzioni (6)

Lezione 2. Lezione 2 CPU CPU. Organizzazione. Organizzazione. Organizzazione. Organizzazione. Memoria. Memoria Dati. Dati Istruzioni.

Processore: Datapath & Control. Progetto CPU (ciclo singolo) Rivediamo i formati delle istruzioni. ISA di un MIPS-lite

A.S. 2017/2018 PIANO DI LAVORO PREVENTIVO CLASSE 4Be

Il processore Pentium

Calcolatori Elettronici

Architettura degli elaboratori

Architettura di tipo registro-registro (load/store)

Un altro tipo di indirizzamento. L insieme delle istruzioni (3) Istruz. di somma e scelta con operando (2) Istruzioni di somma e scelta con operando

Corso di Calcolatori Elettronici

HARDWARE 1.4a: (Processore)

Transcript:

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 Soft Cores GP Microprocessors Digital Signal Processors Microcontrollori Embedded Microprocessors Appication Specific Signal Processors

Applicazioni

La Legge di Moore

Applicazioni: Applicazioni embedded Microcontrollori Dsp Microprocessori

Architettura Risc Imem CONTROL LOGIC immediate rs1 REGISTER FILE rs2 ALU MUX Mux DataPath rd Shifter Multiplier Dato da scrivere indirizzo Dato letto DMEM DataPath: Architettura ALU + - Logic Operations Comparator MUX Alu_op

Control Logic Address INSTRUCTION MEMORY Instruction INSTRUCTION DECODE LOGIC Jump_op Immediate Program Counter Immediate Rfile_control Alu_op, Shifter_op, Mul_op Dpath Mux control Risc Instruction Set Architecture L instruction set ideale per una architettura di tipo Risc a 32 bit è stato standardizzato Da J.Hennessy e D.Pattersson attraverso valutazioni QUANTITATIVE. Si è cercato di individuare quale fosse il set MINIMALE di istruzioni macchina (Assembly) che offrisse le prestazioni migliori SENZA AUSILIO DI MICROCODICE. ( Si definisce Microcodice il set di operatori elementari che descrive il comportamento di una determinata istruzione assembly. Nel caso delle macchine Risc non esiste Microcodice ed ad ogni ciclo si esegue una sola istruzione.) Gli i.s. Risc sono più semplici, simmetrici e facilmente modificabili per andare incontro alle esigenze della applicazione specifica. Portano inoltre ad un hardware molto semplificato. In caso di applicazioni general purpode portano però ad una ridotta Efficienza, poiché è necessario un numero elevato di istruzine per eseguire un determinato tipo di calcolo.

Risc Instruction Set Architecture Istruzioni Appartenenti all ISA Risc Standard: Operazioni di Controllo: Nop, Li, Lui, mv (No operation, Load immediate, load upper immediate, move register to register) Operazioni Alu: Add,Addu, addi, addiu,sub,subi, and, or, not, xor Seq,sneq,sgt,sge,slt,sle Operazioni Shift: Sll,srl,sra OperazioniPer la gestione della Memoria Lw,lh,lhu,lb,lbu Sw,sh,sb Operazioni per il controllo del flusso di programmazione J,jr,jal,jlr Beqz,bneqz Estensioni piu comuni Istruzioni Appartenenti all ISA Risc Standard: Operazioni Moltiplicazione: Mul, Mulu (Moltiplicazione unsigned), Mad Operazioni Shift: Rotl, Rotr Sllv (shift immediate. In questo caso v sta per variable ma e un semplice immediate) Srlv,Srav Branch con confronto rispetto a zero Bgtz,bltz,bgez,blez Branch con confronto tra due registri Beq,bneq, bgt,bge,blt,ble Branch con decremento per implementare cicli for Beqzdec, bneqzdec

Formati istruzione Caso Esemplificativo: ISA RISC standard a 32 bit 6 5 5 5 6 Opcode RD RS1 RS2 00000 opcode secondario RRR 6 5 5 16 Opcode RD RS1 Immediate 16 RRI 6 26 Opcode Immediate 26 J RISC Instruction Set Architecture

Instruction set architecture:pregi e difetti dei diversi approcci Architettura di Memoria Processore Processore Memoria Istruzioni & Dati Memoria Istruzioni Memoria Dati Macchina di Von Neumann: Vantaggio: Flessibilità Svantaggio: Lentezza, scarso Parallelismo. Adatta per Architetture general purpose Architettura Harvard: Vantaggio: Velocità, maggior parallelismo Negli accessi. Sicuramente più adatta a macchine RISC ed a applicazioni embedded Svantaggio: Lentezza, scarso Parallelismo

Architettura di memoria Alternativa piuttosto comune in moderni sistemi embedded: Core Harvard basato su due cache, che hanno accesso singolo (Von Neumann) alla architettura di Bus. Processore Cache Istruzioni Cache Dati ARBITRO BUS ARCHITECTURE Memoria Principale (Instr&Dati) Periferiche di IO Architettura di bus (AMBA) Test Interface Controller DMA bus master PROCESSOR I/O Parallel Port USB RS-232 Arbiter AHB bus B R I D G E APB bus Display Controllers (LCD, 7 seg) On-chip RAM External SRAM/FLASH Interface (EMI) Timer I2C Interface

Protocolli di Bus AMBA: Sviluppato da ARM, è ormai standard de-facto per architetture embedded Coreconnect : Leggermente più complesso, e adatto anche a sistemi general purpose, è proprietatio di IBM VCI (Virtual Component Interface): E uno standard open source,usato per distribuire blocchi di IP-reuse, ma non ha grande diffusione. Caratteristiche dei DSP Processori DSP Unita funzionali application-specific applicate ad un ambiente software-programmable Difficolta con i compilatori -> largo uso di assembly

DSP: Applicazioni Wireless Telefonia Mobile (RF Codecs, Voice band Radio) Consumer Audio (Stereo A/D, D/A, Audio compression) Multimedia (Image Compression Codecs and Filtering) DTAD (Segreteria Telefonica Automatica) (Sintesi e riconoscimento del parlato) Automotive (Active Suspensions,Injection Control etc.) HDD (Memorie dimassa) Funzionalita Interne

Gestione della memoria Architetture vliw e superscalari lw nop lw nop $2,a $3,b lw $4,c addu $2,$2,$3 lw $5,d mul $2,$2 $2,$2 nop addu $4,$4,$5 lw $5,e sll $3,$4,1 Vliw & Superscalar Processors Spostano il concetto di computazione nello in un ambiente software-programmable Presentano problemi di scheduling e hazard handling addu $3,$3,$4 nop subu $2,$2,$3 nop addu $2,$2,$5 nop j $31 addu $29,$29,24

Organizzazione del datapath SISD => Single Instruction Single Data: (classica architettura di tipo risc a cui è associato un singolo percorso dati) SIMD => Single Instruction Multiple Data: Es. Alu multicanale. Architettura tipica di alcuni DSP che possono eseguire multiple contemporanee istanze della stessa operazione. Metodologia di calcolo comune a image processing e applicazioni di networking. MIMD => Multiple instruction Multiple Data: processori che permettono la coesistenza di multipli canali dati indipendenti, come VLIW e superscalari MISD => Dsp o unità funzionali complesse sono in grado di eseguire una serie di istruzioni consecutive su un determinato dato. Superscalari e VLIW Si definiscono SUPERSCALARI processori che eseguono un numero>1 di istruzioni contemporaneamente, determinandone lo scheduling a tempo di esecuzione Processori VLIW (Very long Instruction Word) determinano lo scheduling delle istruzioni a tempo di compilazione: semplificano quindi la struttura hardware al prezzo di una maggiore complessità del passo di compilazione

Esempi di processori commerciali per ambienti embedded Microcontrollori e processori Discreti: Pic (Microchip), Mips, PowerPC, ST 10/20/200, altri prodotti di TI o Motorola, Intel 80x Microprocessori Embedded (cores VHDL): Arm, Mips, Tensilica (Processore reconfigurabile a tempo di compilazione VHDL) Soft Cores: Nios, MicroBlaze, Leon (Open- Source di Esa), diversi prodotti accademici DSP: Ti, Hitachi, Motorola