Galleria mappe mentale Principi di composizione informatica
Riepilogo delle conoscenze sui principi di composizione informatica. Coinvolge molti aspetti della conoscenza come le istruzioni del computer, la rappresentazione numerica, i principi del moltiplicatore e del divisore, il sistema di istruzioni MIPS, ecc. Aiuta gli studenti dei principi della composizione del computer a risolvere la struttura della conoscenza, a padroneggiare rapidamente i principi e la tecnologia della composizione del computer e a stabilire una solida fondamento informatico.
Modificato alle 2024-03-02 22:24:43Microbiologia medica, Infezioni batteriche e immunità riassume e organizza i punti di conoscenza per aiutare gli studenti a comprendere e ricordare. Studia in modo più efficiente!
La teoria cinetica dei gas rivela la natura microscopica dei fenomeni termici macroscopici e le leggi dei gas trovando la relazione tra quantità macroscopiche e quantità microscopiche. Dal punto di vista del movimento molecolare, vengono utilizzati metodi statistici per studiare le proprietà macroscopiche e modificare i modelli di movimento termico delle molecole di gas.
Este é um mapa mental sobre uma breve história do tempo. "Uma Breve História do Tempo" é um trabalho científico popular com influência de longo alcance. Ele não apenas introduz os conceitos básicos da cosmologia e da relatividade, mas também discute os buracos negros e a expansão. Do universo. questões científicas de ponta, como inflação e teoria das cordas.
Microbiologia medica, Infezioni batteriche e immunità riassume e organizza i punti di conoscenza per aiutare gli studenti a comprendere e ricordare. Studia in modo più efficiente!
La teoria cinetica dei gas rivela la natura microscopica dei fenomeni termici macroscopici e le leggi dei gas trovando la relazione tra quantità macroscopiche e quantità microscopiche. Dal punto di vista del movimento molecolare, vengono utilizzati metodi statistici per studiare le proprietà macroscopiche e modificare i modelli di movimento termico delle molecole di gas.
Este é um mapa mental sobre uma breve história do tempo. "Uma Breve História do Tempo" é um trabalho científico popular com influência de longo alcance. Ele não apenas introduz os conceitos básicos da cosmologia e da relatividade, mas também discute os buracos negros e a expansão. Do universo. questões científicas de ponta, como inflação e teoria das cordas.
Principi di composizione informatica
Panoramica e tecnologia del computer
introduzione
Classificazione dei computer e loro caratteristiche
Personal computer
server
Esegui attività di carico pesante con accesso alla rete
supercomputer
Server di fascia alta
Avviso
TB: 10^12 byte
TiB: 2^40 byte
computer incorporato
L'importo più grande
Era post-PC
Dispositivo mobile personale PMD
Smartphone, tablet
cloud computing
Un grande cluster di server che fornisce servizi sulla rete
8 grandi idee nell'architettura dei sistemi informatici
Progettare per la legge di Moore
Il livello di integrazione su un singolo chip raddoppia ogni 18-24 mesi e i progettisti di computer devono prevedere il livello del processo quando la progettazione viene completata anziché quando viene avviata.
Usa le astrazioni per semplificare la progettazione
Utilizzare l'astrazione per rappresentare diversi livelli di progettazione. I dettagli di basso livello non possono essere visualizzati a livello alto e può essere visto solo un modello semplificato.
Accelerare eventi ad alta probabilità
È molto meglio migliorare le prestazioni che ottimizzare per eventi a bassa probabilità
Migliorare le prestazioni attraverso il parallelismo
Migliora le prestazioni con il pipeline
Uno speciale scenario parallelo, simile al passaggio di secchi
Migliora le prestazioni con le previsioni
Supponendo che il recupero da previsioni errate non sia costoso e che l'accuratezza delle previsioni sia relativamente alta, eseguire determinate operazioni in anticipo indovinando
gerarchia della memoria
Lo strato superiore è veloce, ha una capacità ridotta ed è costoso, mentre lo strato inferiore è l’opposto.
Aumentare l'affidabilità attraverso la ridondanza
Le parti ridondanti possono sostituire le parti guaste e possono aiutare a rilevare gli errori
Introduzione ai concetti di programmazione
Gerarchia del sistema informatico
calcolatore di von Neumann
Il sistema hardware del computer è costituito da unità aritmetiche, controller, memoria e dispositivi I/O
Utilizzare la codifica binaria per rappresentare i dati
Unificare programmi e dati
I computer hanno la capacità di elaborare istruzioni sequenziali
Software
Livello di applicazione
Principi del sistema di database
livello dell'algoritmo
Struttura dei dati, progettazione e analisi di algoritmi
strato linguistico di alto livello
Nozioni di base sulla programmazione, programmazione in C
livello del sistema operativo
Principi di compilazione, sistemi operativi
software di sistema
sistema operativo
Gestire input e output di base
Assegna il villaggio esterno e la memoria
Fornisce servizi per la condivisione delle risorse del computer tra più applicazioni
Compilatore
Traduce programmi scritti in linguaggi di alto livello in istruzioni che possono essere eseguite dall'hardware
Livello del sistema di istruzioni: set di istruzioni
Principi di composizione informatica
hardware
Livello del sistema di istruzioni: set di istruzioni
Principi di composizione informatica
Strato logico: operazioni logiche, circuiti di gate
Matematica discreta, logica digitale
Dal linguaggio di alto livello al linguaggio hardware
Bit binario
elementi fondamentali dell'informazione
istruzione
Comandi che l'hardware del computer comprende e a cui obbedisce
assemblatore
Traduci automaticamente le istruzioni in forma mnemonica nel binario corrispondente
linguaggio assembly
Istruzioni macchina espresse in forma mnemonica
linguaggio macchina
Un'istruzione macchina espressa come elemento binario
linguaggio di programmazione di alto livello
I linguaggi portabili come C, C, Java, Visual e Visual Basic sono costituiti da parole e simboli algebrici e possono essere convertiti in linguaggio assembly dal compilatore.
prestazioni del computer
criteri di valutazione delle prestazioni
Throughput e tempi di risposta
tempo di risposta tempo di risposta
Tempo di esecuzione, il tempo totale necessario a un computer per completare un'attività, incluso l'accesso al disco rigido, l'accesso alla memoria, le attività di I/O, il sovraccarico del sistema operativo e il tempo di esecuzione della CPU, ecc.
portata
La larghezza di banda rappresenta il numero di attività completate per unità di tempo
prestazione relativa
Valutazione della prestazione
Periodo e frequenza dell'orologio
ciclo dell'orologio
I sistemi informatici utilizzano gli orologi per controllare varie cose che accadono nell'hardware
Il ciclo dell'orologio è il tempo dell'intervallo dell'orologio, ovvero il tempo di un ciclo dell'orologio
Frequenza dell'orologio
reciproco del periodo dell'orologio
Tempo di esecuzione della CPU
Il tempo impiegato sulla CPU per eseguire una determinata attività (esclusi IO e tempo impiegato su altre attività)
Tempo CPU dell'utente
Il tempo impiegato dalla CPU per eseguire i programmi utente
Tempo della CPU del sistema
Tempo della CPU impiegato dal sistema operativo per servire gli utenti
Prestazioni dell'istruzione
IPC
Cicli di clock per istruzione
Numero medio di cicli di clock della CPU per istruzione
Formula classica per le prestazioni della CPU
Tempo di esecuzione di un programma da parte della CPU =Numero di cicli di clock della CPU per un programma x tempo di ciclo di clock =Numero di cicli di clock della CPU per un programma/frequenza di clock
Numero di cicli di clock della CPU per un programma =Il numero di istruzioni nel programma x il numero medio di cicli di clock per istruzione (CPI)
Tempo della CPU = numero di istruzioni xCPIx tempo di ciclo dell'orologio =numero di istruzioni xCPI/frequenza di clock
Avviso
Il numero di istruzioni dipende dall'architettura del computer e non da quella del computer Implementazione
Il CPI è strettamente correlato a vari dettagli di progettazione del computer, incluso il sistema di archiviazione e architettura del processore
Il CPI è diverso per le diverse applicazioni, nonché per le diverse implementazioni dello stesso set di istruzioni
Tutti e tre i fattori devono essere considerati quando si confrontano due computer
Fattori legati alla performance del programma
Introduzione ai concetti di hardware
componenti informatici
percorso dati
Operazioni aritmetiche e logiche complete, solitamente inclusi i registri
controllo
Un componente della CPU, dirige le operazioni di percorso dati, memoria e I/O in base alle istruzioni del programma per completare congiuntamente le funzioni del programma.
memoria
Luogo in cui vengono archiviati i programmi runtime e i dati da essi richiesti.
ingresso
Apparecchiature informatiche per il trasporto di informazioni, come tastiera, mouse, ecc.
touch screen
rilevamento capacitivo
produzione
Dispositivi che mostrano i risultati dei calcoli agli utenti, come monitor, dischi, stampanti, altoparlanti, ecc.
tenere sotto controllo
schermo LCD
Il display LCD non è una sorgente luminosa, ma un dispositivo di controllo per la trasmissione della luce.
Visualizzazione a matrice dinamica
Utilizzo di transistor per controllare la trasmissione della luce sui singoli pixel
Pixel
L'unità più piccola degli elementi dell'immagine
hardware
processore
percorso dati
Completare le operazioni aritmetiche
controllore
Guida i percorsi dei dati, le memorie e i dispositivi I/O affinché vengano eseguiti correttamente secondo le istruzioni del programma.
Cache
Memoria ad accesso casuale statica (SRAM)
Veloce, costo elevato
memoria
Orario e capacità di accesso
Principi di costruzione e di lettura e scrittura
memoria principale
DRAM di memoria ad accesso casuale dinamico
unità di stoccaggio di base
costruzione e rappresentazione
Le informazioni sono memorizzate sul condensatore CS e T è il tubo di controllo del gate, che controlla l'ingresso e l'uscita dei dati. La sua porta è collegata alla selezione di lettura/scrittura (word line), drain e source sono collegati rispettivamente alla linea dati (bit line) e al condensatore di memoria CS. dati 1 o 0 al condensatore CS Può essere giudicato dalla presenza o dall'assenza di carica elettrica.
Principi di lettura e scrittura
Aggiungere un livello alto alla linea di selezione (parola) per accendere il tubo a T. Quando si scrive "0", aggiungere un livello basso alla linea dati per far scaricare la carica su CS sulla linea dati; Quando si scrive "1", aggiungere un livello alto alla linea dati per caricare la linea dati su CS; Durante la lettura è presente una tensione di lettura sulla linea dati. È proporzionale all'importo dell'addebito su CS.
Componente principale: transistor MOS
Illustrazione delle operazioni di lettura, scrittura e aggiornamento
Struttura logica del chip
striscia del modulo di memoria
Utilizza un certo numero di chip di memoria su un piccolo circuito stampato a forma di striscia per formare un modulo di memoria con una capacità di memoria fissa.
Classificazione
30 piedi
Linea dati a 8 bit, capacità 256KB~32MB
72 piedi
Bus dati a 32 bit
Più di 100 piedi
Utilizzato sia per bus dati a 32 bit che per bus dati a 64 bit, capacità 4 MB~512 MB
Altre memorie dinamiche ad accesso casuale
Memoria sincrona ad accesso casuale dinamico SDRAM
Memoria ad accesso casuale dinamica con interfaccia sincrona. Di solito la memoria ad accesso casuale dinamico (DRAM) ha un'interfaccia asincrona in modo che possa rispondere ai cambiamenti nell'input di controllo in qualsiasi momento. La SDRAM dispone di un'interfaccia di sincronizzazione che attende un segnale di clock prima di rispondere all'input di controllo, in modo che possa essere sincronizzata con il bus di sistema del computer. L'orologio viene utilizzato per azionare una macchina a stati finiti che trasmette le istruzioni in arrivo. Ciò consente alla SDRAM di avere una modalità operativa più complessa rispetto alla DRAM asincrona senza interfaccia sincrona.
Memoria ad accesso casuale dinamico sincrono a doppia velocità DDR SDRAM
È una SDRAM con velocità di trasferimento dati doppia. La sua velocità di trasferimento dati è doppia rispetto alla frequenza dell'orologio del sistema. Grazie alla maggiore velocità, le sue prestazioni di trasferimento sono migliori rispetto alla SDRAM tradizionale.
Il numero di pin su un lato della memoria è 92 (184 sui doppi lati), 52 pin sul lato sinistro del notch e 40 pin sul lato destro del notch;
La seconda generazione di memoria ad accesso casuale dinamico sincrono a doppia velocità DDR2 SDRAM
Fornisce prestazioni operative più elevate e una tensione inferiore rispetto alla DDR SDRAM ed è il successore della DDR SDRAM (Double Data Rate Synchronous Dynamic Random Access Memory).
Sono presenti 120 pin sul lato singolo della memoria (240 pin sul lato doppio), 64 pin sul lato sinistro del notch e 56 pin sul lato destro del notch;
La terza generazione di memoria ad accesso casuale dinamico sincrono a doppia velocità DDR3 SDRAM
Fornisce prestazioni operative più elevate e una tensione inferiore rispetto a DDR2 SDRAM ed è il successore di DDR2 SDRAM (memoria ad accesso casuale dinamico sincrono a quad data rate) (aumentata a otto volte).
Ci sono anche 120 pin sul lato singolo della memoria (240 pin sul lato doppio), 72 pin sul lato sinistro del notch e 48 pin sul lato destro del notch.
disco
Diagramma schematico dell'aspetto e della struttura
principio di funzionamento
Scrivi 1: la bobina trasmette corrente in avanti, rendendola nello stato NS
Scrivi 0: la corrente inversa scorre attraverso la bobina, rendendola nello stato S-N
Lettura: la testa magnetica è ferma e il supporto si muove. Poiché le linee del campo magnetico all'esterno della piccola unità magnetizzata sul supporto formano un anello chiuso attraverso il nucleo della testina magnetica, si ottiene una tensione indotta su entrambe le estremità della bobina del nucleo. A seconda della polarità è possibile leggere 1 o 0
struttura di stoccaggio
memoria flash
Memoria di lettura/scrittura non volatile ad alta densità sviluppata sulla base di elementi di memorizzazione EPROM.
L'alta densità significa che ha un numero enorme di bit di capacità di archiviazione.
Non volatile significa che i dati memorizzati possono essere conservati a lungo senza alimentazione.
Presenta i vantaggi sia della RAM che della ROM, che possono essere considerati un progresso epocale nella tecnologia di archiviazione.
CD
Principio di lettura
I sistemi con dischi ottici di sola lettura (CD-ROM) si basano tutti su un principio comune, ovvero le informazioni sul CD sono distribuite sotto forma di buchi, con buchi rappresentati come "1" e senza buchi come "0", una serie di buchi (elemento di memoria) forma una registrazione di informazioni.
Per i dischi CDROM utilizzati per l'archiviazione dei dati, questa distribuzione dei pit serve come segno di scrittura o lettura dei codici digitali "1" e "0". A questo scopo è necessario utilizzare un laser come sorgente luminosa e per raggiungere questo obiettivo è possibile utilizzare un buon sistema ottico.
Le informazioni registrate sul disco ottico vengono memorizzate in modo permanente sotto forma di buchi. Durante la lettura, quando il punto focale del raggio laser viene irradiato sulla fossa Si verificherà la diffrazione e la riflettività sarà bassa; la maggior parte della luce ritornerà quando il fuoco colpisce una superficie convessa. basato sulla luce riflessa Le informazioni registrate possono essere lette modificando l'intensità della luce ed eseguendo la conversione fotoelettrica.
struttura di stoccaggio
La traccia su cui vengono registrate le informazioni è chiamata traccia leggera. La traccia ottica è divisa in settori, che sono le unità indirizzabili più piccole del disco ottico. La struttura del settore è mostrata in figura.
nastro
Il principio di registrazione di un'unità a nastro è fondamentalmente lo stesso di un'unità a disco magnetico, tranne per il fatto che il suo supporto magnetico è una striscia di plastica chiamata nastro magnetico. Durante la scrittura, il codice informativo può essere registrato sul nastro attraverso la testina magnetica. Quando il nastro con il codice registrato si muove sotto la testina magnetica, sulla bobina della testina magnetica può essere indotta una forza elettromotrice, cioè è possibile leggere il codice informativo. Le apparecchiature di archiviazione su nastro sono costituite da due parti: un'unità a nastro e un nastro. Di solito viene utilizzato come backup dei dati per le apparecchiature di archiviazione di massa.
Il nastro è più lento del disco perché l'accesso ai dati su nastro viene effettuato in sequenza, mentre l'accesso al disco avviene in modo casuale.
Classificazione
Nastro da 1/4 di pollice (QIC)
36-72 tracce, registrazione dati parallela
Capacità 80 MB~1,2 GB
Nastro audio digitale (DAT)
scansione della rotazione
Capacità 12GB
Nastro da 8 mm
Capacità 25GB
Nastro lineare digitale (DLT)
Capacità massima 35 GB
Tecnologia di produzione di processori e memorie
transistor
Interruttore semplice controllato da segnale elettrico
circuito integrato
Un chip composto da migliaia di transistor
circuito integrato su larga scala
Circuiti composti da centinaia di migliaia a milioni di transistor
Muro di consumo energetico della CPU
Problema del muro di alimentazione
La tecnologia dei circuiti integrati dominante è CMOS, il cui consumo energetico principale La fonte è la dissipazione di potenza dinamica, ovvero la potenza dissipata durante il processo di commutazione del transistor Consumo energetico = capacità di carico x tensione² x frequenza di commutazione ▪ La frequenza di commutazione è una funzione della frequenza dell'orologio ▪ La capacità di carico è una funzione del numero di transistor collegati all'uscita e al processo ▪ Attualmente, ogni generazione di CPU riduce la tensione per compensare il consumo energetico causato dall'aumento della frequenza. In crescita, in 20 anni, la tensione è stata ridotta da 5V a 1V
Come migliorare ulteriormente le prestazioni del computer
L’utilizzo di una tecnologia di raffreddamento più potente è costoso
Passaggio da monoprocessore a multiprocessore
■In passato, i programmatori potevano fare affidamento su innovazioni nell'hardware, nell'architettura e nei compilatori per raddoppiare le capacità dei loro programmi ogni 18 mesi senza modificare il codice. ■Ora, i programmatori che desiderano migliorare significativamente i tempi di risposta devono riscrivere i propri programmi e, poiché il numero di core continua a raddoppiare, i programmatori devono continuare a migliorare il proprio codice.
Esempio di produzione di CPU
Materiale semiconduttore: silicio
L'aggiunta di determinati materiali al silicio utilizzando prodotti chimici speciali può trasformare aree minuscole in
buon conduttore
buon isolante
conduttore o isolante controllabile
I circuiti VLSI sono costituiti da centinaia di milioni di combinazioni dei materiali di cui sopra.
istruzioni informatiche
Concetti di base, sistema di istruzioni MIPS
Concetti base delle istruzioni
Tre livelli di linguaggio informatico
linguaggio di alto livello
Linguaggio assembly (scrittura di programmi utilizzando la mnemonica delle istruzioni)
Linguaggio macchina (scrittura di programmi con codici di istruzioni)
È un sistema di set di istruzioni. Questo set di istruzioni è chiamato codice macchina, ovvero dati che la CPU può interpretare direttamente.
Comandi e sistemi di comando
istruzione
La più piccola unità funzionale del funzionamento del computer è un comando che dirige il funzionamento dell'hardware del computer. Si tratta di una stringa di bit composta da più bit binari.
Tutte le istruzioni fornite da un computer costituiscono il sistema di istruzioni del computer. Le istruzioni vengono utilizzate dai programmatori per indicare al computer di eseguire un'operazione di base e una funzione di elaborazione. Più istruzioni possono formare un programma per completare un'attività prevista.
sistema di comando
definizione
Tutte le istruzioni fornite da un computer costituiscono il sistema di istruzioni del computer.
Le istruzioni vengono utilizzate dai programmatori per indicare al computer di eseguire un'operazione di base o una funzione di elaborazione.
esempio
X86
sistema
finestre, Linux
patata fritta
Intel, AMD
CISC
BRACCIO
sistema
Android, iOS, Windows mobile
patata fritta
Snapdragon, Apple, Kirin
MIPS
sistema
Linux
patata fritta
Figlioccio n. 3
RISC
CISC e RISC
Lo sviluppo di sistemi di comando
Complesso set di istruzioni per computer CISC
Centinaia di istruzioni e un enorme sistema di istruzioni allungano il ciclo di sviluppo del computer, rendendo difficile garantire la precisione e difficili da eseguire il debug e la manutenzione. Viene utilizzato un gran numero di istruzioni complesse con una bassa frequenza di utilizzo, con conseguente spreco di risorse hardware.
RISC
La somma della frequenza di utilizzo delle dieci istruzioni più comunemente utilizzate nel set di istruzioni X86 arriva fino al 96%
Set di istruzioni MIPS
Operazioni hardware del computer MIPS
Senso
Chip RISC a microprocessore senza stadio pipeline di interblocco interno
applicazione
Supercomputer SGI
Sistemi integrati
router
attrezzature da gioco
Loongson cinese
Diagramma del sistema informatico MIPS a 32 bit
Concetti di base e conoscenze di base
bit, byte, parola
Bitbit
Un bit in binario, la più piccola unità di informazione
Bytebyte
8bit
Parola parola
Un termine che rappresenta un'unità di dati
Il numero di bit in una parola (lunghezza della parola) è una caratteristica importante dell'architettura del sistema informatico.
La lunghezza delle parole dei computer moderni è solitamente di 32 o 64 bit
Archiviazione dei dati in memoria
memoria
Può essere visualizzato come un array di byte
Ogni byte ha un indice univoco: indirizzo
Quando si accede a un byte di memoria, è richiesto un indirizzo
Una parola occupa più byte
32 bit
1 parola = 4 byte
64 bit
1 parola = 8 byte
L'indirizzo della parola è l'indirizzo del primo byte che contiene
L'indirizzo iniziale della parola deve essere un multiplo di 4
Ordine di archiviazione dei byte
indirizzamento little-endian
Byte Little Endian come indirizzo word
indirizzamento big endian
Byte big endian come indirizzo word
Rappresentazione binaria delle istruzioni MIPS
Le istruzioni MIPS sono tutte istruzioni di una sola parola (lunghezza dell'istruzione = lunghezza della parola macchina)
Hardware MIPS
CPU MIPS
32 registri di uso generale
La dimensione di ogni registro è uguale alla dimensione di una singola parola, 32 bit
Registro MIPS
Memoria del computer MIPS (32 bit).
Nei sistemi informatici MIPS (32 bit), gli indirizzi sono stringhe binarie a 32 bit
La capacità massima della memoria è 2^32 byte/2^30 parole
L'indirizzo iniziale della parola deve essere un multiplo di 4
Funzionalità del computer MIPS a 32 bit
I registri vengono utilizzati per un rapido accesso ai dati. In MIPS, è possibile eseguire solo operazioni aritmetiche sui numeri memorizzati nei registri. Il registro $zero è sempre 0 e il registro $at è riservato dall'assemblatore per l'elaborazione di costanti di grandi dimensioni.
È possibile accedere alla memoria solo tramite istruzioni di trasferimento dati. MIPS utilizza l'indirizzamento a byte, quindi gli indirizzi di parole consecutive differiscono di 4. Memoria utilizzata per contenere strutture dati, array e registri di overflow
Operandi hardware del computer MIPS
Registrare operandi e operandi di memoria
Registra l'operando
Gli operandi per le operazioni aritmetiche devono provenire dai registri
I computer MIPS hanno 32 registri, ciascun registro ha una dimensione di 32 bit
Per esempio
operando di memoria
istruzioni per il trasferimento dei dati
definizione
Istruzioni che trasferiscono dati tra memoria e registri
Classificazione
Istruzione di recupero lw (parola di caricamento)
Memorizza parola sw (memorizza parola)
Registro in eccesso
definizione
Il numero di variabili del programma supera di gran lunga il numero di registri. Il processo di memorizzazione di variabili non comuni in memoria
I dati nei registri sono più facili da usare
Un'istruzione aritmetica MIPS può leggere due registri, eseguire operazioni e memorizzare il risultato.
Un'istruzione di trasferimento dati MIPS può leggere o scrivere solo un operando.
Rispetto alla memoria, i registri hanno un tempo di accesso più breve e una velocità di throughput più elevata. L'accesso ai registri consuma meno energia della memoria.
Per ottenere prestazioni più elevate e risparmiare energia, il compilatore deve utilizzare i registri in modo efficiente
Operando costante o immediato
Fornire un operando direttamente nell'istruzione
Il registro $zero è sempre impostato su 0
Operazioni costanti o immediate
aggiungi immediato
Numeri immediati e andi rt rs,imm
Istruzione immediata di recupero bit alto lui rt,imm
Prendi subito il primo numero, imm
riepilogo
Il linguaggio assembly MIPS completo nel libro
Operandi MIPS
Linguaggio assembly MIPS
Formato delle istruzioni MIPS
Rappresentazione delle istruzioni nei computer
parola di comando
Rappresentazione binaria completa di un'istruzione
Lunghezza delle parole di istruzione
Numero di cifre del codice binario nella parola di istruzione
Formato del comando
codice operativo
Indicare la funzione operativa di questa istruzione. Ciascuna istruzione ha un determinato codice operativo.
indirizzo dell'operando
Specifica l'indirizzo in cui è memorizzato l'operando, a volte l'operando stesso (valore immediato)
Illustrazione
La forma numerica delle istruzioni diventa linguaggio macchina e tale sequenza di istruzioni diventa codice macchina.
Le istruzioni nei computer sono rappresentate da una sequenza di numerosi segnali elettrici alti e bassi.
Registra le regole di codifica nel linguaggio assembly MIPS
$s0-$s7 corrisponde a 16-23
$t0-$t7 corrisponde a 8-15
Un'istruzione macchina in linguaggio assembly MIPS
linguaggio assembly
aggiungi $t0,$s1,$s2
Forma decimale
forma binaria
esadecimale
Formato delle istruzioni MIPS
Allocazione dello spazio di archiviazione
spiegare
operazione
Operazioni di base delle istruzioni (codici operativi)
rs
primo registro degli operandi di origine
rt
secondo registro degli operandi di origine
rd
Registro di destinazione utilizzato per memorizzare i risultati delle operazioni
vergogna
Quantità di spostamento, utilizzata nelle istruzioni di spostamento
funz
Codice funzione, utilizzato per indicare una variante specifica dell'operazione nel campo op
C'è un problema
Due registri e una costante, la costante è limitata a 2^5
compromesso
Per mantenere tutte le istruzioni della stessa lunghezza, consentire a tipi diversi di istruzioni di avere formati di istruzione diversi
Tre tipi di formato
riepilogo
istruzione
esempio
Istruzioni operative logiche
Operazioni logiche
definizione
Opera su più bit o su un singolo bit in una parola
tipo
esempio
Spostamento logico a sinistra, spostamento logico a destra
AND bit per bit
OR bit per bit
Negazione bit a bit
codice operativo
Logico spostamento a sinistra
sll
Spostamento logico a destra
srl
AND bit per bit
e,andi
OR bit per bit
o, ori
Negazione bit a bit
né
Istruzioni decisionali
definizione
Esegui diverse istruzioni in base all'input e ai valori generati durante i calcoli
Classificazione
istruzioni di salto condizionale
ramo se uguale
beq registro1,registro2,L1
ramo se non uguale
bne registro1,registro2,L1
esempio
linguaggio di alto livello
se(i==j) f=g h; altrimenti f=g-h;
linguaggio assembly
bne $s3,$s4,Else #Se ij non è uguale, vai a Else aggiungi $s0,$s1,$s2 #gh somma e salva in f j Esci #Vai a Esci Altrimenti: sub $s0,$s1,$s2 #gh sottrae e salva in f Uscita:
Compila l'istruzione while loop
linguaggio di alto livello
while(sava[i]==k) io =1;
linguaggio assembly
Ciclo: sll $t1,$s3,2 #$t1=4*i aggiungi $t1,$t1,$s6 #$t1=indirizzo di salvataggio[i] ($s6 contiene l'indirizzo di salvataggio) lw $t0,0($t1) #$t0=salva[i] bne $t0,$s5,Exit #save[i] esce quando non è uguale a k aggiungi $s3,$s3,1 #i=i 1 j Loop #Torna al loop Uscita:
Imposta se inferiore a
effetto
Confronta se una variabile è minore di un'altra
grammatica
slt $t0,$s3,$s4
spiegare
Quando il valore in $s3 è inferiore al valore di $s4, $t0 è impostato su 1, altrimenti è impostato su 0
riepilogo
Supporto hardware del computer per processi, modalità di indirizzamento delle istruzioni MIPS
Supporto informatico MIPS per i processi
Regole di allocazione dei registri
$a0~$a3
Passa parametri
$v0~$v1
valore di ritorno
$ra
Registro dell'indirizzo di ritorno per tornare al punto di partenza
Istruzioni per saltare e collegare
Salta a un indirizzo e salva l'indirizzo dell'istruzione successiva nel registro $ra
jal Indirizzoprocedura
registrare l'istruzione di salto
Passa incondizionatamente all'indirizzo specificato dal registro
jr$ra
Rappresentazione numerica e operazioni
Codifica e rappresentazione dei dati
Oggetti che devono essere archiviati nel computer
Rappresentato dalla codifica
elemento fondamentale
0, 1
carattere
Numero di cifre
26 lettere->5 cifre
Altri simboli maiuscoli e minuscoli->7 bit
Testo in altre lingue del mondo -> 16 bit (Unicode)
Importante interfaccia uomo-computer
Fatto di simboli
Ogni simbolo viene codificato e infine convertito dal dispositivo di input e output
Generalmente archiviato nella memoria del computer sotto forma di stringa
Vari standard di codifica dei set di caratteri
ASCII
Codice Standard Americano per Interscambio di Informazioni
Utilizzando la codifica binaria a 7 bit, più un bit di controllo pari, per un totale di 8 bit, che occupano 1 byte
Rappresenta 128 caratteri occidentali
alfabeto inglese
Decimale
Punteggiatura
dettagli
UNICODE
Utilizzando 16 bit per rappresentare un carattere, è possibile rappresentare 65536 caratteri
Dividere l'intero spazio di codifica in blocchi, ogni blocco è un multiplo intero di 16 e assegnarlo per blocco
Riserva 6400 punti di codice per l'utilizzo della localizzazione
Non riesco ancora a coprire tutti i personaggi
rappresentazione numerica dei dati
Revisione: Relativo al sistema di base
Metodo di conteggio carry (qualsiasi base viene espansa secondo il sistema decimale)
formula
Senso
N rappresenta un valore numerico
r è la base di questo sistema numerico
i rappresenta il numero di bit di questi simboli, a partire da 0
Di è un simbolo al bit numero i
r^i è il valore rappresentato da un 1 sul bit numero i
Basi comunemente usate
Il binario è utilizzato internamente nei computer
L'esadecimale ottale è l'abbreviazione di binario
Sistema decimale per uso umano
Conversione del sistema numerico
Fattori relativi alla scelta di come rappresentare i dati
tipo di dati
Decimali, interi, numeri reali, numeri complessi
Intervallo numerico
I valori massimi e minimi che i dati possono incontrare
Precisione numerica
Il numero di cifre significative che un numero reale può fornire; per i numeri in virgola mobile, una precisione insufficiente causerà errori e l'accumulo di errori causerà problemi.
Costo hardware di archiviazione, elaborazione e trasmissione
Spazio di archiviazione occupato, velocità di trasmissione
Due formati di dati comunemente usati
numero di punto fisso
Caratteristiche
Posizione fissa del punto decimale
intero in virgola fissa
Punto decimale fisso
Intervallo numerico limitato, che richiede hardware di elaborazione semplice
Metodo di rappresentazione dei numeri in virgola fissa
Formato a virgola fissa
Si concorda che la posizione del punto decimale di tutti i dati è fissa
Poiché è concordato che si trovi in una posizione fissa, il punto decimale non è più rappresentato da un simbolo.
I dati sono solitamente rappresentati come decimali puri o numeri interi puri
metodo di visualizzazione
decimale puro
Il punto decimale è compreso tra Xn e Xn-1
[0,1-2^(-n)]
intero puro
Il punto decimale si trova a destra di X0
[0,2^n-1]
codifica intera
Codice originale
composizione
Bit del segno Valore assoluto del numero
I numeri positivi sono espressi in questo modo
I numeri negativi sono espressi in questo modo
scopo
Caratteristiche
La rappresentazione è semplice, facile da convertire tra gli stessi valori veri, e le regole per le operazioni di moltiplicazione e divisione sono semplici.
Le operazioni di addizione e sottrazione sono complicate
Addizione: aggiungi valori con lo stesso segno e mantieni il segno; sottrai valori con segni diversi.
Sottrazione: prima confronta i valori assoluti, poi usa quello con il valore assoluto più grande come minuendo e l'altro come sottraendo per fare la differenza, e usa il simbolo con il valore assoluto più grande come simbolo
Ci sono 0 e -0
È molto confuso, vedi
10000000
00000000
codice inverso
Segno della negazione bit per bit del valore
Caratteristiche
Il complemento di 0 non è unico
Gamme
complemento
Complemento a uno 1
Il complemento di un numero positivo è il numero positivo stesso, mentre il complemento di un numero negativo è il numero negativo originale più il modulo
bit del segno del complemento
Caratteristiche
Convertire le operazioni di sottrazione in operazioni di addizione
Il vero valore del complemento di 0 è unico
Gamme
numero firmato
numero senza segno
Riassumere
Il codice originale e il complemento del numero positivo sono gli stessi
Il bit di segno è 0 e il bit numerico è il valore vero.
Il codice inverso originale di 0 ha due codici e il codice complementare ne ha solo uno
Il codice originale e il complemento di un numero negativo sono diversi.
Segno bit 1
Bit numerici
Codice originale: valore assoluto del numero
Codice negativo: nega il valore assoluto
Complemento a due: complemento a uno 1
numero in virgola mobile
Posizione del punto decimale mobile
L'intervallo numerico è molto ampio e l'hardware di elaborazione richiesto è complesso.
metodo di visualizzazione
Notazione scientifica decimale
Notazione scientifica binaria
Come rappresentare i numeri in virgola mobile
Metodo di rappresentazione normalizzato
Quando il valore della mantissa non è 0, il bit più a sinistra del campo mantissa è sempre 1
Il bit più significativo è sempre 1, quindi questo bit non viene memorizzato ed è considerato nascosto a sinistra del punto decimale.
norma IEEE754
standard aritmetico in virgola mobile
La radice è specificata come 2, il codice dell'esponente E è rappresentato da un frameshift e la mantissa M è rappresentata dal codice originale. Secondo il metodo di normalizzazione binaria, il bit più alto del valore è sempre 1. Questo standard memorizza questo è 1 per impostazione predefinita, rendendo l'intervallo di rappresentazione della mantissa più grande della memoria effettiva in più
Riassumere
forma normalizzata
Numero in virgola mobile a precisione singola
Numero in virgola mobile a doppia precisione
Calcolo della verità in virgola mobile
Numero in virgola mobile a 32 bit normalizzato
Numero in virgola mobile a 64 bit normalizzato
regolamenti speciali
E è tutto 0, M è tutto 0, quindi x=0 combinato con il bit di segno, ci sono 0 e -0;
E è tutto 1, M è tutto 0, quindi x=infinito combinato con il bit di segno, c'è infinito positivo e negativo;
Intervallo numerico (32 bit)
Codice E
Numero binario a 8 bit
Intervallo del valore reale dell'esponente: -126~127
Caso speciale
codice di rilevamento e correzione degli errori
distanza del codice
Ci sono almeno alcune differenze in bit binari tra due codici legali qualsiasi.
Tre codici di rilevamento e correzione degli errori comunemente utilizzati
codice di parità
per il trasferimento dati parallelo
principio
Aggiungere 1 bit di controllo oltre al codice dati k bit, in modo che il numero di cifre con valore 1 nella parola codice k 1 bit rimanga sempre un numero pari o dispari
Rappresentazione computazionale
Implementare il circuito
Codice di controllo Hamming
per il trasferimento dati parallelo
codice di controllo di ridondanza ciclica
per il trasferimento dati seriale
Processo di consegna e ispezione
valore logico
0->falso, 1->vero
colore
Posizione, indirizzo, istruzioni
Operazione
Principi di addizione e sottrazione in virgola fissa
Addizione e sottrazione in complemento a due
formula
Funzionalità aggiuntive
Il bit di segno deve essere trattato come parte del numero per partecipare all'operazione
I riporti eccedenti il modulo 2^(n 1) vengono scartati
Rilevamento del traboccamento
Il concetto di traboccamento
Nelle macchine intere a virgola fissa, il valore assoluto dell'intervallo di rappresentazione dei numeri è <2^(n-1)
Durante l'operazione, il fenomeno per cui il risultato dell'operazione supera l'intervallo che la lunghezza della parola macchina può rappresentare è chiamato overflow.
Potrebbe verificarsi un traboccamento
Aggiungi due numeri positivi, diventa negativo, trabocca
Aggiungi due numeri negativi per renderli positivi e underflow.
Metodo di rilevamento
metodo del bit con doppio segno
I numeri coinvolti nelle operazioni di addizione e sottrazione sono espressi utilizzando codici di complemento deformati.
Regole di calcolo
Entrambi i bit di segno vengono trattati come numeri e partecipano alle operazioni.
Vengono sommati due numeri modulo 2^(n 2) e il riporto generato nel bit del segno più alto viene scartato.
Rilevamento
metodo del bit a segno singolo
Viene generato il bit più alto
Composizione del calcolatore
capacità di base
Completare le operazioni aritmetiche e logiche
Ottieni operandi: banca dei registri, bus dati
Risultati delle operazioni di output e memorizzazione: gruppo di registri, bus dati
Memorizzazione temporanea dei risultati intermedi delle operazioni: registro a scorrimento
Ottieni lo stato del risultato dell'operazione
Comprendere e rispondere ai segnali di controllo
circuito logico di base
circuito di porta logica
Operazione logica completa
Sommatore
Completa l'operazione di addizione
grilletto
salvare i dati
Multiplexer, cambio
selezionare, connettere
percorso dati
Funzionalità e design dell'ALU
Funzione
Completare operazioni aritmetiche e logiche sugli operandi
AGGIUNGI E O
progetto
Operazioni aritmetiche
Sommatore
operazione logica
E cancello o cancello
Principio di moltiplicazione e moltiplicatori
Descrizione dell'algoritmo di moltiplicazione binaria
algoritmo di base
Se il bit corrente del moltiplicatore == 1, somma il moltiplicando e il prodotto parziale
Se il bit corrente del moltiplicatore == 0, salta e sposta il prodotto parziale
Una volta completati tutti i bit, il prodotto parziale è il risultato finale
Moltiplicatore di N cifre*Moltiplicando di M cifre
Prodotto di N M bit
Algoritmo di moltiplicazione uno
processi
Migliorare
Ogni volta che si ottiene X*yi, questo viene accumulato con il risultato precedente per ottenere Pi, che viene chiamato prodotto parziale. Poiché non aspettiamo l'ultima somma, il costo del salvataggio dei risultati della moltiplicazione X*yi di ogni volta è ridotto.
Ogni volta che si ottiene X*yi, invece di spostarlo a sinistra e sommarlo al prodotto parziale precedente Pi, spostare il prodotto parziale Pi a destra e aggiungerlo a X*yi. Poiché l'operazione di addizione viene sempre eseguita sugli n bit superiori del prodotto parziale, è possibile utilizzare un sommatore di n bit per moltiplicare due numeri di n cifre.
Eseguire l'addizione e lo spostamento a destra per i bit che sono 1 nel moltiplicatore, eseguire lo spostamento a destra solo per i bit che sono 0 e non eseguire operazioni di addizione.
Algoritmo di moltiplicazione 2
processi
Principio di divisione e divisore
Regola di divisione del codice originale
Quando si dividono due numeri rappresentati dai codici originali, il segno del quoziente si ottiene sommando poco a poco i segni dei due numeri, e la parte numerica del quoziente si ottiene dividendo le parti numeriche dei due numeri.
divisione decimale a virgola fissa
Struttura hardware della divisione
Processo di divisione
I problemi
Con la collaborazione del sommatore e del registro, le cifre del dividendo sono più lunghe e il quoziente deve essere calcolato poco a poco.
Questo può essere risolto rimuovendo il numero da sinistra, e la parte inferiore del dividendo può condividere lo stesso registro con il quoziente finale, e il resto e il quoziente vengono spostati a sinistra allo stesso tempo.
Implementazione della divisione
Metodo di divisione del codice originale
metodo dei residui restaurativi
Quando la sottrazione non è sufficiente, viene ripristinato il resto originale per continuare l'operazione.
Resto corrente più divisore
addizione e sottrazione alternata
Se durante l'operazione si verifica una sottrazione insufficiente, non è necessario ripristinare il resto e continuare l'operazione secondo il segno del resto.
Resto > 0, sposta il resto di una posizione a sinistra e sottrai il divisore
Resto > 0, sposta il resto di una posizione a sinistra e aggiungi il divisore
Operazioni aritmetiche in virgola mobile
Addizione e sottrazione in virgola mobile
Addizione e sottrazione in virgola mobile
Regole aritmetiche
processi
0 controllo operando
Per l'ordine, trovare la differenza d'ordine, spostare la mantissa del numero con il codice d'ordine più piccolo a destra e prendere il valore del codice d'ordine più grande (spostando la mantissa a sinistra si perde il bit più significativo, che è un grande perdita, quindi sposta la mantissa a destra)
Aggiungi e sottrai mantisse
Normalizzazione dei risultati
Arrotondamento
Perché
Durante l'allineamento o la normalizzazione, la mantissa potrebbe spostarsi verso destra e perdere i bit bassi, causando così errori.
L'arrotondamento è necessario anche durante la conversione dei tipi di dati
Metodo di arrotondamento standard IEEE754
Arrotonda al più vicino (da 0 a 1)
Il bit più alto scartato è 1 in 1
arrotondare verso 0
Censurato
giro verso l'infinito positivo
Se le cifre extra di un numero positivo non sono tutte 0, vengono arrotondate a 1; se il numero è negativo, vengono troncate.
Arrotondare verso l'infinito negativo
Se le cifre extra di un numero negativo non sono tutte 0, vengono arrotondate per eccesso a 1 se un numero positivo viene troncato,
controllo del traboccamento
overflow in virgola mobile
traboccare
Il valore è troppo grande
Il valore del codice esponente supera l'intervallo di rappresentazione di 8 bit binari
sottoflusso
Il valore è troppo piccolo
Il codice dell'esponente supera l'intervallo di rappresentazione del binario a 8 bit
Illustrazione
Giudizio ed elaborazione dell'overflow
L'overflow dei numeri in virgola mobile è espresso come overflow del codice.
Temporizzazione della mano sinistra (sposta la mantissa a sinistra, codice esponente -1)
Per prima cosa determina se il codice dell'esponente è tutto 0, in tal caso, il codice dell'esponente esegue l'underflow, altrimenti, dopo il codice dell'esponente -1, determina se il codice dell'esponente è tutto 0, in tal caso, quindi il codice dell'esponente esegue l'underflow.
Temporizzazione della mano destra (sposta la mantissa a destra, codice esponente 1)
Determinare innanzitutto se il codice dell'esponente è tutto 1, in tal caso il codice dell'esponente esegue l'underflow altrimenti, dopo che il codice dell'esponente è 1, determinare se il codice dell'esponente è tutto 1, in tal caso il codice dell'esponente esegue l'underflow.
Componenti di addizione e sottrazione in virgola mobile
Moltiplicazione e divisione in virgola mobile
formula
Fasi operative
0 controllo operando
Operazioni di addizione e sottrazione di codici
moltiplicazione
Se il bit più alto di ExEy è tutto 1 e il bit più alto di Ez è 0 o se Ez è tutto 1, il codice dell'esponente andrà in overflow;
Se il bit più alto di ExEy è tutto 0 e il bit più alto di Ez è 1 o se Ez è tutto 0, il codice dell'esponente esegue un underflow;
divisione
Se il bit più alto di Ex è 1, il bit più alto di Ey è 0 e il bit più alto di Ez è 0 o se Ez è tutto 1, il codice dell'esponente va in overflow;
Se il bit più alto di Ex è 0, il bit più alto di Ey è 1 e il bit più alto di Ez è 1 o Ez è tutto 0, il codice dell'esponente esegue un underflow;
Operazioni di moltiplicazione e divisione della mantissa
Normalizzazione dei risultati
Arrotondamento
Addizione e sottrazione di codici
Bit aggiuntivi
effetto
Proteggere il risultato intermedio dell'operazione OR bit per bit spostata a destra durante l'allineamento
affrontare
Quando è a sinistra, viene spostato sulla mantissa.
come base per l'arrotondamento
Normative IEEE754
Al risultato intermedio devono essere aggiunti due bit aggiuntivi a destra
pezzo di protezione
Bit a destra della mantissa
po' di arrotondamento
La parte a destra della parte di protezione
Pipeline operativa in virgola mobile
Due canali per migliorare il parallelismo
parallelismo spaziale
Aggiungi componenti ridondanti, come processori multi-operazione e processori superscalari
parallelismo temporale
Migliorare i processi operativi, come la tecnologia della catena di montaggio
Caratteristiche della conduttura
Il pipeline non riduce la latenza di una singola attività, ma migliora il throughput dell'intero sistema.
Più attività vengono eseguite contemporaneamente e occupano risorse diverse.
Possibile rapporto di accelerazione = numero di stadi della pipeline
L'efficienza della pipeline è limitata dalla fase più lunga
Se ciascuna fase richiede tempi diversi, l’efficienza della pipeline sarà ridotta.
Anche le linee di carico e svuotamento riducono la velocità
I conflitti causeranno lo stallo del gasdotto
Concetti base di catena di montaggio
Principio della catena di montaggio
Ciclo di clock della pipeline
Analisi dell'accelerazione
introdurre
Le attività devono essere continue nella pipeline. Solo fornendo continuamente attività è possibile sfruttare appieno l'efficienza della pipeline.
Suddividi un'attività in diverse sottoattività correlate. Ogni sottoattività è implementata da un componente funzionale dedicato
Deve essere presente un registro buffer, o latch, dopo ciascuna unità funzionale nella pipeline
Il tempo di ciascuna sezione della catena di montaggio dovrebbe essere quanto più uguale possibile, altrimenti si causeranno blocchi e interruzioni del flusso.
La pipeline deve avere tempi di caricamento e di svuotamento. Può essere pienamente efficiente solo quando la pipeline è completamente piena.
unità aritmetica in virgola mobile