Modelli di formazione informatica. BASE Computer Architecture: tutorial Qual è il sistema di comando EMM

Modelli di formazione informatica. BASE Computer Architecture: tutorial Qual è il sistema di comando EMM

Il ciclo principale del lavoro del computer

Questa sezione ha brevemente affrontato una sequenza di azioni durante l'esecuzione di un comando a un computer. Si può sostenere che il ciclo di lavoro è generalmente lo stesso per tutte le macchine di fondo-neymann.

Sistema di comando EUM e modi per fare appello ai dati

Una parte importante dell'architettura del computer è il sistema di comando. Nonostante il gran numero di computer, al livello più basso ("macchina"), hanno molto in comune. Il sistema dei comandi di qualsiasi computer contiene necessariamente i seguenti gruppi di comandi di elaborazione delle informazioni.

  • 1. Comandi di trasferimento dei dati (censimento) che copiano le informazioni da un luogo all'altro.
  • 2. Operazioni aritmetiche che sono effettivamente di proprietà del loro nome di calcolo dell'apparecchiatura. Naturalmente, la quota di azioni computazionali nel computer moderno è diminuita notevolmente, ma svolgono ancora un ruolo importante nei programmi. Si noti che l'azione aritmetica principale di solito include l'aggiunta e la sottrazione (quest'ultima alla fine spesso più spesso in un modo o nell'altro è anche ridotta da aggiungere). Per quanto riguarda la moltiplicazione e la divisione, vengono eseguite in molti computer su programmi speciali.
  • 3. Operazioni logiche che consentono al computer di analizzare le informazioni elaborate. Gli esempi più semplici possono essere un confronto, oltre a ben noti operazioni logiche e, o, non (inversione). Inoltre, viene spesso aggiunto all'analisi di singoli bit di codice, il loro reset e installazione.
  • 4. Shifts del codice binario a sinistra ea destra. Per dimostrare l'importanza di questo gruppo di comandi, è sufficiente richiamare la regola di moltiplicazione dalla colonna: ogni prodotto successivo è scritto in tale schema con un passaggio a una cifra a sinistra. In alcuni casi particolari, la moltiplicazione e la divisione possono essere in genere sostituite da un turno (ricorda che aggiungendo o rimuovendo lo zero a destra, cioè effettivamente eseguendo uno spostamento decimale, è possibile aumentare o diminuire 10 volte).
  • 5. Comando di ingresso e informazioni di uscita per lo scambio con dispositivi esterni. In alcuni computer, i dispositivi esterni sono indirizzi di memoria di servizio speciali, quindi l'ingresso e l'output vengono eseguiti utilizzando i comandi del censimento.
  • 6. Squadre di gestione che implementano algoritmi non lineari. Si tratta principalmente di includere una transizione condizionale e incondizionata, così come i comandi di ricorso al sottogruppo (transizione in restituzione). Alcuni computer hanno comandi speciali per organizzare cicli, ma non è necessario: il ciclo può essere ridotto a una particolare combinazione di transizioni condizionali e incondizionate. Spesso, lo stesso gruppo di comandi include il funzionamento del controllo del processore "STOP" o NOP (senza operazione ". A volte sono evidenziati in un gruppo speciale.

Con la crescente complessità del dispositivo del processore, il numero di team che li interessa aumenta. Qui, ad esempio, è possibile chiamare i bit del funzionamento del processore e controllare i bit dei meccanismi di interrupt da dispositivi esterni.

Recentemente, i comandi vengono riprodotti sempre più giocati in un insieme di comandi da convertire da un formato di dati a un altro (ad esempio, da 8 bit a 16 bit, ecc.), Che rendono notevolmente semplificare l'elaborazione di dati di tipo diversi, ma in Principio può essere sostituito con una sequenza di diversi comandi più semplici.

Considerando il sistema di sistema, è impossibile non parlare di due moderne direzioni in competizione reciprocamente nella sua costruzione: un computer con un set completo di comandi CISC (computer set di istruzioni complesse) e un set limitato - RISC (computer set di istruzioni). La separazione deriva dal fatto che la parte principale del computer deve eseguire una piccola parte dal suo set di comandi, il resto è usato episodicamente (in uno degli articoli popolari è uno scherzo formulato sotto forma di seguente visivo Analogia: "Il 20% della popolazione beve l'80% della birra"). Pertanto, se è essenziale limitare il set di operazioni al più semplice e breve, ma di ottimizzarli attentamente, si rivelerà una macchina RISC abbastanza efficiente e ad alta velocità. È vero, la velocità dovrà pagare la necessità dell'attuazione del programma dei team "scartati", ma spesso questa commissione è giustificata: ad esempio, per calcoli scientifici o grafici della macchina, la velocità è significativamente più importante dei problemi di programmazione dei problemi di programmazione. Leggi altre domande relative al sistema di squadre di microprocessori moderni saranno discussi di seguito in questo capitolo.

Riassumendo, ancora una volta enfatizziamo che il set principale di team è cambiato abbastanza male durante l'evoluzione turbolenta del computer. Allo stesso tempo, i modi per specificare l'indirizzo della posizione delle informazioni in memoria sono stati sottoposti a un cambiamento significativo e meritare una considerazione speciale.

Il ciclo principale del lavoro del computer

Come già indicato nel paragrafo 2, una parte importante dell'architettura di sfondo-neumanov è il contatore dell'indirizzo di comando. Questo speciale registro del processore interno indica sempre una cella di memoria in cui è memorizzato il comando successivo del programma. Quando si accende l'alimentazione o quando si fa clic sul pulsante Ripristina (Installazione iniziale), l'indirizzo iniziale nel programma ROM di inizializzazione di tutti i dispositivi e lo stivale iniziale è appena inserito. Ulteriore funzionamento del computer è determinato dal programma. Pertanto, tutte le attività del computer sono la continua implementazione di determinati programmi, e questi programmi potrebbero informare nuovi programmi, ecc.

Ogni programma è composto da comandi macchina separati. Ogni squadra di macchine, a sua volta, è divisa in un numero di componenti elementari unificati chiamati tattiche. A seconda della complessità della squadra, può essere implementato per un numero diverso di orologi. Ad esempio, il trasferimento di informazioni da un registro del processore interno all'altro viene eseguito per diversi orologi e per moltiplicare due numeri interi che sono come richiesto. L'allungamento significativo del comando si verifica se i dati elaborati non sono ancora all'interno del processore e devono leggere dalla RAM.

Quando si esegue ciascun comando, il computer effettua determinate azioni standard:

  • 1) Secondo il contenuto del contatore dell'indirizzo di comando, viene letto il comando successivo del programma (il suo codice viene solitamente inserito in archiviazione in un registro speciale UU, che è chiamato il registro dei comandi);
  • 2) il contatore del comando cambia automaticamente in modo che convinca l'indirizzo del comando successivo (nel caso più semplice, a tal fine, è sufficiente al valore corrente del misuratore per aggiungere un po 'di costante definizione della lunghezza del comando);
  • 3) L'operazione è decrittografata nel registro dei comandi, i dati necessari vengono recuperati e le azioni richieste vengono eseguite su di esse.

Quindi in tutti i casi, ad eccezione del comando di arresto o dell'interrupt si verifica (vedere di seguito nel paragrafo 3.5), tutte le azioni descritte vengono ripetute ciclicamente.

