2,208 matches
-
instrucțiuni dedicate pentru accesul I/ O care să permită acest lucru. 5.2. Formatul instrucțiunilor codului mașină O instrucțiune este formată dintr-unul sau mai multe cuvinte, funcție de complexitatea și tipul său. Instrucțiunea este o comandă binară care modifică starea procesorului. Ea este o succesiune de cuvinte binare care desemnează o operație elementară și operanzii săi. Programul reprezintă o succesiune de astfel de instrucțiuni ce sunt stocate în memorie. Datorită faptului că informația este reprezentată sub formă binară, nu se pot
Arhitectura Calculatoarelor by Cristian Zet () [Corola-publishinghouse/Science/329_a_567]
-
că orice instrucțiune are două câmpuri principale (câmpul codului instrucțiunii -opcode și câmpul de date - date sau adrese), prin decodificarea primului câmp de către UCP, aceasta poate urmări succesiunea programului. Există mai multe tipuri de instrucțiuni care se găsesc la toate procesoarele: -instrucțiuni de transfer - sunt instrucțiuni care manipulează datele între regiștri sau între aceștia și memorie sau dispozitivele I/ O. instrucțiuni aritmetice - asigură prelucrarea unor date aflate în regiștrii sau în memorie. instrucțiuni logice - efectuează operații logice asupra unor date (ȘI
Arhitectura Calculatoarelor by Cristian Zet () [Corola-publishinghouse/Science/329_a_567]
-
sau Arhitectura calculatoarelor rotirea biților unor operanzi pentru izolarea unor biți în scopul testării sau modificării sale. instrucțiuni de ramificare - acest gen de instrucțiuni determină modificarea condiționată sau necondiționată a succesiunii liniare de execuție a unui program. -instrucțiuni pentru controlul procesorului - controlează anumite funcții ale acestuia prin intermediul unor regiștri de control (registrul de stare, registrul de intreruperi), introduc stări de așteptare pentru sincronizarea cu evenimente exterioare sau opresc procesorul. Orice instrucțiune trebuie să conțină primul cuvânt care să reprezinte codul operației
Arhitectura Calculatoarelor by Cristian Zet () [Corola-publishinghouse/Science/329_a_567]
-
necondiționată a succesiunii liniare de execuție a unui program. -instrucțiuni pentru controlul procesorului - controlează anumite funcții ale acestuia prin intermediul unor regiștri de control (registrul de stare, registrul de intreruperi), introduc stări de așteptare pentru sincronizarea cu evenimente exterioare sau opresc procesorul. Orice instrucțiune trebuie să conțină primul cuvânt care să reprezinte codul operației (OPCODE). Lungimea acestuia diferă în funcție de complexitatea operației și de eventualele informații suplimentare (modul de adresare a operanzilor, indicator de condiție, prefix al codului operației, etc) În consecință cea
Arhitectura Calculatoarelor by Cristian Zet () [Corola-publishinghouse/Science/329_a_567]
-
doar 2 regiștri, atunci codul operației este pe 4 biți. Bitul al 4-lea face selecția unuia din cei 2 regiștri. 5.3. Tipuri de instrucțiuni Deoarece arhitectura unui set de instrucțiuni depinde în primul rând de regiștrii interni ai procesorului, înainte de a prezenta tipurile de instrucțiuni trebuie cunoscuți regiștrii. Pentru a avea o legătură cu calculatoarele tip PC, dar pentru a nu intra în detalii care depășesc scopurile acestei cărți, exemplificarea se va face pe procesorul I8086, a cărui compatibilitate
Arhitectura Calculatoarelor by Cristian Zet () [Corola-publishinghouse/Science/329_a_567]
-
de regiștrii interni ai procesorului, înainte de a prezenta tipurile de instrucțiuni trebuie cunoscuți regiștrii. Pentru a avea o legătură cu calculatoarele tip PC, dar pentru a nu intra în detalii care depășesc scopurile acestei cărți, exemplificarea se va face pe procesorul I8086, a cărui compatibilitate este menținută și la procesoarele moderne. Așadar regiștrii lui I8086 sunt prezentați în figura 5.3. Există 3 bancuri principale de regiștri la care se adaugă 2 regiștri speciali. Primul banc este bancul regiștrilor principali (de
Arhitectura Calculatoarelor by Cristian Zet () [Corola-publishinghouse/Science/329_a_567]
-
de instrucțiuni trebuie cunoscuți regiștrii. Pentru a avea o legătură cu calculatoarele tip PC, dar pentru a nu intra în detalii care depășesc scopurile acestei cărți, exemplificarea se va face pe procesorul I8086, a cărui compatibilitate este menținută și la procesoarele moderne. Așadar regiștrii lui I8086 sunt prezentați în figura 5.3. Există 3 bancuri principale de regiștri la care se adaugă 2 regiștri speciali. Primul banc este bancul regiștrilor principali (de uz general) ce conține 4 regiștri de 16 biți
Arhitectura Calculatoarelor by Cristian Zet () [Corola-publishinghouse/Science/329_a_567]
-
Parity flag (PF), Auxiliary carry flag (AF), Zero flag (ZF), Sign flag (SF), Trap flag (TF), Interrupt flag (IF), Direction flag (DF), and Overflow flag (OF) a) instrucțiuni de transfer Acest tip de instrucțiune realizează transferul informației între regiștri interni procesorului, între regiștri și memorie sau între regiștri și porturile de intrare-ieșire I/ O. Deoarece sunt implicate 2 locații aceste instrucțiuni conțin adresele sursei și destinației. Datorită faptului că operandul nu este afectat, acestea nu afectează fanioanele de condiție din registrul
Arhitectura Calculatoarelor by Cristian Zet () [Corola-publishinghouse/Science/329_a_567]
-
aduse din stivă în aceeași ordine în care au fost depuse. PUSH AX - transferă conținutul registrului AX în stivă; POP DX - transferă conținutul din vârful stivei în registrul DX. Mai există instrucțiunile PUSHA și POPA care transferă conținuturile tuturor regiștrilor procesorului (AX, CX, DX, BX, SP, BP, SI, DI) în/din stivă și PUSHF respectiv POPF care salvează/reface registrul de stare în/din . -pentru transfer I/O Genul acesta de instrucțiuni se folosește pentru trannsferul datelor între regiștrii procesorului și
Arhitectura Calculatoarelor by Cristian Zet () [Corola-publishinghouse/Science/329_a_567]
-
regiștrilor procesorului (AX, CX, DX, BX, SP, BP, SI, DI) în/din stivă și PUSHF respectiv POPF care salvează/reface registrul de stare în/din . -pentru transfer I/O Genul acesta de instrucțiuni se folosește pentru trannsferul datelor între regiștrii procesorului și periferice (zona de adrese I/ O). Există 2 tipuri de instrucțiuni IN reg, adr sau OUT adr, reg. IN AL, adrport - în registrul AL se aduce valoarea de la adresa adrport (locație pe 8 biți) IN AX, adrport - în registrul
Arhitectura Calculatoarelor by Cristian Zet () [Corola-publishinghouse/Science/329_a_567]
-
portul cu adresa adrport OUT DX, AL -valoarea din registrul AL se trimite la portul cu adresa aflată în registrul DX b) instrucțiuni aritmetice Acestea realizează operații aritmetice asupra operanzilor din regiștrii interni sau din memorie. Acestea sunt diferite de la procesor la procesor. Execuția acestor instrucțiuni folosește UAL (unitatea aritmetico-logică). Printre operațiile aritmetice comune sunt adunarea, scăderea, incrementarea, decrementarea, comparare, ajustare zecimală. Execuția acestor instrucțiuni modifică valoarea fanioanelor de condiție din registrul de stare. Adunarea este operația elementară în aritmetica binară
Arhitectura Calculatoarelor by Cristian Zet () [Corola-publishinghouse/Science/329_a_567]
-
adresa adrport OUT DX, AL -valoarea din registrul AL se trimite la portul cu adresa aflată în registrul DX b) instrucțiuni aritmetice Acestea realizează operații aritmetice asupra operanzilor din regiștrii interni sau din memorie. Acestea sunt diferite de la procesor la procesor. Execuția acestor instrucțiuni folosește UAL (unitatea aritmetico-logică). Printre operațiile aritmetice comune sunt adunarea, scăderea, incrementarea, decrementarea, comparare, ajustare zecimală. Execuția acestor instrucțiuni modifică valoarea fanioanelor de condiție din registrul de stare. Adunarea este operația elementară în aritmetica binară. Funcție de complexitate
Arhitectura Calculatoarelor by Cristian Zet () [Corola-publishinghouse/Science/329_a_567]
-
tensiunea citită depășește o anumită tensiune de prag. Un automat finit extern circuitului integrat generează aceste cicluri de refresh o dată la câteva milisecunde.Reîmprospătarea are loc prin efectuarea unei operații de citire, pe durata căreia, de obicei, este oprit accesul procesorului la circuitul de memorie respectiv. Această inaccesibilitate pe perioada de reîmprospătare ocupă 1...5% din timpul total de lucru al memoriei dinamice. Memoria dinamică prezintă două mari avantaje față de cea statică: consumul de putere mult mai redus (când nu este
Arhitectura Calculatoarelor by Cristian Zet () [Corola-publishinghouse/Science/329_a_567]
-
2 (256Mbiți, 512Mbiți, 1Gbit). Mai mult memoriile moderne pot fi configurate cu magistrală de date de mărime diferită. Pentru acest lucru numărul de linii ale matricii de memorie se menține constant, modificându-se numărul de coloane. Viteza de lucru a procesorului este superioară vitezei de lucru a memoriei RAM. După inițierea unui ciclu de acces la memorie, procesorul ar trebui să aștepte răspunsul acesteia. Există memorii rapide, dar costul lor este ridicat. Din acest motiv se apelează la un compromis, memoria
Arhitectura Calculatoarelor by Cristian Zet () [Corola-publishinghouse/Science/329_a_567]
-
diferită. Pentru acest lucru numărul de linii ale matricii de memorie se menține constant, modificându-se numărul de coloane. Viteza de lucru a procesorului este superioară vitezei de lucru a memoriei RAM. După inițierea unui ciclu de acces la memorie, procesorul ar trebui să aștepte răspunsul acesteia. Există memorii rapide, dar costul lor este ridicat. Din acest motiv se apelează la un compromis, memoria fiind structurată pe nivele: o memorie de dimensiuni mai reduse dar rapidă (direct accesibilă procesorului) și o
Arhitectura Calculatoarelor by Cristian Zet () [Corola-publishinghouse/Science/329_a_567]
-
la memorie, procesorul ar trebui să aștepte răspunsul acesteia. Există memorii rapide, dar costul lor este ridicat. Din acest motiv se apelează la un compromis, memoria fiind structurată pe nivele: o memorie de dimensiuni mai reduse dar rapidă (direct accesibilă procesorului) și o memorie de capacitate mai mare dar mai lentă. Memoria RAM are capacitate mai mare, dar este mai lentă, în timp ce memoria cache este de dimensiune mult mai mică, dar este foarte rapidă. Ea conține copii ale unor informații (bucăți
Arhitectura Calculatoarelor by Cristian Zet () [Corola-publishinghouse/Science/329_a_567]
-
capacitate mai mare dar mai lentă. Memoria RAM are capacitate mai mare, dar este mai lentă, în timp ce memoria cache este de dimensiune mult mai mică, dar este foarte rapidă. Ea conține copii ale unor informații (bucăți) din memoria RAM. Atunci când procesorul încearcă să citească un cuvânt din memorie se testează mai întâi dacă se află în memoria cache. Dacă se găsește în cache acesta este trimis procesorului, în caz contrar încărcându-se un bloc din memoria RAM principală în memoria cache
Arhitectura Calculatoarelor by Cristian Zet () [Corola-publishinghouse/Science/329_a_567]
-
este foarte rapidă. Ea conține copii ale unor informații (bucăți) din memoria RAM. Atunci când procesorul încearcă să citească un cuvânt din memorie se testează mai întâi dacă se află în memoria cache. Dacă se găsește în cache acesta este trimis procesorului, în caz contrar încărcându-se un bloc din memoria RAM principală în memoria cache, iar apoi cuvântul căutat este furnzat procesorului din cache din blocul prospăt adus. Rularea unui program nu accesează locațiile de memorie în mod aleator. Dacă la
Arhitectura Calculatoarelor by Cristian Zet () [Corola-publishinghouse/Science/329_a_567]
-
memorie se testează mai întâi dacă se află în memoria cache. Dacă se găsește în cache acesta este trimis procesorului, în caz contrar încărcându-se un bloc din memoria RAM principală în memoria cache, iar apoi cuvântul căutat este furnzat procesorului din cache din blocul prospăt adus. Rularea unui program nu accesează locațiile de memorie în mod aleator. Dacă la un moment dat a fost accesată o locație (o adresă), este foarte probabil ca în momentele imediat următoare să fie accesată
Arhitectura Calculatoarelor by Cristian Zet () [Corola-publishinghouse/Science/329_a_567]
-
magistrale se face prin intermediul circuitelor de interfață. Acestea au rolul de asigura compatibilitatea dintre periferic și magistrale: conversia semnalelor, sincronizarea datorită ratelor diferite de comunicație, formatul diferit al datelor și controlul oricărui dispozitiv fără a le perturba pe celelalte. Deoarece procesorul știe să adreseze locații de memorie, fiecare astfel de circuit trebuie să conțină locații de memorie. Acestea sunt materializate prin regiștri adresabili de către procesor. Un dispozitiv I/ O este asimilat prin numele de port și, în funcție de complexitate, are un număr
Arhitectura Calculatoarelor by Cristian Zet () [Corola-publishinghouse/Science/329_a_567]
-
comunicație, formatul diferit al datelor și controlul oricărui dispozitiv fără a le perturba pe celelalte. Deoarece procesorul știe să adreseze locații de memorie, fiecare astfel de circuit trebuie să conțină locații de memorie. Acestea sunt materializate prin regiștri adresabili de către procesor. Un dispozitiv I/ O este asimilat prin numele de port și, în funcție de complexitate, are un număr mai mic sau mai mare de astfel de regiștri (unii pot fi scriși - încărcați cu date, sau alții pot fi citiți - prelua date de la
Arhitectura Calculatoarelor by Cristian Zet () [Corola-publishinghouse/Science/329_a_567]
-
pot fi scriși - încărcați cu date, sau alții pot fi citiți - prelua date de la ei). Menirea unor regiștri este de a permite configurarea și citirea stării dispozitivului I/ O, iar a altora este de a schimba date prin intermediul lor cu procesorul. Regiștrii pot fi adresați fie într-un spațiu special dedicat, numit spațiul dispozitivelor I/O (map-are în zona de adrese I/ O) sau pot fi adresați în spațiul dedicat memoriei (map-are în zona de memorie). În acest al doilea caz
Arhitectura Calculatoarelor by Cristian Zet () [Corola-publishinghouse/Science/329_a_567]
-
referim la interfațarea hardware (hardware interfacing). Aceasta nu este însă suficientă pentru a putea face cele două sisteme (cel central și cel periferic) să „se înțeleagă”. Este nevoie de asemenea de către un set de programe (rutine, funcții) care să „învețe” procesorul să lucreze și să comunice cu perifericul respectiv. Acestea sunt apelate cu numele de „driver” (printer driver, video camera driver, ethrnet card driver). Procesor Circuit de interfață Circuit de interfață Circuit de interfață Periferic (Tastatură) Periferic (Disc) Periferic (Monitor) Magistrală
Arhitectura Calculatoarelor by Cristian Zet () [Corola-publishinghouse/Science/329_a_567]
-
se înțeleagă”. Este nevoie de asemenea de către un set de programe (rutine, funcții) care să „învețe” procesorul să lucreze și să comunice cu perifericul respectiv. Acestea sunt apelate cu numele de „driver” (printer driver, video camera driver, ethrnet card driver). Procesor Circuit de interfață Circuit de interfață Circuit de interfață Periferic (Tastatură) Periferic (Disc) Periferic (Monitor) Magistrală de date Magistrală de adrese Magistrală de comandă Memorie Întreruperi Fig. 7.1. Structura unui sistem de calcul cu dispozitive periferice Existența circuitelor de
Arhitectura Calculatoarelor by Cristian Zet () [Corola-publishinghouse/Science/329_a_567]
-
interfață sunt conectate la magistralele sistemului (date, adrese și comandă și control) pe de o parte și la dispozitivele periferice, pe de altă parte. Funcție de perifericul căruia îi este destinat, circuitul de interfață realizează o serie de funcții: comunicația cu procesorul (date, comenzi, setări și stare), comunicația cu perifericul (date, comenzi, setări și stare), sincronizare, asigurarea unui tampon de date și detecția erorilor. Deoarece într-un sistem pot exista simultan mai multe periferice, pe lângă memoria acestuia, magistralele sunt folosite pentru dialogul
Arhitectura Calculatoarelor by Cristian Zet () [Corola-publishinghouse/Science/329_a_567]