Kierunek INFORMATYKA. Specjalność "Informatyka morska" Przedmiot Architektura Systemów Komputerowych

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

Download "Kierunek INFORMATYKA. Specjalność "Informatyka morska" Przedmiot Architektura Systemów Komputerowych"

Transkrypt

1 Kierunek INOMATYKA Specjalność "Informatyka morska" Przedmiot Architektura Systemów Komputerowych Wstęp w pracy laboratoryjne Architektura mikrokomputera SimpSim, programowanie na Asemblerze i kompilacja na język maszynowy Prof. zw. dr hab. Evgeny Ochin 1 Szczecin, Dydaktyka E.Ochina Praca naukowa E.Ochina

2 Spis treści Niektóre notacji i definicje... 3 Architektura mikrokomputera SimpSim... 4 Zasada sterowania programowego... 5 Wejście i dodawanie dwóch liczb całkowitych... 5 Wejście, dodawanie i odejmowanie dwóch liczb całkowitych... 7 Organizacja cyklów za pomocy operacji jmple... 8 Organizacja przesunięcia cyklicznego w prawo za pomocy operacji ror Symulator mikrokomputera SimpSim Kod maszynowy do MK SimpSim Kod Asemblera do MK SimpSim Dodawanie dwóch liczb na Asemblerze Mnożenie przez dodawanie na Asemblerze Lądowanie operandów mikrokomputera SimpSim Asembler mikrokomputera SimpSim (szczegółowy opis) Przykłady programowania na Asemblerze mikrokomputera SimpSim Program Hello world Program dodawania liczb całkowitych Program dodawania liczb zmiennoprzecinkowych Program odwracania kolejności danych Program sortowania danych z najmniejszych do największych Krótko o mikroprogramowaniu mikrokomputera SimpSim Literatura Strona 2

3 Niektóre notacji i definicje Bit b (ang. bit = binary digit) jest to najmniejsza jednostka pamięci komputerowej. Bit przyjmuje dwa znaczenia bє{0,1}. Bajt B (ang. Byte) jest to ciąg 8 bitów, numerowanych od prawej do lewej B[7:0] lub od lewej do prawej B[0:7]. Tabela 1. Definicja bajtu 1B=8b, bity numerowane od prawej do lewej 1B=8b, bity numerowane od lewej do prawej Słowo W (ang. Word) jest to ciąg 16 bitów, numerowanych od prawej do lewej W[15:0] lub od lewej do prawej W[0:15]. Słowo podwójne WW jest to ciąg 32 bitów, numerowanych od prawej do lewej WW[31:0] lub od lewej do prawej WW[0:31]. Kilobajt KB jest to ciąg 2 10 =1024 bajtów, numerowanych od lewej do prawej KB(0:2 10-1)[7:0]. Megabyte MB jest to ciąg 2 20 =1024x1024 bajtów, numerowanych od lewej do prawej MB(0: )[7:0]. Gigabyte GB jest to ciąg 2 30 =1024x1024x1024 bajtów, numerowanych od lewej do prawej GB(0: )[7:0]. Dalej są jednostki informacyjne terabyte, petabyte, exabyte i inne. SL Systemy Liczbowe SL 2 SL dwójkowy SL 16 SL szesnastkowy SL 10 SL dziesiętny SL 2-10 SL dwójkowo-dziesiętny MK Mikro Komputer Mikroprogramowalny układ sterujący to układ o stałej strukturze sprzętowej, którego działanie jest opisane tzw. mikroprogramem. Program ten zapisywany jest w pamięci układu (OM (ys.21), POM lub EPOM) zwanej pamięcią sterowania. Mikrooperacją nazywa się elementarną czynność możliwą do wykonania w danym układzie w jednym takcie jego pracy. Mikrorozkazem nazywa się słowo dwójkowe określające sygnały wyjściowe w układzie sterującym. Słowo to jest przechowywane w pamięci (OM (ys.21), POM lub EPOM) i powoduje wykonanie jednej lub kilku mikrooperacji. Mikroinstrukcją nazywa się sformalizowany zapis opisujący czynności wykonywane przez układ sterujący w jednym elementarnym takcie jego pracy. Mikroprogramem nazywa się sekwencję mikroinstrukcji (słów sterujących). Mikroprogramowaniem poziomym nazywać będziemy taki sposób pracy układu sterującego, w którym generowanie sygnałów sterujących, wykonaniem mikrooperacji jest takie, że każdy bit mikrorozkazu reprezentuje niezależny sygnał sterujący. Przy takim sposobie mikroprogramowania każdy rozkaz ma od razu format mikrorozkazu. Mikrooperacje są kodowane w kodzie 1 z N. Mikroprogramowaniem pionowym nazywać będziemy taki sposób pracy układu sterującego, w którym wykonanie rozkazu polega na zainicjowaniu odpowiedniej sekwencji mikrorozkazów reprezentujących mikroprogram a kody mikrorozkazów tworzą sektory przyporządkowane wykonywanym funkcjom sterującym (mikrooperacjom). Mikrooperacje są kodowane dowolnym kodem (ys.21). Mikro Komputer = Procesor + Pamięć rejestrowa () + Pamięć główna () + Układy Wejścia/Wyjścia danych + Magistrale danych, adresowa i sterująca ys. 1. Architektura najprostszego mikrokomputera Procesor = Jednostka Arytmetyczno-Logiczna (ALU) + Licznik programowy (PC) + ejestr rozkazów (I) Strona 3

4 Architektura mikrokomputera SimpSim Mikrokomputer SimpSim (MK SimpSim) nie istnieje w sprzęcie. aczej jest to symulacja sprzętu przy użyciu programów uruchamianych na komputerach z systemem Windows i Linux. SimpSim reprezentuje wielu z rzeczywistych cech prawdziwych komputerów. Architektura mikrokomputera SimpSim została opracowana w holenderskim Uniwersytecie Twente 2 wyłącznie do celów edukacyjnych. Kierownik projektu dr Anne-Gert Bultena potwierdziła, że Akademia Morska w Szczecinie mogą korzystać Symulator Mikrokomputera SimpSim bez ograniczeń 3. ys. 2. Architektura mikrokomputera SimpSim adresacjia pamęci rejestrowej (Asembler SimpSim) adresacjia pamęci glównej (Asembler SimpSim) ALU(addi, addf, and, or, xor, ror) o[7:0]=db[0].db[6:0] 4 PC[7:0] I[15:0] Pamięć rejestrowa (0:15)[7:0] organizowana jako zestaw 16 rejestrów jednobajtowych z umożliwia jednoczesnego odczytu pary operandów. Pamięć główna (0:255)[7:0] organizowana jako zestaw 256 komórek jednobajtowych TUTAJ KOPKA (.) OZNACZA KONKATENACJI, TZN POŁĄCZENIE DWÓCH CIĄGÓW BITOWYCH Strona 4