Dopo il campionamento, il comando STOP OSM smette di elaborare il programma. Per uscire da questo stato, è necessaria una richiesta da dispositivi esterni o riavviare la macchina.

La composta del principale algoritmo di funzionamento del computer consente un passo passo passo per eseguire un programma lineare memorizzato nella RAM. Se si desidera modificare la procedura per i calcoli per implementare uno sviluppo o un ciclo, è sufficiente nel misuratore di comando per applicare l'indirizzo richiesto (questo è il modo in cui si verifica la transizione condizionale o incondizionata).

Nei computer basati su microprocessori Intel 80286 e modelli successivi per accelerare il ciclo di esecuzione del comando principale, viene utilizzato il metodo di trasportazione (a volte viene utilizzato il termine "campione avanzato"). L'idea è che diversi dispositivi di processore interni funzionano in parallelo: si legge il comando, un altro funzionamento di decrittografato, il terzo calcola gli indirizzi degli operandi utilizzati, ecc. Di conseguenza, alla fine della squadra, molto spesso si scopre che il seguente è già scelto da RAM, decifrato e preparato per l'esecuzione. Si noti che in caso di violazione della procedura naturale per l'esecuzione dei comandi nel programma (ad esempio, con una transizione incondizionata), il campione di ambulatorio risulta essere in vana e il trasportatore viene cancellato. Il prossimo comando transizione viene eseguito più a lungo, dal momento che il trasportatore "guadagnato a pieno potenza", è necessario prima essere riempito. In altre parole, nel trasportatore, il tempo di esecuzione del programma può dipendere non solo sui componenti dei suoi comandi, ma anche sulla loro posizione reciproca.

Conacts per specificare l'indirizzo della posizione delle informazioni

Un comando del computer di solito è costituito da due parti - funzionamento e indirizzo. La parte operativa (altrimenti è anche chiamata il codice del codice CLOCY) indica quali azioni devono essere eseguite con informazioni. La parte dell'indirizzo descrive dove viene memorizzata le informazioni utilizzate. In diversi alcuni comandi per la gestione del funzionamento della macchina, la parte dell'indirizzo potrebbe essere assente, ad esempio, nel comando STOP; La parte operativa è disponibile, sempre.

Il codice operativo può essere immaginato come un numero condizionale nell'elenco generale del sistema di comando. Fondamentalmente, questa lista è costruita in conformità con alcune leggi interne, anche se non sono sempre ovvie.

La parte dell'indirizzo ha una varietà molto più ampia e dovrebbe essere considerata di più.

Prima di tutto, notiamo che i comandi possono essere singoli, due e tre classifiche a seconda del numero di operandi che partecipano a loro.

I primi computer avevano il sistema di team più semplici e visuali di Trichered. Ad esempio: prendere numeri dagli indirizzi della memoria A1 e A2, aggiungili e inserirli nell'indirizzo A3. Se un numero minore di indirizzi richiesti per l'operazione, quindi aggiunta semplicemente non utilizzata. Ad esempio, nell'operazione del censimento, sono state indicate solo le cellule della sorgente e del ricevitore A1 e A3 e il contenuto di A2 non ha contattato.

La squadra a tre stelle è stata facilmente decifrata ed era comodo da usare, ma con un aumento del volume di RAM, la sua lunghezza è diventata esorbitantemente grande. Infatti, la lunghezza del comando è piegata dalla lunghezza di tre indirizzi e dal codice operativo. Da qui segue, ad esempio, che per Modest RAM su 1024 celle, solo per la registrazione della parte dell'indirizzo di un comando richiede 3 * 10 \u003d 30 scarichi binari, che non è molto conveniente per l'implementazione tecnica. Pertanto, sono apparse macchine a doppio grado, la lunghezza del comando in cui è stata ridotta escludendo l'indirizzo di registrazione dell'indirizzo. In tale computer, il risultato dell'operazione è rimasto in un registro speciale (ADDER) ed era adatto per l'uso nei calcoli successivi. In alcune macchine, il risultato è stato registrato invece di uno degli operandi.

Ulteriore semplificazione del team ha portato alla creazione di macchine Unicast. Considera il sistema di squadre come un computer su un semplice esempio specifico. Lascia che sia necessario piegare i numeri memorizzati nelle celle con gli indirizzi della RAM A1 e A2 e la quantità è posizionata in una cella con un indirizzo A3. Per risolvere questo problema, la macchina Unicast dovrà eseguire tre comandi:

  • * Estrarre il contenuto della cella A1 nell'Adder;
  • * Piega l'Adder con un numero da A2;
  • * Registrare il risultato dall'Adder in A3.

Può sembrare che una macchina unicast per risolvere il problema richiederà tre volte più squadre che Trichadresic. In effetti, questo non è sempre il caso. Prova a pianificare in modo indipendente il programma per il calcolo dell'espressione A5 \u003d (A1 + A2) * AZ / A4 e troverai che tre team tricheld saranno richiesti e solo cinque unicast. Pertanto, l'auto Unicast è ancora più efficiente, poiché non produce una registrazione inutile in memoria dei risultati intermedi.

Per la completezza, si dovrebbe dire sulla possibilità di implementare una macchina non indirizzata (zero-indirizzo) che utilizza un modo speciale per organizzare la memoria. Comprendere i principi del dispositivo Tale macchina richiederebbe alcune spiegazioni sufficientemente dettagliate. Ora non ci sono praticamente computer usiDreadrescent. Pertanto, ci limitiamo costantemente al riferimento al fatto che il sistema disposto in questo modo si trova su alcuni microcalculatori programmabili (ad esempio, il tipo "BZ-21" e "BZ-34" e simili).

Fino ad ora, nella descrizione della struttura del team della macchina, abbiamo utilizzato un concetto intuitivo sull'indirizzo delle informazioni. Consideriamo ora la questione di affrontare gli elementi RAM in modo più dettagliato e rigorosamente. Il più semplicemente è stato organizzato dalla memoria delle prime due generazioni. Consisteva in singole celle, il contenuto di ciascuno dei quali è stato letto o registrato come un unico intero. Ogni cellula della memoria ha avuto il proprio numero, che ha ricevuto il nome dell'indirizzo. Ovviamente, gli indirizzi delle cellule vicine di RAM sono numeri interi coerenti, cioè. differiscono in uno. Nel caso in esame, sono stati utilizzati i dati di un solo tipo (numeri reali) e la loro lunghezza era uguale alla lunghezza del comando della macchina e ha coinciso con lo scarico della memoria e tutti gli altri dispositivi della macchina. Ad esempio, indiciamo che la cella è un tipico computer di seconda generazione consisteva in 36 scariche binarie.

Molto spesso, il programma era inteso per l'elaborazione in base alle stesse formule di un certo numero di contenuti di celle localizzate sequenzialmente (nelle lingue di alto livello di questo tipo di struttura, il nome degli array è stato successivamente ottenuto). I primi computer di generazione hanno fornito meccanismi speciali per l'elaborazione ciclica di array di informazioni. A tal fine, nei comandi della macchina, oltre agli indirizzi convenzionali, è stato possibile utilizzare modificabile, in cui un bit di lotto speciale è stato stabilito in uno. Ali indirizzi modificabili contrassegnati in questo modo, un valore da celle indici speciali è stato aggiunto al comando. Cambiando il contenuto delle celle indicizzate, è stato possibile accedere a vari elementi dell'array. Sottolineiamo che la formazione dell'indirizzo risultante è stato effettuato presso l'UU al momento dell'esecuzione della squadra, quindi il comando iniziale in RAM è stato mantenuto invariato.

