Big-endian e little-endian sono due metodi differenti usati dai calcolatori per immagazzinare in memoria dati di dimensione superiore al byte (es. word, dword, qword).

Ad esempio, Intel e Digital usano il formato little endian mentre Motorola, IBM e Sun usano il formato big endian.
Il big-endian, dato che è stato scelto come ordine standard in molti protocolli utilizzati in Internet, viene anche chiamato network byte order. Per contro viene chiamato host byte order l'ordine nativo dell'host in uso.

Prosegue...

Vota questo articolo per primo

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Quando la CPU rileva un segnale di interrupt, libera il bus dati ed abilita il dispositivo in attesa ad inviare l'interrupt vector. Un interrupt vector è l'indirizzo di memoria di un interrupt handler (la routine di gestione dell'interrupt), o un indice in un array chiamato interrupt vector table o dispatch table. Una Interrupt vector table contiene gli indirizzi di memoria degli interrupt handler.

Dopo la generazione di un interrupt, il processore salva il suo stato di esecuzione ed avvia l'esecuzione dell' interrupt handler corrispondente all'interrupt vector.

Vota questo articolo per primo

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Una procedura è detta rientrante se può essere richiamata da più task senza generare conflitti. Tipicamente i problemi possono nascere se la procedura, durante la sua esecuzione, modifica delle variabili globali o statiche, poiché ne esiste un'unica copia in memoria.

Per realizzare procedure rientranti è necessario applicare le seguenti tecniche:

  • far uso, quando possibile, di variabili allocate nello stack (parametri e variabili locali) al posto delle variabili globali o statiche;
  • proteggere le variabili statiche e globali all'interno di sezioni critiche, in modo da impedirne l'accesso contemporaneo da parte di task differenti.

L'implementazione di alcune procedure (richiamabili contemporaneamente da più task) può richiedere l'uso di variabili globali o statiche con un valore distinto per ogni task chiamante; alcuni sistemi operativi (come ad esempio VxWorks) forniscono la possibilità di aggiungere delle variabili al contesto del task; ogni volta che si verifica un cambio di contesto, il valore della variabile è aggiornato con il valore memorizzato nel contesto corrente.

Vota questo articolo per primo

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

L'UTF-8 è una rappresentazione dei caratteri Unicode che utilizza un numero variabile di byte per rappresentare un carattere. La rappresentazione e' generalmente efficiente poiché i caratteri più comuni (gli ASCII, ma per essere corretti i caratteri Basic Latin) sono rappresentati con un solo byte. Gli altri caratteri vengono rappresentati con due, tre o quattro byte.

Quindi UTF-8 consente di rappresentare tutti i caratteri Unicode, occupando meno spazio di altre codifiche (UTF-16 o UTF-32); inoltre essendo consistente con la codifica ASCII, può essere utilizzata anche con software datato, generalmente non scritto per funzionare con i caratteri Unicode.

Vota questo articolo per primo

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Esempio di codifica ManchesterLa codifica Manchester consiste nel suddividere il periodo di un bit in due intervalli uguali; il bit 1 è trasmesso con la tensione alta durante il primo intervallo e bassa nel secondo, mentre per il bit 0 avviene l'opposto: prima bassa e poi alta. Questo metodo garantisce che ciascun periodo di un bit abbia sempre una transizione nel mezzo.

La codifica Manchester fornisce un modo semplice per codificare sequenze binarie arbitrarie senza mai aver lunghi periodi di tempo privi di transizioni di clock, il che permette di prevenire la perdita della sincronizzazione del clock. 

Correntemente valutato 5.0 da 3 utenti

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Calendario

<<  settembre 2010  >>
lumamegivesado
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910

View posts in large calendar
Licenza d'uso
Eccetto dove diversamente specificato, i contenuti di questo sito sono rilasciati mediante:

Licenza Creative Common