organizacja procesora 8086

Podobne dokumenty
Rejestry procesora. Nazwa ilość bitów. AX 16 (accumulator) rejestr akumulatora. BX 16 (base) rejestr bazowy. CX 16 (count) rejestr licznika

Programowanie niskopoziomowe

Architektura komputerów

Sprzęt i architektura komputerów

Organizacja typowego mikroprocesora

Sprzęt i architektura komputerów

Architektura komputerów. Komputer Procesor Mikroprocesor koncepcja Johna von Neumanna

UTK Można stwierdzić, że wszystkie działania i operacje zachodzące w systemie są sterowane bądź inicjowane przez mikroprocesor.

CPU. Architektura FLAGS Bit: dr Paweł Kowalczyk; DPTNS, KFCS UŁ. SI 16 bit. 16 bit. 16 bit.

Procesory rodziny x86. Dariusz Chaberski

Podstawy techniki cyfrowej Mikroprocesory. Mgr inż. Bogdan Pietrzak ZSR CKP Świdwin

Architektura komputerów

J. Duntemann Zrozumieć Assembler Leo J. Scanlon Assembler 8086/8088/80286 S. Kruk Programowanie w Języku Assembler

MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW

Architektura komputerów. Asembler procesorów rodziny x86

Zadanie Zaobserwuj zachowanie procesora i stosu podczas wykonywania następujących programów

end start ; ustawienie punktu startu programu i koniec instrukcji w assemblerze.

Procesor Intel 8086 model programisty. Arkadiusz Chrobot

Architektura Systemów Komputerowych, Wydział Informatyki, ZUT

Struktura i działanie jednostki centralnej

Procesor Intel 8086 model programisty. Arkadiusz Chrobot

Logiczny model komputera i działanie procesora. Część 1.

Ćwiczenie nr 3. Wyświetlanie i wczytywanie danych

Układ sterowania, magistrale i organizacja pamięci. Dariusz Chaberski

Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2

BUDOWA I DZIAŁANIE MIKROPROCESORA

Mikroprocesor Intel 8088 (8086)

Architektura Systemów Komputerowych. Jednostka ALU Przestrzeń adresowa Tryby adresowania

Programowanie Niskopoziomowe

Lista instrukcji mikroprocesora Programowanie w assemblerze

Programowanie w asemblerze Wprowadzenie

Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy

Technika mikroprocesorowa I Wykład 2

Procesor ma architekturę rejestrową L/S. Wskaż rozkazy spoza listy tego procesora. bgt Rx, Ry, offset nand Rx, Ry, A add Rx, #1, Rz store Rx, [Rz]

Magistrala systemowa (System Bus)

Wstęp do informatyki. System komputerowy. Magistrala systemowa. Architektura komputera. Cezary Bolek

UTK ARCHITEKTURA PROCESORÓW 80386/ Budowa procesora Struktura wewnętrzna logiczna procesora 80386

Architektura Systemów Komputerowych

Mikroinformatyka. Wielozadaniowość

Budowa i zasada działania komputera. dr Artur Bartoszewski

2 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.02 Rok akad. 2011/ / 24

Architektura komputerów

Architektura Systemów Komputerowych

Architektura typu Single-Cycle

Podstawy Techniki Mikroprocesorowej

architektura komputerów w 1 1

Architektura komputera. Dane i rozkazy przechowywane są w tej samej pamięci umożliwiającej zapis i odczyt

Rozszerzalne kody operacji (przykład)

Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne

Kod znak-moduł. Wartość liczby wynosi. Reprezentacja liczb w kodzie ZM w 8-bitowym formacie:

UTK jednostki wykonawczej EU (Ex ecution Unit), jednostki steruj c ej CU,

LEKCJA TEMAT: Współczesne procesory.

SYSTEM MIKROPROCESOROWY

Jak wiemy, wszystkich danych nie zmieścimy w pamięci. A nawet jeśli zmieścimy, to pozostaną tam tylko do najbliższego wyłączenia zasilania.

Pośredniczy we współpracy pomiędzy procesorem a urządzeniem we/wy. W szczególności do jego zadań należy:

CPU ROM, RAM. Rejestry procesora. We/Wy. Cezary Bolek Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki

Wprowadzenie do architektury komputerów. Model programowy procesora i jego struktura Procesory CISC i RISC

Układ wykonawczy, instrukcje i adresowanie. Dariusz Chaberski

Arytmetyka stałopozycyjna

Architektura systemów komputerowych. Poziom układów logicznych. Układy mnoŝące i dzielące