Il meccanismo di modifica dell'indirizzo descritto ha significativamente semplificato significativamente la scrittura di programmi ciclici, come trovare la somma delle cellule RAM consecutive, copiando singole sezioni di memoria, ecc.

Nel computer di terza generazione, l'ideologia della costruzione di una memoria è cambiata in modo significativo: una porzione minima di informazioni per lo scambio con la RAM è stata stabilita pari a 8 scariche binarie, cioè. un byte. È diventato possibile elaborare più tipi di dati: simboli di testo (1 byte), interi (2 byte), numeri reali di precisione convenzionale o doppia (4 o 8 byte, rispettivamente). A questo proposito è stata introdotta una nuova unità condizionale per le informazioni di misurazione - una parola macchina. Erano 4 byte e corrispondevano alla lunghezza di un numero reale standard. Tutte le quantità di informazioni hanno cominciato a essere misurate in unità, molteplici parole: doppia parola, a mezzaluna, ecc. Naturalmente, l'indirizzo (numero di cellule della RAM) nelle macchine con un'organizzazione di bypass è diventata un byte separato; I byte di memoria hanno numeri crescenti. La parola consiste in diversi byte sequenzialmente localizzati. Come indirizzo della parola, è conveniente ricevere l'indirizzo di uno dei generatori dei suoi byte (il byte più giovane viene solitamente utilizzato, avendo il numero più piccolo). Pertanto, gli indirizzi delle parole cambiano più attraverso l'unità; Il loro incremento dipende dalla lunghezza della parola macchina in byte ed è uguale a quattro.

La dimensione della parola macchina è stata apparentemente selezionata in base ai formati delle informazioni elaborate e non in connessione con il bit rate di qualsiasi dispositivo. Per confermare questo, diamo diversi fatti sulla terza generazione di computer tipico della famiglia dell'UE. Il dispositivo aritmetico e logico del modello UE-1022 ha avuto 16 scarichi binari, "UE-1033" - 32 scarico e scarica "UE-1050" - 64 scarica. Allo stesso tempo, per un ricorso alla RAM in "EU-1022" e "UE-1033" sono stati scelti 4 byte, negli byte UE-1050 - 8 (e in UE-1045 - 16 byte). Pertanto, la varietà di numeri mostra che 32 scarichi (4 byte) non erano alcuna quantità di informazioni tecnicamente dedicata.

Nelle macchine di terza generazione, sono apparse diverse funzionalità: la diversa lunghezza dei comandi a seconda del metodo di indirizzamento dei dati, la presenza di memoria overoperativa speciale della memoria, calcolando l'indirizzo effettivo della RAM come la somma di diversi registri, ecc. Tutto ciò è stato ulteriormente sviluppato nei computer della quarta generazione, per i quali lo scarico del microprocessore è diventato una delle caratteristiche più importanti. Considerazione delle caratteristiche della struttura della memoria della memoria di quarta generazione si posterà fino alla sezione successiva.

Il lavoro su ENIAC era in pieno svolgimento quando Herman Goldstain ha incontrato la discesa ungherese americana John Von Neumanan, che era un consulente per il programma segreto americano per creare una bomba atomica e affrontata la questione di come aumentare le capacità numerabili per risolvere il necessario differenziale equazioni. Come risultato di questo incontro, Neuman, noto ai risultati dello sviluppo della teoria dei giochi prima del contributo alla creazione di armi nucleari, inizia a collaborare con il gruppo di lavoro eniac. Insieme, sviluppano un progetto di una nuova macchina di elaborazione, che, in primo luogo, funziona esclusivamente su circuiti elettronici, e in secondo luogo, il programma è inserito in esso non su nastro di carta, ma con l'aiuto delle carte, che viene quindi codificato nel modulo di simboli adatti per l'elaborazione e persiste nella memoria centralizzata. Anche gli stessi inventori non hanno immediatamente realizzato il valore di questo principio, che non solo consente di apportare modifiche al programma: queste modifiche possono essere effettuate da un dispositivo di elaborazione.

Mentre si lavora su Edvac nel 1945, si è verificato un importante conflitto tra i suoi sviluppatori. Il fatto è che Edvac è diventato una base per un terzo lavoro teorico su larga scala sulla tecnologia di calcolo (il primo, la descrizione della "macchina analitica" apparteneva a Charles Babbiju, il secondo Alan Turing). Ma né urinario né Eckert potevano riassumere le loro conoscenze e astratto da radiolmps e circuiti elettronici. Forse hanno trascurato questo per considerazioni di segretezza, forse i fisici non hanno diminuito di una rigorosa presentazione matematica. Von Neumanov ha anche scritto un "rapporto preliminare sull'auto EDVAC", in cui in dettaglio l'organizzazione logica e i principi generali del funzionamento dei dispositivi informatici universali. Il rapporto è stato inviato a molti scienziati provenienti da diversi paesi e ha ricevuto un'ampia fama (quindi i progettisti eniac non potrebbero successivamente brevettare il loro progetto).

Von Neumanov è stato ampiamente noto come un matematico eccezionale, e la comunità scientifica gli attribuiva tutte le idee alla base di questa macchina. La fonte include l'espressione "macchina von neuman" (I.e. computer). Neuman ha trovato il percorso del collegamento del programma di lavoro non con fili o altre connessioni, ma integrandolo nella memoria della macchina nel modulo codificato. È Neuman e ha inventato uno schema che tutti i computer digitali seguono ancora. In generale, lo schema è presentato nella figura. Le frecce solide sono controlli (sono seguiti i segnali di controllo) e le frecce punteggiate sono collegamenti informativi (i dati sono seguiti, informazioni). I dispositivi I / O comprendono tastiera, mouse, monitor, unità, CD ROM, stampante, scanner, microfono, altoparlanti audio, plotter, ecc.

Il computer deve avere:

  • · Dispositivo logico aritmetico che esegue operazioni aritmetiche e logiche. Al giorno d'oggi, questo dispositivo è chiamato processore centrale. L'unità di elaborazione centrale è un microprocessore del computer, che è un microcircuit che gestisce tutti i processi che si verificano nel computer;
  • · Dispositivo di controllo che organizza il processo di esecuzione del programma. Nei moderni computer, un dispositivo logico aritmetico e un dispositivo di controllo sono combinati in un processore centrale;
  • · Dispositivo di archiviazione (memoria) per la memorizzazione di programmi e dati;
  • · Dispositivi esterni per informazioni I / O.

La memoria del computer è un certo numero di celle numerate, ognuna delle quali potrebbe avere o elaborare i dati o le istruzioni per i programmi. Tutte le celle di memoria devono essere altrettanto facilmente accessibili ad altri dispositivi informatici.