5 Zasada sterowania programowego Begin [00:) 0; PC:=0; [0:] 0 I:=[PC].[PC+1] PC:=PC+2 I 3 =C (halt) 0 1 End Deczyfracja kodu rozkazu I3 Wykonanie operacji I3 ys. 3. Zasada sterowania programowego Wejście i dodawanie dwóch liczb całkowitych ys. 4. Program wejścia (load) i dodawania dwóch liczb całkowitych B=B +B (addi skrót od addition integer) Strona 5

6 ys. 5. Dump (treśći) pamęci mikrokomputera SimpSim po wykonaniu operacji B=B +B ys. 6. Struktura mikrokomputera SimpSim: wykonanie pozkazu Addi 321 Strona 6

7 Wejście, dodawanie i odejmowanie dwóch liczb całkowitych ys. 7. Program wejścia, dodawania i odejmowanie dwóch liczb całkowitych (B=B +B i B=B -B ) ys, 8. Dump (treści) pamięci mikrokomputera SimpSim po wykonaniu operacji B=B +B (halt perwszy) Strona 7

8 ys. 9. Dump (treści) pamięci mikrokomputera SimpSim po wykonaniu operacji B=B -B (halt drugi) Organizacja cyklów za pomocy operacji jmple ys. 10. Aplikacja operacji jmple Strona 8

9 ys. 11. Dump (treści) pamięci mikrokomputera SimpSim po wykonaniu operacji Cicle jmple ys. 12. Struktura mikrokomputera SimpSim: wykonanie pozkazu jmple A<=0, 06 Strona 9

10 Organizacja przesunięcia cyklicznego w prawo za pomocy operacji ror ys. 13. Aplikacja operacji przesunięcia cyklicznego w prawo na 3 bity ys. 14. Dump (treści) pamięci mikrokomputera SimpSim po wykonaniu operacji przesunięcia cyklicznego w prawo na 3 bity Strona 10

11 ys. 15. Struktura mikrokomputera SimpSim: wykonanie przesunięcia cyklicznego w prawo na 3 bity ys. 16. Przesunięcie cykliczne w prawo na 1 bit Strona 11

12 ys. 17. Dump (treści) pamięci mikrokomputera SimpSim po wykonaniu przesunięcia cyklicznego w prawo na 1 bit Strona 12

13 Symulator mikrokomputera SimpSim Kod maszynowy do MK SimpSim MK SimpSim pozwala programom do wykonania tylko na poziomie kodów maszynowych. Kod maszynowy jest na najniższym poziomie abstrakcji. Użytkownik nie musi myśleć o takich rzeczach jak PC, I lub szczegóły cyklu maszyny. Wszystkie instrukcje komputerowe składa się z kodu operacji i pola argumentu. Dla MK SimpSim kod operacji składa się z 4 bitów (jest to możliwe mieć do 16 różnych instrukcji). Pole argument ma dwa formaty (Tab. 2). Tabela 2. ormaty instrukcji 4 bit 4 bit 4 bit 4 bit ormat I KOP L M N ormat II KOP L Adres Adding two numbers using machine code: Adres Kod maszynowy Wyjaśnienie A 0:=(OA) B 1:=(OB :=0+1 (dodawanie całkowite) C (0C):=2 08 C wstrzymanie komputera 0A 12 komórka ma wartość 12 hex, który jest 18 w systemie dziesiętnym 0B AC komórka ma wartość AC hex, która jest 172 w systemie dziesiętnym 0C 00 komórka dostaje odpowiedź od dodania Kod Asemblera do MK SimpSim Assembly code is the next level up in abstraction from machine code. The assembly code is run through the assembler (a kind of software) that converts the code to machine code that the machine recognizes. Assembly code is a level down in abstraction from high level code such as Python. It is easier to write assembly code than machine code but not as easy as high level code. Assembly code is specific to a particular machine architecture. The assembly code for an Intel processor is different than that for say a Motorola processor. This is a disadvantage of assembly code since most high level languages can be recompiled for a new architecture with very few changes. Send me telling me you read this so I can see if students are taking advantage of this. Please do not tell friends - no grade is involved here. This is for information purposes only. The advantages of assembly code are that it creates very fast machine code - faster in many cases than high level code. It also allows access to specific hardware devices with their own characteristics. Kod Asemblera jest wyższy poziom abstrakcji od koda maszynowego. Asembler (oprogramowanie) konwertuje kod Asemblera do kodu maszynowego, że urządzenie rozpoznaje. Łatwiej jest napisać kod Asemblera niż kod maszynowy, ale nie jest tak proste jak kod na języku wysokiego poziomu, na przykład na Paskale. Kod Asemblera jest specyficzne dla każdej innej architektury maszyny - kod Asemblera do procesora Intel jest inny niż do procesora Motorola. To jest wadą Asemblera, ponieważ większość kodu Asemblera powinna być ponownie skompilowana dla nowej architektury. Korzyści z kodem Asemblera jest to, że tworzy bardzo szybki kod maszynowy - szybciej niż w wielu przypadkach kodu wysokiego poziomu. Strona 13

14 Dodawanie dwóch liczb na Asemblerze Etykieta Kod operacji Argument Wyjaśnienie load 0, [val1] 0:= (vol1)= (OA) load 1, [val2] 1:= (vol2) = (OB) addi 2, 1, 0 2:=0+1 (dodawanie całkowite) store 2, [ans] (ans)= (0C):=2 halt val1: db 18 val2: db 172 wstrzymanie komputera komórka ma wartość 12 hex, który jest 18 w systemie dziesiętnym komórka ma wartość AC hex, która jest 172 w systemie dziesiętnym val3: db 0, [val1] komórka dostaje odpowiedź od dodania Mnożenie przez dodawanie na Asemblerze Etykieta Kod operacji, gdzie B mnożna, B mnożnik, B iloczyn. Argument Wyjaśnienie load 1, [val1] mnożna load 0, [val2] mnożnik load 2, [zero] Iloczyn 2:=0 load 3, [one] 3:=1 move 4, 3 4:=3=1 loop: addi 2, 1, 2 2:=2+1 addi 4, 4, 3 4:=4+1 jmple 4<=0, loop If 4<=0 then goto loop store 2, [ans] (ans):=2 halt wstrzymanie komputera val1: db 3 komórka ma wartość 3 val2 db 7 komórka ma wartość 7 zero: db 0 komórka ma wartość 0 one: db 1 komórka ma wartość 1 ans: db 0 komórka dostaje odpowiedź od mnożenia (ans)= (vol1)*(vol2) Strona 14

15 16 rejestrów 0 Licznik programowy PC:=0 256 komórek pamięci głównej [00] [] ejestr rozkazów [01]= Wyniki kompilacji []= Otworzyć program w asemblerze Uruchomić program Uruchomić program krokami Pisać program w asemblerze Wyczyścić, i, PC ys. 18. Główne okno symulatora SimpSim Lądowanie operandów mikrokomputera SimpSim a) b) c) Program ładowania pary operandów B' i B" i operacji B=B +B. a) ładowanie pary operandów B' i B" w systemie dziesiętnym; b) ładowanie pary operandów B' i B" w systemie dwójkowym; c) ładowanie pary operandów B' i B" w systemie szesnastkowym. Strona 15

