The DLX Assembly. DLX Instruction Set Architecture
|
|
- Diana Corradi
- 8 anni fa
- Visualizzazioni
Transcript
1 The DLX Assembly 1 DLX Instruction Set Architecture Concetti architetturali: Semplicità del load/store IS ( fissa Semplicità nella decodifica (istruzioni a lunghezza Caratteristiche 32 General Purpose Registers 32 Floating Point Registers a singola precisione ( precisione (condivisi con 16 FPRs a doppia La lunghezza di una word è di 32 bit. Indirizzamento della memory a byte, Big Endian, indirizzi di
2 Registri L ISA del DLX contiene 32 (R0-R31) general-purpose registers da 32 bit I registri R1-R31 sono dei reali GP registers R0 contiene sempre il valore 0 e non può essere modificato R31 è utilizzato per conservare l indirizzo di ritorno per le istruzioni JAL e JALR 3 Registri Un registro può essere caricato con ( 8-bit ) un byte ( 16-bit ) un halfword ( 32-bit ) una fullword I bit dei registri sono numerati come 0-31, da sinistra a destra (0 è il bit più significativo, 31 è quello meno significativo). L ordinamento dei byte è fatto in modo simile 0 7 BYTE BYTE BYTE BYTE 3 4 2
3 Registri Floating-Point ( F31 32 registri da 32 bit a singola precisione (F0, F1,.., Condivisi con16 registri da 64 bit a doppia precisione ( F30 (F0, F2,..., La più piccola unità indirizzabile è in un FPR è 32 bit Single-Precision Floating Point Registers F0 F1 F2 F3... F30 F31 F0 F2... F30 Double-Precision Floating Point Registers 5 Registri speciali Ci sono tre registri speciali PC, Program Counter, contiene l indirizzo ( bit dell istruzione dal leggere dalla memoria (32 IAR, Interrupt Address Register, mantiene l indirizzo di ritorno di 32 bit del programma interrottoquando ( bit una istruzione TRAP viene eseguita (32 FPSR, Floating-Point Status Register, utilizzato nei conditional branch per valutare il risultato di una ( bit operazione FP (1 6 3
4 Classi di Istruzioni Il DLX contiene 92 istruzioni divise in 6 classi load & store instructions move instructions arithmetic and logical instructions floating-point instructions jump & branch instructions special instructions 7 Tipi di istruzioni Tutte le istruzioni DLX sono di 32 bit e devono essere allineate in memoria a word. Esistono 3 formati delle istruzioni: I-type (Immediate): manipolano dati forniti da un campo di 16 bit; R-type (Register): manipolano dati forniti da uno o due registri; J-type (Jump): per specificare l indirizzo di salto non un registro; 8 4
5 ( 3 I-type Instructions (1 of ( byte load/store (word, u/s halfword, u/s operazioni ALU con operando immediato ( branch ) tutte le istruzioni di salto condizionato JR, JALR Opcode rs 1 rd immediate ( 3 I-type Instructions (2 of Opcode rs 1 rd immediate Opcode: istruzione DLX da eseguire rs 1 : sorgente per l ALU, indirizzo base per le Load/Store, registro da testare per i conditional branches, indirizzo destinazione per JR & JALR rd: destinazione per la Load e le operazioni ALU operations, sorgente per la store. (Non usato per conditional branches, JR e ( JALR immediate: spiazzamento per calcolare l indirizzo delle load e delle store, operando per l ALU, spiazzamento esteso in segno da sommare al PC per calcolare l indirizzo destinazione di un ( JALR conditional branch. (non usato per JR e 10 5
6 ( 3 I-type Instructions (3 of Opcode rs 1 rd immediate 16 lw r3, 6(r2) ; rd=r3, rs1=r2, imm=6 ; r3=mem[est_segno(6)+r2]; sw -7(r4),r3 ; rd=r3, rs1=r4, imm=7 ; Mem[est_segno(-7)+r4]=r3; addi r1,r2,5 ; rd=r1, rs1=r2, imm=5 ; r1=r2+est_segno(5); beqz r1,target ; rs1=r1, imm=target ; ( PC=PC+est_segno(target if(r1==0) jr r1 ; rs1=r1 ; PC=r1 11 R-type Instructions Sono usate per istruzioni che hanno come operandi dell ALU solo registri, per leggere e scrivere su e da registri speciali (IAR e FPSR), e per spostare valori tra i GPR e/o i FPR R-R ALU 6 R-R FPU rs 1 5 rs 2 5 rd unused func add r1,r2,r3 ;rd=r1, rs1=r2, rs2=r rs 1 5 rs 2 5 rd unused func addf f1,f2,f3 ;rd=f1, rs1=f2, rs2=f3 12 6
7 J-type Instructions Include jump (J), jump & link (JAL), TRAP e return from ( RFE ) exception 0 5 Opcode name name: spiazzamento con segno di 26 bit che è sommato all indirizzo (PC+4) per generare l indirizzo di destinazione. Per le TRAP esso specifica un indirizzo assoluto senza segno di 26 bit. 26 j target; ( PC=PC+est_segno(target 13 Load & Store GPR LB (Load Byte), LBU (Load Byte Unsigned), LH (Load Half word), LHU (Load Half word Unsigned), LW (Load Word), ( Word SB (Store Byte), SH (Store Half word), SW (Store LB/LBU/LH/LHU/LW rd,immediate(rs 1 ( SB/SH/SW immediate(rs 1 ),rd 14 7
8 Load & Store FPR LF (Load Float), LD (Load Double), ( Double SF (Store Float), SD (Store LF/LD Fd,immediate(rs 1 ( SF/SD immediate(rs 1 ),Fd 15 Arithmetic and Logical Instructions Quattro categorie: aritmetiche logiche shift set-on-comparison Operano con valori con segno/senza segno memorizzati nei GPR e con immediato Formato: R-type e I-type 16 8
9 Arithmetic Instructions ADD (add r1,r2,r3), SUB (sub r1,r2,r3), tratta il contenuto dei registri sorgente con segno overflow exception ADDU (addu r1,r2,r3), SUBU (subu r1,r2,r3), tratta il contenuto dei registri sorgente senza segno ( r1,r2,17 ADDI, SUBI, ADDUI, SUBUI (addi come prima ma con un operando immediato ( r1,r2,r3 MULT,MULTU,DIV,DIVU (mult 17 Logical Instructions ( r1,r2,r3 AND, OR, XOR (and operazione logica tra il contenuto di due registri ( r1,r2,16 ANDI, ORI, XORI (andi operazione logica tra il contenuto di un registro e un immediato zero-extended ( r1,0xff00 LHI (Load High Immediate) (lhi Piazza i 16 bit dell immediate nella porzione più significativa del registro destinazione e riempie la parte restante con '0' Permette di creare una costante di 32 bit in un registro GPR ( ADDI reg con due istruzioni (LHI seguita da 18 9
10 Shift Instructions SLL, SRL ( r3 (sll r1,r2,r3 ; r1 = r2 << Fa lo shift di una quantità specificata dal valore di un registro GP SLLI, SRLI (slli r1,r2,3 ; ( 3 << r2 r1 = Fa lo shift di una quantità specificata dal valore immediato Solo cinque bit vengono considerati 19 Arithmetic and Logical Instructions Set-On-Comparison Instructions SLT, SGT, SLE, SGE, SEQ, SNE ( r1=0 (slt r1,r2,r3 if (r2<r3) r1=1 else ( r1=0 (sle r1,r2,r3 if (r2<=r3)r1=1 else ( r1=0 (seq r1,r2,r3 if (r2==r3)r1=1 else Pone il registro destinazione a valore 1 se il risultato del confronto è 'true, al valore 0 altrimenti. SLTI, SGTI, SLEI, SGEI, SEQI, SNEI ( r1=0 (sgei r1,r2,5 if (r2 >= 5) r1=1 else Come prima ma con un argomento immediato (esteso in ( segno 20 10
11 Branch Instructions BEQZ, BNEZ (I-type) beqz r1,target ( PC=PC+4+est_segno(target if(r1==0) bnez r1,target ( PC=PC+4+est_segno(target if(r1==1) L indirizzo destinazione è calcolato sommando all immediato esteso in segno il PC Move Instructions Sono tutte nel formato R-type ( implementata MOVI2S, MOVS2I: GPR IAR (non movi2s rd,rs1 ;rd SR, rs1 GPR movs2i rd,rs1 ;rd GPR, rs1 SR MOVF, MOVD: FPR FPR movf rd,rs ;rd,rs FPR ( pari movd rd,rs ;rd,rs FPR (indici MOVFP2I, MOVI2FP: GPR FPR movfp2i rd,rs ;rd GPR, rs FPR movi2fp rd,rs ;rd FPR, rs GPR 22 11
12 Floating-Point Instructions Arithmetic instructions ( float ) ADDF, SUBF, MULTF, DIVF addf f0,f1,f2 subf f3,f4,f5 multf f1,f2,f3 divf f1,f2,f3 ( double ) ADDD, SUBD, MULTD, DIVD addd f0,f2,f4 subd f2,f4,f6 multd f4,f6,f8 divd f6,f8,f10 23 Floating-Point Instructions Tre categorie aritmetiche conversione Set-on-comparison Tali istruzioni operano con valori FP memorizzati in un solo registro (per singola precisione) o in una coppia di registri (per doppia precisione) FP Sono tutte nel formato R-type 24 12
13 Floating-Point Instructions Convert Instructions ( f6 ) CVTF2D (cvtf2d f6,f3) converte un float (f3) in double ( f5 ) CVTF2I (cvtf2i f5,f3) converte un float (f3) in integer ( f3 ) CVTD2F (cvtd2f f3,f4) converte un double (f4) in float ( f1 ) CVTD2I (cvtd2i f1,f4) converte un double (f4) in integer ( f1 ) CVTI2F (cvti2f f1,f3) converte un integer (f3) in float ( f4 ) CVTI2D (cvti2d f4,f1) converte un integer (f1) in double 25 Floating-Point Instructions Set-On-Comparison Instructions LTF Fa,Fb; LTD Da,Db; Less Than Float/Double (; FPSR=0 (if( Fa<Fb) FPSR=1; else GTF Fa,Fb; GTD Da,Db; Greater Than Float/Double LEF Fa,Fb; LED Da,Db; Less Than or Equal To Float/Double GEF Fa,Fb; GED Da,Db; Greater Than or Equal To Float/Double EQF Fa,Fb; EQD Da,Db; Equal To Float/Double NEF Fa,Fb; NED Da,Db; Not Equal To Float/Double 26 13
14 Branch Instructions BFPT, BFPF (I-type) bfpt label if (fpsr==1) PC=PC+4+ est_segno(label) bfpf label if (fpsr==0) PC=PC+4+ est_segno(label) L indirizzo destinazione è calcolato sommando all immediato esteso in segno il PC Jump Instructions J, JR, JAL, JALR j target; ( PC=PC+4+est_segno(target jr r1; PC=r1 jal label; ( PC=PC+4+est_segno(label r31=pc+4; jal r1; r31=pc+4; PC= r
15 Procedure La chiamata ad una procedura avviene mediante jal indirizzo_procedura; Questa istruzione salva sul registro r31 l indirizzo dell istruzione successiva alla jal ( indirizzo di ritorno) e assegna a PC il valore dell indirizzo della procedura Al termine della procedura si ritorna all istruzione successiva a quella chiamante la procedura mediante jr r31; Questa istruzione salta all indirizzo di ritorno contenuto in r31 29 Procedure che chiamano altre procedure Nel caso di una procedure A che chiama una procedure B, prima di chiamare B è necessario salvare sullo stack il valore del registro r31 ovvero l indirizzo di ritorno di A. Senza il salvataggio di r31 la chiamata di B mediante jal renderebbe irrecuperabile l indirizzo di ritorno del chiamante di A. Al termine della procedura B viene ripristinato il valore dell indirizzo di ritorno di A copiando in r31 il valore in cima allo stack. L indirizzo della cima dello stack è conservato nel registro r
16 Esempio di chiamata di una procedura A: jal B; B: addi r29, r29,4; sw 0(r29),r31; jal C; lw r31, 0(r29); subi r29, r29, 4; jr r31; C: jr r31; 31 Passaggio dei parametri di una procedure Il passaggio dei parametri avviene mediante i registri r2,r3,r4,r5; Se la procedura chiamata deve modificare il valore dei registri, essi devono essere salvati sullo stack prima di eseguire le istruzioni della procedure e, al termine della procedure, i valori originali dei registri vengono ripristinati leggendoli dalla cima allo stack
17 Programmazione Assembly Funzioni dell Assemblatore Traduzione da linguaggio mnemonico a linguaggio ( oggetto macchina (Produzione del modulo Analisi sintattica Tipi di Istruzioni dell Assemblatore ( esecuzione Istruzioni macchina (relative alla fase di Istruzioni per l Assemblatore (direttive: relative alla fase di traduzione). 33 Traduzione del codice Assembler La traduzione viene realizzata in due passate consecutive. Nella prima passata l assembler raccoglie tutte le etichette Inizio : Istruzione e calcola l indirizzo di memoria ad esse corrispondente. In questa prima passata costruisce la tabella dei simboli, associando ad ogni simbolo l indirizzo di memoria ad esso associato. Nella seconda passata le istruzioni avviene la sostituzione di valori numerici al posto dei simboli: (. etc Propri del linguaggio (codici operativi, registri, ( costanti Definiti dal programmatore (indirizzi e 34 17
18 Traduzione del codice Assembler La necessità di una doppia passata è dovuta alla possibilità di riferimenti in avanti ( uso di una etichetta prima della sua definizione). Il file prodotto dall assembler è chiamato file oggetto. Esso può contenere dei riferimenti irrisolti a sottoprogrammmi o dati definiti in altri file. Un etichetta è esterna se l oggetto che l etichetta indica può essere nominata anche in file diversi da quello in cui l etichetta è definita. (talvolta esse vengono chiamate globali). Un etichetta è locale se può essere usata solo nel file in cui è definita. L assembler è in grado di risolvere solo le etichette locali. Il compito di risolvere i riferimenti esterni è demandato al linker. 35 Il Linker Il Linker (detto anche Loader) deve: Costruire l eseguibile a partire dai vari moduli oggetto Segnalare gli errori di linking (simboli mancanti e/o ( duplicati ( Opzionale ) Creare una mappa della memoria 36 18
19 Direttive per l assembler Le direttive per l assembler iniziano con il simbolo.. data <ind> Il codice generato dopo questa direttiva viene allocato nel segmento dei dati. Se specificato l indirizzo (facoltativo) ind, l allocazione inizia a partire dall indirizzo ind.. text <ind> Il codice generato dopo questa direttiva viene allocato nel segmento testo. In questa sezione possono essere presenti solo istruzioni macchina e word allocate mediante la direttiva.word. 37 Direttive.word w1, w2,.., wn Memorizzazione dei valori a 32 bit w1, w2,.., wn in locazioni di memoria consecutive..half h1, h2,.., hn Memorizzazione dei valori a 16 bit h1, h2,.., hn in locazioni di memoria consecutive..byte b1, b2,.., bn Memorizzazione dei valori a 8 bit b1, b2,.., bn..float f1, f2,.., fn Memorizzazione dei numeri reali a singola precisione f1, f2,.., fn in locazioni di memoria consecutive..double d1, d2,.., dn Memorizzazione dei numeri reali a doppia precisione d1, d2,.., dn in locazioni di memoria consecutive
20 Direttive.align n Allineamento dei dati da scrivere in memoria all indirizzo modulo 2 n immediatamente successivo..ascii str Memorizzazione della sequenza di caratteri ASCII corrispondenti alla stringa str, senza inserire il carattere terminale 0..asciiz str Memorizzazione della sequenza di caratteri ASCII corrispondenti alla stringa str, terminandola con il carattere 0..space n Allocazione di n byte di spazio nel segmento dati. 39 Direttive.global label Rende la label disponibile per riferimenti provenienti da istruzioni macchina relativo ad altri moduli 40 20
21 ( 2 Traps - The System Interface (1 of Le trap costituiscono l interfaccia tra i programmi DLX e il sistema di I/O. Sono definite cinque trap in WinDLX Esse sono: Trap #0: Termina un programma Trap #1: Apre un File Trap #2: Chiude File Trap #3: Legge un blocco da File Trap #4: Scrive un blocco su File Trap #5: Output formattato per lo Standard-Output 41 ( 2 Traps - The System Interface (2 of Per tutte le trap: Esse corrispondono alle funzioni C open(), close(), () printf read(), write() e i descrittori di file 0,1 ad 2 sono riservati per stdin, stdout e stderr L indirizzo dei parametri per la chiamata di sistema deve essere caricato nel registro R14 Tutti i parametri devono essere di 32 bit I risultato è restituito nel registro R
22 Trap 1 apertura di un file Parameter 1. filename: Address of a zero-terminated string, that contains the path of the file to be opened. 2. mode, to open the file. Following modes can be combined using logical or-operation: 0x0001 O_RDONLY (read only) 0x0002 O_WRONLY (write only) 0x0004 O_RDWR (read and write) 0x0100 O_CREATE (create file) 0x0200 O_TRUNC (truncate file) 0x0400 O_EXCL (open file exclusively (with SHARE)) 0x0800 O_APPEND (append to file) 0x4000 O_TEXT (Convert CR/LF) 0x8000 O_BINARY (No conversion of CR/LF) 3. Additional Flags: 0x0000 S_IFREG (Normal file, no directory etc.) 0x0100 S_IREAD (read access permission) 0x0080 S_IWRITE (write access permission) 0x0040 S_IEXEC (execute permission) The file descriptor is returned in register R1. 43 Trap 1 esempio di apertura di un file.data FileName:.asciiz "D:\\Temp\\Dati.DAT".align 2 Par: ( OPEN ) ;*** Parameters for Trap1.word FileName ;create for R/W:.word 0x0104 ;R/W-access permission:.word 0x0180 FileDescr:.space 4.text addi r14,r0,par; trap 1 sw FileDescr,R
23 Trap 2 Chiusura di un file Parameter: 1. File descriptor of the file to be closed. Zero is returned in register R1, if it was successful, -1 otherwise..data FileName:.asciiz "D:\\Temp\\dati.DAT.align 2 Par:.word FileName, 0x0104, 0x0180 FileDescr:.space 4.text addi r14,r0,filedescr trap 2 45 Trap 3 Lettura da file A file block or a line from stdin can be read with this trap. Parameter: 1. File descriptor of the file 2. Address, for the destination of the read operation 3. Size of block (bytes) to be read The actual number of bytes read is returned in register R
24 Trap 3 Esempio di lettura da file.data buffer:.space 50 FileName:.asciiz "D:\\Temp\\dati.DAT.align 2 Par:.word FileName, 0x0001, 0x0100 FileDescr:.space 4.word buffer.word 50.text addi r14,r0,par; trap 1 sw FileDescr,R1 ;read addi r14,r0,filedescr ; trap 3 47 Trap 3 Lettura da stdin Non serve aprire esplicitamente lo stdin mediante la trap 1 Parametro: Descrittore dello stdin : 0 Indirizzo,per la destinazione dell operazione di lettura Numero di blocchi (byte) da leggere Il numero di byte è restituito R1.data buffer:.space 64 FileDesc:.word 0, buffer, 64.text addi r14,r0,filedesc trap 3 trap
25 Trap 4 Scrittura su file A block can be written to the memory or the standard output. Parameter: 1. File descriptor of file 2. Address of block to be written 3. Size of the block (bytes) The actual number of bytes written is returned in register R1. 49 Trap 4 Scrittura su file.data buffer:.space 50 FileName:.asciiz D:\\Temp\\dati.DAT.align 2 Par:.word FileName, 0x0104, 0x0180 FileDescr:.space 4.word buffer.word 50.text addi r14,r0,par; trap 1 sw FileDescr,R1 addi r14,r0,filedescr; trap
26 Trap 5 - Formatted Output to Standard Out Parametro: Stringa formattata: guardare la funzione C () printf Argomenti: in accordo alla stringa di formato Il numero di byte trasferiti allo stdout è restituito in R1.data msg:.asciiz "Hello World!\nreal:%f, integer:%d\n".align 2 msg_addr:.word msg.double word text addi r14,r0,msg_addr trap 5 trap 0 51 Esempio: Input Unsigned (C ( code Legge una stringa dal stdin e la converte in decimale int InputUnsigned(char ( PrintfPar * { char ReadPar[80]; int i, n; char c; printf( %s, PrintfPar); scanf( %s, ReadPar); i = 0; n =0; while (ReadPar[i]!= '\n') { c = ReadPar[i] - 48; n = (n * 10) + c; i++ } return n; } 52 26
27 Esempio: Input Unsigned Legge una stringa dal stdin e la converte in decimale ;expect the address of a zero- ;terminated prompt string in R1 ;returns the read value in R1 ;changes the contents of registers R1,R13,R14.data ;*** Data for Read-Trap ReadBuffer:.space 80 ReadPar:.word 0,ReadBuffer,80 ;*** Data for Printf-Trap PrintfPar:.space 4 SaveR2:.space 4 SaveR3:.space 4 SaveR4:.space 4 SaveR5:.space 4 53 Esempio: Input Unsigned.text.global InputUnsigned InputUnsigned: ;*** save register contents sw SaveR2,r2 sw SaveR3,r3 sw SaveR4,r4 sw SaveR5,r5 ;*** Prompt sw PrintfPar,r1 addi r14,r0,printfpar trap 5 ;*** call Trap-3 to read line addi r14,r0,readpar trap 3 ;*** determine value addi r2,r0,readbuffer addi r1,r0,0 addi r4,r0,10 ;Dec system Loop: ;*** reads digits to end of line lbu ( r3,0(r2 seqi r5,r3,10 ;LF -> Exit bnez r5,finish subi r3,r3,48 ; 0 multu r1,r1,r4 ;Shift decimal add r1,r1,r3 addi r2,r2,1 ;inc pointer j Loop Finish: ;*** restore old regs contents lw r2,saver2 lw r3,saver3 lw r4,saver4 lw r5,saver5 jr r31 ; Return 54 27
28 ( 1/2 ) Esempio: Fattoriale.data Prompt:.asciiz "A value >1: " PrintfFormat:.asciiz "Factorial = %g\n\n".align 2 PrintfPar:.word PrintfFormat PrintfValue:.space 8.text.global main main: ;*** Read from stdin into R1 addi r1,r0,prompt jal InputUnsigned 55 ( 2/2 ) Esempio: Fattoriale ;*** init values movi2fp f10,r1 cvti2d f0,f10 ;D0..Count register addi r2,r0,1 movi2fp f11,r2 cvti2d f2,f11 ;D2..result movd f4,f2 ;D4..Constant 1 Loop:;*** Break loop if D0 = 1 led f0,f4 ;D0<=1? bfpt Finish ;*** Multiplication and next loop multd f2,f2,f0 subd f0,f0,f4 j Loop Finish: ;*** write result to stdout sd PrintfValue,f2 addi r14,r0,printfpar trap 5 trap
29 ( 1 ) Somma tra gli elementi di un vettore.data vett:.space 20 msg_lett:.asciiz "\ninserire un numero\n" msg_somma:.asciiz "\nla somma e' %d".align 2 msg_sm_addr:.word msg_somma somma:.space 4.text.global main main: loop_lett: addi r3,r0,5 addi r2,r0, 0 addi r1,r0,msg_lett jal InputUnsigned sw vett(r2), r1 addi r2,r2,4 subi r3,r3,1 bnez r3, loop_lett 57 ( 2 ) Somma tra gli elementi di un vettore calcolo: loop_somma: addi r3,r0,5 addi r2,r0,0 addi r4,r0,0 ( r5,vett(r2 lw subi r3,r3,1 add r4,r4,r5 addi r2,r2,4 bnez r3,loop_somma stampa: sw somma(r0),r4 addi r14,r0, msg_sm_addr trap 5 fine: trap
30 ( 1/4 ) Esempio: Minimo.data vett:.space 20 msg_lettura:.asciiz "\ninserire un numero" msg_stampa:.asciiz "\nil minimo e' %d e si trova in posizione %d".align 2 msg_stampa_addr:.word msg_stampa minimo:.space 4 posmin:.space 4 59 ( 2/4 ) Esempio: Minimo.text.global main main: addi r2,r0,0 loop_lettura:addi r1,r0,msg_lettura jal InputUnsigned sw vett(r2), r1 addi r2, r2,4 slti r3,r2,20 bnez r3, loop_lettura 60 30
31 ( 3/4 ) Esempio: Minimo calcolo_min: loop_min: if_vi_min: fine_ciclo_min: addi r2,r0,0 addi r3,r0,5 addi r6,r0,0 lw r5, vett(r2) addi r2,r2,4 subi r3,r3,1 ( vett(r2 lw r4, slt r15, r4,r5 beqz r15, fine_ciclo_min add r5,r0,r4 srli r6,r2,2 bnez r3, loop_min 61 ( 4/4 ) Esempio: Minimo stampa: sw minimo(r0),r5 sw posmin(r0), r6 addi r14,r0,msg_stampa_addr trap 5 fine: trap
Assembler di Spim. Assembler di SPIM. Struttura di un programma assembler. Direttive
Assembler di Spim Assembler di SPIM Il programma è organizzato in linee Ogni linea può contenere un commento che parte dal carattere # e si estende fino alla fine della linea Ogni linea che non sia bianca
DettagliL ambiente di simulazione SPIM
Architettura degli Elaboratori e delle Reti Lezione 14 L ambiente di simulazione SPIM Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 14 1/28
DettagliSommario Introduzione al linguaggio Assembly. Calcolatori Elettronici Prof. Gian Luca Marcialis. Le operazioni fondamentali
Prof. Gian Luca Marcialis Corso di Laurea di Ingegneria Elettronica Capitolo 5 Linguaggio Assembly Fonti principali: Patterson, A.D., Hennessy, J., "Struttura, organizzazione e progetto dei calcolatori
DettagliManualino minimale MIPS
Università degli Studi dell Insubria Dipartimento di Scienze Teoriche e Applicate Manualino minimale MIPS Marco Tarini Operazioni aritmetiche Nome Comando completo Esempio Sintassi (es) Significato Semantica
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
DettagliCOMPITINO #1 di CALCOLATORI ELETTRONICI 1 del 03-11-09 COGNOME NOME
MATRICOLA COGNOME NOME 1) [28/40] Trovare il codice assembly MIPS corrispondente dei seguenti micro-benchmark (utilizzando solo e unicamente istruzioni dalla tabella sottostante), rispettando le convenzioni
DettagliAppunti di Calcolatori Elettronici Capitolo 4 Architettura del DLX DLX istruzioni load/store pipeline decodifica dell insieme di istruzioni
Appunti di Calcolatori Elettronici Capitolo 4 Architettura del DLX Introduzione... 1 Descrizione generale dell architettura DLX... 2 Istruzioni del DLX... 3 Istruzioni di caricamento/memorizzazione...
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:
DettagliIl simulatore SPIM SPIM
Il simulatore SPIM Architetture dei Calcolatori (lettere A-I) SPIM SPIM: un simulatore per eseguire programmi assembler scritti per processori MIPS32 Download e materiale relativo alla pagina Web http://www.cs.wisc.edu/~larus/spim.html
DettagliL unità di controllo. Il processore: unità di controllo. Le macchine a stati finiti. Struttura della macchina a stati finiti
Il processore: unità di lo Architetture dei Calcolatori (lettere A-I) L unità di lo L unità di lo è responsabile della generazione dei segnali di lo che vengono inviati all unità di elaborazione Alcune
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
DettagliLe costanti Le modalità di indirizzamento L assembly del MIPS
Le costanti Le modalità di indirizzamento L assembly del MIPS Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it Università degli Studi di Milano 1/45 Sommario Le costanti
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
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
DettagliCPU. Maurizio Palesi
CPU Central Processing Unit 1 Organizzazione Tipica CPU Dispositivi di I/O Unità di controllo Unità aritmetico logica (ALU) Terminale Stampante Registri CPU Memoria centrale Unità disco Bus 2 L'Esecutore
DettagliArchitettura della CPU e linguaggio assembly Corso di Abilità Informatiche Laurea in Fisica. prof. ing. Corrado Santoro
Architettura della CPU e linguaggio assembly Corso di Abilità Informatiche Laurea in Fisica prof. ing. Corrado Santoro Schema a blocchi di una CPU Arithmetic Logic Unit Control Unit Register File BUS Control
DettagliToolChain: Come Generare Applicazioni in Linguaggio Macchina
ToolChain: Come Generare Applicazioni in Linguaggio Macchina Luca Abeni e Luigi Palopoli March 30, 2015 La Lingua della CPU Una CPU capisce e riesce ad eseguire solo il linguaggio macchina Linguaggio di
DettagliArchitetture dei Calcolatori (Lettere. Installazione di SPIM. Interfaccia Grafica
SPIM Architetture dei Calcolatori (Lettere A-I) SPIM Ing.. Francesco Lo Presti Simulatore che esegue programmi assembler per architetture RISC MIPS R2000/R3000 Legge programmi in assembler MIPS e li traduce
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
DettagliCALCOLATORI ELETTRONICI 15 aprile 2014
CALCOLATORI ELETTRONICI 15 aprile 2014 NOME: COGNOME: MATR: Scrivere nome, cognome e matricola chiaramente in caratteri maiuscoli a stampa 1 Di seguito è riportato lo schema di una ALU a 32 bit in grado
DettagliIl linguaggio del calcolatore: linguaggio macchina e linguaggio assembly
Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin ORGANIZZAZIONE DEL CALCOLATORE:
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 (10/9/2003) Pag. 1/6. Cognome e Nome (in stampatello):
Architettura (10/9003) Pag. 1/6 Esame di Architettura (matr.0-1) del 10/9003 Per Fondamenti di Architettura NON rispondere Per le domande a risposta multipla cerchiare la risposta scelta. Non alle domande
DettagliAXO Architettura dei Calcolatori e Sistema Operativo. processo di assemblaggio
AXO Architettura dei Calcolatori e Sistema Operativo processo di assemblaggio linguaggio assembly è il linguaggio simbolico che consente di programmare un calcolatore utilizzando le istruzioni del linguaggio
DettagliCorso di Calcolatori Elettronici I A.A. 2010-2011 Il processore Lezione 18
Corso di Calcolatori Elettronici I A.A. 2010-2011 Il processore Lezione 18 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Calcolatore: sottosistemi Processore o CPU (Central Processing
DettagliCalcolatori Elettronici Parte X: l'assemblatore as88
Anno Accademico 2013/2014 Calcolatori Elettronici Parte X: l'assemblatore as88 Prof. Riccardo Torlone Università Roma Tre L'assemblatore as88 Disponibile presso: CD-ROM allegato al libro di testo del corso
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
DettagliIntroduzione al Linguaggio C
Introduzione al Linguaggio C File I/O Daniele Pighin April 2009 Daniele Pighin Introduzione al Linguaggio C 1/15 Outline File e dati Accesso ai file File I/O Daniele Pighin Introduzione al Linguaggio C
DettagliArchitettura di un calcolatore: introduzione
Corso di Calcolatori Elettronici I Architettura di un calcolatore: introduzione Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie
DettagliMIPS Instruction Set 2
Laboratorio di Architettura 15 aprile 2011 1 Architettura Mips 2 Chiamata a Funzione 3 Esercitazione Registri MIPS reference card: http://refcards.com/docs/waetzigj/mips/mipsref.pdf 32 registri general
DettagliHardware di un Computer
Hardware di un Computer Monitor Mouse Tastiera Printer Disk CPU Graphics Adapter USB Controller Parallel Port Disk Controller BUS Memoria RAM Memoria ROM (BIOS) DMA CPU esegue istruzioni, effettua calcoli,
DettagliArchitettura dei calcolatori e sistemi operativi. Assemblatore e Collegatore (Linker) Capitolo 2 P&H Appendice 2 P&H
Architettura dei calcolatori e sistemi operativi Assemblatore e Collegatore (Linker) Capitolo 2 P&H Appendice 2 P&H Sommario Il processo di assemblaggio Il collegatore (linker) 2 Assemblatore: traduzione
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
DettagliCapitolo Quarto...2 Le direttive di assemblaggio di ASM 68000...2 Premessa...2 1. Program Location Counter e direttiva ORG...2 2.
Capitolo Quarto...2 Le direttive di assemblaggio di ASM 68000...2 Premessa...2 1. Program Location Counter e direttiva ORG...2 2. Dichiarazione di dati: le direttive DS e DC...3 2.1 Direttiva DS...3 2.2
DettagliLezione n.9. Introduzione al linguaggio macchina
Lezione n.9 Autore:Luca Orrù 1 Sommario Esecuzione delle istruzioni Architettura interna ed esterna Linguaggio assembler e modi d indirizzamento Consideriamo ora la singola istruzione e la scomponiamo
DettagliGli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori
Gli array Array e puntatori Laboratorio di Informatica I un array è un insieme di elementi (valori) avente le seguenti caratteristiche: - un array è ordinato: agli elementi dell array è assegnato un ordine
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
DettagliArchitettura del calcolatore
Architettura del calcolatore La prima decomposizione di un calcolatore è relativa a due macro-componenti: Hardware Software Architettura del calcolatore L architettura dell hardware di un calcolatore reale
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.
DettagliMODELLO DLX IN UNISIM
Architettura e descrizione del modello MODELLO DLX IN UNISIM RINGRAZIAMENTI : I materiali per questa presentazione sono tratti dal tutorial ufficiale di UNISIM - https://unisim.org/site/tutorials/start
DettagliIstruzioni di trasferimento dati
Istruzioni di trasferimento dati Leggere dalla memoria su registro: lw (load word) Scrivere da registro alla memoria: sw (store word) Esempio: Codice C: A[8] += h A è un array di numeri interi Codice Assembler:
Dettagli[http://www.di.univaq.it/muccini/labarch]
[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 3: Introduzione a SPIM
DettagliIntroduzione alla programmazione in C
Introduzione alla programmazione in C Testi Consigliati: A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. M. Ritchie Linguaggio C P. Tosoratti Introduzione all informatica Materiale
DettagliFetch Decode Execute Program Counter controllare esegue prossima
Stored Program Istruzioni sono stringhe di bit Programmi: sequenze di istruzioni Programmi (come i dati) memorizzati in memoria La CPU legge le istruzioni dalla memoria (come i dati) Ciclo macchina (ciclo
DettagliIl linguaggio del calcolatore: linguaggio macchina e linguaggio assembly
Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin ORGANIZZAZIONE DEL CALCOLATORE:
DettagliL architettura di riferimento
Architetture degli elaboratori e delle reti Lezione 10 L architettura di riferimento Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 10 1/27
DettagliCalcolatori Elettronici A a.a. 2008/2009
Calcolatori Elettronici A a.a. 2008/2009 ISA e LINGUAGGIO ASSEMBLY MIPS ESERCIZI Massimiliano Giacomin ESERCIZIO Utilizzando la green card, tradurre in linguaggio macchina le due istruzioni in assembly
DettagliCalcolatori Elettronici T. ISA DLX: Implementazione Tramite Struttura Sequenziale
Calcolatori Elettronici T ISA DLX: Implementazione Tramite Struttura Sequenziale 1 E disponibile un interprete e simulatore (EasyDLX) per un insieme semplificato dell ISA DLX realizzato da Daniele Biagi
DettagliIl processore. Il processore. Il processore. Il processore. Architettura dell elaboratore
Il processore Architettura dell elaboratore Il processore La esegue istruzioni in linguaggio macchina In modo sequenziale e ciclico (ciclo macchina o ciclo ) Effettuando operazioni di lettura delle istruzioni
DettagliUniversità degli Studi di Roma La Sapienza Architettura degli elaboratori II
Università degli Studi di Roma La Sapienza Architettura degli elaboratori II Architettura degli elaboratori II Indice degli argomenti Le istruzioni assembly Categorie di istruzioni assembly Istruzioni
DettagliArchitettura MIPS (RISC) Architetture dei Calcolatori (Lettere. Principi di Progettazione ISA MIPS MIPS R3000 ISA. Il Set di Istruzioni MIPS
Architettura MIPS (RISC) Architetture dei Calcolatori (Lettere A-I) Il Set di Istruzioni MIPS Ing.. Francesco Lo Presti Sviluppata e progettata a Stanford (USA) Progettata nei primi anni 80 Prodotta e
DettagliProgrammazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto
Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto LEZIONE
DettagliMIPS! !
MIPS! Sono descritte solamente le istruzioni di MIPS32, le pseudo-istruzioni, System Calls e direttive del linguaggio assembly che sono maggiormente usate.! MIPS è big-endian, cioè, lʼindirizzo di una
DettagliAssembly. Motivazioni. Programmazione 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:
DettagliIng. Paolo Domenici PREFAZIONE
Ing. Paolo Domenici SISTEMI A MICROPROCESSORE PREFAZIONE Il corso ha lo scopo di fornire i concetti fondamentali dei sistemi a microprocessore in modo semplice e interattivo. È costituito da una parte
DettagliHazard sul controllo. Sommario
Hazard sul controllo Prof. Alberto Borghese Dipartimento di Scienze dell Informazione alberto.borghese@unimi.it Università degli Studi di Milano Riferimento al Patterson: 4.7, 4.8 1/28 Sommario Riorganizzazione
DettagliCalcolatori Elettronici
Calcolatori Elettronici CPU a singolo ciclo assimiliano Giacomin Schema del processore (e memoria) Unità di controllo Condizioni SEGNALI DI CONTROLLO PC emoria indirizzo IR dato letto UNITA DI ELABORAZIONE
DettagliCalcolatori Elettronici A a.a. 2008/2009
Calcolatori Elettronici A a.a. 2008/2009 ISA e LINGUAGGIO ASSEMBLY MIPS Massimiliano Giacomin 1 Architettura MIPS Architettura RISC e load-store sviluppata da John Hennessy nel 1981 Usata da NEC, Nintendo,
DettagliDall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni
Dall Algoritmo al Programma Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni IL PROGRAMMA Gli algoritmi sono modelli di descrizione astratti e per controllarne il funzionamento devono essere
DettagliFondamenti di Informatica e Laboratorio T-AB T-16 Progetti su più file. Funzioni come parametro. Parametri del main
Fondamenti di Informatica e Laboratorio T-AB T-16 Progetti su più file. Funzioni come parametro. Parametri del main Paolo Torroni Dipartimento di Elettronica, Informatica e Sistemistica Università degli
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 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
DettagliLezione 2 Principi Fondamentali di SO Interrupt e Caching. Sommario
Lezione 2 Principi Fondamentali di SO Interrupt e Caching Sommario Operazioni di un SO: principi fondamentali Una visione schematica di un calcolatore Interazione tra SO, Computer e Programmi Utente 1
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
DettagliFunzioni in C. Violetta Lonati
Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni
DettagliLa Macchina Virtuale
Università degli Studi di Palermo Dipartimento di Ingegneria Informatica Elaborazione di Immagini e Suoni / Riconoscimento e Visioni Artificiali 12 c.f.u. Anno Accademico 2008/2009 Docente: ing. Salvatore
DettagliOperazioni di input e output in Fortran 90
Operazioni di input e output in Fortran 90 Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2006/2007 Fortran 90: file e formattazione DIS - Dipartimento di informatica
DettagliCorso di Informatica Applicata. Lezione 3. Università degli studi di Cassino
Università degli studi di Cassino Corso di Laurea in Ingegneria della Produzione Industriale Corso di Informatica Applicata Lezione 3 Ing. Saverio De Vito e-mail: saverio.devito@portici.enea.it Tel.: +39
DettagliLinguaggio C. Fondamenti. Struttura di un programma.
Linguaggio C Fondamenti. Struttura di un programma. 1 La storia del Linguaggio C La nascita del linguaggio C fu dovuta all esigenza di disporre di un Linguaggio ad alto livello adatto alla realizzazione
DettagliGestione dei File in C
Gestione dei File in C Maurizio Palesi DIIT Università di Catania Viale Andrea Doria 6, 95125 Catania mpalesi@diit.unict.it http://www.diit.unict.it/users/mpalesi Sommario In questo documento saranno introdotte
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
DettagliIstruzioni di controllo del flusso
Istruzioni di controllo del flusso Il flusso di esecuzione è normalmente sequenziale Le istruzioni di controllo cambiano la prossima istruzione da eseguire Istruzioni di salto condizionato branch if equal
DettagliLezione 16: L architettura LC-3
Lezione 16: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 15 Maggio 2013 Ricorda... Il ciclo di esecuzione di un istruzione è composto da sei fasi: FETCH DECODE ADDRESS
DettagliCapitolo 11 -- Silberschatz
Implementazione del File System Capitolo 11 -- Silberschatz Implementazione del File System File system: Definizione dell aspetto del sistema agli occhi dell utente Algoritmi e strutture dati che permettono
DettagliElementi di Informatica e Programmazione. # Memoria di massa. Problema: comprare un PC. Architettura del calcolatore. Architettura di Von Neumann
Elementi di Informatica e Programmazione Architettura del calcolatore (prima parte) Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Problema:
DettagliCalcolatori Elettronici T Ingegneria Informatica. DLX: implementazione sequenziale
Calcolatori Elettronici T Ingegneria Informatica DLX: implementazione sequenziale Datapath e Unità di Controllo La struttura di una CPU, come tutte le reti logiche sincrone che elaborano dati, può essere
DettagliArchitettura degli Elaboratori
Architettura degli Elaboratori Linguaggio macchina e assembler (caso di studio: processore MIPS) slide a cura di Salvatore Orlando, Marta Simeoni, Andrea Torsello Architettura degli Elaboratori 1 1 Istruzioni
DettagliLinguaggio macchina. Architettura degli Elaboratori e delle Reti. Il linguaggio macchina. Lezione 16. Proff. A. Borghese, F.
Architettura degli Elaboratori e delle Reti Lezione 16 Il linguaggio macchina Proff. A. Borghese, F. Pedeini Dipaimento di Scienze dell Informazione Univeità degli Studi di Milano L 16 1/32 Linguaggio
DettagliLezione 20. della CPU MIPS. Prof. Federico Pedersini Dipartimento di Informatica Università degli Studi di Milano
Architettura degli Elaboratori Lezione 20 ISA (Instruction Set Architecture) della CPU MIPS Prof. Federico Pedersini Dipartimento di Informatica Università degli Studi di Milano L16-20 1/29 Linguaggio
DettagliArduino: Programmazione
Programmazione formalmente ispirata al linguaggio C da cui deriva. I programmi in ARDUINO sono chiamati Sketch. Un programma è una serie di istruzioni che vengono lette dall alto verso il basso e convertite
DettagliCalcolatori Elettronici T Ingegneria Informatica 03 Linguaggio macchina
Calcolatori Elettronici T Ingegneria Informatica 03 Linguaggio macchina Stefano Mattoccia Instruction Set Architecture L insieme delle istruzioni e dei registri di una CPU costituiscono l Instruction Set
DettagliStruttura del calcolatore
Struttura del calcolatore Proprietà: Flessibilità: la stessa macchina può essere utilizzata per compiti differenti, nessuno dei quali è predefinito al momento della costruzione Velocità di elaborazione
DettagliVon Neumann. John Von Neumann (1903-1957)
Linguaggio macchina Von Neumann John Von Neumann (1903-1957) Inventore dell EDVAC (Electronic Discrete Variables AutomaFc Computer), la prima macchina digitale programmabile tramite un soiware basata su
DettagliL Assembler 8086. Istruzioni Aritmetiche. M. Rebaudengo - M. Sonza Reorda. Politecnico di Torino Dip. di Automatica e Informatica
L Assembler 8086 M. Rebaudengo - M. Sonza Reorda Politecnico di Torino Dip. di Automatica e Informatica 1 M. Rebaudengo, M. Sonza Reorda Si suddividono in: istruzioni per il calcolo binario istruzioni
DettagliAritmetica dei Calcolatori 2
Laboratorio di Architettura 13 aprile 2012 1 Operazioni bit a bit 2 Rappresentazione binaria con segno 3 Esercitazione Operazioni logiche bit a bit AND OR XOR NOT IN OUT A B A AND B 0 0 0 0 1 0 1 0 0 1
DettagliIl Processore: i registri
Il Processore: i registri Il processore contiene al suo interno un certo numero di registri (unità di memoria estremamente veloci) Le dimensioni di un registro sono di pochi byte (4, 8) I registri contengono
DettagliEsercizi di programmazione in C
Esercizi di programmazione in C Esercizio 1 Scrivere un programma in linguaggio C che legga da tastiera una sequenza di lunghezza ignota a priori di numeri interi positivi. Il programma, a partire dal
DettagliFiles, File I/O, File Sharing. Franco Maria Nardini
Files, File I/O, File Sharing Franco Maria Nardini UNIX file types UNIX non richiede una struttura interna del file. Dal punto di vista del sistema operativo c e un solo tipo di file. Struttura e interpretazione
DettagliTECNICHE AVANZATE DI I/O. Al loro livello più basso, tutti i file scritti sull hard disk. Training per esperti SU FILE
Training per esperti TECNICHE AVANZATE DI I/O SU FILE Spesso, la decisione di dividere in processi differenti la produzione dei dati dall uso degli stessi viene presa perché occorre scrivere i dati su
DettagliLe funzioni in C. I programmi C sono costituiti da definizioni di variabili e funzioni.
Le funzioni in C I programmi C sono costituiti da definizioni di variabili e funzioni. Una definizione di funzione ha il seguente formato: tipo-ritornato nome-funzione(lista-parametri) { dichiarazioni
DettagliC. P. U. MEMORIA CENTRALE
C. P. U. INGRESSO MEMORIA CENTRALE USCITA UNITA DI MEMORIA DI MASSA La macchina di Von Neumann Negli anni 40 lo scienziato ungherese Von Neumann realizzò il primo calcolatore digitale con programma memorizzato
DettagliLINGUAGGI DI PROGRAMMAZIONE
LINGUAGGI DI PROGRAMMAZIONE Il potere espressivo di un linguaggio è caratterizzato da: quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente) quali istruzioni di
DettagliMatlab: Gestione avanzata dei file
Matlab: Gestione avanzata dei file Informatica B File 2 Contenitori di informazione permanenti Sono memorizzati su memoria di massa Possono continuare ad esistere indipendentemente dalla vita del programma
DettagliARCHITETTURA DEGLI ELABORATORI II - LABORATORIO
ARCHITETTURA DEGLI ELABORATORI II - LABORATORIO PRIMA ESERCITAZIONE Nota. Per informazioni generali, riferimenti bibliografici, link e altro si consulti la pagina web del corso: http://homes.di.unimi.it/
DettagliIntroduzione al linguaggio C Gli array
Introduzione al linguaggio C Gli array Vettori nome del vettore (tutti gli elementi hanno lo stesso nome, c) Vettore (Array) Gruppo di posizioni (o locazioni di memoria) consecutive Hanno lo stesso nome
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
DettagliArchitettura hardware
Architettura dell elaboratore Architettura hardware la parte che si può prendere a calci Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione
DettagliCompilatore risorse display grafico LCD serie IEC-line
Compilatore risorse display grafico LCD serie IEC-line aggiornamento: 22-11-2012 IEC-line by OVERDIGIT overdigit.com 1. Il display grafico LCD I PLC della serie IPC-line possono disporre opzionalmente
Dettagli