Principio di funzionamento:

  • · Utilizzando un dispositivo esterno, un programma viene inserito nella memoria del computer.
  • · Il dispositivo di controllo legge il contenuto della cella di memoria, dove la prima istruzione (comando) del programma e organizza la sua esecuzione. Il comando può impostare:
    • o eseguire operazioni logiche o aritmetiche;
    • o Leggere dalla memoria dei dati per eseguire operazioni aritmetiche o logiche;
    • o Record risultati in memoria;
    • o Immissione di dati da un dispositivo esterno in memoria;
    • o Visualizza i dati dalla memoria a un dispositivo esterno.
  • · Il dispositivo di controllo inizia a eseguire un comando da una cella di memoria, che è direttamente per essere giustificata dal comando. Tuttavia, questo ordine può essere modificato utilizzando i comandi di controllo (transizione). Questi comandi indicano il dispositivo di controllo che deve continuare l'esecuzione del programma, a partire dal comando contenuto in un'altra cella di memoria.
  • · I risultati del programma vengono visualizzati sul dispositivo esterno del computer.
  • · Il computer passa alla modalità standby del segnale da un dispositivo esterno.

Uno dei principi di "Architecture Background Nymanana" afferma: il computer non è necessario modificare le connessioni dei fili se tutte le istruzioni sono memorizzate nella sua memoria. E non appena questa idea, nel quadro della "architettura, il von Neuman" incorporato in pratica, è nato un moderno computer.

Come qualsiasi tecnica, i computer si svilupparono verso la crescente funzionalità, la fattibilità e la bellezza. C'è generalmente una dichiarazione che richiede la legge: un dispositivo perfetto non può essere brutto in apparenza e viceversa, una bella tecnica non è male. Il computer non è solo utile, ma anche adornando la stanza con il dispositivo. La comparsa di un computer moderno, ovviamente, è correlata con lo schema di base di Nymanan, ma allo stesso tempo sarà variato con esso.

Grazie alla società IBM, le idee von Neuman hanno implementato sotto forma di principio ampiamente utilizzato dell'architettura aperta dei blocchi informatici dei computer. Secondo questo principio, il computer non è un singolo dispositivo delineo e costituito da parti prodotte indipendentemente, e i metodi dei dispositivi di mappatura con un computer non sono un segreto del produttore, ma sono disponibili per tutti. Pertanto, le unità di sistema possono essere raccolte in base al principio del designer dei bambini, cioè cambiando gli articoli ad altri, più potenti e moderni, aggiornando il proprio computer (aggiornamento, aggiornamento - "sollevare il livello"). I nuovi dettagli sono completamente intercambiabili con il vecchio. I personalter personali architettonici aprono anche un bus di sistema, questa è una certa strada generale virtuale o vissuta o un canale in cui tutte le conclusioni sono fuori da tutti i nodi e parti dell'unità di sistema. Si deve dire che i grandi computer (non personali) non hanno la proprietà di apertura, è impossibile sostituire qualcosa in loro da sostituire da un altro, più perfetto, ad esempio, nei computer più moderni che potrebbero non esserci alcuna connessione Fili tra gli elementi del sistema informatico: il mouse, la tastiera ("tastiera" - "tastiera") e unità di sistema. Possono comunicare tra loro con radiazioni a infrarossi, per questo nell'unità di sistema c'è una speciale finestra di segnali a infrarossi (dal tipo di telecomando TV).

Attualmente, un normale personal computer è un complesso costituito da:

  • · La principale scheda elettronica (sistema, materna), che contiene tali blocchi che svolgono il trattamento delle informazioni di calcolo;
  • · Circuiti che controllano altri dispositivi del computer inseriti in connettori standard sulla scheda di sistema - slot;
  • · Dischi di archiviazione delle informazioni;
  • · Alimentazione da cui l'alimentazione è fornita a tutti i circuiti elettronici;
  • · Casi (unità di sistema), in cui tutti i dispositivi per computer interni sono installati su un telaio condiviso;
  • · Tastiera;
  • · Tenere sotto controllo;
  • · Altri dispositivi esterni.

Architettura Von Neumanovsky Tipo (con nome Matematica John Von Neumana) è più utilizzata nelle macchine di calcolo digitale e alla base di quasi tutti i tipi di architettura del microprocessore. Sfondo di architettura Neumann determina il tipo di interazione tra controllo e memoria. La parte di controllo funziona sulla base di una sequenza di comando chiamata programma memorizzata in memoria. Ogni comando è composto da due parti: operatore e operando. L'operatore indica quale operazione deve eseguire il processore (aritmetico, logico o controllo) e i dati operando o l'indirizzo in memoria, su cui è necessario eseguire l'operazione.

architettura Programma Neuman Binary

John Von Neuman.

Il funzionamento della macchina di calcolo di Nymanan è quello di eseguire una sequenza di comando che corrisponde all'operazione da eseguire dal sistema. Poiché l'unità di controllo e la memoria interagiscono attivamente con l'altro, vengono forniti hardware speciali che consentono di accelerare il processo di invio di dati e comandi. Questi fondi includono: registro dei comandi, team meter, unità, dispositivo aritmetico-logico (ALLU).

Il registro dei comandi, il misuratore di comando e l'unità sono gli elementi principali di uno dei blocchi della macchina di elaborazione - "Memory". Questi sono registri o celle di memoria, il cui contenitore di cui lo scarico binario è uguale alla lunghezza della parola macchina. Il registro dei comandi memorizza che comandano che il computer deve seguire quello corrente e l'indirizzo del comando successivo è memorizzato nel misuratore di comando. L'unità memorizza i dati per l'elaborazione o accetta i dati dopo di esso.

Il dispositivo logico aritmetico esegue le operazioni aritmetiche o logiche specificate sui dati specificati nel comando.

Questi hardware sono collegati tra loro da uno o più pneumatici. Il pneumatico è un collegamento elettrico tra più punti, che può essere fonti o ricevitori di segnale (può essere confrontato con il veicolo che accetta e stenderà i passeggeri). La lunghezza della parola del micro-microcomputer è di solito 4, 8, 16 bit, ecc.

Il pneumatico collega registri e ALU con memoria e dispositivi di input. Nell'architettura con un bus, ciascun dispositivo collegato al bus utilizzalo insieme ad altri dispositivi e quindi alloca un determinato intervallo di tempo per trasmettere informazioni sul bus a un altro dispositivo o per rendere le informazioni da esso. Questo multiplexing di questo bus viene eseguito da un circuito di controllo hardware e sincronizzato dall'unità di controllo della macchina di calcolo.

L'unità di controllo esegue le funzioni di base del controllo e della sincronizzazione di tutti gli altri blocchi della macchina di elaborazione. I sistemi di calcolo di solito rappresentano un circuito digitale serie sincronizzato mediante un segnale di clock standard trasmesso in tutto il sistema.

Ogni elemento della macchina di elaborazione è progettato in modo tale da realizzare una sequenza di alcune azioni dopo un dato numero di impulsi di clock. Il registro dei comandi trasmette il seguente comando ai decodificatori del comando, che interpreta il set di scarico in entrata emano gli ordini pertinenti sia sull'unità di controllo del ciclo della macchina che su Allu. L'unità di controllo del ciclo della macchina decodifica questi ordini, emettendo i segnali corrispondenti alle uscite di controllo e alle uscite di controllo. Pertanto, il funzionamento di altri componenti del sistema può essere sincronizzato con il lavoro di ALU. Memoria (questo può essere inglesso RAM con un campione arbitrario o un registro interno della macchina) dovrebbe anche ottenere indicazioni su quali dati sono necessari per l'elaborazione.