16 Asembler mikrokomputera SimpSim (szczegółowy opis) Kod operacji 2 ozkaz asemblera i kompilacja w kod maszynowy (=>) load N,XY=> 2N,XY N:=XY; load 3,9 ;=> 23,09 Przykład (opis) load 3,9 ;=> 23, E E I store N, [XY]=>3N,XY [XY]:=N; load 3,9 ;=> 23,09 store 3,[Eh];=>33,E; PC PC:=PC+2 load 3,9 ;=> 23,09 store 3,[Eh];=>33,E; E E I load N,[XY]=>1N,XY N:=[XY]; load 1,[02h];=>11,02 PC PC:=PC+2 load 1,[02h] ;=>11, E E I move N, M=>4N,M0 N:= M; load 2,09;=>22,09 move 0,2;=>40,20 PC PC:=PC+2 load 2,09 ;=>22,09 move 0,2 ;=>40, E E I PC PC:=PC+2 Strona 16

17 addi L, M, N=>5L,MN L:=M+N; 0=1+ 2 ALU addi 5 load 1,18 ;=>21,18 load 2,09 ;=>22,09 addi 0,1,2;=> 50, E E I addf L, M, N=>6L,MN; L:=M+N; PC PC:=PC+2 0=1+ 2 ALU addf 6 load 1,18 ;=>21,18 load 2,09 ;=>22,09 addf 0,1,2;=> 60, E E I or L, M, N=>7L,MN L:=M or N; PC PC:=PC+2 0=1v 2 ALU or 7 load 1, b;=>21,18 load 2, b;=>22,09 or 0,1,2;=> 70, E E I PC PC:=PC+2 Strona 17

18 and L, M, N=>7L,MN L:=M and N; 0=1 & 2 ALU and 8 load 1, b;=>21,18 load 2, b;=>22,09 and 0,1,2;=> 70, E E I xor L, M, N=>7L,MN L:=M xor N; PC PC:=PC+2 0=1 2 ALU xor 9 A load 1, b;=>21,18 load 2, b;=>22,09 xor 0,1,2;=> 70,12 Cykliczne przesunięcie w prawo (ror rotate to the right) ror N,M=>AN,M0 N= cykliczne przesunięcie N w prawo o K pozycjach bitowych. load 2, b; =>21,18 move 1, 2; =>41,20 ror 1,2; =>A1,02; cykliczne przesunięcie zawartości rejestru 1 w prawo o 2 pozycjach bitowych, 1:= 1[1:0].1[7:2] E E I PC PC:=PC+2 load 2, b; =>21,18 move 1, 2; =>41,20 ror 1,2; =>A1,02; E E I PC PC:=PC+2 1= b' 7 b' 6 b' 5 b' 4 b' 3 b' 2 b' 1 b' 0 1= b" 1 b" 0 b" 7 b" 6 b" 5 b" 4 b" 3 b" 2 Strona 18

19 jmpeq N=>0, XY if N=0 then PC:=XY (skok warunkowy) jmpeq 2=0, 14=> B2,0E; if 2=0 then PC:=14 jmpeq 2=0,14 ALU = E E I PC PC:=PC+2 jmpeq 2=0,14 ALU = B jmpeq N=0, etykieta if N=0 then PC:= etykieta (skok warunkowy) jmpeq 2=0, End=> B2,0E; if 2=0 then PC:=End; {End=0E} jmp XY jmpeq 0=0, XY PC := XY; (skok bezwarunkowy) jmp 12=> B0,0C; PC := 12; E E I PC PC:=PC+2 jmp 12 ALU = E E I PC PC:=PC+2 Strona 19

20 D load N, [M]=>DN,[M] N := [M] load 1, [2]=> D0,12; 1 := [2] load 1, [2]; =>D0,12; 1 := [2] E E I PC PC:=PC+2 E store N, [M]=>EN,M [M] := N store 1, [2]; =>E0,12 [1] := 2 jmple N<=0, XY=>N,XY if N<=0 then PC:=XY (skok warunkowy) jmple 2<=0,14=> 2,0E; if 2<=0 then PC:=14 store 1, [2]; =>E0,12; [1] := E E I PC PC:=PC+2 jmple 2<=0,14 ALU <= E E I C halt Pseudo-Operacji db N db M,N,.. db "string",0 org addr PC PC:=PC+2 Pseudo-Operacji mikrokomputera SimpSim Opis DATA BYTE: umieszczenie określonej wartości (s) w kolejnej lokalizacji pamięci (s). Bajty danych może być określony pojedynczo, na liście oddzielone przecinkami, lub jako ciąg znaków (zamknięty w cudzysłowie). Przykłady: db 1,4,9,16,25,36 db "Hello, world",10,0 (ciąg zakończony zerem, ze znakiem nowego wiersza następujące znaki druku) OIGIN: Umieść następną instrukcję lub bajt danych na adres pamięci addr. Pozwala to program lub informacje być umieszczone w dowolnych miejscach w pamięci. Strona 20