CYKL ROZKAZOWY = 1 lub 2(4) cykle maszynowe

Technika cyfrowa Układy arytmetyczne

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

Programowanie Niskopoziomowe

Programowanie komputera

Przykładowe pytania DSP 1

Programowanie Niskopoziomowe

Wstęp do informatyki. Architektura co to jest? Architektura Model komputera. Od układów logicznych do CPU. Automat skończony. Maszyny Turinga (1936)

Architektura mikroprocesorów z rdzeniem ColdFire

Plan wykładu. Architektura systemów komputerowych. MnoŜenie realizacja sprzętowa (wersja 1) Układy mnoŝące liczby całkowite.

Projekt prostego procesora

Programowanie Niskopoziomowe

Kod U2 Opracował: Andrzej Nowak

PODSTAWOWE ELEMENTY ASEMBLERA TRYBY ADRESOWANIA. OPERATORY ASEMBLERA

, " _/'--- " ~ n\l f.4e ' v. ,,v P-J.. ~ v v lu J. ... j -:;.",II. ,""", ",,> I->~" re. dr. f It41I r> ~ '<Q., M-c 'le...,,e. b,n '" u /.

Architektura systemów komputerowych Laboratorium 14 Symulator SMS32 Implementacja algorytmów

Naturalny kod binarny (NKB)

1. Operacje logiczne A B A OR B

Układy arytmetyczne. Joanna Ledzińska III rok EiT AGH 2011

Podstawy Informatyki

PROGRAMOWANIE NISKOPOZIOMOWE. Systemy liczbowe. Pamięć PN.01. c Dr inż. Ignacy Pardyka. Rok akad. 2011/2012

Lista rozkazów mikrokontrolera 8051 część pierwsza: instrukcje przesyłania danych, arytmetyczne i logiczne

Architektura komputerów wer. 7

drklaus 1 Model funkcjonalny komputera struktura, funkcje, komputer dr inż. Rafał KLAUS STRUKTURA I DZIAŁANIE KOMPUTERA

Mikroprocesor Operacje wejścia / wyjścia

MIKROPROCESORY architektura i programowanie

Pracownia Komputerowa wykład IV

Wprowadzenie do informatyki - ć wiczenia

Jerzy Nawrocki, Wprowadzenie do informatyki

TMiK Podstawy Techniki Mikroprocesorowej. Lidia Łukasiak

Architektura systemów komputerowych

PROGRAMOWANIE NISKOPOZIOMOWE

ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH

1. Asembler i wstawki asemblerowe w C

Architektura komputerów

12. Wprowadzenie Sygnały techniki cyfrowej Systemy liczbowe. Matematyka: Elektronika:

Programowanie na poziomie sprzętu. Tryb chroniony cz. 1

Lista rozkazów mikrokontrolera 8051

Przetwarzanie potokowe pipelining

Pracownia Komputerowa wyk ad IV

Transkrypt:

Systemy komputerowe Procesor 8086 - tendencji w organizacji procesora organizacja procesora 8086 " # $ " % strali " & ' ' ' ( )" % *"towego + ", -" danych. Magistrala adresowa jest 20.bitowa, co pozwala na $ $ -&." Jednostka wykonawcza: / ' ) ' ) " '" 0 ' -logicznej ALU (aritmetic logic unit1 ów (flags), rejestrów arytmetycznych ogólnego przeznaczenia oraz ) ' ) 2) )1" Jednostka arytmetyczno-logiczna. / $ która wykonuje operacje arytmetyczne, takie jak dodawanie i odejmowa ' ) 2341 256,1 * 27341" Rejestry. 4 $ 2 )1 $ 2 $ ' $1" / ) ' ) 2'1 ) +" # $ ' ) ' $ " 4 ' " 0 ' ' ) " 8 $ niewielka liczba bitów jest potrzebna dla wskazania rejestru. 9' estrów polega na przechowywaniu adresów lub ) ) " 4 + ' ' podprogramu, jako liczniki rozkazów, akumulatory pomocnicze lub " 1

6 ) 8086: JEDNOSTKA WYKONAWCZA AH AL CH CL PC DH DL CS 0000 BH BL DS 0000 SP SS 0000 BP ES 0000 SI DI Bufor magis trali ALU F 1 2 Sterowanie 3 4 Kolejka rozkazów 5 IR 6 Rysunek 1. Budowa procesora 8086. cykl pracy procesora 8086 0 ) ' pewn ) ) ' ) + " 0 $ $' faz cyklu: pobranie (fetch) - ' ) ' + rejestru rozkazów IR procesora; dekodowanie (decode) w tej fazie rozkaz jest dekodowany i $ ' ' operacji; odczyt (read) - argument jest odczytywany i wprowadzany do procesora; wykonanie (execute) w tej fazie operacja zdefiniowana rozkazem jest wykonywana; zapis (write) - eszczony w " 2