Architettura del PC. I principi di base del lavoro del computer.

Un computer è chiamato un dispositivo elettronico in grado di eseguire automaticamente un programma specificato per l'ammissione, lo stoccaggio, la trasformazione e l'emissione di informazioni.

Sotto l'architettura del sistema di elaborazione, i principi più generali della sua costruzione, principi di funzionamento, collegamenti reciproci e interazione dei principali nodi funzionali, l'organizzazione della memoria e il sistema dei comandi sono intesi. Le domande dell'organizzazione della memoria e dei team di team non sono considerate informatiche.

I principi classici di costruire un'architettura del computer sono stati offerti nel lavoro di John Von Neymanan, Goldstaiga e A. Berks nel 1964 e sono conosciuti come "Principi di Neumanna"

Questi principi sono i seguenti:

  • - Codifica binaria di tutte le informazioni utilizzate: qualsiasi dato nel computer (numeri, testo, suono, immagini) sono rappresentati come una sequenza di zeri e unità.
  • - Accesso casuale alle celle RAM: il computer deve disporre di un dispositivo speciale - RAM - dove vengono memorizzati programmi di esecuzione e dati elaborati; La memoria è divisa in celle, ogni cella ha un indirizzo (numero), a questo indirizzo è possibile leggere le informazioni dalla cella in qualsiasi momento o scrivere informazioni
  • - il principio del programma memorizzato: il paragrafo deve essere memorizzato nella memoria di un computer in forma binaria; così come i dati. Questo principio ora sembra assolutamente ovvio, ma nel primo computer non è stato usato. Per impostare la procedura per l'esecuzione delle operazioni, è stato necessario collegare gli elementi dei regimi logici del computer in un ordine specifico impostando i fili del ponticello. L'uso del principio del programma memorizzato ha permesso di aumentare significativamente l'efficienza dell'uso dei computer.
  • - Principio di operazioni sequenziali: il programma consiste in una sequenza di comandi. Ogni comando è memorizzato in una (o più) celle di memoria in forma binaria. Il computer inizia a eseguire il programma, I.e. Seleziona il valore memorizzato in una cella di memoria specifica ed esegue il comando appropriato a questo valore. Quindi il computer esegue il comando memorizzato nella cella di memoria successiva e continua fino a quando una delle celle incontrerà un comando di arresto o un transito di qualche altra cella di memoria.

I seguenti blocchi funzionali possono essere distinti come parte di qualsiasi computer:

  • - Il dispositivo logico aritmetico (ALU) esegue tutte le operazioni di conversione dei dati. In effetti, qualsiasi trasformazione è diminuita alle azioni elementari, per l'implementazione di cui operazioni sufficienti aritmetiche (aggiunta, sottrazione, moltiplicazione, divisione) e logiche (e, o, non).
  • - Dispositivo di controllo (UU) - Gestisce tutti i dispositivi informatici. Alu e UU nel aggregato costituiscono il processore centrale della CPU.
  • - RAM - memorizza il programma e i dati. La memoria è composta da singole celle; Di solito una cella di memoria può memorizzare un byte. Ogni cella ha un numero (indirizzo) con cui è possibile "contattare" per scrivere e leggere i dati.
  • - Dispositivi di input: accettare informazioni dall'utente (o da alcuni dispositivi esterni - sensori, antenne, ecc.) E convertono il modulo, conveniente per l'elaborazione su un computer.
  • - Dispositivi di uscita - Converti le informazioni memorizzate ed elaborate sul computer, conveniente per la percezione da parte dell'uomo.

I primi computer sono stati costruiti secondo la struttura Nimanan, che possono essere rappresentati come segue: (Linee spesse indicano connessioni informative, segnali di controllo sottili)

Come si può vedere secondo lo schema, il dispositivo di controllo è associato a ciascuno dei dispositivi da un canale separato con cui vengono trasmessi i segnali di controllo. Ogni dispositivo esterno è collegato da un canale di scambio di informazioni separato con ALLU. Da Alu, i dati possono già essere registrati in memoria; E i dati possono essere letti dalla memoria in ALLU.

Tale struttura quando un canale separato viene utilizzato per comunicare con ciascun dispositivo, ha effettuato una configurazione di e-mail complicata, in particolare, collegando nuovi dispositivi esterni.

I moderni PC sono costruiti su un principio modulare del trunk. Ciò significa che tutti i dispositivi sono collegati a un'unica autostrada (set di cavi). Inoltre, la connessione di tutti i dispositivi viene eseguita utilizzando connettori standard e i parametri dei segnali elettrici che utilizzano anche dispositivi per la gestione e lo scambio di dati sono anche standardizzati. Quelli. Tutti i dispositivi "comunicano in base alle stesse regole". Ciò consente all'utente di modificare la completezza del PC sostituendo, eliminando o aggiungendo moduli di blocco.

La struttura del PC può essere rappresentata come segue:

Qui la CPU è un processore centrale; Include il dispositivo di controllo e il dispositivo logico aritmetico. La CPU gestisce il lavoro di tutti i dispositivi informatici ed esegue tutte le operazioni di elaborazione dei dati.

RAM è un dispositivo di archiviazione operativo (RAM); Memorizza il programma e i dati trattati nell'ora corrente. Quando il potere è spento il contenuto della RAM è perso.

ROM è un dispositivo di archiviazione costante; Memorizza i programmi che vengono eseguiti quando il computer è inizialmente scaricato, così come alcuni altri programmi importanti. Le informazioni nella ROM vengono salvate quando l'alimentazione è disattivata. La prima rom è stata davvero "permanente", cioè. Potresti scrivere in loro solo una volta. I roms moderni sono riprogrammati, quindi le informazioni memorizzate in esse possono essere aggiornate.

Wu - dispositivi esterni, tra cui allocare:

  • o Dispositivi di input (ad esempio, tastiera);
  • o Dispositivi di uscita (ad esempio, stampante)
  • o Dispositivi di scambio dati (ad esempio, modem)
  • o Lettura / scrittura e memorizzazione delle informazioni (ad esempio, unità e unità flash)

Dal punto di vista dell'architettura del PC, il disco rigido (Winchester) è anche un dispositivo esterno. Ma svolge un ruolo così importante che lo schema è assegnato separatamente. Il programma memorizza i programmi (prima di tutto il sistema operativo) e i dati.

Ogni dispositivo esterno è controllato da un controller: un dispositivo di controllo speciale. Il controller è un "mediatore" tra la CPU di lavoro veloce e il wu funzionante lentamente. Ad esempio, avendo ricevuto un comando dal processore a una stampa del testo, il controller lo traduce in una sequenza di comandi elementari per eseguire la stampante: per dare carta, riscaldare il toner, elettrificare il tamburo, spruzzare la vernice, premere la carta , eccetera. Il processore in questo momento può risolvere altre attività. Pertanto, l'uso di controller migliora le prestazioni del computer.

Inoltre, sono necessari programmi speciali per gestire dispositivi esterni - driver.