21 Przykłady programowania na Asemblerze mikrokomputera SimpSim Program Hello world ; Hello world.asm ; Ten program w asemblerze SimpSim drukuje prostą wiadomość. ; To pokazuje: ; asemblowanie na język maszynowy ; Segmenty programu i danych w pamięci ; drukowanie (z wykorzystaniem ) ; bezpośrednie, natychmiastowe, jak i pośrednie ładowanie danych ; labels warunkowe i bezwarunkowe skoki z etykietami ; dodawanie całkowite ; zatrzymanie ; bajty danych całkowite i tekstowe load 1,Text ; początek tekstu load 2,1 ; wzrost load 0,0 ;tekst-terminator NextChar:load,[1] ; uzyskać znak i wydrukować go na ekranie addi 1,1,2 ; wzrost adresu jmpeq =0,eady ; kiedy tekst-terminator, gotowe jmp NextChar ; następny znak eady: halt org 20h ;; Zaczyna się segment danych 0x20 Text: db 10 db "Hello world!!",10 db " from the",10 db " Simple Simulator",10 db 0 ; tekst-terminator Strona 21

22 Program dodawania liczb całkowitych load A,87d ; Konwersja D'10 => B'2= ; =Z' b'6 b'5 b'4 b'3 b'2 b'1 b'0 ; i zapisywanie w rejestr N10 (A) load B,-92d ; Konwersja D''10 => B''2= ; Z'' b''6 b''5 b''4 b''3 b''2 b''1 b''0 ; i zapisywanie w rejestr N11 (B) addi C,A,B ; Wykonanie operacji B=B'+B''=87-92=-5 ; i zapisywanie sumy (B) w rejestr N12 (C) halt ; Stop programu B= b=-5 Program dodawania liczb zmiennoprzecinkowych load 0, b ; 0:=-(3/16)*2^(1-4)=-3/128 load 1, b ; 1:=(2/16)*2^(3-4)=1/16 addf 2,1,0 ; 2:=1+2 jako loat halt ; -3/128+1/16=5/128 OA= b=10/16*2^(0-4)=5/128 Strona 22

23 Program odwracania kolejności danych ; Ten program w asemblerze SimpSim odwraca kolejność danych. ; Dane wejściowe: 1,12,23,34,45,56 ; Dane wyjściowe: 56, 45, 34, 23, 12, 1 ;; 1. Załaduj wskaźniki Lo i Hi, jako początek i koniec danych load 1,Data ; Lo wskaźnik (początek danych) load 2,EndOfData ; Hi wskaźnik (koniec danych) load 3,1 ; zwiększyć wskaźnik Lo load 4,-1 ; zmniejszyć wskaźnik Hi addi 2,2,4 ; zmniejszanie wskaźniku Hi do ostatniego elementu danych Loop: ;; 2. Sprawdź, czy skończyliśmy (if Hi <= Lo) move 0,1 ; Kopiowanie wskaźniku Lo w 1 do 0 jmple 2<=0,Done ; If (Hi <= Lo) skocz do Done ;; 3. Wymiana [Hi] i [Lo] load 5,[1] ; Załaduj [Lo] do 5 load 6,[2] ; Załaduj [Hi] do 6 store 5,[2] ; Załaduj 5 ([Lo]) do [Hi] store 6,[1] ; Załaduj 6 ([Hi]) do [Lo] ;; 4. Przesuń Lo wyższej jednym i Hi niżej jednym addi 1,1,3 ; Dodaj jeden do Lo addi 2,2,4 ; Odejmij jeden z Hi ;; 5. Kontynuuj pętli jmp Loop Done: ;; 6. Halt -- Skończyliśmy! halt org 20h ; rozpocząć segment danych w pamięci (lokalizacja 20h) Data: db 1h,12h,23h,34h,45h,56h,67h,78h,89h,9Ah EndOfData: db 0 ; Terminator danych Dane wejściowe: 1,12,23,34,45,56 Dane wyjściowe: 56,45,34,23,12,1 Strona 23

24 Program sortowania danych z najmniejszych do największych ; Ten program w asemblerze SimpSim sortuje dane z najmniejszych do największych. ; Dane wejściowe: 2,77,3,66,4,55,5,44,6,33,7,22,8,11,9 ; Dane wyjściowe: 2,3,4,5,6,7,8,9,11,22,33,44,55,66,77 ;; 1. Załaduj wskaźniki Lo i Hi, jako początek i koniec danych load 1,Data ; Lo wskaźnik (początek danych) load 2,EndOfData ; Hi wskaźnik (koniec danych) load 3,1 ; zwiększyć wskaźnik Lo load 4,-1 ; zmniejszyć wskaźnik Hi addi 2,2,4 ; zmniejszanie wskaźniku Hi do ostatniego elementu danych OuterLoop: ;; 2. Sprawdź, czy skończyliśmy (if Hi <= Lo) move 0,1 ; 0 Kopiowanie wskaźniku Lo w 1 do 0 jmple 2<=0,Done ; If (Hi <= Lo) skocz do Done ;; 3. Ustaw lowestemainingpointer (5) na bieżący wskaźnik Lo (1) move 5,1 ;; 4. Ustaw lowestemaining (6) do M[bieżący wskaźnik Lo] load 6,[1] ;; 5. Ustaw nextcheckpointer (7) do wskaźniku Lo + 1 move 7,1 ;; 7 <- 1 (wskaźnik Lo) addi 7,7,3 ;; 7 < (wskaźniku Lo + 1) InnerLoop: ;; 6. Jeśli HiPointer < nextcheckpointer, iść do inishinnerloop move 0,7 ;; 0 <- 7 (nextcheckpointer) addi 0,0,4 ;; 0 <- nextcheckpointer - 1 jmple 2<=0,ContinueOuterLoop ;; 2 jest HiPointer ;; 7. Jeśli wartość w M[nextCheckPointer] <= M[lowestemainingPointer] ;; ustaw lowestemainingpointer i lowestemaining w nextcheck move 0,6 ;; 0 <- lowestemaining (= M[lowestemainingPointer]) load 8,[7] ;; 8 <- M(nextCheckPointer) jmple 8<=0,oundLower ;; Znaleziony dolna, więc przechowywać go jmp ContinueInnerLoop ;; Jeśli nie znaleźliśmy jedną, część przechowującą pominąć oundlower: move 5,7 ;; lowestemainingpointer <- nextcheckpointer; move 6,8 ;; lowestemaining <- M[nextCheckPointer]; ContinueInnerLoop: ;; 8. wzrost nextcheckpointer i kontynuować z InnerLoop addi 7,7,3 ;; nextcheckpointer <- nextcheckpointer + 1; jmp InnerLoop ContinueOuterLoop: ;; 9. Znaleźliśmy lowestemaining numer i jego wskaźnik ;; Więc zamienić M[Lo Pointer] z M[lowestemainingPointer] load 9,[1] ;; 9 <- M[Lo Pointer] store 6,[1] ;; M[Lo Pointer] = M[lowestemainingPointer] store 9,[5] ;; M[lowestemainingPointer] = stary M[Lo Pointer] ;; 10. zwiększyć Lo Pointer i kontynuować z OuterLoop addi 1,1,3 ;; LoPointer = LoPointer + 1; jmp OuterLoop Done: ;; 11. Halt -- Skończyliśmy! halt org 0x40 ; rozpocząć segment danych w pamięci (lokalizacja 40h) Data: db 2h,77h,3h,66h,4h,55h,5h,44h,6h,33h db 7h,22h,8h,11h,9h EndOfData: db 0 ; Terminator danych Strona 24