, ' ' ') + h do cykli kolejnych '" $ " 0 $ '" /$ ' " 3 '$ + ' " / + ( wykonawczego. F D R E F D E F F D E W F D R E F - pobranie (fetch) pracuje, D - dekodowanie (decode), R - odczyt (read), E - wykonanie (execute), W - zapis (write). - oczekiwanie Rysunek 2 4 kolejnych rozkazów w procesorze 8086. # ' ' " + ' ) " : ' $ + " 0 + ' " 0 a $ " ; obliczonego w trakcie wykonywania instrukcji skoku. Podstawowy cykl roboczy jednostki wykonawczej procesora rozpoczyna edy rozkaz po opuszczeniu kolejki rozkazów trafia do rejestru rozkazów <4 " % 21 $ interpretacji kodu instrukcji. 3

rejestry procesora 8086 4 wane jako rejestry uniwersalne do ) ) ' ) 2" ) = )1 $ + ) AH AL akumulator AX BH BL rejestr bazowy BX CH CL >7 DH DL rejestr danych DX F rejestr znaczników SP = BP = SI =' DI rejestr indeksowy przeznaczenia CS rejestr segmentowy programu DS rejestr segmentowy danych SS rejestr segmentowy stosu ES rejestr segmentowy dodatkowy PC licznik rozkazów Rejestry podstawowe AX (accumulator) - akumulator BX (basis register) - rejestr bazowy CX (count register) - rejestr zlic DX (data register) - rejestr danych. 8 -"" # ' ' " ) $ 2low1 2high). Odpowiednie y nazwy: AL, AH, BL, BH, CL, CH, DL, DH. Taka organizacja rejestrów pozwala na wykonywanie w prosty sposób zarówno operacji 8.bitowych, jak i 16.bitowych., ' ' + AX (lub AL). Jest to rejestr, w którym umieszczony jeden z argumentów 4

" 4 2 ' 1 zwarty kod, a czas ich wykonania jest krótszy. Rejestr bazowy BX ) " / $ ' odniesienie przy obliczaniu adresów podczas wykonywania programu komputera. CX - ako licznik ) ()) 2 ) ) '1" Rejestr DX 2 571 $ ) " Kiedy $ -"?*",7 2 $ 1 57 2 1" ) ) umieszczana jest 32.bitowa dzielna. deksowe & = " 0 -" " #) ) $ ' ) )" / ) j " SP (stack pointer) - = BP (base pointer) - = SI (source index register) - =' DI (destination index register) - rejestr indeksowy przeznaczenia SP = ) " Rejestr SP jest modyfikowany przy standardowych operacjach ) zapa " Rejestr BP.7 ' 2 1 " + @5 2++A address). Adresem efektywnym nazywamy, wyznaczany podczas wykonania niektórych instrukcji, adres argumentu odczytywanego z ' ' " 5 + + $ ' " 0=.# ji niestandardowych np. przy pobieraniu parametrów przekazywanych przez stos. Oba rejestry indeksowe ) + ) $ e automatycznie 2 1" 0 ' argumentu podczas wykonywania tej samej instrukcji programu podlega automodyfikacji. 5

Rejestry segmentowe 4' operacyjn" # $ - &. 2* ' 1 B. 2- ' 1" #' + adresów bazowych przechowywanych w czterech wyspecjalizowanych rejestrach segmentowych: CS, DS, ES i SS. Adres 16.bitowy Segment 0000 dodawanie 20.bitowy adres fizyczny Rysunek 3. Sumator do obliczania 20.bitowego adresu fizycznego. 0 + ') rejestrów: licznika rozkazów (PC) i rejestru segmentowego programu 2>81" 0 *" + FA FA = PC + 16 CS /$ $ $ + cznego wynosi: FA = EA + 16 DS : ' 2 $ - '1 CS (code segment register) - rejestr segmentowy programu ' bierane kolejne rozkazy do wykonania; + instrukcji, generowane przez 16.bitowy licznik rozkazów PC. DS (data segment register) - rejestr segmentowy danych ' ywane w programie; w fazie wykonania, kiedy zachodzi potrzeba odczytania z --bitowy adres efektywny - - jest trybem adresowania, je operacyjnej, to zgodnie z zapisanym w instrukcji trybem 6