I PC moderni sono costruiti sul principio di "Apri architettura". Ciò significa che gli standard per i connettori, i parametri del segnale e le regole di scambio del modulo con l'altro sono aperti e qualsiasi azienda può produrre apparecchiature in conformità con questi standard. Ciò fornisce un'ampia varietà di dispositivi esterni e singoli moduli PC, ma sono tutti compatibili tra loro.

Alexander Savvateev.

Generale

La macchina di elaborazione M-3 è stata progettata sotto la guida di I. S. Brook. Si riferisce alla classe di piccole auto universali.

La macchina esegue azioni oltre i numeri a 31 bit con un punto e virgola fisso ad una velocità di 30 operazioni di divergenza al secondo. RAM è implementato su un tamburo magnetico e ha una capacità di 2048 numeri. Nel caso di connessione alla memoria del computer su core magnetici, la velocità aumenta a 1500 operazioni al secondo.

I dispositivi di memoria esterni M-3 non hanno no.

Per le informazioni I / O, vengono utilizzati perflector e Teletype.

La macchina ha 770 lampade elettroniche e 3000 diodi semiconduttori, consuma 10 kW di elettricità. È 30-40 m 2 per il suo posizionamento.

Struttura di memoria e informazioni

La RAM ECM M-3 ha un volume di 2048 numeri o comandi a 31 bit. Tutte le cellule di memoria sono uguali l'una all'altra. Gli indirizzi a 11 bit vengono utilizzati per accedere alle celle di memoria. Gli scarichi delle celle di memoria sono numerati da sinistra a destra; Scarico maggiore (a sinistra) ha un numero 0.

I numeri binari con un punto fisso contengono un numero di numeri in uno scarico zero, e le restanti 30 cifre occupa un valore assoluto del numero. Pertanto, M-3 utilizza il codice diretto, non aggiuntivo per rappresentare numeri negativi. Si ritiene che l'intera parte del numero sia zero e gli scarichi 1-30 contengono una parte frazionata.

I numeri decimali hanno anche un numero intero zero. Il loro segno è posizionato in uno scarico zero e in scariche 1-28 ci sono sette tetrad, codifica cifre decimali della parte frazionata del numero. Scarica 29-30 non vengono utilizzati.

Introduzione informativa

Per inserire il programma in memoria del computer, viene utilizzato un punzonato. Per ogni cella su una perfidula, viene applicato il suo indirizzo, un segno della fine dell'indirizzo, il valore di questa cella e il segno della fine del valore. Alla fine del programma c'è un segno speciale. L'immissione del programma viene eseguita premendo il pulsante corrispondente sul pannello di controllo EMM.

Per l'immissione dei dati, viene utilizzato un perflettore, ma è coperto da una serie solida di numeri decimali senza alcun codice aggiuntivo. La loro voce è fornita dal programma con l'aiuto di un team speciale.

L'output delle informazioni viene eseguita su un dispositivo di stampa del tipo di teletep.

Sistema di squadra

EMM M-3 si riferisce alle macchine a doppio grado. Ogni comando prende una memoria cellulare. La categoria del codice comando 0 non è utilizzata, scariche 1-6 contengono il codice operativo, scariche 7-18 - l'indirizzo del primo operando, scarica 19-30 - l'indirizzo del secondo operando e il risultato.

Il dispositivo aritmetico del computer M-3 ha un adder in cui viene inserito il risultato dell'ultima operazione eseguita. Il contenuto dell'adder può essere utilizzato quando si esegue la seguente operazione.

Al ricevimento di un risultato negativo, incluso uno zero negativo, è formato un segno w \u003d 1. Quando si riceve un risultato positivo, la funzione w \u003d 0.

Tutti i comandi possono essere suddivisi in due gruppi: comandi aritmetici e logici e di controllo.

Il codice del team aritmetico e logico ha la forma xY.dove x. - Modificatore di funzionamento (una cifra ottale); y. - Codice operativo (seconda cifra ottale). I possibili valori dei codici e dei modificatori delle operazioni aritmetiche e logiche sono mostrati nella seguente scheda. 1-2.

Tabella 1

Tavolo 2

Nella scheda. uno uN. e b. Celle di memoria media specificate dal primo e al secondo indirizzo nel codice comando, rispettivamente; r. - Register-Adder.

I comandi di controllo non hanno modifiche, quindi il loro codice richiede sempre due numeri ottali. L'elenco dei comandi di controllo è indicato nella tabella. 3.

Tabella 3.

Codice operativo Nome della squadra Azioni eseguite dal comando
07
27
Ingresso del numero con punteggiatura Un numero con punteggiatura è introdotto nella cella b.. Nell'adder non è inserito. L'indirizzo di cella A è zero
05
15
Trasferimento del numero Numero dalla cella uN. È trasferito alla cella b.
45
55
Trasferimento di numero e stampa Numero dalla cella uN. È trasferito alla cella b. e allo stesso tempo stampato sul telento
24 Transizione incondizionata al primo indirizzo uN.
b.
64 Transizione incondizionata al primo indirizzo e stampa C'è un controllo sulla cella sulla cella con l'indirizzo uN.
E allo stesso tempo il contenuto dell'Adder è scritto sulla cella con l'indirizzo b. e stampato su Teletype
74 Transizione incondizionata al secondo indirizzo La gestione viene trasmessa al comando con l'indirizzo b.. Indirizzo A nel codice di comando è zero. Lo scarico di un sommatore viene cancellato, cioè, l'Adder rimane il valore assoluto del suo valore iniziale.
34 Transizione condizionale Se w \u003d 1, controlla il controllo alla cella con l'indirizzo uN.e se w \u003d 0 - sulla cella con l'indirizzo b.
37 Fermare La macchina si ferma. Sul pannello di controllo è emesso uN.. Il contenuto dell'Adder non cambia. Indirizzi Campo b. Nel codice di comando è uguale a zero

Una definizione del concetto del processore è stata data nell'introduzione.

Il processore è un computer funzionale progettato per il trattamento logico e aritmetico dei flussi di informazione in base al principio del controllo del software.

Il processore esegue la funzione di esecuzione del programma (posizionata in RAM) mediante campionamento, controllando e eseguendo sequenzialmente azioni prescritte dai comandi. Diverso: il processore esegue le istruzioni delle informazioni codificate prescritte da comandi in conformità con i programmi.

Nei moderni computer, il processore (Computer Computer) non è un'associazione formale di ALU e CSU e il risultato dello sviluppo della struttura EUM, progettato per fornire un'elevata velocità e un'elevata elaborazione di informazioni funzionali e logiche. In particolare, l'emergere di nuovi computer ha portato alla necessità di un computer e nel processore

1) sistemi di interruzione;

2) nuovi livelli di memoria;

3) strumenti di protezione della memoria;

4) uso di tipi speciali di indicizzazione, indirizzamento delle informazioni;

5) Kash-memoria di squadre, rami, previsioni di scambio, ecc.;

6) Procedure speciali per la gestione del processo di elaborazione

Tutti questi sottosistemi e dispositivi sono parzialmente o completamente inclusi nel processore. Il nuovo fenomeno strutturale nuovo nel processore - creatura.

Pertanto, ora il processore ha una struttura più sviluppata, ripetendo in una certa senso la struttura della macchina del veicolo Neimane.

Ma non preoccuperemo nuove direzioni nell'organizzazione dei processori. Saranno completamente coperti nel corso "microprocessori".

