UKŁADY MIKROPROGRAMOWANE

Wielkość: px
Rozpocząć pokaz od strony:

Download "UKŁADY MIKROPROGRAMOWANE"

Transkrypt

1 UKŁADY MIKROPROGRAMOWANE Spis treści 1. WPROWADZENIE DO MIKROPROGRAMOWANIA PRZYKŁADOWY UKŁAD MIKROPROGRAMOWANY UKŁAD STERUJĄCY UKŁAD WYKONAWCZY FORMAT MIKROROZKAZU ASEMBLER MIKROINSTRUKCJI ELMA WPROWADZENIE PLIK DEFINICYJNY.DEF PLIK MIKROPROGRAMU.ASM PRZYKŁAD PLIKU DEFINICYJNEGO PRZYKŁADY ZESTAW LABORATORYJNY MODUŁ FGPA MODUŁ WYŚWIETLACZA LCD...16 Warszawa

2 Układy mikroprogramowane 1. Wprowadzenie do mikroprogramowania Mikroprogramowane układy cyfrowe składają się z dwóch części: - części wykonującej operacje na danych wejściowych (układ wykonawczy), - części sterującej wykonywaniem tych operacji (układ sterujący). Schemat takiego układu przedstawia rysunek 1. Układ sterujący kontroluje pracę układu wykonawczego poprzez linie sterowania S i. Liniami tymi przesyłane są sygnały wybierające rodzaj operacji, która ma być wykonana przez układ wykonawczy oraz sygnały wskazujące skąd mają być pobrane argumenty dla tej operacji. Układ wykonawczy informuje o swoim stanie za pomocą sygnałów przesyłanych liniami warunków W i. Pojawiają się tam np. sygnały mówiące o wyniku ostatniej operacji. Sygnały te wpływają na dalsze działanie jednostki sterującej. Laboratoryjny układ wykonawczy posiada dwa ośmiobitowe wejścia danych WE1 i WE0 i ośmiobitowe wyjście danych WY. WE1 WE0 Układ Wykonawczy S i Układ sterujący W i WY Rysunek 1. Schemat blokowy układu mikroprogramowanego Układ sterujący można zaprojektować na dwa różne sposoby: jako automat synchroniczny lub jako układ z pamięcią. Pierwszy sposób polega na zaprojektowaniu takiego automatu synchronicznego, którego działanie (przejścia ze stanu do stanu) jest określone przez algorytm wykonywany przez układ wykonawczy. Na podstawie algorytmu buduje się tabelę przejść i wyjść automatu. Jednym z rozwiązań może być automat zwany rozdzielaczem sterującym, w którym stany kodowane są w kodzie 1 z n (przerzutników jest tyle ile stanów). Drugi sposób polega na utworzeniu odpowiedniego programu działającego zgodnie z wymaganym algorytmem i zapisaniu go w pamięci. Układ taki nazywany jest mikroprogramowanym układem sterującym. Kolejne rozkazy programu nazywane są mikrorozkazami lub mikroinstrukcjami. Mikroinstrukcje składają się z mikrooperacji czyli zestawu bitów przeznaczonych do sterowania poszczególnymi blokami układu. Układ mikroprogramowany wyróżnia się prostotą i przejrzystością budowy. Zastosowanie mikroprogramowania pozwala na łatwą modyfikację działania jednostki sterującej poprzez wymianę mikroprogramu bez konieczności modyfikowania struktury sprzętowej układu. 2/17

3 Układy mikroprogramowalne 2. Przykładowy układ mikroprogramowany 2.1. Układ sterujący Przykładowy układ sterujący przestawiono na rysunku 2. W skład układu sterującego wchodzi: - pamięć stała ROM, - układ adresowania (licznik mikrorozkazów LA i multiplekser warunku skoku JC), - licznik pętli LP. S..S S..S P 8 2 C 8 P 8 C JC LD Reset LA 6 7 A-A 7 0 ROM 256x40 S 11 S 12 S..S E Preset LP Z Rysunek 2. Schemat blokowy układu sterującego Pamięć ROM W pamięci ROM (w układzie laboratoryjnym o pojemności 256 słów 40 bitowych) przechowywane są mikrorozkazy. Każdy mikrorozkaz składa się z 40 bitów (słowo w tej pamięci) i jest dzielony na dwie części. Jedna z nich (bity od S 16 do S 39 ) jest przeznaczona do sterowania pracą układu wykonawczego, a druga z nich (bity od S 0 do S 12 ) odpowiada za sterowanie pracą układu sterującego (bity od S 13 do S 15 są nieużywane). Wybór komórki pamięci następuje poprzez podanie (z układu adresowania) adresu na wejścia A 7 A 0 pamięci ROM. 3/17

4 Układy mikroprogramowane 4/17 Układ adresowania Wartość sygnału na wyjściu multipleksera JC określa sposób wyznaczenia adresu kolejnego mikrorozkazu pobieranego z pamięci. Jeśli wartość na wyjściu multipleksera JC jest zero (na wejściu LD licznika adresowego LA), to pobrany zostanie mikrorozkaz umieszczony pod kolejnym (następnym w stosunku do aktualnego) adresem w pamięci ROM. Licznik LA jest wtedy inkrementowany. Jeśli na wyjściu JC jest jedynka, to pobrany zostanie mikrorozkaz umieszczony pod adresem zapisanym na bitach S 10 do S 3 mikrorozkazu. W tym przypadku mówimy, że w programie wykonuje się skok. Jeśli bity S 2 do S 0 mają wartość 000, to na wyjściu multipleksera jest zero (wejście oznaczone 0 multipleksera) i jako następny wykonywany jest mikrorozkaz umieszczony pod kolejnym adresem w pamięci ROM. Jeśli bity S 2 do S 0 przyjmują wartość 001, to na wyjściu JC jest jedynka (wejście multipleksera oznaczone 1) i wykonuje się skok bezwarunkowy. Jeśli bity S 2 do S 0, mają wartość inną niż 000 lub 001, to wartość na wyjściu multipleksera JC zależy od podanych warunków, czyli stanów na wejściach 2, 3, 4, 5 i 7 multipleksera. Jeśli wartość warunku będzie równa 1, to wykonany zostanie skok warunkowy. Warunków może być pięć: w układzie wykonawczym powstają cztery warunki (P 8, C 8, P 8, C 8 ), a jeden jest brany z wyjścia Z licznika pętli LP (jedno z wejść multipleksera JC jest nieużywane). W tabeli 1 zestawiono wszystkie warunki. Tabela 1. Sterowania multipleksera warunków JC Sterowanie Wyjście układu JC Opis S 2 do S 0 Warunek (wejście LD licznika adresów) Inkrementacja licznika adresów Ładowanie licznika wartością S 10 do S P 8 Wartość wysuwanego bitu 011 C 8 Przeniesienie sumatora 100 P8 Negacja wartości wysuwanego bitu 101 C8 Przeniesienie sumatora Nie używany 111 Z Wyzerowanie licznika Licznik LA wykonuje 2 mikrooperacje: 1. ładowanie wpis równoległy wartości zapisanej w mikroprogramie na bitach S 10 do S 3 (wykonanie skoku LD=1), 2. inkrementacja zwiększanie zawartości o jeden (wybór kolejnego mikrorozkazu, LD=0), Licznik może zostać także wyzerowany przez operatora, który uruchomi przełącznik Reset. Tabela 2. Sterowania licznika adresów LA LD Reset Opis 1 1 Ładowanie wartościami zapisanymi na bitach S 9 do S Inkrementacja X 0 Reset asynchroniczny Licznik pętli LP Licznik LP służy do implementacji w programie pętli o 8 iteracjach. Jest to 3 bitowy licznik poprzednikowy z synchronicznym wpisywaniem stanu 111 (wejście Preset) oraz wejściem E zezwolenia na liczenie. Wyjście Z ma wartość 0, wtedy i tylko wtedy, gdy licznik ma wartość 0. Gdy aktywne jest wejście E licznika (bit S 12 słowa mikrorozkazu), to w każdym cyklu zegara zmniejsza on swoją zawartość o jeden.

5 Układy mikroprogramowalne Tabela 3. Sterowania licznik pętli LP Sterowanie S 12 do S 11 Operacja Opis x1 LP:=111 Ładowanie 10 LP:=LP-1 Dekrementacja 2.2. Układ wykonawczy Schemat układu wykonawczego przedstawiony został na rysunku 3. Jest to prosty procesor składający się z: - jednostki arytmetyczno-logicznej ALU, - rejestru znaczników RZN, - rejestru akumulatora A, - multipleksera argumentów MA, - banku 8 rejestrów pomocniczych BR, - rejestru wyjściowego RWY. WE1 (WE..WE) 15 8 WE0 (WE..WE) 7 0 S 23 S..S Zapis R..R 2 0 BR S..S MA 3 S..S A..A 7 0 B..B 7 0 Operacja S..S ALU C 8 P 8 C 0 P 0 C 8 P 8 C 0 P 0 RZN Sel Cs S 35 S 34 A P 8 C 8 s 36 LD RWY WYNIK Rysunek 3 Układ wykonawczy 5/17

6 Układy mikroprogramowane 6/17 Blok Arytmetyczno-logiczny ALU Jednostka ALU może wykonywać operacje arytmetyczne: przesuwanie, dodawanie, odejmowanie oraz operacje logiczne AND, OR i NOT (przy czym operacje przesuwania i operacja NOT są jednoargumentowe) Jednym z argumentów ALU jest zawartość rejestru akumulatora A. Drugi argument ALU jest podawany poprzez multiplekser MA. W zależności od wartości bitów sterujących multiplekserem S 25 i S 24 może to być: 1. zawartość jednego z ośmiu rejestrów banku rejestrów BR, 2. wartość podana na wejście zewnętrzne WE1 (WE 15 do WE 8 ), 3. wartość na drugim wejściu zewnętrznym WE0 (WE 7 do WE 0 ), 4. wartość zapisana w mikroprogramie na bitach S 33 do S 26. Wynik z układu ALU jest zawsze zapisywany do rejestru akumulatora A. Poprzez ustawienie bitu S 36 na wartość 1 można przepisać zawartość akumulatora do rejestru wyjściowego RWY. Operacje wykonywane przez blok ALU uwzględniają bity wejściowe C 0 i P 0 z rejestru znaczników RZN. Bit C 0 jest używany przy operacji dodawania (przeniesienie wejściowe) i odejmowania (pożyczka). Bit P 0 jest używany przy operacjach przesuwania w lewo (bit wchodzący na najmniej znaczącą pozycję) i w prawo (bit wchodzący na najbardziej znaczącą pozycję). W tabeli 4 zestawiono mikrooperacje wykonywane przez układ ALU. Tabela 4. Działanie jednostki arytmetyczno logicznej (ALU) Sterowanie Wyjścia s 19 do s 16 ALU P 8 C 8 Opis 0000 A 6..A 0, P 0 A 7 C 0 Przesunięcie w lewo (z bitem P 0 ) 0001 P 0,A 7.. A 1 A 0 C 0 Przesunięcie w prawo (z bitem P 0 ) 0011 A+B+C 0 P 0 Przeniesienie Dodawanie w NKB 0010 A-B-C 0 P 0 Pożyczka Odejmowanie w NKB 0100 A P 0 C 0 Przepisanie wyjścia A (NOP) 0101 B P 0 C 0 Przepisanie wejścia B (np.ład. stałej) 1000 A OR B P 0 C 0 Operacja OR 1010 A AND B P 0 C 0 Operacja AND 1100 A XOR B P 0 C 0 Operacja XOR Rejestr znaczników RZN Rejestr znaczników RZN jest rejestrem dwubitowym. Zależnie od rodzaju wykonywanej operacji może zostać zapisany jeden z bitów lub ich wartość może pozostać nie zmieniona. Podczas wykonywania przez blok ALU operacji dodawania lub odejmowania pierwszy bit zapisywany jest wartością C 8. Podczas wykonywania przez blok ALU operacji przesuwania drugi bit zapisywany jest wartością P 8. Wyjścia rejestru znaczników (C 0 i P 0 ) mogą przyjmować wartości w zależności od jego wysterowania. Jeśli na wejściu SEL jest sygnał jeden, to na wyjściach rejestru pojawiają się wartości pamiętane w rejestrze. Jeśli SEL=0, to na obu wyjściach rejestru C 0 i P 0 pojawia się wartość bitu S 34. Powyższe ilustruje tabela 5. Tabela 5. Sterowania rejestrem znaczników RZN (bity S 19 do S 16 i S 35 ) Sterowanie Wyjścia S 35 C 0 P 0 Opis 0 S 34 S 34 Zapisanie obydwu bitów rejestru wartością S 34 1 C 8 P 8 Zapisanie rejestru znaczników wartością C 8 jeśli wykonywana jest operacja dodawania lub odejmowania albo P 8 przy operacji przesuwania

7 Układy mikroprogramowalne Bank rejestrów BR Rejestry banku ponumerowane są od 0 do 7. Bank rejestrów ma trzy wejścia R 2..R 0 wyznaczające numer rejestru, który ma być aktywny (por. tabela 6). Zawartość wybranego rejestru pojawia się na wyjściach banku rejestrów BR. Zapisanie rejestru następuje gdy bit S 23 słowa mikrorozkazu jest równy jeden. Tabela 6. Mikrooperacje wykonywane przez bank rejestrów Sterowanie Opis S 23 S 22 do S 20 0 numer rejestru Na wyjście banku podawana jest zawartość rejestru o numerze określonym na wejście R 2..R 0 1 numer rejestru Zapis zawartości akumulatora A do rejestru o numerze zapisanym w R 2..R 0 Rejestr akumulatora A Akumulator A jest to ośmiobitowy rejestr, którego wartość jest uaktualniana w każdym (takcie) mikrorozkazie. W celu pozostawienia wartości akumulatora bez zmiany, ALU musi wykonać operację pustą NOP (przepisanie wyjścia A). Multiplekser danych wejściowych MA Multiplekser danych wejściowych MA umożliwia wybór danej, która będzie podana jako drugi argument (wejście B) bloku ALU (jako pierwszy argument zawsze podawana jest zawartość akumulatora A). Multiplekser MA pozwala wybrać jedno z czterech źródeł danych jak pokazano w tabeli 6. Tabela 8. Mikrooperacje wykonywane przez multiplekser danych wejściowych MUX Sterowanie Wyjście S 25 S 24 MA Opis 00 BR Dana pobierana z Banku Rejestrów BR 01 WE1 Dana pobierana z WE1 10 WE0 Dana pobierana z WE0 11 S 33..S 26 Dana pobierana z pamięci ROM (bity S 33..S 26 ) Rejestr wyjściowy RWY Rejestr wyjściowy RWY umożliwia wyprowadzenie wyniku działania układu. Jest to 8 bitowy rejestr z wejściem zezwolenia na zapis (LD). Po ustawieniu zezwolenia na zapis w stan aktywny nastąpi przepisanie wartości z akumulatora do rejestru wyjściowego RWY. Tabela 9. Mikrooperacje wykonywane przez RWY Sterowanie Wyjście S 36 RWY Opis 0 RWY Bez zmian 1 A Zapis zawartości akumulatora A 7/17

8 Układy mikroprogramowane 2.3. Format mikrorozkazu Mikrorozkazy to słowa 40 bitowe. Format mikrorozkazu przedstawia tabela 10. Tabela 10. Przypisanie bitów mikrorozkazu poszczególnym mikrooperacjom Bity S 2..S 0 S 10..S 3 S 11 S 12 S 15..S 13 S 19..S 16 S 22..S 20 S 23 S 25..S 24 S 33..S 26 S 34 S 35 S 36 S 39..S 37 Tabela 11. Słowo mikrorozkazu Nieużywane Znaczenie Wybór warunku skoku(wejście sterujące JC) Adres docelowy skoku(wejście danych JC) Załadowanie licznika pętli LP wartością 7 (wejście Preset) Zmniejszenie o 1 wartości licznika pętli LP Nieużywane Kod operacji wykonywanej przez ALU Adres rejestru w banku rejestrów BR Zapis rejestru w banku rejestrów BR wartością akumulatora A Wybór drugiego argumentu (B) dla ALU Stała natychmiastowa podawana na wejście 3 multipleksera MA Wejście rejestru znaczników Sterowanie rejestrem znaczników Zapisanie wartości akumulatora A do rejestru wyjściowego RWY Nieużywane Ładowanie RWY Wejścia RZN Argument natychmiastowy Argument B Zapis A do BR Wybór rejestru BR S 39 S 38 S 37 S 36 S 35 S 34 S 33 S 32 S 31 S 30 S 29 S 28 S 27 S 26 S 25 S 24 S 23 S 22 S 21 S 20 Operacja ALU Nieużywane Dekrementacja LP Ładowanie LP Adres skoku Wybór warunku S 19 S 18 S 17 S 16 S 15 S 14 S 13 S 12 S 11 S 10 S 9 S 8 S 7 S 6 S 5 S 4 S 3 S 2 S 1 S 0 8/17

9 Układy mikroprogramowalne 3. Asembler mikroinstrukcji ELMA 3.1. Wprowadzenie ELMA to program, który umożliwia przekształcenie pliku z mnemonicznym zapisem mikroprogramu w plik z binarnym obrazem pamięci ROM mikroprogramu. Plik mikroprogramu składa się z wielu mikroinstrukcji. Każdą mikroinstrukcję zapisuje się w osobnym wierszu. Jedna mikroinstrukcja odpowiada jednemu słowu sterującemu w pamięci mikroprogramu. Mikroinstrukcja składa się z jednej lub kilku mikrooperacji. Przykładowo można zdefiniować mikrooperację ADD która ustawia bity odpowiedzialne za operację wykonywaną przez ALU tak, że wykonane zostanie dodawanie. Podobnie można zdefiniować mikrooperację SUB tak, żeby wykonane zostało odejmowanie. Można zdefiniować mikrooperację JMP, która ustawi część słowa mikroinstrukcji związaną z częścią sterującą układu tak, że wykonany zostanie skok czy też mikrooperacje NXT powodującą przejście do następnej instrukcji. Definicje tych mikrooperacji dla prezentowanego układu mikroprogramowanego: ADD (19, 16,!0011) #mikrorozkaz dodawania SUB (19, 16,!0010) #mikrorozkaz odejmowania NXT (2,0,!000) #incrementacja licznika LA JMP (2,0,!001) {10,3} #mikrorozkaz skoku (parametr {10,3} okre śla adres #skoku) Powyższy zapis oznacza, że mikrooperacja ADD ustawia bity od 19 do 16 na wartość 0011, mikrooperacja SUB ustawia te same bity na wartość Mikrooperacja NXT ustawia bity od 2 do 0 na wartość 000. Mikrooperacja JMP ustawia bity od 2 do 0 na wartość 001, bity od 10 do 3 zostaną ustawione wartością przekazaną jako argumentu tej mikrooperacji (por. tekst dalej). Powyższe operacje powinny znaleźć się w pliku definicji mikrooperacji (.def). Mikrooperacje ADD oraz SUB ustawiają te same bity słowa mikroprogramu lecz na różne ich wartości. Nie można ich więc połączyć w jednej mikroinstrukcji. Natomiast operacja JMP ustawia inne bity, może więc zostać połączona z operacją ADD lub SUB. Łączenia mikrooperacji w mikrorozkazy dokonuje się w pliku z mikroprogramem. W każdym wierszu tego pliku zapisana jest jedna mikroinstrukcja. Mikrooperacje, które mają być złączone w ramach jednej mikroinstrukcji wpisuje się w jednym wierszu oddzielając je od siebie średnikiem. Przykładowy mikroprogram może wyglądać następująco (poniższy mikroprogram służy wyłącznie ilustracji działania mikroasemblera): ADD(); NXT(); SUB(); JMP(4); ADD(); JMP(2); W powyższym mikroprogramie zdefiniowane są trzy mikrorozkazy. Pierwszy powoduje połączenie mikrooperacji ADD z mikrooperacją NXT. Pierwszym słowem w pamięci mikroprogramu będzie więc słowo, w którym bity 19 do 16 będą ustawione na wartość 0011, a bity od 2 do 0 na wartość 000. W drugim mikrorozkazie bity od 19 do 16 będą ustawione na wartość 0010, bity od 2 do 0 będą miały wartość 001, a bity od 10 do 3 zostaną ustawione jako wartość odpowiadająca dziesiętnej liczbie 4. Pozostałe bity przyjmą wartość nieokreśloną. Podobnie zdefiniowany będzie trzeci mikrorozkaz. Każda mikrooperacja może mieć dowolną liczbę argumentów. Wartości tych argumentów podawane są przy użyciu mikrooperacji w pliku mikroprogramu z rozszerzeniem.asm. 9/17

10 Układy mikroprogramowane Rozszerzenie wprowadzonej wcześniej operacji ADD na operacje 3 argumentową może mieć postać: ADD (19,16,!0011) {22,20} {33,26} {25,24} Użycie tej mikrooperacji powoduje ustawienie bitów od 19 do 16 na wartość 0011 oraz zapisanie na pozycje 22-20, oraz odpowiednio pierwszego, drugiego i trzeciego argumentu. Argumentami wywołania mikrooperacji mogą być liczby zapisane w systemie dziesiętnym. Przykładowe wywołanie takiej mikrooperacji może mieć postać: ADD(2,5,0); W wyniku translacji mikrooperacji powstanie słowo z wpisaną w bity wartością 0011, w bity wartością 010, w bity wartością oraz wartością 00 zapisaną w bitach W wyniku translacji całego pliku mikroprogramu powstanie obraz pamięci ROM zapisany w pliku wynikowym z rozszerzeniem.mif. Załóżmy, że operacje.def jest plikiem, w którym zdefiniowane są mikrooperacje, a program.asm jest plikiem z mikroprogramem. Translacji dokonuje się mikroasemblerem ELMA uruchamianym poleceniem java Elma operacje.def program.asm Obraz pamięci mikroprogramu zapisany zostanie w pliku program.mif. W każdym rodzaju pliku tekst począwszy od znaku # do końca linii traktowany jest jak komentarz i niema wpływu na działanie programu ELMA Plik definicyjny.def Pierwszą linią w pliku.def musi być linia wordlength=liczba gdzie liczba określa długość słowa mikrorozkazu. Następnie następuje dowolnie wiele definicji mikrooperacji. Każda definicja mikrooperacji składa się z identyfikatora mikrooperacji, jednego lub wielu napisów postaci (x,y,!z) oznaczającego że w bity od x do y należy wpisać wartość z oraz zero lub więcej wpisów postaci {x,y} określających miejsca, w które należy wpisać kolejne argumenty. Dodatkowo można definiować stałe, które mogą być użyte w pliku.asm jako argumenty wywołania mikrooperacji. Stałe definiujemy w następujący sposób: :nazwa=wartość wartość jest liczbą w systemie dziesiętnym Plik mikroprogramu.asm W pliku.asm, podobnie jak w pliku.def, można zdefiniować stałe w postaci nazwa=wartość. Mikrorozkaz definiuje się umieszczając w jednym wierszu mikrooperacje, które mają być złączone, podając w nawiasach argumenty i oddzielając mikrooperacje średnikiem. Można również definiować etykiety. Poprzez rozpoczęcie wiersza napisem nazwa: definiujemy etykietę o nazwie nazwa. Użycie etykiety jako argumentu mikrooperacji powoduje zastąpienie jej wartością adresu mikrorozkazu znajdującego się bezpośrednio za definicją etykiety. 10/17

11 Układy mikroprogramowalne 3.4. Przykład pliku definicyjnego Poniżej przedstawiono pliki z definicjami mikrooperacji dla omawianego układu mikroprogramowanego. WordLength = 40 #stałe dla multipleksera JC wyboru warunków skoku #długość słowa mikrorozkazu :W_1=1 :W_S8=2 :W_C8=3 :W_NS8=4 :W_NC8=5 :W_NZ=7 #skok bezwarunkowy, wejście 1 multipleksera JC #skok gdy S8=1, wejście 2 multipleksera JC #skok gdy C8=1, wejście 3 multipleksera JC #skok gdy S8=0, wejście 4 multipleksera JC #skok gdy C8=0, wejście 5 multipleksera JC #skok gdy Z=0, wejście 7 multipleksera JC JMPC (0,0,!x) {2,0} {10,3} #mikrorozkaz skoku warunkowego o dwóch #argumentach (warunek, adres) JMP (2,0,!001) {10,3} #mikrorozkaz skoku bezwarunkowego (adres) NXT (2,0,!000) #mikrorozkaz inkrementacji LA LDCNT (11,11,!1) #załadowanie licznika LP wartością 111 NXT (12,12,!1) #dekrementacja licznika LP #stałe (numery rejestrów z banku rejestrów BR) :r0=0 :r1=1 :r2=2 :r3=3 #stałe do wyboru argumentu B dla ALU :reg=0 #argument pobierany z banku rejestrów BR :WE1=1 #argument pobierany z WE1 :WE0=2 #argument pobierany z WE0 :imm=3 #argument pobierany z pamięci mikroprogramu ROM #mikrorozkazy ALU ADD (19,16,!0011) {22,20} {33,26} {25,24} #dodawanie(nr rejestru, sta ła #z mikroprogramu, wybór #argumentu B) ADDR (19,16,!0011) (25,24,!00) {22,20} #dodawanie rejestru (nr #rejestru) ADDI (19,16,!0011) (25,24,!11) {33,26} #dodanie stałej z #mikroprogramu ADDW1 (19,16,!0011) (25,24,!01) #dodanie argumentu z WE1 ADDW0 (19,16,!0011) (25,24,!10) #dodanie argumentu z WE0 SUB (19,16,!0010) {22,20} {32,25} {25,24} #odejmowanie(nr rejestru, #stała z mikroprogramu, wybór #argumentu B) SUBR (19,16,!0010) (25,24,!00) {22,20} SUBI (19,16,!0010) (25,24,!11) {33,26} #odejmowanie rejestru #odejmowanie sta łej SHL (19,16,!0000) #przesuwanie w lewo SHR (19,16,!0001) #przesuwanie w prawo 11/17

12 Układy mikroprogramowane NOP (19,16,!0100) #operacja pusta LDA (19,16,!0101) {22,20} {33,26} {25,24} #załadowanie akumulatora #(nr rejestru, stała z #mikroprogramu, wybór #argumentu B) A2R (23,23,!1) {22,20} #ładowanie rejestru #zawartością akumulatora #sterowanie rejestrem znaczników RZN SIN (0,0,!x) {34,34} #ustawianie bitem s34 wyjść C0 i P0 rejestru #znaczników podczas operacji przesuwania CIN (0,0,!x) {34,34} #ustawianie bitem s34 wyjść C0 i P0 rejestru #znaczników podczas operacji dodawania lub #odejmowania SREG (0,0,!x) {35,35} CREG (0,0,!x) {35,35}` #zapis RZN podczas operacji przesuwania #zapis RZN podczas operacji dodawania BOR (19,16,!100x) {22,20} {33,26} {25,24} #mikrorozkaz OR z wyborem #argumentu B BAND (19,16,!101x) {22,20} {33,26} {25,24} BXOR (19,16,!110x) {22,20} {33,26} {25,24} DISP (36,36,!1) #mikrorozkaz AND z wyborem #argumentu B #mikrorozkaz XOR z wyborem #argumentu B #mikrorozkaz zapisu RWY 3.5. Przykłady Program 1 Poniżej przedstawiono mikroprogram, który zwiększa wartość akumulatora o wartość odczytaną z WE1 i po każdym dodaniu zapisuje nową wartość w rejestrze wyniku. Dodawanie powtarzane jest w nieskończoność. Start: ADD(0,0,1); DISP(); JMP(Start); Program 2 Poniżej przedstawiono mikroprogram, który odczytuje dwie ośmiobitowe liczby z wejścia WE1 i WE0, umieszcza je w rejestrach 1 i 2, oblicza ich sumę i umieszcza wynik w rejestrze 3 oraz zapisuje go w rejestrze wyjściowym. #wczytywanie argumentów do rejestrów r1 i r2 LDA(0,0,WE1); A2R(r1); NOP(); LDA(0,0,WE0); A2R(r2); NOP(); ADDR(r1); 12/17

13 Układy mikroprogramowalne end: DISP(); NOP(); JMP(end) Program 2a Powyższy program można uprościć. W tym celu zauważmy, że można jednocześnie ładować do akumulatora nową wartość i zapisywać wartość bieżącą do rejestru. Wobec tego instrukcje: A2R(r1); NOP(); LDA(0,0,WE0); można zastąpić jedną instrukcją: A2R(r1); LDA(0,0,WE0); Program 3 Mikroprogram mnożenia liczb w NKB Poniżej przedstawiono listing programu mnożenia dwóch liczb w kodzie NKB. rd1=1 rd2=2 rcrc=3 LDA(00, 00, WE1); #wczytywanie argumentów do rejestrów r0 i r1 A2R(r0);NOP(); LDA(00, 00, WE0); A2R(r1);NOP(); LDCNT();NOP(); LDA(00,0,imm); A2R(r2);NOP(); SHR(); SIN(0); SREG(0); ADDI(0); #zerowanie licznika pętli #zerowanie rejestru r2 #zerowanie rejestru znaczników #rozpoczyna się właściwy mikroprogram mnożenia mulloop: LDA(r1,00,reg); SHR(); SIN(0); SREG(0); JMPC(W_S8, doadd);nop(); shift: LDA(r2,00,reg); JMPC(W_C8,c1);NOP(); c0: SHR(); SIN(0); SREG(0); #załadowanie r1 do akumulatora #przesuniecie w prawo z uzupe łnieniem lewego bitu #wartością 0 #jeśli wysunięty bit (najmłodszy bit r1) był #ustawiony to skaczemy do doadd (umieszczony #tam mikroprogram dodaje do r0 zawartość r2 i #wraca do etykiety shift). #załaduj r2 do akumulatora #jeśli przy ostatnim dodawaniu było #przeniesienie to skok do c1, #przesunięcie akumulatora (w którym jest r2) w #prawo, uzupełnienie zerem z lewej strony 13/17

14 Układy mikroprogramowane JMP(next);NOP(); c1: SHR(); SIN(1); SREG(0); next: A2R(r2);NOP(); LDA(r1,00,reg); SHR(); SIN(00); SREG(1); A2R(r1);NOP(); ADDI(0);CIN(0); CREG(0); #skok do etykiety next #przesunięcie akumulatora (w którym jest r2) w #prawo, uzupełnienie jedynka z lewej strony #zapisanie akumulatora (przesuniętego w c1 lub #c2) do rejestru r2 #załadowanie r2 do akumulatora #przesunięcie r1 w prawo, uzupełnione z lewej #strony tym co zostało wysunięte z prawej strony #w poprzednim przesuwaniu #zapisanie przesuniętego r1 w r1 #wyczyszczenie znaczników NXT(); JMPC(W_NZ, mulloop);nop(); #jeśli jeszcze nieskończone mnożenie to #skok do mulloop JMP(endLoop);NOP(); #w przeciwnym przypadku do endloop. #podprogram dodawania wykorzystywany na początku mullop i tam opisany doadd: LDA(r0,00,reg); ADDR(r2); CIN(0); CREG(0); A2R(r2);NOP(); JMP(shift);NOP(); # koniec mnożenia endloop: #wyświetlenie r1 na zewnętrznym wyświetlaczu w nieskończonej pętli LDA(r1,00,reg); DISP();NOP(); LDA(r2,00,reg); JMP(endLoop);NOP(); 14/17

15 Układy mikroprogramowalne 5. Zestaw laboratoryjny Zestaw laboratoryjny przedstawiony na Rysunku 4, składa się z dwóch podstawowych modułów SML3: modułu FPGA i moduł wyświetlacza LCD (opisanych poniżej), pozostałe moduły (używane przez mikroprogram mnożenia) służą do ustawiania argumentów i wyświetlania wyniku. 5.1 Moduł FGPA Moduł z układem FPGA zawiera: Rysunek 4. Zestaw laboratoryjny z pakietem FPGA układ FPGA EP1k30, programator ByteBlasterMV ze złączem portu równoległego, oscylator, gniazdo BNC, 9 gniazd w standardzie systemu SML3 (SV1- SV9), 16 diod LED, 4 przyciski (BT1-BT4), 3 przełączniki (SW1-SW3). Rysunek 5. Pakiet z układem FPGA 15/17

16 Układy mikroprogramowane Gniazda SV1 do SV7 są gniazdami uniwersalnymi. Podczas ćwiczenia z mikroprogramowania ich wykorzystanie jest następujące: 16/17 SV1 złącze dla wejścia WE1, SV2 złącze dla wejścia WE0, SV3 złącze wyjściowe WY, SV4 sterowanie wyświetlaczem LCD (wyjście), SV5 SV8 nieużywane, SV9 zasilacz. Zwory dostępne na pakiecie powinny mieć następujące ustawienie: OSC zwarte z CLK1 (ustawione w pozycji górnej), BNC zwarte z CLK2 (ustawione w pozycji dolnej), Vosc zwarte z +5V (ustawione w pozycji prawej), zwora 2.5V zwarta (jeśli nie jest zwarta należy obowiązkowo zgłosić to prowadzącemu ćwiczenie). Przełączniki na pakiecie są następujące: SW1 praca krokowa (1-góra) / ciągła (0-dół), BT1 reset. BT2 jeden krok podczas pracy krokowej, Przełączniki SW2, SW3 oraz BT3 i BT4 są nieużywane. Diody sygnalizacyjne Dla ułatwienia uruchamiania i śledzenia pracy układu mikroprogramowanego na płytce umieszczono 16 diod LED. Pozwala to obserwować na nich stan niektórych linii układu (pozostałe informacje wyświetlane są na module wyświetlacza LCD) przy czym diody LED*B (dolny rząd) prezentują stan obecny układu, LED*A (górny rząd) stan z poprzedniego cyklu. Sygnał wyświetlane na diodach LED: LED8 wartość P 0, LED7 wartość P 8 LED6 wartość C 0, LED5 wartość C 8, LED4 wartość wybranego warunku skoku (wejście LD licznika adresowego LA), LED3 linia S 23 zapisanie wartości akumulatora do rejestru, LED2, LED1 wartość Moduł wyświetlacza LCD Dwuwierszowy wyświetlacz LCD 2x16 wraz z ze sterownikiem ułatwia śledzenie pracy układu mikroprogramowanego. Dzięki niemu można zaprezentować stan układu w chwili bieżącej (wiersz dolny), jak również stan poprzedni (wiersz górny). W połączeniu z możliwością pracy krokowej umożliwia to dokładną obserwację działania układu. Jest to szczególnie cenne, gdy układ nie działa w zamierzony sposób. W oparciu o znajomość stanu poprzedniego można wtedy stosunkowo prosto wyjaśnić przyczynę takiego zachowaniu układu. Wyświetlacz LCD prezentuje stan układu z bieżącego i poprzedniego cyklu zegarowego (Rysunek 7). W jednym wierszu wyświetlacza LCD prezentowane są następujące wielkości (począwszy od lewej strony): - wartość wyjścia licznika adresowania LA (2 znaki) - bity S 9..S 3 (wartość adresu skoku) (2 znaki) - wartość akumulatora (2 znaki)

17 Układy mikroprogramowalne - wartość wejścia B ALU (2 znaki) - bity S 19 do S 13 (operacja wykonywana przez ALU) (1 cyfra) - wartość bitów S 2 do S 0 (wybór warunku skoku) (1cyfra) - wartość bitów S 22 do S 20 (wybór rejestru) (1 cyfra). Wartość licznika adresu Adres skoku Wartość akumulatora Wejście B ALU Operacja wykonywana przez ALU Warunek skoku Adres rejestru Rysunek 7. Opis pozycji wyświetlacza Wszystkie wartości prezentowane są w systemie szesnastkowym. 17/17

Układy mikroprogramowane

Układy mikroprogramowane 1. WPROWADZENIE DO MIKROPROGRAMOWANIA...2 2. PRZYKŁADOWY UKŁAD MIKROPROGRAMOWANY...3 2.1. UKŁAD TERUJĄCY...3 2.2. UKŁAD WYKONAWCZY...6 2.3. FORMAT MIKROROZKAZU...10 3. ZETAW LABORATORYJNY...12 Warszawa,

Bardziej szczegółowo

6. WPROWADZENIE DO MIKROPROGRAMOWANIA

6. WPROWADZENIE DO MIKROPROGRAMOWANIA 6. WPROWADZENIE DO MIKROPROGRAMOWANIA Mikroprogramowane układy cyfrowe składają się z dwóch części: części wykonującej operacje na danych wejściowych (układ wykonawczy), części sterującej wykonywaniem

Bardziej szczegółowo

UKŁADY MIKROPROGRAMOWALNE

UKŁADY MIKROPROGRAMOWALNE UKŁAD MIKROPROGRAMOWALNE Układy sterujące mogą pracować samodzielnie, jednakże w przypadku bardziej złożonych układów (zwanych zespołami funkcjonalnymi) układ sterujący jest tylko jednym z układów drugim

Bardziej szczegółowo

Struktura i działanie jednostki centralnej

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

Bardziej szczegółowo

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

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.

Bardziej szczegółowo

Architektura typu Single-Cycle

Architektura typu Single-Cycle Architektura typu Single-Cycle...czyli budujemy pierwszą maszynę parową Przepływ danych W układach sekwencyjnych przepływ danych synchronizowany jest sygnałem zegara Elementy procesora - założenia Pamięć

Bardziej szczegółowo

Architektura komputerów. Asembler procesorów rodziny x86

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

Bardziej szczegółowo

Organizacja typowego mikroprocesora

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ą

Bardziej szczegółowo

1. Operacje logiczne A B A OR B

1. Operacje logiczne A B A OR B 1. Operacje logiczne OR Operacje logiczne są operacjami działającymi na poszczególnych bitach, dzięki czemu można je całkowicie opisać przedstawiając jak oddziałują ze sobą dwa bity. Takie operacje logiczne

Bardziej szczegółowo

Projekt prostego procesora

Projekt prostego procesora Projekt prostego procesora Opracowany przez Rafała Walkowiaka dla zajęć z PTC 2012/2013 w oparciu o Laboratory Exercise 9 Altera Corporation Rysunek 1 przedstawia schemat układu cyfrowego stanowiącego

Bardziej szczegółowo

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

Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne 1. Bit Pozycja rejestru lub komórki pamięci służąca do przedstawiania (pamiętania) cyfry w systemie (liczbowym)

Bardziej szczegółowo

Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2

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,

Bardziej szczegółowo

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

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)...

Bardziej szczegółowo

1.2 Schemat blokowy oraz opis sygnałów wejściowych i wyjściowych

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

Bardziej szczegółowo

Architektura komputerów Wykład 2

Architektura komputerów Wykład 2 Architektura komputerów Wykład 2 Jan Kazimirski 1 Elementy techniki cyfrowej 2 Plan wykładu Algebra Boole'a Podstawowe układy cyfrowe bramki Układy kombinacyjne Układy sekwencyjne 3 Algebra Boole'a Stosowana

Bardziej szczegółowo

Mikrooperacje. Mikrooperacje arytmetyczne

Mikrooperacje. Mikrooperacje arytmetyczne Przygotowanie: Przemysław Sołtan e-mail: kerk@moskit.ie.tu.koszalin.pl Mikrooperacje Mikrooperacja to elementarna operacja wykonywana podczas jednego taktu zegara mikroprocesora na informacji przechowywanej

Bardziej szczegółowo

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

CPU ROM, RAM. Rejestry procesora. We/Wy. Cezary Bolek Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki Cezary Bolek Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki Komputer jest urządzeniem, którego działanie opiera się na wykonywaniu przez procesor instrukcji pobieranych z pamięci operacyjnej

Bardziej szczegółowo

PAMIĘĆ RAM. Rysunek 1. Blokowy schemat pamięci

PAMIĘĆ RAM. Rysunek 1. Blokowy schemat pamięci PAMIĘĆ RAM Pamięć służy do przechowania bitów. Do pamięci musi istnieć możliwość wpisania i odczytania danych. Bity, które są przechowywane pamięci pogrupowane są na komórki, z których każda przechowuje

Bardziej szczegółowo

Technika mikroprocesorowa I Wykład 2

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,

Bardziej szczegółowo

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych 1 Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych 1. Podstawowe operacje logiczne dla cyfr binarnych Jeśli cyfry 0 i 1 potraktujemy tak, jak wartości logiczne fałsz i prawda, to działanie

Bardziej szczegółowo

Przykładowe pytania DSP 1

Przykładowe pytania DSP 1 Przykładowe pytania SP Przykładowe pytania Systemy liczbowe. Przedstawić liczby; -, - w kodzie binarnym i hexadecymalnym uzupełnionym do dwóch (liczba 6 bitowa).. odać dwie liczby binarne w kodzie U +..

Bardziej szczegółowo

Algorytm mnożenia sekwencyjnego (wariant 1)

Algorytm mnożenia sekwencyjnego (wariant 1) Przygotowanie: Przemysław Sołtan e-mail: kerk@moskit.ie.tu.koszalin.pl Algorytm mnożenia sekwencyjnego (wariant 1) //Poczynając z mniej znaczących bitów mnożnika, przesuwamy formowany //rezultat w stronę

Bardziej szczegółowo

MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW

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

Bardziej szczegółowo

organizacja procesora 8086

organizacja procesora 8086 Systemy komputerowe Procesor 8086 - tendencji w organizacji procesora organizacja procesora 8086 " # $ " % strali " & ' ' ' ( )" % *"towego + ", -" danych. Magistrala adresowa jest 20.bitowa, co pozwala

Bardziej szczegółowo

Architektura systemów komputerowych Laboratorium 13 Symulator SMS32 Operacje na bitach

Architektura systemów komputerowych Laboratorium 13 Symulator SMS32 Operacje na bitach Marcin Stępniak Architektura systemów komputerowych Laboratorium 13 Symulator SMS32 Operacje na bitach 1. Informacje Matematyk o nazwisku Bool wymyślił gałąź matematyki do przetwarzania wartości prawda

Bardziej szczegółowo

Architektura komputerów

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

Bardziej szczegółowo

SML3 październik

SML3 październik SML3 październik 2005 35 160_7SEG2 Moduł zawiera dwupozycyjny 7-segmentowy wyświetlacz LED ze wspólną anodą, sterowany przez dwa dekodery HEX->7SEG zrealizowane w układach GAL16V8. Dekodery przypominają

Bardziej szczegółowo

Arytmetyka liczb binarnych

Arytmetyka liczb binarnych Wartość dwójkowej liczby stałoprzecinkowej Wartość dziesiętna stałoprzecinkowej liczby binarnej Arytmetyka liczb binarnych b n-1...b 1 b 0,b -1 b -2...b -m = b n-1 2 n-1 +... + b 1 2 1 + b 0 2 0 + b -1

Bardziej szczegółowo

Instrukcja do ćwiczenia : Matryca komutacyjna

Instrukcja do ćwiczenia : Matryca komutacyjna Instrukcja do ćwiczenia : Matryca komutacyjna 1. Wstęp Każdy kanał w systemach ze zwielokrotnieniem czasowym jest jednocześnie określany przez swoją współrzędną czasową T i współrzędną przestrzenną S.

Bardziej szczegółowo

Programowalne układy logiczne

Programowalne układy logiczne Programowalne układy logiczne Mikroprocesor Szymon Acedański Marcin Peczarski Instytut Informatyki Uniwersytetu Warszawskiego 6 grudnia 2014 Zbudujmy własny mikroprocesor Bardzo prosty: 16-bitowy, 16 rejestrów

Bardziej szczegółowo

Badanie układów średniej skali integracji - ćwiczenie Cel ćwiczenia. 2. Wykaz przyrządów i elementów: 3. Przedmiot badań

Badanie układów średniej skali integracji - ćwiczenie Cel ćwiczenia. 2. Wykaz przyrządów i elementów: 3. Przedmiot badań adanie układów średniej skali integracji - ćwiczenie 6. Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z podstawowymi układami SSI (Średniej Skali Integracji). Przed wykonaniem ćwiczenia należy zapoznać

Bardziej szczegółowo

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

Architektura systemów komputerowych Laboratorium 14 Symulator SMS32 Implementacja algorytmów Marcin Stępniak Architektura systemów komputerowych Laboratorium 14 Symulator SMS32 Implementacja algorytmów 1. Informacje Poniższe laboratoria zawierają podsumowanie najważniejszych informacji na temat

Bardziej szczegółowo

Pracownia elektryczna i elektroniczna. Elektronika cyfrowa. Ćwiczenie nr 5.

Pracownia elektryczna i elektroniczna. Elektronika cyfrowa. Ćwiczenie nr 5. Pracownia elektryczna i elektroniczna. Elektronika cyfrowa. Ćwiczenie nr 5. Klasa III Opracuj projekt realizacji prac związanych z badaniem działania cyfrowych bloków arytmetycznych realizujących operacje

Bardziej szczegółowo

LEKCJA TEMAT: Współczesne procesory.

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ć

Bardziej szczegółowo

Podstawy programowania w języku C i C++

Podstawy programowania w języku C i C++ Podstawy programowania w języku C i C++ Część czwarta Operatory i wyrażenia Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu,

Bardziej szczegółowo

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780 Dane techniczne : Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780 a) wielkość bufora znaków (DD RAM): 80 znaków (80 bajtów) b) możliwość sterowania (czyli podawania kodów znaków) za pomocą

Bardziej szczegółowo

1. Cel ćwiczenia. 2. Podłączenia urządzeń zewnętrznych w sterowniku VersaMax Micro

1. Cel ćwiczenia. 2. Podłączenia urządzeń zewnętrznych w sterowniku VersaMax Micro 1. Cel ćwiczenia Celem ćwiczenia jest zaprojektowanie sterowania układem pozycjonowania z wykorzystaniem sterownika VersaMax Micro oraz silnika krokowego. Do algorytmu pozycjonowania wykorzystać licznik

Bardziej szczegółowo

Opis układów wykorzystanych w aplikacji

Opis układów wykorzystanych w aplikacji Opis układów wykorzystanych w aplikacji Układ 74LS164 jest rejestrem przesuwnym służącym do zamiany informacji szeregowej na równoległą. Układ, którego symbol logiczny pokazuje rysunek 1, posiada dwa wejścia

Bardziej szczegółowo

Architektura Systemów Komputerowych, Wydział Informatyki, ZUT

Architektura Systemów Komputerowych, Wydział Informatyki, ZUT Laboratorium: Wprowadzenie Pojęcia. Wprowadzone zostaną podstawowe pojęcia i mechanizmy związane z programowaniem w asemblerze. Dowiemy się co to są rejestry i jak z nich korzystać. Rejestry to są wewnętrzne

Bardziej szczegółowo

SYSTEMY LICZBOWE. Zapis w systemie dziesiętnym

SYSTEMY LICZBOWE. Zapis w systemie dziesiętnym SYSTEMY LICZBOWE 1. Systemy liczbowe Najpopularniejszym systemem liczenia jest system dziesiętny, który doskonale sprawdza się w życiu codziennym. Jednak jego praktyczna realizacja w elektronice cyfrowej

Bardziej szczegółowo

Tab. 1 Tab. 2 t t+1 Q 2 Q 1 Q 0 Q 2 Q 1 Q 0

Tab. 1 Tab. 2 t t+1 Q 2 Q 1 Q 0 Q 2 Q 1 Q 0 Synteza liczników synchronicznych Załóżmy, że chcemy zaprojektować licznik synchroniczny o następującej sekwencji: 0 1 2 3 6 5 4 [0 sekwencja jest powtarzana] Ponieważ licznik ma 7 stanów, więc do ich

Bardziej szczegółowo

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory Poniżej pozwoliłem sobie za cytować za wikipedią definicję zmiennej w informatyce.

Bardziej szczegółowo

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q LABORAORIUM PROCESORY SYGAŁOWE W AUOMAYCE PRZEMYSŁOWEJ Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q 1. Zasady arytmetyki stałoprzecinkowej. Kody stałopozycyjne mają ustalone

Bardziej szczegółowo

Ćwiczenie 31 Temat: Analogowe układy multiplekserów i demultiplekserów. Układ jednostki arytmetyczno-logicznej (ALU).

Ćwiczenie 31 Temat: Analogowe układy multiplekserów i demultiplekserów. Układ jednostki arytmetyczno-logicznej (ALU). Ćwiczenie 31 Temat: Analogowe układy multiplekserów i demultiplekserów. Układ jednostki arytmetyczno-logicznej (ALU). Cel ćwiczenia Poznanie własności analogowych multiplekserów demultiplekserów. Zmierzenie

Bardziej szczegółowo

Literatura. adów w cyfrowych. Projektowanie układ. Technika cyfrowa. Technika cyfrowa. Bramki logiczne i przerzutniki.

Literatura. adów w cyfrowych. Projektowanie układ. Technika cyfrowa. Technika cyfrowa. Bramki logiczne i przerzutniki. Literatura 1. D. Gajski, Principles of Digital Design, Prentice- Hall, 1997 2. C. Zieliński, Podstawy projektowania układów cyfrowych, PWN, Warszawa 2003 3. G. de Micheli, Synteza i optymalizacja układów

Bardziej szczegółowo

Elementy oprogramowania sterowników. Instrukcje podstawowe, funkcje logiczne, układy czasowe i liczenia, znaczniki

Elementy oprogramowania sterowników. Instrukcje podstawowe, funkcje logiczne, układy czasowe i liczenia, znaczniki Elementy oprogramowania sterowników. Instrukcje podstawowe, funkcje logiczne, układy czasowe i liczenia, znaczniki Norma IEC-61131-3 definiuje typy języków: graficzne: schematów drabinkowych LD, schematów

Bardziej szczegółowo

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

Układy arytmetyczne. Joanna Ledzińska III rok EiT AGH 2011 Układy arytmetyczne Joanna Ledzińska III rok EiT AGH 2011 Plan prezentacji Metody zapisu liczb ze znakiem Układy arytmetyczne: Układy dodające Półsumator Pełny sumator Półsubtraktor Pełny subtraktor Układy

Bardziej szczegółowo

Mikrokontroler ATmega32. Język symboliczny

Mikrokontroler ATmega32. Język symboliczny Mikrokontroler ATmega32 Język symboliczny 1 Język symboliczny (asembler) jest językiem niskiego poziomu - pozwala pisać programy złożone z instrukcji procesora. Kody instrukcji są reprezentowane nazwami

Bardziej szczegółowo

Zestaw 3. - Zapis liczb binarnych ze znakiem 1

Zestaw 3. - Zapis liczb binarnych ze znakiem 1 Zestaw 3. - Zapis liczb binarnych ze znakiem 1 Zapis znak - moduł (ZM) Zapis liczb w systemie Znak - moduł Znak liczby o n bitach zależy od najstarszego bitu b n 1 (tzn. cyfry o najwyższej pozycji): b

Bardziej szczegółowo

Projekt z przedmiotu Systemy akwizycji i przesyłania informacji. Temat pracy: Licznik binarny zliczający do 10.

Projekt z przedmiotu Systemy akwizycji i przesyłania informacji. Temat pracy: Licznik binarny zliczający do 10. Projekt z przedmiotu Systemy akwizycji i przesyłania informacji Temat pracy: Licznik binarny zliczający do 10. Andrzej Kuś Aleksander Matusz Prowadzący: dr inż. Adam Stadler Układy cyfrowe przetwarzają

Bardziej szczegółowo

Projektowanie Urządzeń Cyfrowych

Projektowanie Urządzeń Cyfrowych Projektowanie Urządzeń Cyfrowych Laboratorium 2 Przykład prostego ALU Opracował: mgr inż. Leszek Ciopiński Wstęp: Magistrale: Program MAX+plus II umożliwia tworzenie magistral. Magistrale są to grupy przewodów

Bardziej szczegółowo

SYSTEMY LICZBOWE 275,538 =

SYSTEMY LICZBOWE 275,538 = SYSTEMY LICZBOWE 1. Systemy liczbowe Najpopularniejszym systemem liczenia jest system dziesiętny, który doskonale sprawdza się w życiu codziennym. Jednak jego praktyczna realizacja w elektronice cyfrowej

Bardziej szczegółowo

Specyfika projektowania Mariusz Rawski

Specyfika projektowania Mariusz Rawski CAD Specyfika projektowania Mariusz Rawski rawski@tele.pw.edu.pl http://rawski.zpt.tele.pw.edu.pl/ System cyfrowy pierwsze skojarzenie Urządzenia wprowadzania danych: klawiatury czytniki urządzenia przetwarzania

Bardziej szczegółowo

. III atyka, sem, Inform Symulator puterów Escape rchitektura kom A

. III atyka, sem, Inform Symulator puterów Escape rchitektura kom A Symulator Escape Konfiguracja ogólna Enable MUL and DIV Complete Set of Comp.Oper Sign Extension of B/H/W Memory Oper on B/H/W Program Program Dane Dane Załaduj konfigurację symulatora (File -> OpenFile)

Bardziej szczegółowo

Ćwiczenie nr 3. Wyświetlanie i wczytywanie danych

Ćwiczenie nr 3. Wyświetlanie i wczytywanie danych Ćwiczenie nr 3 Wyświetlanie i wczytywanie danych 3.1 Wstęp Współczesne komputery przetwarzają dane zakodowane za pomocą ciągów zerojedynkowych. W szczególności przetwarzane liczby kodowane są w systemie

Bardziej szczegółowo

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

Kod znak-moduł. Wartość liczby wynosi. Reprezentacja liczb w kodzie ZM w 8-bitowym formacie: Wykład 3 3-1 Reprezentacja liczb całkowitych ze znakiem Do przedstawienia liczb całkowitych ze znakiem stosowane są następujące kody: - ZM (znak-moduł) - U1 (uzupełnienie do 1) - U2 (uzupełnienie do 2)

Bardziej szczegółowo

f we DZIELNIKI I PODZIELNIKI CZĘSTOTLIWOŚCI Dzielnik częstotliwości: układ dający impuls na wyjściu co P impulsów na wejściu

f we DZIELNIKI I PODZIELNIKI CZĘSTOTLIWOŚCI Dzielnik częstotliwości: układ dający impuls na wyjściu co P impulsów na wejściu DZIELNIKI I PODZIELNIKI CZĘSTOTLIWOŚCI Dzielnik częstotliwości: układ dający impuls na wyjściu co P impulsów na wejściu f wy f P Podzielnik częstotliwości: układ, który na każde p impulsów na wejściu daje

Bardziej szczegółowo

Podstawy programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń.

Podstawy programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń. Podstawy programowania Programowanie wyrażeń 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń. W językach programowania są wykorzystywane

Bardziej szczegółowo

Organizacja pamięci VRAM monitora znakowego. 1. Tryb pracy automatycznej

Organizacja pamięci VRAM monitora znakowego. 1. Tryb pracy automatycznej Struktura stanowiska laboratoryjnego Na rysunku 1.1 pokazano strukturę stanowiska laboratoryjnego Z80 z interfejsem częstościomierza- czasomierz PFL 21/22. Rys.1.1. Struktura stanowiska. Interfejs częstościomierza

Bardziej szczegółowo

Liczniki, rejestry lab. 09 Mikrokontrolery 8051 cz. 1

Liczniki, rejestry lab. 09 Mikrokontrolery 8051 cz. 1 Liczniki, rejestry lab. 09 Mikrokontrolery 8051 cz. 1 PODSTAWY TECHNIKI CYFROWEJ I MIKROPROCESOROWEJ EIP KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII WWW.KEIASPE.AGH.EDU.PL AKADEMIA

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Ćwiczenie 01 - Strona nr 1 ĆWICZENIE 01

Ćwiczenie 01 - Strona nr 1 ĆWICZENIE 01 ĆWICZENIE 01 Ćwiczenie 01 - Strona nr 1 Polecenie: Bez użycia narzędzi elektronicznych oraz informatycznych, wykonaj konwersje liczb z jednego systemu liczbowego (BIN, OCT, DEC, HEX) do drugiego systemu

Bardziej szczegółowo

Operacje arytmetyczne

Operacje arytmetyczne PODSTAWY TEORII UKŁADÓW CYFROWYCH Operacje arytmetyczne Bibliografia: Urządzenia techniki komputerowej, K. Wojtuszkiewicz http://pl.wikipedia.org/ Dodawanie dwójkowe Opracował: Andrzej Nowak Ostatni wynik

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Wykład jest przygotowany dla IV semestru kierunku Elektronika i Telekomunikacja. Studia I stopnia Dr inż. Małgorzata Langer Architektura komputerów Prezentacja multimedialna współfinansowana przez Unię

Bardziej szczegółowo

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 8 (3h) Implementacja pamięci ROM w FPGA

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 8 (3h) Implementacja pamięci ROM w FPGA Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 8 (3h) Implementacja pamięci ROM w FPGA Instrukcja pomocnicza do laboratorium z przedmiotu Programowalne Struktury

Bardziej szczegółowo

Wstęp do informatyki- wykład 2

Wstęp do informatyki- wykład 2 MATEMATYKA 1 Wstęp do informatyki- wykład 2 Systemy liczbowe Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania. Wydanie VI, Helion, 2012 www.cplusplus.com Jerzy

Bardziej szczegółowo

Arytmetyka stałopozycyjna

Arytmetyka stałopozycyjna Wprowadzenie do inżynierii przetwarzania informacji. Ćwiczenie 3. Arytmetyka stałopozycyjna Cel dydaktyczny: Nabycie umiejętności wykonywania podstawowych operacji arytmetycznych na liczbach stałopozycyjnych.

Bardziej szczegółowo

Podstawy Informatyki Układ sterujący

Podstawy Informatyki Układ sterujący - wersja szyta - wersja mikroprogramowana Podstawy Informatyki alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi - wersja szyta - wersja mikroprogramowana Plan wykładu 1 Maszyna W Lista rozkazów maszyny

Bardziej szczegółowo

Układy kombinacyjne. cz.2

Układy kombinacyjne. cz.2 Układy kombinacyjne cz.2 Układy kombinacyjne 2/26 Kombinacyjne bloki funkcjonalne Kombinacyjne bloki funkcjonalne - dekodery 3/26 Dekodery Są to układy zamieniające wybrany kod binarny (najczęściej NB)

Bardziej szczegółowo

Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów

Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów Adresowanie obiektów Bit - stan pojedynczego sygnału - wejście lub wyjście dyskretne, bit pamięci Bajt - 8 bitów - wartość od -128 do +127 Słowo - 16 bitów - wartość od -32768 do 32767 -wejście lub wyjście

Bardziej szczegółowo

Przedmiot : Programowanie w języku wewnętrznym. Ćwiczenie nr 4

Przedmiot : Programowanie w języku wewnętrznym. Ćwiczenie nr 4 Przedmiot : Programowanie w języku wewnętrznym Ćwiczenie nr 4 str. 1. 1. Użycie Asemblera. Polecenie JMP. Polecenie nakazuje procesorowi wykonywanie kodu programu od nowego innego miejsca. Miejsce to jest

Bardziej szczegółowo

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. 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

Bardziej szczegółowo

ARYTMETYKA BINARNA. Dziesiątkowy system pozycyjny nie jest jedynym sposobem kodowania liczb z jakim mamy na co dzień do czynienia.

ARYTMETYKA BINARNA. Dziesiątkowy system pozycyjny nie jest jedynym sposobem kodowania liczb z jakim mamy na co dzień do czynienia. ARYTMETYKA BINARNA ROZWINIĘCIE DWÓJKOWE Jednym z najlepiej znanych sposobów kodowania informacji zawartej w liczbach jest kodowanie w dziesiątkowym systemie pozycyjnym, w którym dla przedstawienia liczb

Bardziej szczegółowo

Programowalne układy logiczne

Programowalne układy logiczne Programowalne układy logiczne Układy synchroniczne Szymon Acedański Marcin Peczarski Instytut Informatyki Uniwersytetu Warszawskiego 26 października 2015 Co to jest układ sekwencyjny? W układzie sekwencyjnym,

Bardziej szczegółowo

Laboratorium 1: Wprowadzenie do środowiska programowego. oraz podstawowe operacje na rejestrach i komórkach pamięci

Laboratorium 1: Wprowadzenie do środowiska programowego. oraz podstawowe operacje na rejestrach i komórkach pamięci Laboratorium 1: Wprowadzenie do środowiska programowego oraz podstawowe operacje na rejestrach i komórkach pamięci Zapoznanie się ze środowiskiem programowym: poznanie funkcji asemblera, poznanie funkcji

Bardziej szczegółowo

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. Elementy struktur cyfrowych Magistrale, układy iterowane w przestrzeni i w czasie, wprowadzanie i wyprowadzanie danych. Magistrale W układzie bank rejestrów służy do przechowywania danych. Wybór źródła

Bardziej szczegółowo

Lista instrukcji mikroprocesora 8086. Programowanie w assemblerze

Lista instrukcji mikroprocesora 8086. Programowanie w assemblerze Lista instrukcji mikroprocesora 8086 Programowanie w assemblerze Lista instrukcji mikroprocesora 8086 Lista instrukcji mikroprocesora 8086 Lista instrukcji mikroprocesora 8086 Lista instrukcji mikroprocesora

Bardziej szczegółowo

Systemy wbudowane. Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej. Witold Kozłowski

Systemy wbudowane. Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej. Witold Kozłowski Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej Systemy wbudowane Witold Kozłowski Zakład Fizyki i Technologii Struktur Nanometrowych 90-236 Łódź, Pomorska 149/153 https://std2.phys.uni.lodz.pl/mikroprocesory/

Bardziej szczegółowo

Sprzęt i architektura komputerów

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

Bardziej szczegółowo

Układy sekwencyjne. Podstawowe informacje o układach cyfrowych i przerzutnikach (rodzaje, sposoby wyzwalania).

Układy sekwencyjne. Podstawowe informacje o układach cyfrowych i przerzutnikach (rodzaje, sposoby wyzwalania). Ćw. 10 Układy sekwencyjne 1. Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z sekwencyjnymi, cyfrowymi blokami funkcjonalnymi. W ćwiczeniu w oparciu o poznane przerzutniki zbudowane zostaną układy rejestrów

Bardziej szczegółowo

Stan wysoki (H) i stan niski (L)

Stan wysoki (H) i stan niski (L) PODSTAWY Przez układy cyfrowe rozumiemy układy, w których w każdej chwili występują tylko dwa (zwykle) możliwe stany, np. tranzystor, jako element układu cyfrowego, może być albo w stanie nasycenia, albo

Bardziej szczegółowo

Układy logiczne układy cyfrowe

Układy logiczne układy cyfrowe Układy logiczne układy cyfrowe Jak projektować układy cyfrowe (systemy cyfrowe) Układy arytmetyki rozproszonej filtrów cyfrowych Układy kryptograficzne X Selektor ROM ROM AND Specjalizowane układy cyfrowe

Bardziej szczegółowo

Architektura komputerów

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

Bardziej szczegółowo

Programowanie w językach asemblera i C

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ć

Bardziej szczegółowo

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. Elementy struktur cyfrowych Magistrale, układy iterowane w przestrzeni i w czasie, wprowadzanie i wyprowadzanie danych. PTC 2015/2016 Magistrale W układzie cyfrowym występuje bank rejestrów do przechowywania

Bardziej szczegółowo

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

Wstęp do informatyki. Architektura co to jest? Architektura Model komputera. Od układów logicznych do CPU. Automat skończony. Maszyny Turinga (1936) Wstęp doinformatyki Architektura co to jest? Architektura Model komputera Dr inż Ignacy Pardyka Slajd 1 Slajd 2 Od układów logicznych do CPU Automat skończony Slajd 3 Slajd 4 Ile jest automatów skończonych?

Bardziej szczegółowo

Samodzielnie wykonaj następujące operacje: 13 / 2 = 30 / 5 = 73 / 15 = 15 / 23 = 13 % 2 = 30 % 5 = 73 % 15 = 15 % 23 =

Samodzielnie wykonaj następujące operacje: 13 / 2 = 30 / 5 = 73 / 15 = 15 / 23 = 13 % 2 = 30 % 5 = 73 % 15 = 15 % 23 = Systemy liczbowe Dla każdej liczby naturalnej x Î N oraz liczby naturalnej p >= 2 istnieją jednoznacznie wyznaczone: liczba n Î N oraz ciąg cyfr c 0, c 1,..., c n-1 (gdzie ck Î {0, 1,..., p - 1}) taki,

Bardziej szczegółowo

Ćw. 7: Układy sekwencyjne

Ćw. 7: Układy sekwencyjne Ćw. 7: Układy sekwencyjne Wstęp Celem ćwiczenia jest zapoznanie się z sekwencyjnymi, cyfrowymi blokami funkcjonalnymi. W ćwiczeniu w oparciu o poznane przerzutniki zbudowane zostaną następujące układy

Bardziej szczegółowo

Modelowanie liczników w języku Verilog i ich implementacja w strukturze FPGA

Modelowanie liczników w języku Verilog i ich implementacja w strukturze FPGA Modelowanie liczników w języku Verilog i ich implementacja w strukturze FPGA Licznik binarny Licznik binarny jest najprostszym i najpojemniejszym licznikiem. Kod 4 bitowego synchronicznego licznika binarnego

Bardziej szczegółowo

CoDeSys 3 programowanie w języku drabinkowym LD

CoDeSys 3 programowanie w języku drabinkowym LD Notatka Aplikacyjna NA 03004PL Spis treści 1. Wstęp... 2 1.1. Wymagania programowe... 2 2. Tworzenie projektu i dodawanie programu w LD... 3 3. Organizacja okien dla języka LD... 5 4. Składnia języka LD

Bardziej szczegółowo

SML3 październik 2008

SML3 październik 2008 25 100_LED8 Moduł zawiera 8 diod LED dołączonych do wejść za pośrednictwem jednego z kilku możliwych typów układów (typowo jest to układ typu 563). Schemat Moduł jest wyposażony w dwa złącza typu port

Bardziej szczegółowo

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: SYNTEZA UKŁADÓW CYFROWYCH ES2D100005

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: SYNTEZA UKŁADÓW CYFROWYCH ES2D100005 Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: SYNTEZA UKŁADÓW CYFROWYCH ES2D100005 Ćwiczenie Nr 9 Procesor złożony Opracował:

Bardziej szczegółowo

Projekt zespołowy. Część1: Projekt potokowej jednostki przetwarzającej przeznaczonej do realizacji algorytmu FFT. Rok akademicki 2008/2009

Projekt zespołowy. Część1: Projekt potokowej jednostki przetwarzającej przeznaczonej do realizacji algorytmu FFT. Rok akademicki 2008/2009 Projekt zespołowy Rok akademicki 2008/2009 Część1: Projekt potokowej jednostki przetwarzającej przeznaczonej do realizacji algorytmu FFT Kierunek studiów: Semestr: Grupa: Informatyka VII PKiSI 2 Wykonawca:

Bardziej szczegółowo

SML3 październik

SML3 październik SML3 październik 2005 24 100_LED8 Moduł zawiera 8 diod LED dołączonych do wejść za pośrednictwem jednego z kilku możliwych typów układów (typowo jest to układ typu 563). Moduł jest wyposażony w dwa złącza

Bardziej szczegółowo

AHDL - Język opisu projektu. Podstawowe struktury języka. Komentarz rozpoczyna znak i kończy znak %. SUBDESIGN

AHDL - Język opisu projektu. Podstawowe struktury języka. Komentarz rozpoczyna znak i kończy znak %. SUBDESIGN AHDL - Język opisu projektu. Podstawowe struktury języka Przykładowy opis rewersyjnego licznika modulo 64. TITLE "Licznik rewersyjny modulo 64 z zerowaniem i zapisem"; %------------------------------------------------------------

Bardziej szczegółowo

Wstęp...9. 1. Architektura... 13

Wstęp...9. 1. Architektura... 13 Spis treści 3 Wstęp...9 1. Architektura... 13 1.1. Schemat blokowy...14 1.2. Pamięć programu...15 1.3. Cykl maszynowy...16 1.4. Licznik rozkazów...17 1.5. Stos...18 1.6. Modyfikowanie i odtwarzanie zawartości

Bardziej szczegółowo

Automatyzacja i robotyzacja procesów produkcyjnych

Automatyzacja i robotyzacja procesów produkcyjnych Automatyzacja i robotyzacja procesów produkcyjnych Instrukcja laboratoryjna Technika cyfrowa Opracował: mgr inż. Krzysztof Bodzek Cel ćwiczenia. Celem ćwiczenia jest zapoznanie studenta z zapisem liczb

Bardziej szczegółowo

Technologie Informacyjne

Technologie Informacyjne System binarny Szkoła Główna Służby Pożarniczej Zakład Informatyki i Łączności October 7, 26 Pojęcie bitu 2 Systemy liczbowe 3 Potęgi dwójki 4 System szesnastkowy 5 Kodowanie informacji 6 Liczby ujemne

Bardziej szczegółowo