WYKŁAD 2. Mikrokomputer powstaje przez przyłączenie do mikroprocesora pamięci oraz jednostek sterujących urządzeniami wejściawyjścia za pomocą
|
|
- Magda Rogowska
- 8 lat temu
- Przeglądów:
Transkrypt
1 WYKŁAD 2. Mikrokomputer powstaje przez przyłączenie do mikroprocesora pamięci oraz jednostek sterujących urządzeniami wejściawyjścia za pomocą magistrali systemowej (sterującej). Magistrala systemowa podzielona jest na trzy magistrale: adresową, danych i sterującą. Magistrala adresowa (w mikroprocesorach jednoukładowych) połączona z licznikiem rozkazów i licznikiem danych, przeznaczona do przekazywania adresów od mikroprocesora do pamięci i urządzeń peryferyjnych. Ponieważ jedynym źródłem adresów jest mikroprocesor to magistrala jest zwykle jednokierunkowa. Potrzeba sterowania dwukierunkowych magistrali adresowych występuje w przypadku rozbudowanych typów mikroprocesorów zaopatrzonych w cache. Magistrala danych (połączona z akumulatorem, rejestrami uniwersalnymi i rejestrem rozkazów). Dla umożliwienia przekazywania danych w obydwu kierunkach, magistrala ta z reguły powinna być dwukierunkowa. Jeśli adres znajdujący się na magistrali adresowej pochodzi z licznika rozkazów, to po odebraniu wpisywany jest on do rejestru rozkazów. Magistrala sterowania (połączona jest z układem sterowania mikroprocesora) przeznaczona jest do przesyłania sygnałów sterujących pamięcią (zapis-odczyt) i urządzeniami peryferyjnymi (wejście-wyjście) oraz sygnałów specjalnych wykorzystywanych w operacjach obsługi przerwań i bezpośredniego dostępu do pamięci. Zawiera też sygnały oddziałujące na stan mikroprocesora. Część sygnałów magistrali to sygnały wejściowe mikroprocesora, a część to sygnały wyjściowe. Schemat blokowy mikrokomputera. RYS. W przypadku połączenia magistrali adresowych i danych konieczne jest sterowanie zewnętrznych układów rozdzielających. Schemat funkcjonalny mikrokomputera. RYS. Do rozdzielania magistral wykorzystywane są dwa sygnały sterujące: ALE adres latch enable DEN data enable Sygnał ALE ustala moment czasu, w którym na wspólnej magistrali znajduje się adres i wykorzystywany jest do załadowania go do pomocniczego rejestru adresowego. Sygnały DEN ustalają moment czasu, w którym na wspólnej magistrali znajdują się dane; wykorzystywane są do otwarcia dwukierunkowych wzmacniaczy magistrali danych. Adres wysyłany jest zwykle na wspólną magistralę w pierwszej części cyklu wymiany informacji. Sterowanie magistralowej struktury mikrokomputera pozwala na uzyskanie prostych i przejrzystych układów logicznych oraz na dołączenie praktycznie dowolnej liczby urządzeń peryferyjnych. Klasyfikacja mikrokomputerów Są one klasyfikowane wg trzech następujących kryteriów: 1.Architektura wewnętrzna. 2.Długość słowa maszynowego. 3.Technologia. Mikroprocesorem nazywamy układ odpowiadający funkcjonalnie jednostce centralnej komputera (Central Proces Unit) zgrupowanej w jednym układzie scalonym (lub niewielkiej liczbie w przypadku procesorów systemowych). Mikroprocesor (zgodnie z wolą jednostki centralnej w systemie komputerowym) spełnia funkcje: pobranie rozkazów z pamięci, pobranie danych z pamięci lub urządzenia wejściowego, wykonanie operacji arytmetyczno-logicznych lub sterujących określonych przez rozkaz, zapis wyniku w pamięci lub przesłanie go do urządzenia wyjściowego. Aby wykonanie tych funkcji było możliwe każdy mikroprocesor musi zawierać co najmniej następujące bloki funkcjonalne: jednostkę arytmetyczno-logiczną ALU, akumulator ACC, licznik rozkazów (programar counter PC), licznik danych (data counter DC), licznik rozkazów (instructor register IR), licznik sterowania (control unit CU). Wewnętrzna struktura większości mikroprocesorów charakteryzuje się następującymi cechami: wymiana informacji między blokami funkcjonalnymi mikroprocesora odbywa się za pomocą magistrali wewnętrznej, sterowanie wymianą informacji między blokami funkcjonalnymi odbywa się metodą mikroprogramową (układ sterowania zawiera z reguły pamięć mikroprogramów realizujących rozkazy programu), mikroprocesor podobnie jak każda jednostka centralna pracuje w sposób sekwencyjny. Tryb MAX i MIN. RYS. Rozkład wyprowadzeń procesora Znaczenie poszczególnych wyprowadzeń: ADQ-AD15 16 bitowa magistrala danych procesora oraz jednocześnie 16 mniej znaczących bitów 20 bitowej (ADQ-AD19) magistrali adresowej. W obsłudze magistrali wykorzystany jest proces zwany multipleksowaniem: końcówki AD15-ADQ są wykorzystane do wystawienia. Rozkład wyprowadzeń procesora RYS. Mikroprocesor W 1978 r opracowano w firmie Intel 16-bitowy mikroprocesor Składa się on ze współpracujących ze sobą dwóch zespołów: zespołu wykonawczego jednostki wykonawczej (execution unit EU), zespołu łącza z magistralą systemową jednostką interfejsu (Bus Interface Unit BIU).
2 Zespół wykonawczy EU składa się z: bloku arytmetyczno-logicznego ALU, rejestru znaczników (flag register FR), bloku rejestrów ogólnego przeznaczenia (general register GR), rejestru indeksowego (indexing register IR), bloku sterowania (control system CS). Blok ALU dołączony jest do magistrali wewnętrznej mikroprocesora. Z magistrali tej pobiera się argumenty operacji, a także wysyłany jest na nią wynik operacji. Na magistralę wysyłana też może być zawartość rejestru znaczników. Rejestr ten (9 bitowy, którego kolejne bity są ustawiane w zależności od zaistnienia jakiegoś zjawiska) umożliwia kontrolę pracy procesora. Znaczenie bitów jest następujące: S znacznik znaku (sign flag); 0 -liczba dodatnia, 1 -ujemna. Z znacznik zera (zero flag); 0 -wynik operacji różny od 0, 1 -równy zero. P znacznik parzystości (parity flag); 0 -liczba jedynek w wyniku nieparzysta, 1 -parzysta. A przeniesienie pomocnicze (auxiliary carry) jest ustawiane, gdy powstaje przeniesienie między tetradami tzn. Czwórkami bitów mniej znaczącego bajtu. C przeniesienie (carry) jest ustawiane, gdy wynik operacji arytmetycznej powoduje powstawanie przeniesienia z najbardziej znaczącego bajtu. O nadmiar, przepełnienie (overflow) jest ustawiany, gdy suma modulo2 przeniesienia z przedostatniej i najbardziej znaczącej pozycji jest równa 1(przekroczenie zakresu w kodzie U2). J znacznik zezwolenia na przerwanie (interrupt) ustawiany w stan 1 świadczy o zezwoleniu na przyjmowanie przerwań z INT. D znacznik kierunku (direction) ustawiany rozkazem STD, a zerowany CLD. Wskazuje czy zawartości rejestrów SI i DI mają być zwiększone o 1, czy zmniejszone podczas wykonywania operacji na ciągach. T znacznik pułapki(trap) umożliwiający pracę krokową. Wskaźnik może być ustawiany w słowie stanu programu (program status word PSW) przez zapis jedynki na pozycję odpowiedniego bitu. Można to zrobić rozkazem push PSW, wpisaniem 1 i rozkazem pop PSW. Procesor, a ściślej ALU pracuje jedynie na danych zgromadzonych w rejestrach. Aby procesor wykonywał jakieś działanie, trzeba najpierw załadować rejestry. Do grupy rejestrów ogólnego przeznaczenia należą cztery rejestry 16-bitowe: dwa rejestry wskaźnikowe: SP wskaźnik stosu (stack pointer). BP wskaźnik bazowy (base register), adres początku rejestru. Oba rejestry używane są do adresowania pamięci. dwa rejestry indeksowe: DI rejestr adresu przeznaczenia (destination indeks). SI rejestr adresu argumentu (source indeks). Rejestry te służą do adresowania danych w zasięgu segmentu (64 kb). rejestr indeksowy IP stosowany przy adresowaniu indeksowym. Zespół łącza z magistralą systemową BIU zawiera: 1. Blok rejestrów segmentowych (zespół rejestrów relokacji CS, DS, SS, ES). 2. Licznik adresów PC. 3. Sumator do obliczenia adresu fizycznego. 4. Układ kolejki i rozkazów. 5. Blok sterowania. Architektura mikroprocesowa 8086/88. RYS. Wyodrębnienie zespołu BIU spowodowało przyspieszenie pracy, co jest efektem nałożenia się w czasie wykonywania i pobierania rozkazów. Jednocześnie pobieranie rozkazów z pamięci operacyjnej i ich wykorzystanie jest możliwe dzięki zastosowaniu kolejki rozkazów. Procesor 8086 zawiera układ kolejki o długości 6 bajtów. BIU realizuje mechanizm segmentacji w celu oderwania logicznych obszarów pamięci od ich fizycznych adresów oraz w celu łatwej relokacji tych obiektów. Procesor 8086 rozróżnia cztery logiczne obszary pamięci. Każdemu z nich przypisany jest jeden rejestr segmentowy. CS rejestr adresu segmentacji programu (code segment) wskazuje segment programu, z którego pobierane są adresy do wykonania. DS. Rejestr adresu przeznaczenia (destination indeks) wskazuje segment, w którym znajdują się dane deklarowane w programie. SS rejestr adresu segmentu stanu (stack segment) wskazuje segment, w którym zdefiniowany jest stos. ES rejestr adresu segmentu dodatkowego (extra segment) wskazuje dodatkowy segment danych PC licznik rozkazów zawiera adres następującej instrukcji, która ma być wykonana Długość każdego segmentu jest stała i wynosi 64kB, dlatego adres wewnętrzny w segmencie jest 16 bitowy. Rejestr wskazuje adres fizyczny początku segmentu z przestrzeni adresowej pamięci.
3 WYKŁAD 3 Adres fizyczny Przestrzeń adresowa procesora 8086 ma pojemność 1MB. Jest podzielona na segmenty po 64kB. Organizacja pamięci mikroprocesora 8086/88 rys Procesor operuje 16 bitowymi danymi, a zatem może w sposób bezpośredni adresować tylko 64kB pamięci, więc dla zwiększenia przestrzeni adresowej do pojemności 1MB wprowadzono w układzie procesora dodatkowe rozwiązanie układowe. Rys. Sposób adresowania 15 Adres efektywny Adres offsetu 15 Rejestr segmentowy 0000 Adres segmentowy Sumator 19 0 Rejestr adresu pamięci Adres fizyczny Struktura funkcjonalna mikroprocesora 16 bitowego rys Układ ten pozwala tworzyć 20 bitowy adres fizyczny. Najbardziej znaczące 16 bitów adresu każdego bieżącego segmentu (programu, danych, stosu) 16 bitowych rejestrów adresów segmentowych. Słowa wewnątrz segmentu są adresowane przez 16 bitowe słowa adresu efektywnego. 20-bitowy adres początku segmentu powstaje przez złożenie 16-bitowego adresu segmentowego (16-bitów zawartości rejestru segmentowego) i zer na czterech najmniej znaczących pozycjach. Stąd segmenty mogą być rozmieszczone w pamięci w dowolny sposób ale z...(nic nie ma). Obliczanie zakresu fizycznego odbywa się przez sumowanie 16-bitowego słowa adresu i 20-bitowego słowa złożonego z zawartości jednego z czterech rejestrów segmentowych oraz zer na czterech najmniej znaczących pozycjach. Poszczególne przestrzenie adresowe są wyznaczone przez rejestry segmentów CS,DS.,SS,ES. Na zawartości segmentu nie są nakładane żadne ograniczenia. Przestrzenie adresowe mogą więc zachodzić na siebie lub nawet reprezentować to samo miejsce w pamięci fizycznej. Wszystkie wykonywane przez procesor 8086 operacje dostępu do pamięci odbywają się z użyciem rejestrów segmentu. CS- dla programu, DS.,SS,ES dla danych. Przyjęcie takiego rozwiązania zapewnia możliwość relokacji wszystkich programów. Źródło przesunięcia jest różne dla różnych programów: - dla segmentu kodu programu CS jest nim licznik rozkazów IP - dla segmentu stosu SS wskaźnik stosu SP - dla segmentu danych DS. jest to wartość wynikająca z trybu adresowania wyliczona przez zespół EU na podstawie kodu rozkazu i zawartości odpowiednich rejestrów EU. Tryby adresowania Trybem adresowania nazywamy sposób wyznaczania adresu argumentu lub wyniku. Od różnorodności trybów adresowania zależy efektywność procesora. Wprowadzone przez firmę INTEL możliwości generowania adresu efektywnego (przesunięcia) można sprowadzić do sześciu podstawowych trybów: 1. Natychmiastowy-dana jest podawana w programie wraz z kodem rozkazu (argument może być pobierany bezpośrednio z kodu rozkazu) 2. Rejestrowy-dana jest umieszczona w jednym z rejestrów roboczych procesora (wykonywane są najszybciej), 3. Bezpośredni-adres argumentu podawany jest bezpośrednio w treści rozkazu (określa lokalizację danej w pamięci) 4. Indeksowy-w tym ttrybie adres efektywny jest sumą zawartości rejestru indeksowego SI lub DI i lokalnego przesunięcia (podanym za kodem rozkazu przemieszczeniem). Jest to tryb adresowania przeznaczony do realizacji dostępu do elementów tablic. 5. Bazowy- w adresowaniu bazowym rozkaz wskazuje na jeden z rejestrów bazowych BX lub BP i ewentualnie zsumowany z zawartością rejestru indeksowego DI lub SI, jest adresem efektywnym. Adresowanie bazowe jest szczególnie przydatne przy realizacji dostępu do elementów danych strukturalnych np. pół rekordu. 6. Stosowy adres jest zabierany z rejestru wskaźnika bazy BP i ewentualnie sumowany z zawartością rejestru indeksowego DI lub SI lub podanym za kodem rozkazu przemieszczeniem.
4 Rozkazy operujące na rejestrach we/wy, zawierające adres we/wy (adres natychmiastowy) lub posługują się zawartością rejestru DX (adres pośredni). Wszystkie wymienione tryby adresowania standardowego odwołują się do rejestru segmentu danych z wyjątkiem trybu stosowego, w którym standardowo wykorzystuje się rejestr segmentu stosu SS. Kod programu jest zawsze odczytywany za pomocą rejestru segmentu kodu. Zastosowanie segmentowej organizacji logicznej przestrzeni adresowej ma następujące zalety: - pozwala na dowolne umieszczenie kodu i danych przogramu w pamięci fizycznej (realizacja) - umożliwia odseparowanie przestrzeni adresowych programu, danych i stosu - ustawia gospodarkę zasobami pamięci fizycznej przy pracy wieloprogramowej. Ma też wady: - długość modułu programowego nie może przekroczyć 64 kb - realizowanie struktur danych o rozmiarach przekraczających 64 kb jest bardzo skomplikowane - czas dostępu do pamięci wydłuża się o okres potrzebny na zsumowanie zawartości rejestru segmentów z adresem efektywnym. RYS. Metoda wyznaczania adresu fizycznego przy operacji dostępu do pamięci Odwołania do przestrzeni we/wy mogą być realizowane przez podanie adresu fizycznego za kodem rozkazu lub przez adres fizyczny umieszczony w rejestrze DX. W przypadku przesrzeni we/wy nie przewidziano możliwości stosowania złożonych trybów adresowania pośredniego. Odwołania realizowane z użyciem rejestru DX, pozwalają na wykorzystanie pełnych rozmiarów przestrzeni we/wy tj. 64 kb. Budowa rozkazu Procesor 8086 ma bogaty zestaw rozkazów, obejmujący następujące grupy funkcjonalne: 1. Przesyłanie danych MOV,PUSH,POP Operacje arytmetyczne- ADD,SUB,MUL,DIV Operacje logiczne- AND,OR,NOT,NOR Operacje blokowe LODS,MOVS Operacje przesunięcia- RCL, RCR Operacje sterujące- CALL,JMP,LOPP Operacje przerwania- INT,IRET Operacje we/wy- IN,OUT Stanu procesora- NOP,WAIT,HTL,LOCK... Rozkazy procesora 8086 są zasadniczo 2-bajtowe. Istnieją jednak rozkazy zarówno 1-bajtowe jak i 6-bajtowe (patrz rys). Pierwszy bajt zawiera w większości 6 bitowy kod operacji oraz dwa znaczniki D i W. Wskaźnik D (direction) określa kierunek transmisji: 0 -wynik operacji jest przesyłany z rejestru do pamięci 1 -wynik operacji jest przesyłany z pamięci do rejestru Wskaźnik W(word) określa długość słowa pobieranego do operacji: 0 -wskazuje operacje na słowie 1-bajtowym 1 -wskazuje operacje na słowie 2-bajtowym Jeśli rozkaz jest więcej niż jednobajtowy, to drugi bajt rozkazu najczęściej określa sposób adresowania argumentów(tab. 1) Zawiera on trzy grupy bitów: 2-bitowa grupa MOD (Mode)- określa tryb adresowania 3-bitowa grupa REG określa wybór rejestru lub rozszerzenie kodu 3-bitowa grupa R/M. wybór rejestru dla danej lub adresu. bajt 1 bajt 2 kod operacji D W MOD REG R/M. Tab 1. Format rozkazu mikroprocesora Jeżeli operandy znajdują się w rejestrach procesora to MOD=11, a pola REG i R/M. Stanowią ich adresy. bity W=0 W= AL. AX 001. CL CX 010. DL DX 011. BL BX 100. AH SP 101. CH BP 110. DH SI 111. BH DI Tab 2. Przyporządkowanie rejestrów procesora wartościom pól REG i R/M w kodzie rozkazu. Jeżeli jeden z operandów znajduje się w pamięci to pola MOD i R/M. określają jego adres (tab. 3)
5 R/M. MOD 00 MOD 01 MOD BX+SI BX+SI +przes. 8 bit. BX+SI +przes. 16 bit BX+DI BX+DI+przes BX+DI+przes bit. bit BP+SI BP+SI+przes BP+SI+przes bit. bit BP+DI BP+DI+przes BP+DI+przes bit. bit SI SI+przes. 8 SI+przes. 16 bit. bit DI DI+przes. 8 DI+przes. 16 bit. bit BP+przes. 8 BP+przes. 16 bit bajt.przes bit 111. BX BX+przes. 8 BX+przes. 16 bit. bit. Tab. 3 Sposób wyznaczania adresu operandu na podstawie wartości pól MOD i R/M. kodu rozkazu (przesunięcie- wartość podano bezpośrednio w treści rozkazu) Grupa bitów REG określa jeden z ośmiu rejestrów, w których umieszczony jest operand danej operacji. Jeżeli znacznik W=0 to są to 8-bitowe rejestry: AL.,AH,BL,BH,CL,CH,DL,DH. Jeżeli W=1 to są to rejestry 16-bitowe: AX,BX,CX,DX,SP,BP,SI,DI. Grupa R/M. określa rejestry adresujące: -jeśli MOD!= 11 (nie równa się) to mogą to być rejestry: BX,BP,SI,DI,BP+DI,BP+SI,BX+SI,BX+DI -jeśli MOD=11 to wówczas R/M. określa rejestr (jak REG) dla którego będzie przesłany wynik operacji. Obok opisanego formatu występują także rozkazy jednobajtowe, czego przykładem może być rozkaz XCHE, tj. wymiany zawartości akumulatora z wybranym rejestrem. W kodzie tego rozkazu 5 bitów stanowi kod operacji, a 3 bity wskazują rejestr, którego ten rozkaz dotyczy. Lista rozkazów procesora 8086 zawiera także rozkaz z argumentem natychmiastowym, umieszczonym bezpośrednio po kodzie operacji. bajt młodszy bajt starszy kod operacji D W MOD REG R/M. młodszy bajt przesunięcia starszy bajt przesunięcia młodszy bajt danej starszy bajt danej Tab. 4. Budowa rozkazu 6-bitowego Współpraca mikroprocesora z otoczeniem. Mikroprocesor 0886 umieszczony w 40-wyprowadzeniowej obudowie DIL. Procesor ten był przeznaczony do sterowania zasobami w dużych systemach wieloprocesorowych, jak i w prostych urządzeniach o minimalnym stopniu złożoności. Ponieważ zbiór sygnałów wymagany do obu realizacji przekracza liczbę wyprowadzeń obudowy 40-nóżkowej, więc układ ten jest konfigurowany w jednym z dwóch trybów pracy: tzw. Minimalnym lub maksymalnym. RYS. Topografia wyprowadzeń mikroprocesora 8086 z uwzględnieniem dwóch trybów pracy: minimalnego i maksymalnego. Na ośmiu wyprowadzeniach (od 24 do 31) procesora zmieniają się funkcje realizowane przez te wyprowadzenia w zależności od ustawionego trybu pracy. W trybie minimalnym procesor sam generuje sygnały sterujące występujące na magistrali sterującej, natomiast w trybie maksymalnym generuje słowo stanu, które jest dekodowane przez jeden lub kilka sterowników szyn (np. układ 8288). Wybór trybu pracy nie ma wpływu na sposób współpracy układu z otoczeniem. Wejściowe sygnały sterujące, wspólne dla obydwu trybów pracy: MN/MX- 1 procesor pracuje w trybie minimalnym 0 procesor pracuje w trybie maksymalnym CLK- sygnał zegara READY- sygnał wprowadzający do cyklu maszynowego takty oczekiwania
6 RESET- sygnał zerujący licznik rozkazów, rejestry DS.,SS,ES i rejestr znaczników (flag), natomiast rejestr CS jest ustawiony w FFFon, INTR-sygnał zgłoszenia przerwania podawany zwykle ze sterownika przerwań (ukł.8259a). Przerwanie to jest maskowalne np. rozkazem CLI NMI-sygnał zgłoszenia przerwania nie maskowalnego (Non Maskable Interrupt) TEST-sygnał uruchamiający program po rozkazie WAIT, używany do synchronizacji pracy z koprocesorem. Procesor 8086 jest wyposażony w 16-bitową multipleksowaną magistralą danych i adresów (AD0-AD15), ale adresowanie fizyczne jest 20 bitowe i dlatego magistrala adresowa jest uzupełniona o 4 bity podawane na wyprowadzenia A16-A19/S3-S6. Wyjściowe sygnały sterujące wspólne dla obu trybów pracy: BHE/S7- umożliwia pracę z pamięcią operacyjną zarówno w trybie bajtowym jak i ze słowem o długości 2 bajtów. AD i BHE- określająca sposób wykorzystania pamięci: AD=1, BHE=0 procesor korzysta z bloku pamięci A, AD=0, BHE=1 procesor korzysta z bloku pamięci B, AD=0, BHE=0 procesor wspólpracuje z dwoma blokami pamięci przesyłając magistralą słwa 2- bajtowe RD- strobowanie odczytu (otwarcie bufora wewnętrznego) RYS. Podstawowy cykl dostępu mikroprocesora WR- sygnał strobujący zapis MI/IO- synał określający rodzaj odwołania M/10=1 dostęp do pamięci M/10=0 dostęp do urządzeń zewnętrznych ALE- potwierdzenie ważności adresu adresem na magistrali (adres latch enable). Sygnał wpisujący adres do zewnętrznych rejestrów (zboczem opadającym) INTA- potwierdzenie przyjęcia przerwania (interrupt acknowledge). Sygnał strobujący odczytu w cyklu potwierdzającym przyjęcie przerwania maskowalnego (odczytywany jest wektor przerwania podawany przez kontrolera przerwań). RYS. Przerwania w mikroprocesorze 8086 HOLD sygnał żądania zwolnienia magistrali procesora (w trybie maksymalnym jest to wyprowadzenie dwukierunkowe) DEN sygnał wykorzystywany jest do sterowania buforami magistrali danych (otwiera je tylko na czas przesyłania danych na multipleksowanej magistrali) DT/R sygnał określający kierunek przesyłania danych przez bufory DT/R=1 transmisja od procesora do pamięci lub urządzeń zewnętrznych DT/R=0 transmisja do procesora z pamięci lub urządzeń zewnętrznych Procesor pracujący w konfiguracji minimalnej nie wymaga dodatkowych układów do generacji sygnałów dostępu. W trybie tym jedynie układ sterowania bezpośrednim dostępem do pamięci DMA (Direct Memory Access) np.8257, może na pewien czas przyjąć sterowanie magistralą systemu, nie jest natomiast przewidziane stosowanie koprocesora. W trybie maksymalnym generacja sygnałów (realizujących analogiczne funkcje do wymienionych dla trybu minimalnego z wyjątkiem HOID i HLDA) przejmuje układ sterowania magistralą np Zwolnione w ten sposób wyprowadzenia realizują następujące funkcje S0,S1 i S2, które wskazują na jeden z ośmiu cykli maszynowych procesora. Podawany na tych wyprowadzeniach status jest wykorzystywany przez układ sterownika magistrali do generowania sygnałów sterujących pracą układów zewnętrznych. W tabeli 5 zestawiono kody poszczególnych typów operacji procesora Tab 5. Kody operacji wykonywanych przez procesor (cykle maszynowe) S2 S1 S0 Operacja Potwierdzenie przyjęcia zewnętrznego przerwania Odczyt z przestrzeni adresowej we/wy Zapis w przestrzeni adresowej we/wy Stan wstrzymania pracy procesora (halt) Pobieranie kodu rozkazu Odczyt z przestrzeni adresowej pamięci Zapis do przestrzeni adresowej pamięci Przejściowy stan pasywny (bierny bez przesyłania)
7 RQ/GT0, RQ/GT1 linie służące do współpracy procesora z dwoma koprocesorami. Tymi dwukierunkowymi liniami przesyłane są : żądanie przejęcia magistrali i zezwolenia na jej przyjęcie. LOCK blokada arbitrażu na magistrali wieloprocesorowej. LOCK=0 wskazuje, że czas następnego rozkazu przejęcia magistrali przez innego użytkownika będzie niemożliwe. QS1, QS2 informują o stanie wewnętrznej kolejki rozkazów. Są cztery możliwe przypadki stanu układu kolejki. Tab 6. Wartości wyjść QS i określające stan układu kolejki. QS1 QS2 Stan kolejki 0 0 Bez operacji 0 1 Pobranie do wykonania pierwszego bajtu rozkazu 1 0 Kolejka pusta 1 1 Pobranie kolejnego bajtu rozkazu Niezależnie od trybu pracy procesora (minimalny czy maksymalny) dodatkowe informacje są dostępne jeszcze na liniach statusu S3 - S7. Sygnały S3 S6 są multipleksowane z informacjami adresowymi A16 A19 i pojawiają się na magistrali A16 A19 wówczas, gdy magistralą AD przesyłane są dane S3 S4 identyfikują segment bazowy, do którego odwołuje się procesor w bieżącym cyklu dostępu Tab 7. Wartości sygnałów S3 i S4 określające adresowany segment S4 S3 Segment 0 0 Dodatkowy danych 0 1 Stosu 1 0 Programu 1 1 Danych Wykład 4 Cykl wykonywania rozkazów Każdy cykl transmisji danych na magistrali procesora 8086, zwany cyklem dostępu, składa się z czterech podstawowych taktów (okresów zegara)(patrz rys. 8): - pierwszy takt jest przeznaczony do wystawienia adresu pamięci lub urządzenia zewnętrznego na magistralę - drugi takt jest przeznaczony na przełączenie magistrali (po ukazaniu się adresu multipleksowana magistrala AD musi zostać przełączona do stanu, w którym będzie po niej przesyłana dana) - trzeci i czwarty takt służy do przesyłania danych Jeżeli zaadresowana pamięć lub urządzenia we/wy jest wolne i wymaga więcej czasu na wystawienie lub odbiór danej, to sygnał gotowości jest wycofywany REDY i wówczas między takt T3 i T4 będą wstawiane takty oczekiwania Tw. Ponieważ część rozkazów procesora8086 jest wykonywana w wielu taktach zegara, więc w tym czasie wewnętrzna kolejka procesora jest zapełniana kolejnymi rozkazami z pamięci programu. Załóżmy, że wykonywany jest rozkaz 2 bitowy, gdzie po bajcie będącym kodem operacyjnym pobierany jest bajt trybu adresowania. Niech MOD (patrz budowa rozkazu) wskazuje, że będzie to rozkaz bez bajtów przesunięcia Niech REG dotyczy dowolnego rejestru Niech grupa R/M określa rejestry BX + SI Po dwóch cyklach pobrania rozkazu musi zostać wyliczony adres, co trwa w tym przypadku od 6 12 taktów. Zatem przez 2 lub 3 cykle maszynowe procesor nie korzysta z pamięci operacyjnej. Czas ten jest jednak wykorzystywany do odczytu kolejnych bajtów programu i układ BIU zapełnia 6-cio bajtową kolejkę. Taki sposób pracy przyspiesza wykonanie programów, gdyż część wykonawcza procesora przetwarza rozkaz równocześnie z pobraniem kolejnych rozkazów z pamięci przez układ BIU. Rozkazy sterujące np. tmp opóźniają układ kolejki, który po wykonaniu skoku musi być ładowany nową sekwencją rozkazów. System przerwań (patrz tab.3) Przeniesieniami nazywamy zdarzenia przerywające normalny tryb pracy procesora (tj. wykonywanie bieżącego programu), wymagające specjalnej obsługi wykonywanie programu obsługi przerwania. Źródłem przerwań mogą być elementy systemu zewnętrzne względem procesora jak np. sterownik bezpośredniego dostępu do pamięci DMA informujący o zakończeniu transmisji, układ odbierający znak z klawiatury, czy też układ wykrywający zanik napięcia zasilającego. Innym źródłem przerwań
8 mogą być szczególne zdarzenia zachodzące wewnątrz procesora, takie jak odczyt kodu nieistniejącego rozkazu, czy próba dzielenia przez zero. Wykonywanie procedury obsługi przerwania może wynikać z treści programu źródłem przerwania jest wówczas pracujący program. Przerwania mogą pochodzić z następujących źródeł : - z układów zewnętrznych : przerwania maskowalne INTR (Interrupt Request), przerwania niemaskowalne NMI (Non Maskable Interrupt) - będące wynikiem zrealizowania operacji przerwania programowe Przerwania programowe mają najwyższy priorytet, przerwania maskowalne najniższy. Mikroprocesor 8086 wyposażony jest w dwa wejścia żądania przerwania : - jedno do przerwania maskowalnego INTR. Przyjęcie zgłoszenia z liniiintr zależy od ustawienia wskaźnika I w rejestrze flag. Zgłaszane jest wysokim poziomem. - drugie dla przerwania niemaskowalnego NMI. Żądanie przerwania zgłaszane jest narastającym zboczem sygnału. Przerwanie niemaskowalne charakteryzuje krótki czas potrzebny na przejście do procedury obsługi. W przypadku przerwania maskowalnego jeżeli poziom zgłoszenia zmieni się (przed rozpoczęciem obsługi przerwania przez procesor) z powrotem na niski, to zgłoszenie zostanie zignorowane. Poziom wysoki musi trwać aż do momentu potwierdzenia przez procesor przyjęcia przerwania, bądź sygnałem INTA (w przypadku konfiguracji maksimum). Po przyjęciu żądania przerwania INTR procesor wykonuje dwa cykle maszynowe, w których generuje sygnał INTA. Na czas wykonywania tych cykli procesor generuje sygnał LOCK celem uniemożliwienia przejęcia magistrali przez inne układy. Pierwszy z tych cykli jest wykorzystywany do poinformowania sterownika przerwań (np.8259a) o gotowości do obsługi przerwania, a drugi cykl jest do przesłania magistralą AD0-AD7, który wysyła sterownik jako numer przerwania. Czas pierwszego cyklu przewidziany jest na dokonanie arbitrażu (jeżeli układów 8259A jest więcej). Po przyjęciu przerwania procesor wykonuje następujące operacje : - wysyła na stos zawartość rejestru znaczników (flag) - zeruje znacznik zezwolenia przerwań I - zeruje znacznik pracy krokowej T - zawartość rejestrów CS (rejestr kodu segmentu programu) i PC (IP) (rejestr rozkazu) są wysyłane na stos, a z tablicy wektorów przerwań są pobierane nowe wartości dla tych rejestrów. W ten sposób następuje przejście do programu obsługi zgłoszonego przerwania. Program ten standardowo kończy rozkaz IRET (Interrupt Return). Wykonanie rozkazu IRET powoduje pobranie ze stosu zawartości rejestru CS,PC i rejestru znacznika. Obsługa przerwań jest realzowana za pośrednictwem tablicy wektorów przerwań. W pamięci operacyjnej komputera zajmuje ona pierwszy 1kB (adresy od 00000h do 003FEh). Tablica ta składa się z 256 wektorów 4-bajtowych : - pierwsze dwa bajty stanowią zawartość licznika rozkazów PC - drugie dwa bajty stanowią zawartość rejestru CS Indeksem 2-bajtowych elementów w tej tablicy jest numer przyjętego przerwania. Procesor 8086 ma na stałe przypisane niektóre numery przerwań (elementy tablicy) określonym źródłem przerwań(tab.3). - wektor 1 do realizacji pracy krokowej - wektor 2 dla NMI - wektor 3 jest przeznaczony do wspomagania uruchamiania programów (jest to jednobitowy rozkaz INT3) - wektor 4 jest zarezerwowany dla błędu nadmiaru Źródłem przerwania jest wykonanie rozkazu INT0, wtedy gdy wstawiany jest znacznik nadmiaru. Rozkaz INT0 jest zwykle stosowany jako następnik operacji arytmetycznych. Dalsze 27 ektorów jest zarezerwowane. Pozostałe 224 wektory są dostępne dla systemu przerwań, który użytkownik może sobie sam zorganizować (patrz rys. Schemat blokowy komputera XT). Elementy składowe architektury komputera. Centralną częścią komputera jest procesor (CPU). Wszystkie elementy składowe komputera kontaktują się z procesorem poprzez magistralę. Wyróżniamy następujące magistrale : 1. Magistralę lokalną obejmuje ona 16-bitową magistralę danych i 20-bitową magistralę adresową (procesor 8086) 2. Magistralę systemową sprzężona jest ona z magistralą lokalną poprzez rejestry zatrzaskowe sterowane sygnałem ALE. 20 bitów adresu i 8 bitów systemowej magistrali danych wyprowadzane jest do gniazd rozszerzających. Magistrala systemowa dostarcza zestawu sygnałów sterujących takich jak : IOR, IOW, MEMR, IRV, DRQ, DACV itd. 3. Magistralę X do komunikacji z pamięcią ROM zawierającą systemy BIOS oraz portami układów na płycie głównej 4. Magistralę pamięciową łączy ona magistrale systemowe z obwodami pamięci dynamicznej poprzez układy adresowania wierszy i kolumn pamięci 5. Magistralę zewnętrzną stanowi ona wyprowadzenia 20-bitowej systemowej magistrali adresowej i 8-bitowej magistrali danych oraz większych sygnałów systemowej magistrali sterującej Do poprawnej pracy komputera procesor 8086 wymaga dodatkowych układów peryferyjnych, umieszczonych na płycie głównej, jak i na kartach rozszerzających (sterowniki dysków, łącz szeregowych, równoległych itd.). Mają one ściśle określone obszary adresowe w przestrzeni we/wy, w której widoczne są ich rejestry sterujące. Układy peryferyjne to :
9 1. Układ zegara systemowego (8284) 2. Układ kontrolera magistrali (8288) 3. Układ kontrolera bezpośredniego dostępu do pamięci DMA (8257) 4. Układ kontrolera przerwań sprzętowych (8259A) 5. Układ programowalnego interfejsu równoległego PIO (8255) 6. Układ programowalnego interfejsu szeregowego SIO (8250) 7. Układ programowalnego układu czasowego CTC (8253) Ad.1. Podstawową funkcją układu 8284 jest dostarczenie impulsów taktujących pracę mikroprocesora i synchronizacja niektórych sygnałów zewnętrznych RESET, Ready (patrz rys Zegar 8284A). Układ może pracować w dwóch trybach wybieranych stanem logicznym na wejściu F/C : F/C=0 generacja sygnału przez kwarc, dołączy do wejść x1,x2 F/C=1 generacja sygnału zegara z sygnału zewnętrznego podanego na wejście EFI (External Frequency Input) Sygnał zewnętrzny jest stosowany w systemach wieloprocesorowych do synchronizacji pracy poszczególnych procesorów. Dzięki czemu można uniknąć opóźnień w dostępie do wspólnej magistrali. W układzie są trzy wyjścia sygnałów zegarowych : OSC, CLK i PCLK. OSC na tym wyjściu przebieg jest zgodny z częstotliwością dołączonego kwarcu (sygnał ten może być użyty synchronizacji innych układów 8284) CLK sygnał z tego wyjścia (sygnał zegarowy) przeznaczony jest do taktowania procesora PCLK na tym wyjściu występuje sygnał o częstotliwości dwukrotnie mniejszej (CLK/2). Służy do sterowania pracujących w systen\mie układów liczników odmierzających czas (8253) READY służy do ewentualnego wydłużenia cyklu maszynowego przez współpracujące z procesorem bloki funkcjonalne. Generowanie sygnału potwierdzającego operacje wiąże się z koniecznością multipleksowania wielu sygnałów pochodzących z różnych ( źródeł ) bloków funkcjonalnych systemu. Przewidziano cztery wejścia umożliwiające multipleksowanie sygnałów pochodzących z różnych źródeł: RDY, AEN1 pierwsze źródło RDY, AEN2 drugie źródło W zależności od polaryzacji sygnału potwierdzającego można użyć wejść RDY (aktywne dla 1 ) lub AEN ( aktywne przy 0). Jeżeli do zgłoszenia potwierdzenia operacji jest wykorzystywane wejście RDY, to odpowiadające mu wejście AEN powinno mieć stan 0. Gdy potwierdzenie podawane na wejście AEN, to na wejście RDY należy wymusić poziom wysoki: W nowej generacji zegara ( 8284 ) jest dodatkowe wejście ASYNC, które umożliwia przesuwanie w pełni asynchronicznego zgłoszenia na wejściach RDY. Ad 2 Układ 8288 ( rys. 3 ) spełnia rolę pośrednika między samym procesorem, a systemową magistralą sterującą. Jest wykorzystywany w systemach, w których procesor 8086 pracuje w trybie maksymalnym ( MN-MX jest dołączony do masy ). Jego głównym zadaniem jest zamiana sygnałów statusu SO, S1, S2 ( TAB1 ) na sygnały składowe magistrali sterującej tj. IOWC, IORC, MWTC, MRDC, INTA oraz statusu procesora. Steruje on również pracą rejestrów zatrzaskowych buforów magistrali adresowej i danych. Sterowanie tego rodzaju rejestrów jest niezbędne, bowiem dane i adresy muszą być utrzymywane na magistrali tak długo, jak długo jest to potrzebne dla prawidłowego zakończenia operacji transmisji danych lub adresów. W przeciwnym przypadku mogłoby się zdarzyć, że wystawione przez pamięć lub układy WE/WY na magistralę danych słowa zniknęłoby z niej, zanim procesor zdążyłby ją przejąć. To samo obowiązuje przy operacji wysyłania danych przez procesor. Wejścia sygnałów sterujących. Układ 8288 może pracować w dwóch trybach wybieranych przez stan logiczny podany na wejście IOB 1- wymusza pracę w trybie sterownika magistrali lokalnej dla sygnałów strobujących operację WE/WY, dopuszczając równocześnie wykorzystanie sygnałów strobujących odwołania do pamięci dla magistrali wieloprocesowej. 0- wymusza pracę w trybie, w którym sygnały strobujące operację WE/WY i odwołania do pamięci sterują tą samą magistralą. Stosując pojedynczy układ 8288 można więc wydzielić dwie przestrzenie adresowe, do których odwołuje się współpracujący procesor. CLK -wejście oprowadzające sygnał zegara systemowego z układu Do sterowania generacją sygnałów strobujących są dwa wejścia: AEN- ( Adres Enable ) jest wykorzystywane przy dołączeniu układu do magistrali wieloprocesowej lub przy współpracy z układem DMA. Jeżeli na wejściu : 1- to wyjścia sygnałów strobujących przejdą w stan wysokiej impedancji. Umożliwia to przejęcie sterowania magistrali przez inny układ. 0- powoduje uaktywnienie wyjść sterujących magistralami. CEN jest wykorzystywane do blokowania generacji systemów strobujących. Powoduje ono wymuszenie ( stanem niskim na wejściu ) na wyjściach sygnałów strobujących poziomu nieaktywnego ( wejścia sterujące oraz wyjścia DEN i PDEN ). Wejście to jest wykorzystywane gdy układ steruje pracą magistrali lokalnej ( sterowanie linii kontrolnych magistrali lokalnej
10 poziomem nieaktywnym zwiększa odporność systemu na zakłócenia zewnętrzne w porównaniu z sytuacją, w której linie te znajdowałyby się w stanie wysokiej impedancji ). Wyjścia sterowania buforów i układów przerwań : AT/R (Auto Transmit / Reveive ) informuje o pracy magistrali: 1- zapis z procesora; 0- odczyt przez procesor DEN ( Data Enable ) : 0- jest sygnałem dla rejestru zatrzaskowego bufora magistrali danych, powodującym zamrożenie w nim aktualnego stanu tej magistrali. ALE (Adres Latch Enable ) : 0- jest sygnałem dla rejestru zatrzaskowego bufora magistrali danych powodującym zamrożenie aktualnego stanu magistrali. MCE/PDEN (Master Cascade / Pheripherial Data Enable ) w zależności od stanu wejścia IOB ( MB ), wyjście to służy do obsługi priorytetu przerwań lub komunikacji z urządzeniami WE/WY ( WXT nie jest wykorzystywane ) Wyjścia strobujące komend : MRDS ( Memory Read ) ustala kierunek przesyłania danych: 0 przesyłanie z pamięci do procesora AMWC- (Advanced Memory Write ) sygnał na tym wyjściu uprzedza układy o mającej nastąpić operacji zapisu MWTC (Memory Write ) ustala kierunek przesyłania danych: 0- kierunek przesyłania od procesora do pamięci IOWC- (Input/Output Write ) ustala kierunek przesyłania danych 0- kierunek przesyłania od procesora do układów WE/WY AIOWC- ( Advanced I/O Write Command ) sygnał na tym wyjściu uprzedza układy o mającej nastąpić operacji zapisu IORC ( I/O Read ) ustala kierunek przesyłania danych : 0-kierunek przesyłania z układów WE/WY do procesora INTA sygnał potwierdzenia przyjęcia przerwania sprzętowego przez procesor Strona 28 pusta Wykład 5 Ad. 3 Kontroler DMA (Direct Memory Acces ) 8257A Kontoler ten ( 8257A ) umożliwia bezposredni dostęp do pamięci urządzeń peryferyjnych (we/wy ) np. kontroler napędu dysków elastycznych, kontroler dysków twardych lub inne urządzenia. Układ ten może obsługiwać cztery strumienie ( kanały ). Możliwe jest też kaskadowe łączenie kontrolerów. Takie rozwiązanie stosowane jest w komputerach AT i udostępnia 7 kanałów DMA. Po otrzymaniu żądania bezpośredniego dostępu do pamięci od urządzenia zewnętrznego, kontroler wykonuje następujące czynności : - przejmuje kontrolę nad magistralą systemową - potwierdza żądanie dostępu do pamięci przez to urządzenie, które ma największy priorytet - generuje potrzebny adres i sygnały sterujące dla pamięci i urządzenia zewnętrznego, umożliwiające wymianę słowa pomiędzy zaadresowaną komórką pamięci, a urządzeniami zewnętrznymi, czynność ta, zwana cyklem DMA jest powtarzana dotąd dopóki urządzenie zewnętrzne podtrzymuje żądanie bezpośredniego dostępu do pamięci - po zmianie żądanej ilości słów sygnalizuje zakończenia cyklu. Rys. 5 pokazuje uproszczony schemat 8257A Kanały DMA Układ zawiera cztery kanały oznaczone symbolami CH0- CH3. Każdy kanał zawiera dwa 16- bitowe rejestry : - rejestr adresu - rejestr liczby słów Rejestry te wymagają ładowania przed rozpoczęciem pracy układu, przy czym : - Rejestr adresu jest ładowany adresem pierwszej komórki pamięci, z którą zostanie przeprowadzona wymiana danych. - Czternaście mniej znaczących bitów rejestru liczby słów jest ładowanych zmniejszaną o jeden liczbą czyli DMA, po wykonaniu których element zasygnalizuje sygnałem TC=1 zakończenie wymiany Jeżeli więc chcemy wymienić N- słów, należy rejestr liczby słów załadować do liczby N-1. - Dwa najbardziej znaczące bity rejestru liczby słów określają rodzaj wykonanej operacji (tab. 2) Możliwe są następujące operacje : -DMA READ przesłanie danych x pamięci do urządzenia zewnętrznego; -DMA WRITE przesłanie danych z urządzenia zewnętrznego do pamięci. -DMA VERIFY weryfikowanie danych już przesłanych np. na drodze kontroli parzystości. Urządzenie zewnętrzne wykorzystuje do tego celu sygnały potwierdzające DACK generowane przez układ DMA ( aczkolwiek nie zachodzi wtedy wymiana danych ) Każdy kanał DMA ma : Wejście :
11 DRQ-( DMA Request ) DRQ=1-jest żądaniem bezpośredniego dostępu do pamięci, wysłanym przez odpowiednie urządzenie zewnętrzne Sygnał ten zostaje wyzerowany: - z chwilą generacji przez układ DMA potwierdzenia DACK, co występuje przy wymianie typu bajt za bajtem; - po zakończeniu wymiany całego bloku danych, co ma zastosowanie przy wymianie blokowej (Burst Mode) Wyjście : DACK-(DMA Acnowledge) : DACK=0 informuje urządzenie zewnętrzne, że udostępniono mu magistralę danych do wykonania przesłania jednego słowa. Rejestr buforowy danych. Jest to dwukierunkowy trójstanowy rejestr buforowy o komórkach D 0=D 7 i służy do : -programowania układu DMA (tzn. do przekazywania zawartości rejestru, adresu, liczby słów i słowa sterującego ) - odczytywanie przez procesor zawartości rejestru adresu, rejestru liczby słów i rejestru statusowego - wyprowadzenia na początku cyklu DMA najbardziej znaczącego bajtu adresu. Rejestr buforowy danych nie służy nigdy do przekazywania danych pomiędzy pamięcią a urządzeniami zewnętrznymi, do tego celu służy magistrala systemowa. Ad. 4 Programowalny sterownik przerwań PIC Układ ten ( rys. 6 ) jest przeznaczony do : 1. Przeprowadzenia arbitrażu pomiędzy zgłoszeniami przerwań z ośmiu różnych źródeł; 2. Maskowanie wybranych zgłoszeń przerwań 3. Generacja żądania przerwania dla systemu mikroprocesorowego 4. Przekazywanie procesorowi rozkazu CHU do programu obsługi dla niemaskowalnego zgłoszenia przerwania o największym priorytecie. Programowalność umożliwia sterownikowi przeprowadzenie arbitrażu według szeregu różnych zasad, zależnie od potrzeb użytkownika. Zasady arbitrażu mogą być zmieniane programowo na bieżąco, w dowolnym miejscu realizowanego programu. Układ zawiera osiem programowalnych sterowników przerwań. Może przeprowadzić arbitraż i przekazywać rozkazy skoku do programu obsługi przerwań dla sześćdziesięciu czterech różnych źródeł przerwań ( rys. 7 przedstawia schemat blokowy układu PIC 8259 ) W układzie tym można wyróżnić : trzy rejestry : 1.IRR- (Interrupt Request Register) rejestr zgłoszeń przerwań. W rejestrze tym są zapamiętywane wszystkie zgłoszenia przerwań (IRO-IR7) generowane przez urządzenia zewnętrzne. 2.ISR (Interrupt Service Register) rejestr przerwań obsługiwanych. W tym rejestrze znajdują się wszystkie zgłoszenia przerwań, które są obsługiwane 3.IMR (Interrupt Mask Register) rejestr maskowania przerwań. W rejestrze tym są ustawione bity odpowiadające tym zgłoszeniom przerwań, które powinny zostać zablokowane ( tab. 3 ) Tab. 3 ( 1- zablokowana linia zgłoszeń przerwania ) Maksymalne zgłoszenia przerwania o wyższym priorytecie nie wpływa na obsługę przerwań o niższym priorytecie. Inne ważne bloki układu to: Arbiter priorytetu określa on priorytety zgłoszeń przerwań na podstawie przekazanych do układu słów sterujących. Zgłoszenie o najwyższym priorytecie jest wprowadzone do rejestru przerwań obsługiwanych w chwili gdy INTA = 0. Rejestr buforowy danych jest to dwukierunkowy rejestr służący do sprzęgnięcia układu 8259 z magistralą danych(d 0...D 7)w celu wpisywania do niego słów sterujących i odczytu słów statusowych. Układ czytania / pisania steruje wpisywaniem danych w trakcie programowania rejestrów układu oraz odczytywania zawartości rejestrów w trakcie ich testowania. Układ ten ma następujące wejścia: CS(Chip Select) wybieranie układu. CS = 0 wybiera układ do celów programowania lub czytania zawartości jego rejestrów przez procesor. WR(Write) wpisywanie. WR = 0 umożliwia procesorowi odczytanie zawartości rejestru zgłoszeń przerwań, rejestru przerwań obsługiwanych, rejestru maskowania przerwań oraz odczytywanie kodu BCD zgłoszenia przerwania o najwyższym priorytecie; A 0 jest zwykle sprzęgane z jedną***************************
12 Kaskadowy bufor / komparator jest stosowany w przypadku kaskadowego połączenia wielu układów 8259 do obsługi więcej niż 8 liczby zgłoszeń przerwań. Jeden z układów jest zawsze nadrzędny (master) a pozostałe są układami podrzędnymi (slave). Posiada on następujące wyprowadzenia: CAS0... CAS2 (Cascade Lines) są one wyjściami jeżeli układ jest nadrzędny, a wejściami jeżeli jest podrzędny. Jako element nadrzędny wyprowadza on bity (trzy) elementu podporządkowanego zgłaszającego przerwanie na wyjścia CAS0...CAS2 wszystkich elementów podporządkowanych. Ten spośród elementów podporządkowanych, który rozpozna swoje bity identyfikacyjne, wysyła w odpowiedzi rozkaz skoku do podprogramu obsługi przerwania. SP (Slave Program ) wejście: SP = 1 układ jest nadrzędny SP = 0 układ jest podporządkowany Współpraca z procesorem: 1. Na jednym lub kilku wejściach IR0 IR7 pojawiają się zgłoszenia przerwania (IR = 0 w wyniku czego zostają ustawione odpowiednie bity rejestru zgłoszeń przerwań) 2. W odpowiedzi układ 8259 dokonuje arbitrażu priorytetów zgłoszeń i przesyła procesorowi sygnał INT = Procesor potwierdza otrzymanie tego sygnału za pomocą sygnału INTAΦ. 4. Po otrzymaniu sygnału INTA = Φ układ 8259 wstawi bit rejestru przerwań obsługiwanych dla zgłoszenia o najwyższym priorytecie zerując odpowiadający mu bit w rejestrze zgłoszeń przerwań. Następnie układ 8259 wprowadza na magistralę danych kod operacyjny (pierwszy bajt) rozkazu (CALL) skoku do programu obsługi przerwania dla zgłoszenia o najwyższym priorytecie. 5. W odpowiedzi na kod operacyjny CALL system procesora generuje odpowiednio dwa sygnały INTA = Φ.Każdy z tych sygnałów sprawia, że układ wprowadza na magistralę danych kolejne bajty zaprogramowanego adresu programu obsługi przerwania: - pierwszy sygnał INTA = Φ powoduje wyprowadzenie bajtu najmniej znaczącego. - drugi sygnał INTA = Φ powoduje wyprowadzenie bajtu najbardziej znaczącego. 6. Procesor rozpoczyna wykonanie programu obsługi przerwania. Ustawiony bit rejestru przerwań obsługiwanych zostaje wyzerowany dopiero po zakończeniu przez procesor w słowie OCW2 odpowiednio ustawionego bitu EOI (End of Interrupt). 7. Jeżeli w trakcie przerwania o niższym priorytecie pojawi się zgłoszenie przerwania o wyższym priorytecie, program obsługi przerwania o niższym priorytecie zostanie przerwany. Arbitraż priorytetów wykracza poza fazę wyboru żądania przerwania o najwyższym priorytecie, obejmuje również cały czas realizacji dowolnego programu obsługi żądania przerwania. Ad. 5. Układ równoległego interfejsu programowalnego (PIO) 8255: Jest to układ WE/WY (rys 9b) umożliwiający równoległe dwukierunkowe przesyłanie danych w trzech trybach. Układ ten zawiera trzy 8-bitowe rejestry WE/WY A,B i C (zwane bramami portami),bufor magistrali danych, rejestr sterujący (rys 9a) - Rejestr C może być używany również jako dwa niezależnie sterowane rejestry 4-bitowe - Grupa A to brama A oraz górna część rejestru C (bity bardziej znaczące PC7..PC4) - Grupa B to brama B oraz dolna część rejestru C (bity mniej znaczące PC4..PC0) Każda z wymienionych bram może mieć różne właściwości w zależności od trybu pracy (rys10). Wyboru trybu pracy dokonuje się poprzez programowanie tzn. przez wprowadzenie odpowiedniego słowa sterującego do rejestru sterującego (format słowa sterującego i sposób programowania poszczególnych trybów pokazuje tablica 4). Od strony procesora układ 8255 ma 8 wyprowadzeń dwukierunkowej buforowej, trójstanowej magistrali danych. Wymiana danych między procesorem, a tym buforem albo na drodze realizacji rozkazów WE/WY, albo na drodze realizacji czytania pamięci i pisania do pamięci. Wówczas przyporządkowuje się układowi cztery komórki przestrzeni adresowej trzy dla bram(a,bic), czwarta dla rejestru sterującego. Sposób sterowania układu 8255 przedstawia tab Widać, że uaktywnienie układu dokonuje się za pomocą trzech sygnałów CS CS = 0 - wybór układu (sygnał podstawowy) CS = 1 - układ jest odłączony od magistrali danych A 0 i A 1 - umożliwiają adresowanie jednej z trzech bram A,B,C lub rejestru sterującego. Przy adresowaniu rejestru sterującego jest możliwe tylko wpisywanie do niego słowa, natomiast nie jest możliwe odczytywanie. Inne sygnały to: RD = 0 ten sygnał, umożliwia czytanie zawartości zaadresowanej bramy. WR = 0 umożliwia wpisywanie z magistrali danych na zaadresowaną bramę lub do rejestru sterowania. RESET zeruje wszystkie rejestry, czyli umożliwia ustawienie układu w stan początkowy, w którym wszystkie rejestry WE/WY układu są układami wejściowymi. Charakterystyki trybu pracy układu 8255 MODΦ - jest przeznaczony do realizacji bezwarunkowej WE/WY. Pracujący w tym trybie układ ma : - dwie bramy 8-bitowe i dwie bramy 4-bitowe,które mogą pracować jak układy wejściowe lub wyjściowe
13 - wyjściowe z rejestrami zatrzaskowymi - wejściowe bez rejestrów zatrzaskowych - możliwość realizacji szesnastu różnych kombinacji wejść i wyjść MOD1 - przeznaczony jest do realizacji WE/WY z przerwaniem przy jednym kierunku przesyłania danych. Potrzebne do tego celu sygnały żądania przerwania, strobu i trybu są wyprowadzane lub wprowadzane z wykorzystaniem linii bramy C. Pracujący w tym trybie układ ma : - dwie grupy końcówek, grupą A i B, każda z nich składa się z odpowiedniej bramy 8-bitowej do przesyłania danych i z pomocniczej bramy 4- bitowej przeznaczonej do przesyłania sygnałów sterujących - możliwość zaprogramowania każdej 8- bitowej bramy jako wejścia lub wyjścia, przy czym zarówno wejścia jak i wyjścia mają rejestry zatrzaskowe. - Możliwość zaprogramowania wejścia lub wyjścia tych linii bramy C, które nie służą do przesyłania sygnałów sterujących. Przeznaczenie tych linii bramy C, które służą do przekazywania sygnałów sterujących pokazuje rys 11. MOD2 - jest przeznaczony do realizacji operacji WE/WY z przerwaniem poprzez (TYLKO) bramę A, przy dwóch kierunkach przesyłania danych z elementem zewnętrznym za pomocą jednej 8- bitowej dwukierunkowej magistrali danych. Potrzebne do tego celu sygnały żądania przerwania, statusu strobu są również wyprowadzane przez bramę C. Pracując w tym trybie układ ma : - Tylko jedna grupę końcówek (grupę A) składającą się z dwukierunkowej bramy A oraz pięciu bitów bramy C; - Możliwość zaprogramowania bramy A jako wejścia i wyjścia równocześnie, przy czym zarówno wejście jak i wyjście mają rejestry zatrzaskowe; - Możliwość zaprogramowania jako wejścia lub wyjścia (NIE RÓWNOCZŚNIE)tych linii bramy C, które służą do przekazywania sygnałów sterujących. Rys 12 wyjaśnia przeznaczenie linii bramy C, które służą do przekazywania sygnałów sterujących. Zarówno przy pracy w trybie 1 jak i w 2, poszczególne bity bramy C mogą być ustawione lub zerowane na drodze przesyłu do rejestru sterowania układu 8255 słowa sterującego o odpowiedniej budowie (rys 13 ). Z możliwości tej korzysta się w celu programowego blokowania i odblokowywania żądań przerwań pracy w trybie 1 lub 2, ustawiając lub zerując odpowiednie przerzutniki maskujące INTE. W tab 4 zestawiono wszystkie możliwe sposoby pracy układu 8255.Możliwośc programowania sprawia, że układ 8255 może być stosowany do sprzęgania z procesorem bardzo dużej liczby różnych układów zewnętrznych. WYKŁAD 6 Układ szeregowego intrfejsu programowalnego 8250; Jest to układ (rys 14) przetwarzający dane z postaci szeregowej na równoległą (dla przychodzących) i z równoległej na szeregową (dla wychodzących)układ określa się ogólną nazwą UART (Uniwersal Asynchronous Reciver Transmiter) Skomplikowana struktura tego układu ma szerokie możliwości programowej adaptacji: - rodzaj transmisji asynchroniczna lub synchroniczna - prędkość transmisji - rodzaj i liczbę znaków synchronizujących dla transmisji asynchronicznej - rodzaj kontroli parzystości i inne parametry transmisji Wewnątrz sterownika można wyróżnić 6 zasadniczych bloków funkcjonalnych (rys 15). Są to: - jednostka współpracy z procesorem, która zawiera bufor danych oraz dekoder adresów i sterowań - blok nadawania - generator sygnału zegarowego - blok współpracy z modemem - układ przerwań Wszystkie bloki posiadają rejestry służące do zapisywania (definiowania trybu pracy danego bloku) i do odczytu jego stanu. Wszystkie rejestry dołączone są do wewnętrznej magistrali danych. Procesor uzyskuje dostęp do tej magistrali za pośrednictwem trójstanowego bufora danych, wówczas gdy układ zostanie wybrany. Przeznaczenie poszczególnych wyprowadzeń : DΦ...D7-8- bitowa, dwukierunkowa, trójstanowa magistrala danych, służąca do przekazywania danych, rozkazów i bajtów statusowych pomiędzy procesorem a układem. RCLK (Receiver Clock) - wejście sygnału synchronizującego, tor odbiorczy o częstotliwości 16 razy większej od zadanej prędkości transmisji. SIN (Serial Input) - wejście toru odbiorczego SOUT (Serial Output ) wyjście toru nadawczego CSΦ...CS2(Chip Solect)- wyjście sygnału wyboru elementu (CSΦ = 1, CS1 = 1, CS2 = 0 oznacza wybranie układu)
organizacja procesora 8086
Systemy komputerowe Procesor 8086 - tendencji w organizacji procesora organizacja procesora 8086 " # $ " % strali " & ' ' ' ( )" % *"towego + ", -" danych. Magistrala adresowa jest 20.bitowa, co pozwala
Mikroprocesor Operacje wejścia / wyjścia
Definicja Mikroprocesor Operacje wejścia / wyjścia Opracował: Andrzej Nowak Bibliografia: Urządzenia techniki komputerowej, K. Wojtuszkiewicz Operacjami wejścia/wyjścia nazywamy całokształt działań potrzebnych
Mikroprocesor Intel 8088 (8086)
Mikroprocesor Intel 8088 (8086) Literatura: Mroziński Z.: Mikroprocesor 8086. WNT, Warszawa 1992 iapx 86,88 Users Manual Intel 80C86 Intersil 1997 [Źródło: www.swistak.pl] Architektura wewnętrzna procesora
Organizacja typowego mikroprocesora
Organizacja typowego mikroprocesora 1 Architektura procesora 8086 2 Architektura współczesnego procesora 3 Schemat blokowy procesora AVR Mega o architekturze harwardzkiej Wszystkie mikroprocesory zawierają
Rejestry procesora. Nazwa ilość bitów. AX 16 (accumulator) rejestr akumulatora. BX 16 (base) rejestr bazowy. CX 16 (count) rejestr licznika
Rejestry procesora Procesor podczas wykonywania instrukcji posługuje się w dużej części pamięcią RAM. Pobiera z niej kolejne instrukcje do wykonania i dane, jeżeli instrukcja operuje na jakiś zmiennych.
Architektura komputerów. Komputer Procesor Mikroprocesor koncepcja Johna von Neumanna
Architektura komputerów. Literatura: 1. Piotr Metzger, Anatomia PC, wyd. IX, Helion 2004 2. Scott Mueller, Rozbudowa i naprawa PC, wyd. XVIII, Helion 2009 3. Tomasz Kowalski, Urządzenia techniki komputerowej,
LEKCJA TEMAT: Zasada działania komputera.
LEKCJA TEMAT: Zasada działania komputera. 1. Ogólna budowa komputera Rys. Ogólna budowa komputera. 2. Komputer składa się z czterech głównych składników: procesor (jednostka centralna, CPU) steruje działaniem
Architektura komputera
Architektura komputera Architektura systemu komputerowego O tym w jaki sposób komputer wykonuje program i uzyskuje dostęp do pamięci i danych, decyduje architektura systemu komputerowego. Określa ona sposób
Podstawy techniki cyfrowej Układy wejścia-wyjścia. mgr inż. Bogdan Pietrzak ZSR CKP Świdwin
Podstawy techniki cyfrowej Układy wejścia-wyjścia mgr inż. Bogdan Pietrzak ZSR CKP Świdwin 1 Układem wejścia-wyjścia nazywamy układ elektroniczny pośredniczący w wymianie informacji pomiędzy procesorem
Programowanie niskopoziomowe
Programowanie niskopoziomowe ASSEMBLER Teodora Dimitrova-Grekow http://aragorn.pb.bialystok.pl/~teodora/ Program ogólny Rok akademicki 2011/12 Systemy liczbowe, budowa komputera, procesory X86, organizacja
Pośredniczy we współpracy pomiędzy procesorem a urządzeniem we/wy. W szczególności do jego zadań należy:
Współpraca mikroprocesora z urządzeniami zewnętrznymi Urządzenia wejścia-wyjścia, urządzenia których zadaniem jest komunikacja komputera z otoczeniem (zwykle bezpośrednio z użytkownikiem). Do najczęściej
Architektura komputerów. Układy wejścia-wyjścia komputera
Architektura komputerów Układy wejścia-wyjścia komputera Wspópraca komputera z urządzeniami zewnętrznymi Integracja urządzeń w systemach: sprzętowa - interfejs programowa - protokół sterujący Interfejs
ARCHITEKTURA PROCESORA,
ARCHITEKTURA PROCESORA, poza blokami funkcjonalnymi, to przede wszystkim: a. formaty rozkazów, b. lista rozkazów, c. rejestry dostępne programowo, d. sposoby adresowania pamięci, e. sposoby współpracy
Architektura Systemów Komputerowych. Bezpośredni dostęp do pamięci Realizacja zależności czasowych
Architektura Systemów Komputerowych Bezpośredni dostęp do pamięci Realizacja zależności czasowych 1 Bezpośredni dostęp do pamięci Bezpośredni dostęp do pamięci (ang: direct memory access - DMA) to transfer
UTK Można stwierdzić, że wszystkie działania i operacje zachodzące w systemie są sterowane bądź inicjowane przez mikroprocesor.
Zadaniem centralnej jednostki przetwarzającej CPU (ang. Central Processing Unit), oprócz przetwarzania informacji jest sterowanie pracą pozostałych układów systemu. W skład CPU wchodzą mikroprocesor oraz
Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2
Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2 Literatura: www.zilog.com Z80 Family, CPU User Manual Cykle magistrali w mikroprocesorze Z80 -odczyt kodu rozkazu, -odczyt-zapis pamięci,
Podstawy techniki cyfrowej i mikroprocesorowej II. Urządzenia wejścia-wyjścia
Podstawy techniki cyfrowej i mikroprocesorowej II Urządzenia wejścia-wyjścia Tomasz Piasecki magistrala procesor pamięć wejście wyjście W systemie mikroprocesorowym CPU może współpracować za pośrednictwem
Architektura komputerów
Architektura komputerów Wykład 3 Jan Kazimirski 1 Podstawowe elementy komputera. Procesor (CPU) 2 Plan wykładu Podstawowe komponenty komputera Procesor CPU Cykl rozkazowy Typy instrukcji Stos Tryby adresowania
PRZERWANIA. 1. Obsługa zdarzeń, odpytywanie i przerwania Obsługa zdarzeń jest jedną z kluczowych funkcji w prawie każdym systemie czasu rzeczywistego.
PRZERWANIA 1. Obsługa zdarzeń, odpytywanie i Obsługa zdarzeń jest jedną z kluczowych funkcji w prawie każdym systemie czasu rzeczywistego. Istnieją dwie metody pozyskania informacji o zdarzeniach: 1. Cykliczne
MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW
MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW Projektowanie urządzeń cyfrowych przy użyciu układów TTL polegało na opracowaniu algorytmu i odpowiednim doborze i zestawieniu układów realizujących różnorodne funkcje
UTK ARCHITEKTURA PROCESORÓW 80386/ Budowa procesora Struktura wewnętrzna logiczna procesora 80386
Budowa procesora 80386 Struktura wewnętrzna logiczna procesora 80386 Pierwszy prawdziwy procesor 32-bitowy. Zawiera wewnętrzne 32-bitowe rejestry (omówione zostaną w modułach następnych), pozwalające przetwarzać
Układy wejścia/wyjścia
Układy wejścia/wyjścia Schemat blokowy systemu mikroprocesorowego Mikroprocesor połączony jest z pamięcią oraz układami wejścia/wyjścia za pomocą magistrali systemowej zespołu linii przenoszącymi sygnały
Struktura i działanie jednostki centralnej
Struktura i działanie jednostki centralnej ALU Jednostka sterująca Rejestry Zadania procesora: Pobieranie rozkazów; Interpretowanie rozkazów; Pobieranie danych Przetwarzanie danych Zapisywanie danych magistrala
Układ sterowania, magistrale i organizacja pamięci. Dariusz Chaberski
Układ sterowania, magistrale i organizacja pamięci Dariusz Chaberski Jednostka centralna szyna sygnałow sterowania sygnały sterujące układ sterowania sygnały stanu wewnętrzna szyna danych układ wykonawczy
Architektura komputerów
Architektura komputerów Tydzień 5 Jednostka Centralna Zadania realizowane przez procesor Pobieranie rozkazów Interpretowanie rozkazów Pobieranie danych Przetwarzanie danych Zapisanie danych Główne zespoły
Architektura komputerów
Architektura komputerów Tydzień 11 Wejście - wyjście Urządzenia zewnętrzne Wyjściowe monitor drukarka Wejściowe klawiatura, mysz dyski, skanery Komunikacyjne karta sieciowa, modem Urządzenie zewnętrzne
Metody obsługi zdarzeń
SWB - Przerwania, polling, timery - wykład 10 asz 1 Metody obsługi zdarzeń Przerwanie (ang. Interrupt) - zmiana sterowania, niezależnie od aktualnie wykonywanego programu, spowodowana pojawieniem się sygnału
Architektura systemów komputerowych. dr Artur Bartoszewski
Architektura systemów komputerowych dr Artur Bartoszewski Układy we/wy jak je widzi procesor? Układy wejścia/wyjścia Układy we/wy (I/O) są kładami pośredniczącymi w wymianie informacji pomiędzy procesorem
dr inż. Jarosław Forenc Dotyczy jednostek operacyjnych i ich połączeń stanowiących realizację specyfikacji typu architektury
Rok akademicki 2012/2013, Wykład nr 6 2/43 Plan wykładu nr 6 Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia stacjonarne I stopnia Rok akademicki 2012/2013
dr inż. Jarosław Forenc
Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia stacjonarne I stopnia Rok akademicki 2012/2013 Wykład nr 6 (03.04.2013) Rok akademicki 2012/2013, Wykład
Podstawy techniki cyfrowej Mikroprocesory. Mgr inż. Bogdan Pietrzak ZSR CKP Świdwin
Podstawy techniki cyfrowej Mikroprocesory Mgr inż. Bogdan Pietrzak ZSR CKP Świdwin 1 Mikroprocesor to układ cyfrowy wykonany jako pojedynczy układ scalony o wielkim stopniu integracji zdolny do wykonywania
Budowa i zasada działania komputera. dr Artur Bartoszewski
Budowa i zasada działania komputera 1 dr Artur Bartoszewski Jednostka arytmetyczno-logiczna 2 Pojęcie systemu mikroprocesorowego Układ cyfrowy: Układy cyfrowe służą do przetwarzania informacji. Do układu
Część I - Sterownik przerwań 8259A i zegar/licznik 8253
Programowanie na poziome sprzętu opracowanie pytań Część I - Sterownik przerwań 8259A i zegar/licznik 8253 Autor opracowania: Marcin Skiba cines91@gmail.com 1. Jakie są dwie podstawowe metody obsługi urządzeń
Przerwania, polling, timery - wykład 9
SWB - Przerwania, polling, timery - wykład 9 asz 1 Przerwania, polling, timery - wykład 9 Adam Szmigielski aszmigie@pjwstk.edu.pl SWB - Przerwania, polling, timery - wykład 9 asz 2 Metody obsługi zdarzeń
Sprzęt i architektura komputerów
Radosław Maciaszczyk Mirosław Łazoryszczak Sprzęt i architektura komputerów Laboratorium Temat: Mikroprocesory i elementy asemblera Katedra Architektury Komputerów i Telekomunikacji 1. MIKROPROCESORY I
PC 3 PC^ TIMER IN RESET PC5 TIMER OUT. c 3. L 5 c.* Cl* 10/H CE RO WR ALE ADO AD1 AD2 AD3 AD4 A05 A06 LTJ CO H 17 AD7 U C-"
PC 3 PC^ TIMER IN RESET PC5 TIMER OUT 10/H CE RO WR ALE ADO AD1 AD2 AD3 AD4 A05 A06 AD7 U ss c 3 L 5 c.* Cl* S 9 10 11 12 13 U 15 H 17 Cu C-" ln LTJ CO 2.12. Wielofunkcyjne układy współpracujące z mikroprocesorem
Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy
Wstęp do informatyki Architektura komputera Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki System komputerowy systemowa (System Bus) Pamięć operacyjna ROM,
Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne
Spis treści 5 Spis treœci Co to jest mikrokontroler? Wprowadzenie... 11 Budowa systemu komputerowego... 12 Wejścia systemu komputerowego... 12 Wyjścia systemu komputerowego... 13 Jednostka centralna (CPU)...
Technika mikroprocesorowa I Wykład 2
Technika mikroprocesorowa I Wykład 2 Literatura: www.zilog.com Z80 Family, CPU User Manual Cykle magistrali w mikroprocesorze Z80 -odczyt kodu rozkazu, -odczyt-zapis pamięci, -odczyt-zapis urządzenia we-wy,
Wstęp do informatyki. System komputerowy. Magistrala systemowa. Architektura komputera. Cezary Bolek
Wstęp do informatyki Architektura komputera Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki System komputerowy systemowa (System Bus) Pamięć operacyjna ROM,
1.2 Schemat blokowy oraz opis sygnałów wejściowych i wyjściowych
Dodatek A Wyświetlacz LCD. Przeznaczenie i ogólna charakterystyka Wyświetlacz ciekłokrystaliczny HY-62F4 zastosowany w ćwiczeniu jest wyświetlaczem matrycowym zawierającym moduł kontrolera i układ wykonawczy
Hardware mikrokontrolera X51
Hardware mikrokontrolera X51 Ryszard J. Barczyński, 2016 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego Materiały dydaktyczne do użytku wewnętrznego Hardware mikrokontrolera X51 (zegar)
Architektura komputera. Dane i rozkazy przechowywane są w tej samej pamięci umożliwiającej zapis i odczyt
Architektura komputera Architektura von Neumanna: Dane i rozkazy przechowywane są w tej samej pamięci umożliwiającej zapis i odczyt Zawartośd tej pamięci jest adresowana przez wskazanie miejsca, bez względu
PAMIĘCI. Część 1. Przygotował: Ryszard Kijanka
PAMIĘCI Część 1 Przygotował: Ryszard Kijanka WSTĘP Pamięci półprzewodnikowe są jednym z kluczowych elementów systemów cyfrowych. Służą do przechowywania informacji w postaci cyfrowej. Liczba informacji,
LEKCJA TEMAT: Współczesne procesory.
LEKCJA TEMAT: Współczesne procesory. 1. Wymagania dla ucznia: zna pojęcia: procesor, CPU, ALU, potrafi podać typowe rozkazy; potrafi omówić uproszczony i rozszerzony schemat mikroprocesora; potraf omówić
Programowanie w językach asemblera i C
Programowanie w językach asemblera i C Mariusz NOWAK Programowanie w językach asemblera i C (1) 1 Dodawanie dwóch liczb - program Napisać program, który zsumuje dwie liczby. Wynik dodawania należy wysłać
Magistrala systemowa (System Bus)
Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki systemowa (System Bus) Pamięć operacyjna ROM, RAM Jednostka centralna Układy we/wy In/Out Wstęp do Informatyki
CYKL ROZKAZOWY = 1 lub 2(4) cykle maszynowe
MIKROKONTROLER RODZINY MCS 5 Cykl rozkazowy mikrokontrolera rodziny MCS 5 Mikroprocesory rodziny MCS 5 zawierają wewnętrzny generator sygnałów zegarowych ustalający czas trwania cyklu zegarowego Częstotliwość
WPROWADZENIE Mikrosterownik mikrokontrolery
WPROWADZENIE Mikrosterownik (cyfrowy) jest to moduł elektroniczny zawierający wszystkie środki niezbędne do realizacji wymaganych procedur sterowania przy pomocy metod komputerowych. Platformy budowy mikrosterowników:
2. PORTY WEJŚCIA/WYJŚCIA (I/O)
2. PORTY WEJŚCIA/WYJŚCIA (I/O) 2.1 WPROWADZENIE Porty I/O mogą pracować w kilku trybach: - przesyłanie cyfrowych danych wejściowych i wyjściowych a także dla wybrane wyprowadzenia: - generacja przerwania
Architektura komputerów. Asembler procesorów rodziny x86
Architektura komputerów Asembler procesorów rodziny x86 Architektura komputerów Asembler procesorów rodziny x86 Rozkazy mikroprocesora Rozkazy mikroprocesora 8086 można podzielić na siedem funkcjonalnych
2. Architektura mikrokontrolerów PIC16F8x... 13
Spis treści 3 Spis treœci 1. Informacje wstępne... 9 2. Architektura mikrokontrolerów PIC16F8x... 13 2.1. Budowa wewnętrzna mikrokontrolerów PIC16F8x... 14 2.2. Napięcie zasilania... 17 2.3. Generator
Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska
Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska Współpraca z układami peryferyjnymi i urządzeniami zewnętrznymi Testowanie programowe (odpytywanie, przeglądanie) System przerwań Testowanie programowe
MIKROKONTROLERY I MIKROPROCESORY
PLAN... work in progress 1. Mikrokontrolery i mikroprocesory - architektura systemów mikroprocesorów ( 8051, AVR, ARM) - pamięci - rejestry - tryby adresowania - repertuar instrukcji - urządzenia we/wy
Architektura Systemów Komputerowych. Jednostka ALU Przestrzeń adresowa Tryby adresowania
Architektura Systemów Komputerowych Jednostka ALU Przestrzeń adresowa Tryby adresowania 1 Jednostka arytmetyczno- logiczna ALU ALU ang: Arythmetic Logic Unit Argument A Argument B A B Ci Bit przeniesienia
Podstawy działania układów cyfrowych...2 Systemy liczbowe...2 Kodowanie informacji...3 Informacja cyfrowa...4 Bramki logiczne...
Podstawy działania układów cyfrowych...2 Systemy liczbowe...2 Kodowanie informacji...3 Informacja cyfrowa...4 Bramki logiczne...4 Podział układów logicznych...6 Cyfrowe układy funkcjonalne...8 Rejestry...8
Spis treúci. Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1. Przedmowa... 9. Wstęp... 11
Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1 Spis treúci Przedmowa... 9 Wstęp... 11 1. Komputer PC od zewnątrz... 13 1.1. Elementy zestawu komputerowego... 13 1.2.
Zagadnienia zaliczeniowe z przedmiotu Układy i systemy mikroprocesorowe elektronika i telekomunikacja, stacjonarne zawodowe
Zagadnienia zaliczeniowe z przedmiotu Układy i systemy mikroprocesorowe elektronika i telekomunikacja, stacjonarne zawodowe System mikroprocesorowy 1. Przedstaw schemat blokowy systemu mikroprocesorowego.
MIKROPROCESORY architektura i programowanie
Struktura portów (CISC) Port to grupa (zwykle 8) linii wejścia/wyjścia mikrokontrolera o podobnych cechach i funkcjach Większość linii we/wy może pełnić dwie lub trzy rozmaite funkcje. Struktura portu
Temat: Pamięci. Programowalne struktury logiczne.
Temat: Pamięci. Programowalne struktury logiczne. 1. Pamięci są układami służącymi do przechowywania informacji w postaci ciągu słów bitowych. Wykonuje się jako układy o bardzo dużym stopniu scalenia w
Architektura systemu komputerowego. Działanie systemu komputerowego. Przerwania. Obsługa przerwań (Interrupt Handling)
Struktury systemów komputerowych Architektura systemu komputerowego Działanie systemu komputerowego Struktura we/wy Struktura pamięci Hierarchia pamięci Ochrona sprzętowa Architektura 2.1 2.2 Działanie
Urządzenia zewnętrzne
Urządzenia zewnętrzne SZYNA ADRESOWA SZYNA DANYCH SZYNA STEROWANIA ZEGAR PROCESOR PAMIĘC UKŁADY WE/WY Centralna jednostka przetw arzająca (CPU) DANE PROGRAMY WYNIKI... URZ. ZEWN. MO NITORY, DRUKARKI, CZYTNIKI,...
Sygnały DRQ i DACK jednego kanału zostały użyte do połączenia kaskadowego obydwu sterowników.
Płyty główne Opracował: Andrzej Nowak Bibliografia: Urządzenia techniki komputerowej, K. Wojtuszkiewicz Układ DMA Układ DMA zawiera dwa sterowniki przerwań 8237A połączone kaskadowo. Każdy sterownik 8237A
MIKROPROCESORY architektura i programowanie
Systematyczny przegląd. (CISC) SFR umieszczane są w wewnętrznej pamięci danych (80H 0FFH). Adresowanie wyłącznie bezpośrednie. Rejestry o adresach podzielnych przez 8 są też dostępne bitowo. Adres n-tego
BUDOWA I DZIAŁANIE MIKROPROCESORA
BUDOWA I DZIAŁANIE MIKROPROCESORA I. Budowa mikroprocesora 1. Schemat blokowy mikroprocesora 2. Jednostka arytmetyczno-logiczna 3. Rejestry a) Rejestry mikroprocesorów Zilog Z80 i Intel 8086 b) Typy rejestrów
1. Poznanie właściwości i zasady działania rejestrów przesuwnych. 2. Poznanie właściwości i zasady działania liczników pierścieniowych.
Ćwiczenie 9 Rejestry przesuwne i liczniki pierścieniowe. Cel. Poznanie właściwości i zasady działania rejestrów przesuwnych.. Poznanie właściwości i zasady działania liczników pierścieniowych. Wprowadzenie.
Architektura komputerów
Architektura komputerów Wykład 12 Jan Kazimirski 1 Magistrale systemowe 2 Magistrale Magistrala medium łączące dwa lub więcej urządzeń Sygnał przesyłany magistralą może być odbierany przez wiele urządzeń
Procesory rodziny x86. Dariusz Chaberski
Procesory rodziny x86 Dariusz Chaberski 8086 produkowany od 1978 magistrala adresowa - 20 bitów (1 MB) magistrala danych - 16 bitów wielkość instrukcji - od 1 do 6 bajtów częstotliwośc pracy od 5 MHz (IBM
Podstawy Projektowania Przyrządów Wirtualnych. Wykład 9. Wprowadzenie do standardu magistrali VMEbus. mgr inż. Paweł Kogut
Podstawy Projektowania Przyrządów Wirtualnych Wykład 9 Wprowadzenie do standardu magistrali VMEbus mgr inż. Paweł Kogut VMEbus VMEbus (Versa Module Eurocard bus) jest to standard magistrali komputerowej
Standard transmisji równoległej LPT Centronics
Standard transmisji równoległej LPT Centronics Rodzaje transmisji szeregowa równoległa Opis LPT łącze LPT jest interfejsem równoległym w komputerach PC. Standard IEEE 1284 został opracowany w 1994 roku
Wykład IV. Układy we/wy. Studia Podyplomowe INFORMATYKA Architektura komputerów
Studia Podyplomowe INFORMATYKA Architektura komputerów Wykład IV Układy we/wy 1 Część 1 2 Układy wejścia/wyjścia Układy we/wy (I/O) są kładami pośredniczącymi w wymianie informacji pomiędzy procesorem
CompactPCI. PCI Industrial Computers Manufacturers Group (PICMG)
PCI Industrial Computers Manufacturers Group (PICMG) nowy standard; nowa jakość komputerów realizujących krytyczne zadania w systemach pracujących w trudnych warunkach; Baza specyfikacji: format kaset
Logiczny model komputera i działanie procesora. Część 1.
Logiczny model komputera i działanie procesora. Część 1. Klasyczny komputer o architekturze podanej przez von Neumana składa się z trzech podstawowych bloków: procesora pamięci operacyjnej urządzeń wejścia/wyjścia.
end start ; ustawienie punktu startu programu i koniec instrukcji w assemblerze.
Struktura programu typu program.com ; program według modelu tiny name "mycode" ; nazwa pliku wyjściowego (maksymalnie 8 znaków) org 100h ; początek programu od adresu IP = 100h ; kod programu ret ; koniec
Technika Mikroprocesorowa
Technika Mikroprocesorowa Dariusz Makowski Katedra Mikroelektroniki i Technik Informatycznych tel. 631 2648 dmakow@dmcs.pl http://neo.dmcs.p.lodz.pl/tm 1 System mikroprocesorowy? (1) Magistrala adresowa
Mikrokontroler ATmega32. System przerwań Porty wejścia-wyjścia Układy czasowo-licznikowe
Mikrokontroler ATmega32 System przerwań Porty wejścia-wyjścia Układy czasowo-licznikowe 1 Przerwanie Przerwanie jest inicjowane przez urządzenie zewnętrzne względem mikroprocesora, zgłaszające potrzebę
Wykład Mikroprocesory i kontrolery
Wykład Mikroprocesory i kontrolery Cele wykładu: Poznanie podstaw budowy, zasad działania mikroprocesorów i układów z nimi współpracujących. Podstawowa wiedza potrzebna do dalszego kształcenia się w technice
Wstęp: Interfejs portu równoległego 6821 i portu szeregowego 6850 firmy Motorola
Wstęp: Interfejs portu równoległego 6821 i portu szeregowego 6850 firmy Motorola Struktura systemu 68008 z układami peryferyjnymi 6821, 6050 Na rysunku 1.1 pokazano strukturę stanowiska z interfejsami
Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych
Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych B.1. Dostęp do urządzeń komunikacyjnych Sterowniki urządzeń zewnętrznych widziane są przez procesor jako zestawy rejestrów
Wybrane zagadnienia elektroniki współczesnej
Wybrane zagadnienia elektroniki współczesnej y pracy, Marika Kuczyńska Fizyka Techniczna IV rok 20-03-2013, AGH prezentacji y pracy 1 2 y pracy 3 4 5 6 Jednostka wykonawcza, instrukcje (Marika) Rodzina
3.2. Zegar/kalendarz z pamięcią statyczną RAM 256 x 8
3.2. Zegar/kalendarz z pamięcią statyczną RAM 256 x 8 Układ PCF 8583 jest pobierającą małą moc, 2048 bitową statyczną pamięcią CMOS RAM o organizacji 256 x 8 bitów. Adresy i dane są przesyłane szeregowo
Sprzęt i architektura komputerów
Radosław Maciaszczyk Mirosław Łazoryszczak Sprzęt i architektura komputerów Laboratorium Temat: Mikroprocesory i elementy asemblera Katedra Architektury Komputerów i Telekomunikacji 1. MIKROPROCESORY I
Wykład Mikrosystemy Elektroniczne 1
Wykład Mikrosystemy Elektroniczne 1 Magistrala ISA Jest to 16 bitowa magistrala, taktowana częstotliwością 8MHz, której maksymalna realna przepustowość wynosi ok. 4-5 MB/s. Złącze tej magistrali składa
LICZNIKI PODZIAŁ I PARAMETRY
LICZNIKI PODZIAŁ I PARAMETRY Licznik jest układem służącym do zliczania impulsów zerojedynkowych oraz zapamiętywania ich liczby. Zależnie od liczby n przerzutników wchodzących w skład licznika pojemność
Układ wykonawczy, instrukcje i adresowanie. Dariusz Chaberski
Układ wykonawczy, instrukcje i adresowanie Dariusz Chaberski System mikroprocesorowy mikroprocesor C A D A D pamięć programu C BIOS dekoder adresów A C 1 C 2 C 3 A D pamięć danych C pamięć operacyjna karta
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]
Procesor ma architekturę akumulatorową. Wskaż rozkazy spoza listy tego procesora. bgt Rx, Ry, offset or Rx, Ry, A add Rx load A, [Rz] push Rx sub Rx, #3, A load Rx, [A] Procesor ma architekturę rejestrową
PRZERWANIA. P1 - Procedura obslugi przerwania. Obsługa zdarzenia Z1 poprzez procedurę obsługi przerwania P1
PRZERWANIA 1. Obsługa zdarzeń poprzez Obsługa polega na przerwaniu aktualnie wykonywanego procesu i wykonaniu procedury przypisanej danemu zdarzeniu gdy takie zdarzenie zajdzie. Procedura nazywa się procedurą
UTK jednostki wykonawczej EU (Ex ecution Unit), jednostki steruj c ej CU,
Podstawowa budowa procesora sprowadza si ę do jednostki wykonawczej EU (Execution Unit), która przetwarza informacje wykonując wszelkie operacje arytmetyczne i logiczne oraz jednostki sterują cej CU, która
Podział układów cyfrowych. rkijanka
Podział układów cyfrowych rkijanka W zależności od przyjętego kryterium możemy wyróżnić kilka sposobów podziału układów cyfrowych. Poniżej podam dwa z nich związane ze sposobem funkcjonowania układów cyfrowych
Technika Mikroprocesorowa II Wykład 1
Technika Mikroprocesorowa II Wykład Literatura: Mikroprocesor Motorola (Freescale) M68008 Mikroprocesor 68008 jest 8-mio bitowym (zewnętrzna magistrala danych) przedstawicielem mikroprocesorów o architekturze
J. Ułasiewicz Komputerowe systemy sterowania 1. 1 Architektura PC Ogólna struktura systemu jednoprocesorowego
J. Ułasiewicz Komputerowe systemy sterowania 1 1 Architektura PC 1.1. Ogólna struktura systemu jednoprocesorowego Już systemy jednoprocesorowe mogą być środowiskiem, w którym wykonywane jest wiele programów
Elementy struktur cyfrowych. Magistrale, układy iterowane w przestrzeni i w czasie, wprowadzanie i wyprowadzanie danych.
Elementy struktur cyfrowych Magistrale, układy iterowane w przestrzeni i w czasie, wprowadzanie i wyprowadzanie danych. Magistrale W układzie bank rejestrów do przechowywania danych. Wybór źródła danych
dr inż. Jarosław Forenc
Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2010/2011 Wykład nr 7 (24.01.2011) dr inż. Jarosław Forenc Rok akademicki
Przerwania w systemie mikroprocesorowym. Obsługa urządzeo wejścia/wyjścia
Przerwania w systemie mikroprocesorowym 1 Obsługa urządzeo wejścia/wyjścia W każdym systemie mikroprocesorowym oprócz pamięci programu i pamięci danych znajduje się szereg układów lub urządzeo wejścia/wyjścia,
Mikroprocesory i mikrosterowniki Wydział Elektroniki Mikrosystemów i Fotoniki Politechniki Wrocławskiej Ćwiczenie nr 4
1 Ćwiczenie nr 4 Program ćwiczenia: Interfejs szeregowy SPI obsługa sterownika ośmiopozycyjnego, 7-segmentowego wyświetlacza LED Interfejs szeregowy USART, komunikacja mikrokontrolera z komputerem PC.
URZĄDZENIA WEJŚCIA-WYJŚCIA
Wykład czwarty URZĄDZENIA WEJŚCIA-WYJŚCIA PLAN WYKŁADU Budowa ogólna komputerów PC Urządzenia zewnętrzne w PC Podział urządzeń zewnętrznych Obsługa przerwań Bezpośredni dostęp do pamięci Literatura 1/24
Wprowadzenie do informatyki i użytkowania komputerów. Kodowanie informacji System komputerowy
1 Wprowadzenie do informatyki i użytkowania komputerów Kodowanie informacji System komputerowy Kodowanie informacji 2 Co to jest? bit, bajt, kod ASCII. Jak działa system komputerowy? Co to jest? pamięć
Technika mikroprocesorowa I Wykład 3
Technika mikroprocesorowa I Wykład 3 Instrukcje wejścia-wyjścia Z80 Odczyt na akumulator danej z urządzenia we-wy o adresie 8-mio bitowym n Odczyt do rejestru r danej z urządzenia we-wy o adresie zawartym
Działanie systemu operacyjnego
Budowa systemu komputerowego Działanie systemu operacyjnego Jednostka centralna dysku Szyna systemowa (magistrala danych) drukarki pamięci operacyjnej I NIC sieci Pamięć operacyjna Przerwania Przerwania