3.1. Sistema di comandi del computer.

Il sistema di comandi del computer è determinato dalla struttura e dai formati dei comandi, nonché un elenco (elenco) dei comandi e dei metodi di indirizzamento.

La squadra è chiamata In qualche modo, le informazioni codificate che determina la generazione di sequenze di segnali progettate per eseguire un'operazione specifica (azione) della macchina sui codici numerici e non numerici specificati.

Poiché, in definitiva, una squadra in un modo o nell'altro viene introdotta nel computer ed è percepito, quindi il tipo di fine del comando è un codice digitale.

Rispettivamente, la forma finale del programma Computer Works (il programma può essere definito come un algoritmo di elaborazione delle informazioni appositamente formalizzato) è un programma in comandi codificati.

3.1.1. Struttura e formati di comandi.

Conformemente alla definizione della squadra, la struttura di quest'ultimo ha parte operativa e indirizzo (che e quali dati dovrebbero essere eseguiti), così come servizio di servizio Definizione della funzione dell'esecuzione di questo comando (modifica) a seconda dei valori di determinati segni.

L'indirizzo (indirizzi) contenuto nella parte dell'indirizzo del comando, nel caso più comune, indica il numero di cellule RAM in cui viene registrato il numero che partecipa all'operazione (il suo codice) - il termine, moltiplicatore, divisibile, ecc., Il codice delle informazioni non infiammatorie (l'indirizzo, la stringa di caratteri, le condizioni del dispositivo, ecc.) è generalizzata e per la semplicità è generalmente detta: gli operandi sono memorizzati nella memoria.

Tuttavia, se parliamo della squadra come prescrizione medica, la sua forma più completa dovrebbe indicare non solo gli indirizzi di tutti i numeri che partecipano all'operazione, ma anche l'indirizzo della cella in cui il risultato dovrebbe essere posizionato, così come l'indirizzo della fonte della squadra successiva. Questa enumerazione porta alla necessità di avere in una squadra quattro Indirizzi.

E infatti esistono tali squadre a quattro stelle. Da una squadra così "formato" è iniziato ". Ma gli indirizzi nella squadra possono essere meno e altro ancora!

Potrebbe mancare l'indirizzo della fonte del comando successivo perché il programma (sequenza di comando) è più naturalmente Ed è consigliabile posizionare in alcuni array nelle vicinanze nelle cellule della memoria. E se i comandi sono scritti in serie (dal numero 1 al numero n), è molto semplice hardware (contatore!) Per implementare l'indirizzo del codice sorgente della fonte del comando successivo. Si noti che un tale ordine di campionamento è chiamato naturale, mentre quando si specifica l'indirizzo del comando nel comando L'ordine del campione è chiamato costretto. Noteremo inoltre che l'uso del campionamento dell'ordine naturale porta alla necessità di introdurre squadre speciali che cambiano la procedura per i calcoli (Cambiando il contenuto del contatore dei misuratori dei misuratori). Questo è necessario per fornire calcoli algoritmici. Con obbligatorio Ordine di selezione I comandi speciali non sono necessari, perché ogni squadra "cambia" ordine di campionamento.

Una parte importante dell'architettura del computer è il sistema di comando, quindi prendi in considerazione questa domanda.

Sotto squadra Comprendere la combinazione di informazioni presentate sotto forma di codici binari richiesti dal processore per eseguire il passaggio successivo.

Nel codice di comando, determinati scarichi (campi) sono assegnati alle informazioni pubblicate:

Sul tipo di operazione,

Indirizzi delle cellule RAM in cui sono memorizzati i dati elaborati,

Indirizzi delle celle di memoria, dove verrà registrato il risultato dell'operazione.

Una struttura predeterminata di campi, consentendo al computer di riconoscere i componenti del codice di comando chiamato Formato della squadra .

Esempi di formati di comando sono mostrati nella figura 5.

Figura 5.

L'elemento principale del codice di comando è il codice operativo (CP), che determina quali azioni verranno eseguite su questo comando. Sotto di esso si distingue da n cifre senior del formato.

Le restanti scarichi si trovano a A1 e A2 - indirizzi degli operandi, A3 - indirizzo del risultato.

La distribuzione dei campi nel formato di comando può variare quando si modifica il metodo di indirizzamento.

La lunghezza del comando dipende dal numero di campi mirati. Secondo il numero di indirizzi, le squadre sono divise in assurdità; uno, due-, trichadresico.

Richiama che il codice di comando contiene informazioni sui dati su cui è necessario eseguire un po 'di operazione. Questi dati sono chiamati operandi. Di solito gli operandi sono contenuti nella memoria operativa o registrazione del computer. Il metodo di ricerca degli operandi in memoria definisce anche il formato di comando.

Ci sono 2 diversi principi di ricerca di operando in memoria: associativo e indirizzo:

- Ricerca associativa (Cerca una cella di stoccaggio) comporta la visualizzazione del contenuto di tutte le celle di memoria per rilevare il codice contenente l'associativo specificato dal comando.

- Ricerca indirizzabile Presuppone che l'operando si trovi all'indirizzo specificato nel campo dell'indirizzo dei comandi.

Si distingue l'indirizzo esecutivo dell'operando e il codice dell'indirizzo del team.

Indirizzo esecutivo Operande. Chiamato il numero di codice binario della cellula di memoria, che verrà registrata o parte dell'operando.

Codice dell'indirizzo del team. Il codice binario è chiamato nel campo dell'indirizzo del comando, con il quale è necessario formare l'indirizzo esecutivo dell'operando. Nel computer, il codice indirizzo e l'indirizzo esecutivo non coincidono, quindi il metodo di indirizzamento può essere definito come metodo per generare l'indirizzo esecutivo sul codice indirizzo del team.

Questi concetti continueranno a utilizzare nella descrizione dei metodi di indirizzamento agli operandi.

Metodi per affrontare gli operandi, a seconda del tipo di ricerca dell'operando, classificare:

1) per la presenza di informazioni sull'indirizzo nel team su:

- indirizzamento esplicito. Con questo metodo, il codice di comando ha un campo di indirizzo dell'operando;



- nonvidaddressing. Con questo metodo, manca il campo Indirizzo nel comando e l'indirizzo dell'operando è destinato dal codice operativo. Ad esempio, l'indirizzo del ricevitore di destinazione può essere escluso dal comando, mentre è inteso che il risultato è registrato sul sito del secondo operando.

2) mediante molteplicità di appello alla RAM:

- indirizzamento diretto (indirizzamento diretto).Se l'operando viene indirizzato direttamente direttamente nel campo dell'indirizzo del comando (Figura 6).

Figura 6.

- indirizzamento immediato (indirizzamento immediato). Con indirizzamento diretto, l'impugnazione dell'operando è effettuata sul codice indirizzo nel campo dei comandi. In questo caso, l'indirizzo esecutivo coincide con l'indirizzo del codice di comando. Questo può essere illustrato come segue (figura 7).

Figura 7.

- Indirizzamento indiretto (indirizzamento indiretto). Quando una indirizzamento indiretto, il codice di comando specifica l'indirizzo della cellula di memoria in cui si trova l'operando stesso, e il suo indirizzo, chiamato puntatore. Questo può essere illustrato come segue (figura 8).

Figura 7.