adresowania, zostaje obliczony adres efektywny, który " ES (extra segment register) - rejestr segmentowy dodatkowy )C SS (stack segment register) - rejestr segmentowy stosu ' $ = 8#C $ realizowany jest -" = stosu SP. 0 20.bitowego adresu fizycznego: Typ operacji Segment $ < Adres 16.bitowy Pobranie instrukcji CS PC Operacja na stosie SS SP Adres docelowy BP jako rejestr bazowy BX jako rejestr bazowy SI lub DI jako indeks Inna zmienna w DS CS,ES,SS SI ES DI SS CS,ES,DS dowolny EA DS CS,ES,SS dowolny EA DS CS,ES,SS dowolny EA DS CS,ES,SS dowolny EA Licznik rozkazów Rejestr PC (program counter1 >8 adresuje kolejne rozkazy przeznaczone do wykonania. PC wskazuje u. Jako rejestr -" $ * 16-1. Dodanie jedynki ' programu. Znaczniki ; 2+1 ' który $ " / ) stan. 7

# ' ' ) ', na pozycjach wyspecyfi ) : --------------------- nr bitu 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 --------------------- X X X X V D I T S Z X AC X P X C --------------------- X - bit nie wykorzystany Znaczniki arytmetyczne: + ) )) wyniku po wykonaniu operacji arytmetyc = " < ' ) ) '", $ ) ' ) " C (carry) - przeniesienie P (parity) - $ AC (auxiliary carry) - przeniesienie pomocnicze Z (zero) - zero S (sign) - znak V (overflow) - 21 Znaczniki kontrolne ustawiane lub zerowane programowo celem wymuszania odpowiedniego sposobu pracy procesora. T (trap) - 21 I (interrupt enable) - zezwolenie na przerwanie D (direction) - znacznik kierunku automodyfikacji adresu operandu (inkrementacja lub dekrementacja rejestru indeksowego). Znacznik pracy krokowej T ustawiony w stan 1 powoduje wprowadzenie 2 1 2 1 $ ) 2" programów uruchomieniowych). Wyzerowanie znacznika T powoduje powrót procesora do normalnej pracy. Znacznik zezwolenia na przerwanie I ustawiony w stan 1 powoduje ( " programu ) " 0 ignorowane. Znacznik kierunku D ( ()) 2) '1" / $ - zanie ()' ) ' 2$ 1 ' - przy ) )" 8

jednostka arytmetyczno-logiczna 0 $ wykon " 5 2 '1 2-"1" D' ' ) 5E% ' $ nej instrukcji programu. 0 + $ - ) 2 ) ) )1 ' ' h. rejestry rejestry ALU znaczniki sterowanie Rysunek 4 -logicznej. $' F ' ) 5E% Znacznik przeniesienia C $ - ' 2" 1 2" odejmowaniu). W przeciwnym przypadku znacznik jest zerowany. pr $ - ' ' $ - bajcie wyniku jest parzysta. Znacznik jest zerowany wówczas, gdy liczba ta jest nieparzysta. Znacznik przeniesienia pomocniczego AC $ - '? B B?" 0 = " 0= 5> ) ) kodzie BCD. Znacznik zera Z $ - ' jest równy zero, w przeciwnym przypadku jest zerowany. 9

Znacznik znaku S $ - ' ' - przypadku jest zerowany. Stan znacznika S jest zatem zgodny z bitem na pozycji znaku w kodzie U2. Znacznik nadmiaru V $ - ' 2 dodawania) > 2" >G1 odwrotnie - z bitu znaku (tzn. C=1) ale " 0 ) ') przypadkach (oba przeniesienia równe zero i oba przeniesienia równe jeden) znacznik ten jest zerowany. Stan znacznika V jest ) ) zapisanych w kodzie U2. # -logicznej jest sumator. Dodawanie naturalnych liczb binarnych (podobnie jak dodawanie )1 ' ' ) ) 2 1 $ " 3 ') ' przeniesienia a jej rezultatem jest bit wyniku i bit przeniesienia "... Znacznik przeniesienia Rysunek 5. Sumator wielobitowy Przedstawiony na rysunku sumator wielobitowy zbudowany jest z ) ' ' )" # + jednopozycyjnego: 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 1 1 0 0 1 0 0 1 1 0 1 0 1 0 1 0 1 1 0 1 1 1 1 1 1 10