25 Dane wejściowe: 2,77,3,66,4,55,5,44,6,33,7,22,8,11,9 Dane wejściowe: 2,3,4,5,6,7,8,9,11,22,33,44,55,66,77 Strona 25

26 Krótko o mikroprogramowaniu mikrokomputera SimpSim ysunek 19. Zasada sterowania programowego mikrokomputera SimpSim Strona 26

27 ys. 20. Zasada sterowania mikroprogramowego i struktura mikroprogramy mikrokomputera SimpSim Strona 27

28 ys. 21. Struktura automatu mikroprogramowego mikrokomputera SimpSim Literatura 1. Ochin E. Systemy Liczbowe Wykład 03, 2. Ochin E. Systemy liczbowe. Lulu Publishing, aleigh, North Carolina, USA, Ochin E. Akademia Morska, wydz. Nawigacyjny, kier. "TANSPOT", przedm. "IT", 4. Wałaszek J 5. Systemy liczenia Wałaszek J. Zapis w systemie uzupełnień do 2 - U2, 6. Wałaszek J. System U Wałaszek J. Algorytmy Wałaszek J. Informacja w komputerze Wałaszek J. Sieci komputerowe Dydaktyka E.Ochina 11.Praca naukowa E.Ochina Linki wideo 1. Ochin E. Systemy Liczbowe Wykład 03, 2. System ósemkowy - Jak przeliczać liczby na system oktalny? [holicy.pl] 3. System hexadecymalny - zamiana liczb na system szesnastkowy [holicy.pl] 4. Pozycyjny system liczbowy: wprowadzenie 5. [Systemy liczbowe] Całkowite liczby binarne i dziesiętne - przeliczanie [helpbay.org] 5 I LICEUM OGÓLNOKSZTAŁCĄCE IM. KAZIMIEZA BODZIŃSKIEGO W TANOWIE MG JEZY WAŁASZEK, Strona 28

A Machine Architecture that is Really Intuitive and Easy. Dane: notacja dwójkowa, zapis w kodzie dopełnieniowym

A Machine Architecture that is Really Intuitive and Easy.  Dane: notacja dwójkowa, zapis w kodzie dopełnieniowym MARIE A Machine Architecture that is Really Intuitive and Easy http://computerscience.jbpub.com/ecoa Słowo 16b Dane: notacja dwójkowa, zapis w kodzie dopełnieniowym od 8000h (- 32,768 = -2^15) do 7FFFh

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

. 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

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

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

Techniki multimedialne

Techniki multimedialne Techniki multimedialne Digitalizacja podstawą rozwoju systemów multimedialnych. Digitalizacja czyli obróbka cyfrowa oznacza przetwarzanie wszystkich typów informacji - słów, dźwięków, ilustracji, wideo

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

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

Wprowadzenie do informatyki i użytkowania komputerów. Kodowanie informacji System komputerowy

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ęć

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

Programowanie Niskopoziomowe

Programowanie Niskopoziomowe Programowanie Niskopoziomowe Wykład 2: Reprezentacja danych Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Plan Kilka ciekawostek Zapisy binarny, oktalny, decymalny

Bardziej szczegółowo

Arytmetyka komputera. Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka. Opracował: Kamil Kowalski klasa III TI

Arytmetyka komputera. Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka. Opracował: Kamil Kowalski klasa III TI Arytmetyka komputera Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka Opracował: Kamil Kowalski klasa III TI Spis treści 1. Jednostki informacyjne 2. Systemy liczbowe 2.1. System

Bardziej szczegółowo

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

12. Wprowadzenie Sygnały techniki cyfrowej Systemy liczbowe. Matematyka: Elektronika: PRZYPOMNIJ SOBIE! Matematyka: Dodawanie i odejmowanie "pod kreską". Elektronika: Sygnały cyfrowe. Zasadę pracy tranzystorów bipolarnych i unipolarnych. 12. Wprowadzenie 12.1. Sygnały techniki cyfrowej

Bardziej szczegółowo

Architektura komputerów Reprezentacja liczb. Kodowanie rozkazów.

Architektura komputerów Reprezentacja liczb. Kodowanie rozkazów. Architektura komputerów Reprezentacja liczb. Kodowanie rozkazów. Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka

Bardziej szczegółowo

Procesor i jego architektura (CISC, RISC, 32/64 bity). Systemy wieloprocesorowe. wer Wojciech Myszka 16 pa«zdziernika 2008

Procesor i jego architektura (CISC, RISC, 32/64 bity). Systemy wieloprocesorowe. wer Wojciech Myszka 16 pa«zdziernika 2008 Procesor i jego architektura (CISC, RISC, 32/64 bity). Systemy wieloprocesorowe. wer. 1.4 Wojciech Myszka 16 pa«zdziernika 2008 CISC I Complex Instruction Set Computers nazwa architektury mikroprocesorów

Bardziej szczegółowo

Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego

Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego Arytmetyka cyfrowa Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego (binarnego). Zapis binarny - to system liczenia

Bardziej szczegółowo

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 5 Liczby w komputerze

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 5 Liczby w komputerze Podstawy Informatyki Inżynieria Ciepła, I rok Wykład 5 Liczby w komputerze Jednostki informacji Bit (ang. bit) (Shannon, 948) Najmniejsza ilość informacji potrzebna do określenia, który z dwóch równie

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

Lista Rozkazów: Język komputera

Lista Rozkazów: Język komputera Lista Rozkazów: Język komputera Większość slajdów do tego wykładu to tłumaczenia i przeróbki oficjalnych sladjów do podręcznika Pattersona i Hennessy ego Lista rozkazów Zestaw rozkazów wykonywanych przez

Bardziej szczegółowo

ARCHITEKTURA PROCESORA,

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

Bardziej szczegółowo

Pracownia Komputerowa wykład VI

Pracownia Komputerowa wykład VI Pracownia Komputerowa wykład VI dr Magdalena Posiadała-Zezula http://www.fuw.edu.pl/~mposiada 1 Przypomnienie 125 (10) =? (2) Liczby całkowite : Operacja modulo % reszta z dzielenia: 125%2=62 reszta 1

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 komputerów wer. 7

Architektura komputerów wer. 7 Architektura komputerów wer. 7 Wojciech Myszka 2013-10-29 19:47:07 +0100 Karty perforowane Kalkulator IBM 601, 1931 IBM 601 kalkulator Maszyna czytała dwie liczby z karty, mnożyła je przez siebie i wynik

Bardziej szczegółowo

Informatyka kodowanie liczb. dr hab. inż. Mikołaj Morzy

Informatyka kodowanie liczb. dr hab. inż. Mikołaj Morzy Informatyka kodowanie liczb dr hab. inż. Mikołaj Morzy plan wykładu definicja informacji sposoby kodowania reprezentacja liczb naturalnych i całkowitych arytmetyka binarna arytmetyka oktalna arytmetyka

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

Pracownia Komputerowa wykład IV

Pracownia Komputerowa wykład IV Pracownia Komputerowa wykład IV dr Magdalena Posiadała-Zezula http://www.fuw.edu.pl/~mposiada/pk16 1 Reprezentacje liczb i znaków! Liczby:! Reprezentacja naturalna nieujemne liczby całkowite naturalny

Bardziej szczegółowo

Języki i metodyka programowania. Reprezentacja danych w systemach komputerowych

Języki i metodyka programowania. Reprezentacja danych w systemach komputerowych Reprezentacja danych w systemach komputerowych Kod (łac. codex - spis), ciąg składników sygnału (kombinacji sygnałów elementarnych, np. kropek i kresek, impulsów prądu, symboli) oraz reguła ich przyporządkowania

Bardziej szczegółowo

Podstawy Informatyki dla Nauczyciela

Podstawy Informatyki dla Nauczyciela Podstawy Informatyki dla Nauczyciela Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 2 Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla Nauczyciela Wykład 2 1 / 1 Informacja

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

INFORMATYKA. Zajęcia organizacyjne. Arytmetyka komputerowa.

INFORMATYKA. Zajęcia organizacyjne. Arytmetyka komputerowa. INFORMATYKA Zajęcia organizacyjne Arytmetyka komputerowa http://www.infoceram.agh.edu.pl http://home.agh.edu.pl/~grzesik/ KONSULTACJE Zbigniew Grzesik środa, 9 ; A-3, p. 2 tel.: 67-249 e-mail: grzesik@agh.edu.pl

Bardziej szczegółowo

Systemy zapisu liczb.

Systemy zapisu liczb. Systemy zapisu liczb. Cele kształcenia: Zapoznanie z systemami zapisu liczb: dziesiętny, dwójkowy, ósemkowy, szesnastkowy. Zdobycie umiejętności wykonywania działań na liczbach w różnych systemach. Zagadnienia:

Bardziej szczegółowo

Architektura komputerów wer. 3

Architektura komputerów wer. 3 Architektura komputerów wer. 3 Wojciech Myszka, Maciej Panek listopad 2014 r. Karty perforowane Kalkulator IBM 601, 1931 IBM 601 kalkulator Maszyna czytała dwie liczby z karty, mnożyła je przez siebie

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

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

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2010/2011

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2010/2011 SYLLABUS na rok akademicki 010/011 Tryb studiów Studia stacjonarne Kierunek studiów Informatyka Poziom studiów Pierwszego stopnia Rok studiów/ semestr 1(rok)/1(sem) Specjalność Bez specjalności Kod katedry/zakładu

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

Systemy liczenia. 333= 3*100+3*10+3*1

Systemy liczenia. 333= 3*100+3*10+3*1 Systemy liczenia. System dziesiętny jest systemem pozycyjnym, co oznacza, Ŝe wartość liczby zaleŝy od pozycji na której się ona znajduje np. w liczbie 333 kaŝda cyfra oznacza inną wartość bowiem: 333=

Bardziej szczegółowo

Technika Cyfrowa i Mikroprocesorowa

Technika Cyfrowa i Mikroprocesorowa Technika Cyfrowa i Mikroprocesorowa Prowadzący przedmiot: Ćwiczenia laboratoryjne: dr inż. Andrzej Ożadowicz dr inż. Andrzej Ożadowicz dr inż. Jakub Grela Wydział Elektrotechniki, Automatyki, Informatyki

Bardziej szczegółowo

Pracownia Komputerowa wyk ad VI

Pracownia Komputerowa wyk ad VI Pracownia Komputerowa wyk ad VI dr Magdalena Posiada a-zezula Magdalena.Posiadala@fuw.edu.pl http://www.fuw.edu.pl/~mposiada Magdalena.Posiadala@fuw.edu.pl 1 Przypomnienie 125 (10) =? (2) Liczby ca kowite

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

Sprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów

Sprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów Sprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów przeznaczonych do wykonania w komputerze (ang. software).

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

Wstęp do informatyki. Maszyna RAM. Schemat logiczny komputera. Maszyna RAM. RAM: szczegóły. Realizacja algorytmu przez komputer

Wstęp do informatyki. Maszyna RAM. Schemat logiczny komputera. Maszyna RAM. RAM: szczegóły. Realizacja algorytmu przez komputer Realizacja algorytmu przez komputer Wstęp do informatyki Wykład UniwersytetWrocławski 0 Tydzień temu: opis algorytmu w języku zrozumiałym dla człowieka: schemat blokowy, pseudokod. Dziś: schemat logiczny

Bardziej szczegółowo

Jednostki informacji. Bajt moŝna podzielić na dwie połówki 4-bitowe nazywane tetradami (ang. nibbles).

Jednostki informacji. Bajt moŝna podzielić na dwie połówki 4-bitowe nazywane tetradami (ang. nibbles). Wykład 1 1-1 Informatyka nauka zajmująca się zbieraniem, przechowywaniem i przetwarzaniem informacji. Informacja obiekt abstrakcyjny, który w postaci zakodowanej moŝe być przechowywany, przesyłany, przetwarzany

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

Cyfrowy zapis informacji. 5 grudnia 2013 Wojciech Kucewicz 2

Cyfrowy zapis informacji. 5 grudnia 2013 Wojciech Kucewicz 2 Cyfrowy zapis informacji 5 grudnia 2013 Wojciech Kucewicz 2 Bit, Bajt, Słowo 5 grudnia 2013 Wojciech Kucewicz 3 Cyfrowy zapis informacji Bit [ang. binary digit] jest elementem zbioru dwuelementowego używanym

Bardziej szczegółowo

PRYWATNA WYŻSZA SZKOŁA BUSINESSU, ADMINISTRACJI I TECHNIK KOMPUTEROWYCH S Y L A B U S

PRYWATNA WYŻSZA SZKOŁA BUSINESSU, ADMINISTRACJI I TECHNIK KOMPUTEROWYCH S Y L A B U S PRYWATNA WYŻSZA SZKOŁA BUSINESSU, ADMINISTRACJI I TECHNIK KOMPUTEROWYCH ZATWIERDZAM Dziekan Wydziału Nauk Społecznych i Technik Komputerowych S Y L A B U S 1 Tytuł (stopień) naukowy oraz imię i nazwisko

Bardziej szczegółowo

Magistrala systemowa (System Bus)

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

Bardziej szczegółowo

DYDAKTYKA ZAGADNIENIA CYFROWE ZAGADNIENIA CYFROWE

DYDAKTYKA ZAGADNIENIA CYFROWE ZAGADNIENIA CYFROWE ZAGADNIENIA CYFROWE ZAGADNIENIA CYFROWE @KEMOR SPIS TREŚCI. SYSTEMY LICZBOWE...3.. SYSTEM DZIESIĘTNY...3.2. SYSTEM DWÓJKOWY...3.3. SYSTEM SZESNASTKOWY...4 2. PODSTAWOWE OPERACJE NA LICZBACH BINARNYCH...5

Bardziej szczegółowo

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

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,

Bardziej szczegółowo

Technologie Informacyjne Wykład 3

Technologie Informacyjne Wykład 3 Technologie Informacyjne Wykład 3 Procesor i jego architektura (CISC, RISC, 32/64 bity) Systemy wieloprocesorowe Wojciech Myszka Jakub Słowiński Katedra Mechaniki i Inżynierii Materiałowej Wydział Mechaniczny

Bardziej szczegółowo

L6.1 Systemy liczenia stosowane w informatyce

L6.1 Systemy liczenia stosowane w informatyce L6.1 Systemy liczenia stosowane w informatyce Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Publikacja jest dystrybuowana bezpłatnie Program Operacyjny Kapitał

Bardziej szczegółowo

Przedmiot: Urządzenia techniki komputerowej Nauczyciel: Mirosław Ruciński

Przedmiot: Urządzenia techniki komputerowej Nauczyciel: Mirosław Ruciński Przedmiot: Urządzenia techniki komputerowej Nauczyciel: Mirosław Ruciński Temat: Systemy zapisu liczb. Cele kształcenia: Zapoznanie z systemami zapisu liczb: dziesiętny, dwójkowy, ósemkowy, szesnastkowy.

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Wykład 4 Jan Kazimirski 1 Reprezentacja danych 2 Plan wykładu Systemy liczbowe Zapis dwójkowy liczb całkowitych Działania arytmetyczne Liczby rzeczywiste Znaki i łańcuchy znaków

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

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

Programowanie niskopoziomowe

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

Bardziej szczegółowo

Budowa i zasada działania komputera. dr Artur Bartoszewski

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

Bardziej szczegółowo

Mikrokontrolery w mechatronice. Wstępne uwagi

Mikrokontrolery w mechatronice. Wstępne uwagi Mikrokontrolery w mechatronice Wstępne uwagi Wstępny program wykładu: Układy sterowania;układy programowalne. System binarny i heksadecymalny. Mikroprocesor i mikrokontroler - podobieństwa i różnice. Charakterystyka

Bardziej szczegółowo

Architektura systemów komputerowych Laboratorium 5 Kodowanie liczb i tekstów

Architektura systemów komputerowych Laboratorium 5 Kodowanie liczb i tekstów Architektura systemów komputerowych Laboratorium 5 Kodowanie liczb i tekstów Marcin Stępniak Informacje. Kod NKB Naturalny kod binarny (NKB) jest oparty na zapisie liczby naturalnej w dwójkowym systemie

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

Kodowanie informacji. Kody liczbowe

Kodowanie informacji. Kody liczbowe Wykład 2 2-1 Kodowanie informacji PoniewaŜ komputer jest urządzeniem zbudowanym z układów cyfrowych, informacja przetwarzana przez niego musi być reprezentowana przy pomocy dwóch stanów - wysokiego i niskiego,

Bardziej szczegółowo

Dane, informacja, programy. Kodowanie danych, kompresja stratna i bezstratna

Dane, informacja, programy. Kodowanie danych, kompresja stratna i bezstratna Dane, informacja, programy Kodowanie danych, kompresja stratna i bezstratna DANE Uporządkowane, zorganizowane fakty. Główne grupy danych: tekstowe (znaki alfanumeryczne, znaki specjalne) graficzne (ilustracje,

Bardziej szczegółowo

ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH

ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH reprezentacja danych ASK.RD.01 c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad. 2011/2012 c Dr inż. Ignacy Pardyka (Inf.UJK) ASK.RD.01 Rok

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

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

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,

Bardziej szczegółowo

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

Pracownia Komputerowa wyk ad IV

Pracownia Komputerowa wyk ad IV Pracownia Komputerowa wykad IV dr Magdalena Posiadaa-Zezula Magdalena.Posiadala@fuw.edu.pl http://www.fuw.edu.pl/~mposiada Magdalena.Posiadala@fuw.edu.pl 1 Reprezentacje liczb i znaków Liczby: Reprezentacja

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

Teoretyczne Podstawy Informatyki

Teoretyczne Podstawy Informatyki Teoretyczne Podstawy Informatyki cel zajęć Celem kształcenia jest uzyskanie umiejętności i kompetencji w zakresie budowy schematów blokowych algor ytmów oraz ocenę ich złożoności obliczeniowej w celu optymizacji

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

Ćwiczenie 3. Konwersja liczb binarnych

Ćwiczenie 3. Konwersja liczb binarnych 1 Laboratorium Architektury Komputerów Ćwiczenie 3 Konwersja liczb binarnych Komputery wykonują operacje przetwarzania danych na wartościach binarnych, podczas gdy współczesna cywilizacja posługuje się

Bardziej szczegółowo

PODSTAWY INFORMATYKI. Informatyka? - definicja

PODSTAWY INFORMATYKI. Informatyka? - definicja PODSTAWY INFORMATYKI Informatyka? - definicja Definicja opracowana przez ACM (Association for Computing Machinery) w 1989 roku: Informatyka to systematyczne badanie procesów algorytmicznych, które charakteryzują

Bardziej szczegółowo

Budowa komputera Komputer computer computare

Budowa komputera Komputer computer computare 11. Budowa komputera Komputer (z ang. computer od łac. computare obliczać) urządzenie elektroniczne służące do przetwarzania wszelkich informacji, które da się zapisać w formie ciągu cyfr albo sygnału

Bardziej szczegółowo

Projektowanie. Projektowanie mikroprocesorów

Projektowanie. Projektowanie mikroprocesorów WYKŁAD Projektowanie mikroprocesorów Projektowanie układ adów w cyfrowych - podsumowanie Algebra Boole a Bramki logiczne i przerzutniki Automat skończony System binarny i reprezentacja danych Synteza logiczna

Bardziej szczegółowo

Mikroprocesor Operacje wejścia / wyjścia

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

Bardziej szczegółowo

Architektura systemów komputerowych. Arytmetyka maszyn cyfrowych

Architektura systemów komputerowych. Arytmetyka maszyn cyfrowych Architektura systemów komputerowych Plan wykładu. Typy danych w komputerach. 2. Układ arytmetyczno-logiczny. 3. Instrukcje zależne od ALU. 4. Superskalarność. Cele Wiedza na temat arytmetyki maszyn cyfrowych.

Bardziej szczegółowo

Wstęp do informatyki. Pojęcie liczebności. Zapis liczb. Liczenie bez liczebników. Podstawy arytmetyki komputerowej. Cezary Bolek

Wstęp do informatyki. Pojęcie liczebności. Zapis liczb. Liczenie bez liczebników. Podstawy arytmetyki komputerowej. Cezary Bolek Pojęcie liczebności Wstęp do informatyki Podstawy arytmetyki komputerowej Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki Naturalna zdolność człowieka do postrzegania

Bardziej szczegółowo

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

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,

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

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

Układ wykonawczy, instrukcje i adresowanie. Dariusz Chaberski

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

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

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

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

Bardziej szczegółowo

System Liczbowe. Szesnastkowy ( heksadecymalny)

System Liczbowe. Szesnastkowy ( heksadecymalny) SYSTEMY LICZBOWE 1 System Liczbowe Dwójkowy ( binarny) Szesnastkowy ( heksadecymalny) Ósemkowy ( oktalny) Dziesiętny ( decymalny) 2 System dziesiętny Symbol Wartość w systemie Liczba 6 6 *10 0 sześć 65

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

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

SYSTEMY LICZBOWE. SYSTEMY POZYCYJNE: dziesiętny (arabski): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 rzymski: I, II, III, V, C, M

SYSTEMY LICZBOWE. SYSTEMY POZYCYJNE: dziesiętny (arabski): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 rzymski: I, II, III, V, C, M SYSTEMY LICZBOWE SYSTEMY POZYCYJNE: dziesiętny (arabski):,, 2, 3, 4, 5, 6, 7, 8, 9 rzymski: I, II, III, V, C, M System pozycyjno wagowy: na przykład liczba 444 4 4 4 4 4 4 Wagi systemu dziesiętnego:,,,,...

Bardziej szczegółowo

Wstęp do informatyki. Pojęcie liczebności. Liczenie bez liczebników. Podstawy arytmetyki komputerowej. Cezary Bolek

Wstęp do informatyki. Pojęcie liczebności. Liczenie bez liczebników. Podstawy arytmetyki komputerowej. Cezary Bolek Wstęp do informatyki Podstawy arytmetyki komputerowej Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki Pojęcie liczebności Naturalna zdolność człowieka do postrzegania

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

DZIESIĘTNY SYSTEM LICZBOWY

DZIESIĘTNY SYSTEM LICZBOWY DZIESIĘTNY SYSTEM LICZBOWY Do zapisu dowolnej liczby system wykorzystuje dziesięć symboli (cyfr): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Dowolną liczbę w systemie dziesiętnym możemy przedstawić jako następująca

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Tydzień 4 Tryby adresowania i formaty Tryby adresowania Natychmiastowy Bezpośredni Pośredni Rejestrowy Rejestrowy pośredni Z przesunięciem stosowy Argument natychmiastowy Op Rozkaz

Bardziej szczegółowo

dr inż. Jarosław Forenc

dr inż. Jarosław Forenc Informatyka Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia stacjonarne I stopnia Rok akademicki 8/9 Wykład nr 4 (.3.9) Rok akademicki 8/9, Wykład nr 4 /33 Plan wykładu

Bardziej szczegółowo

1.1. Pozycyjne systemy liczbowe

1.1. Pozycyjne systemy liczbowe 1.1. Pozycyjne systemy liczbowe Systemami liczenia nazywa się sposób tworzenia liczb ze znaków cyfrowych oraz zbiór reguł umożliwiających wykonywanie operacji arytmetycznych na liczbach. Dla dowolnego

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

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

Systemy liczbowe używane w technice komputerowej

Systemy liczbowe używane w technice komputerowej Systemy liczbowe używane w technice komputerowej Systemem liczenia nazywa się sposób tworzenia liczb ze znaków cyfrowych oraz zbiór reguł umożliwiających wykonywanie operacji arytmetycznych na liczbach.

Bardziej szczegółowo