3) Con il metodo di formazione degli indirizzi delle celle di memoria:

- Indirizzamento assoluto Si presume che il codice binario dell'indirizzo della cellula di memoria possa essere interamente rimosso dal campo di comando del comando o da qualsiasi altra cella nel caso di indirizzamento indiretto.

- Indirizzamento relativosi presume che il codice dell'operando binario sia formato da diversi componenti:

B - Codice base;

E - codice indice;

C - Codice offset.

Questi componenti sono utilizzati in varie combinazioni.

Tipi di relativa indirizzamento:



Figura 9.

Il registro La memoria viene utilizzata per formare un indirizzo dell'operando.

L'indirizzo I -Strand nell'array è definito come la somma dell'indirizzo iniziale dell'array dell'operando definito dal Displacement S e l'indice che ho registrato in uno dei registri Registrati Registrati, denominato Registro dell'indice.

L'indirizzo del registro dell'indice è impostato nel comando del campo Indice AI.

In ogni ciclo I-Tom, il contenuto del registro dell'indice varia a un valore costante, di regola, è 1.

Per il funzionamento dei programmi con gli array che richiedono lo stesso tipo di operazioni sugli elementi dell'array, è conveniente utilizzare questo tipo di indirizzamento.

2) Indirizzamento automatico.Quando l'indice automatico, l'indirizzo indiretto situato nel registro RP aumenta automaticamente (indirizzamento automatico automatico) o diminuisce (indirizzamento automatico automatico) per un valore costante prima o dopo l'esecuzione dell'operazione.

3) Indirizzamento macchiato. La memoria ancora è ampiamente utilizzata nei moderni computer. Sebbene l'indirizzo dell'indirizzo dello stack manchi nel comando, è formato dal circuito di controllo (figura 9):

Figura 9.

Solo un registro è disponibile per la lettura di un record - il pila di pila.

Questo metodo di indirizzamento viene utilizzato, in particolare, il sistema di interruzione del programma quando si chiama subroutine.

La memoria dello stack è implementata sulla base della memoria ordinaria utilizzando il puntatore dello stack e l'indirizzamento automatico degli autoinagedex. Logicamente, le celle di memoria assegnate allo stack sono organizzate in modo che la lettura dell'ultimo indirizzo registrato venga eseguito prima e il primo indirizzo registrato è stato eseguito per ultimo. Tale organizzazione logica è formata da un metro speciale. Questo misuratore è chiamato SP Stack Pointer - questo è un registro del microprocessore. La cella di memoria in cui può essere registrata al momento, ad esempio, viene chiamato l'indirizzo di ritorno dalla subroutine top Stack. . Il numero di celle di memoria destinata all'organizzazione dello stack è chiamata profondità della pila . L'ultima cella di memoria in cui è possibile registrare è chiamato pila inferiore . Lo stack viene registrato utilizzando l'indirizzamento automatico della Cina e la lettura - utilizzando l'indirizzamento incrementale automatico (figura 10).

Figura 10.

Esempio. Chiama subroutine scritta in S.

Nella lingua dalla subroutine sono chiamate funzioni. La funzione può avere argomenti e variabili locali, I.e. Variabili che esistono solo durante la funzione di esecuzione della funzione. Supponiamo che la funzione dipenda dai due argomenti di ingresso X e in un tipo intero e utilizza tre variabili locali A, B e C anche un tipo intero. La funzione restituisce un valore intero.

Sottoprogamma:

Programma principale:

Ad esempio, in una determinata posizione del programma, la funzione F è chiamata con argomenti X \u003d 2, y \u003d 3. Il chiamante posiziona i valori effettivi degli argomenti x e nella funzione f in pila, mentre al La parte superiore dello stack è il primo argomento della funzione, sotto di esso - il secondo argomento. Durante l'esecuzione di una chiamata di istruzioni, anche l'indirizzo di ritorno dello stack è posizionato. All'inizio della funzione della funzione f, lo stack ha il seguente modulo:

Prima dell'esecuzione, la funzione F deve acquisire l'area di memoria sotto le sue variabili locali nella pila A, B, p.

Molte azioni implementate la macchina lo costituiscono sistema di comandi .

Nonostante il gran numero di computer, al livello più basso ("macchina"), hanno molto in comune.

Il sistema dei comandi di qualsiasi computer contiene necessariamente i seguenti gruppi di team di elaborazione delle informazioni:

1. Comandi di trasferimento dei dati (censimento) che copiano le informazioni da un luogo all'altro.

Scambio tra registri del processore,

Processore e memoria operativa,

Processore e impianti periferici.

2. Operazioni aritmetiche. Le principali operazioni aritmetiche di solito includono aggiunta e sottrazione (quest'ultimo è molto spesso ridotto). Per quanto riguarda la moltiplicazione e la divisione, vengono eseguiti in molti computer su algoritmi speciali.

3. Operazioni logiche che consentono al computer di analizzare le informazioni elaborate. Ad esempio, operazioni di confronto o ben noti operazioni logiche e, o, non. Inoltre, viene spesso aggiunto all'analisi di singoli bit di codice, il loro reset e installazione.

4. Shifts del codice binario a sinistra ea destra. Per dimostrare l'importanza di questo gruppo di comandi, è sufficiente richiamare la regola di moltiplicazione dalla colonna: ogni prodotto successivo è scritto in tale schema con un passaggio a una cifra a sinistra. In alcuni casi particolari, la moltiplicazione e la divisione possono essere in genere sostituite da un turno (ricorda che aggiungendo o rimuovendo lo zero a destra, cioè effettivamente eseguendo uno spostamento decimale, è possibile aumentare o diminuire 10 volte).

5. Comando di ingresso e informazioni di uscita per lo scambio con dispositivi esterni. In alcuni computer, i dispositivi esterni sono indirizzi di memoria di servizio speciali, quindi l'ingresso e l'output vengono eseguiti utilizzando i comandi del censimento.

6. Squadre di gestione che implementano algoritmi non lineari. Ciò è principalmente tra la transizione condizionale e incondizionata, così come il comando di appello al sottogruppo (transizione per il restituzione). Alcuni computer hanno comandi speciali per organizzare cicli, ma non è necessario: il ciclo può essere ridotto a una particolare combinazione di transizioni condizionali e incondizionate. Spesso, lo stesso gruppo di comandi include la "STOP" o NOP ("Nessuna operazione"). A volte sono evidenziati in un gruppo speciale.

Considerando il sistema di sistema, è impossibile non parlare di due moderne direzioni in competizione reciprocamente nella sua costruzione: un computer con un set completo di comandi CISC (computer set di istruzioni complesse) e un set limitato - RISC (computer set di istruzioni). La separazione è sorto a causa del fatto che la parte principale del tempo del computer deve eseguire una piccola parte dal suo set di comandi, il resto è usato episodicamente. Pertanto, se limita significativamente l'insieme delle operazioni al più semplice e breve, si rivelerà una macchina RISC abbastanza efficiente e ad alta velocità. È vero, la velocità dovrà pagare la necessità dell'attuazione del programma dei team "scartati", ma spesso questa commissione è giustificata: ad esempio, per calcoli scientifici o grafici della macchina, la velocità è significativamente più importante dei problemi di programmazione dei problemi di programmazione.

 

 

È interessante: