Plan wykładu. Architektura systemów komputerowych. Cezary Bolek. Składowe architektury komputera
|
|
- Daniel Kwiecień
- 6 lat temu
- Przeglądów:
Transkrypt
1 Architektura systemów komputerowych Konwencjonalny poziom maszynowy Cezary Bolek Katedra Informatyki Plan wykładu Składowe architektury komputera Architektura poziomu maszynowego Organizacja jednostki centralnej Konwencjonalny poziom maszynowy Architektura poziomu maszynowego procesora MIPS32 Struktura logiczna Rejestry Instrukcje R-Type Instrukcje I-Type Instrukcje J-Type Tryby adresowania Architektura systemów komputerowych Cezary Bolek 2
2 Architektura komputera Na architekturę komputera składają się głównie: Model programowy Realizacja sprzętowa Poziom 5 Poziom 4 Poziom języka problemowego Poziom języka asemblera Model programowy operuje na konwencjonalnym poziomie maszynowym Realizacja sprzętowa na poziomach mikroarchitektury i układów logicznych Poziom 3 Poziom 2 Poziom 1 Poziom Poziom systemu operacyjnego Konwencjonalny poziom maszynowy Interpretacja (mikroprogram) lub wykonanie bezpośrednie Poziom mikroarchitektury Sprzęt Poziom układów logicznych Architektura systemów komputerowych Cezary Bolek 3 Architektura poziomu maszynowego Instruction Set Architecture - Poziom architektury listy rozkazów Konwencjonalny poziom maszynowy Model programowy jednostki centralnej (procesora) Z reguły od niego rozpoczyna się projektowanie nowego procesora Na model składa się: Zestaw rejestrów Lista instrukcji Typy danych Dostępne tryby adresowania Zasady obsługi wyjątków i przerwań Procesory oparte na tym samym modelu programowym są ze sobą kompatybilne. Architektura systemów komputerowych Cezary Bolek 4
3 Organizacja jednostki centralnej Realizacja sprzętowa modelu programowego poziom mikroarchitektury Implementacja komponentów: Rejestry ALU FPU Pamięć podręczna... Połączenia między nimi Przepływ danych ścieŝka danych Architektura systemów komputerowych Cezary Bolek 5 Instruction Set Architecture (ISA) Poziom maszynowy jest odzwierciedleniem punktu widzenia programisty uŝywającego języka maszynowego, bądź twórcy kompilatora generującego kod maszynowy, który musi znać: model pamięci, dostępne rejestry, typy danych, rozkazy stanowią one definicję poziomu maszynowego. Do poziomu ISA nie naleŝą kwestie takie jak: (nie)stosowanie mikroprogramowania, superskalarność, potokowość nie są widoczne bezpośrednio dla twórcy kompilatora są co najwyŝej odczuwalne (wydajność) Architektura systemów komputerowych Cezary Bolek 6
4 Architektura MIPS32 Architektura systemów komputerowych Cezary Bolek 7 Struktura logiczna procesora MIPS 4 bajty na słowo... Pamięć Do 2 32 bajtów = 2 3 słów rejestry ogólnego przeznacz. Jednostka arytmetyczno - logiczna EIU ALU MnoŜarka/układ dzielący dla liczb całkowitych $ $1 $2 $31 Gł. jedn. wykonaw. (Main proc) Integer mul/div Hi Lo FPU FP Arith TMU $F $F1 $F2 $F31 BadVaddr Status Cause EPC Jedn. zmiennop. (Coproc 1) Jednostka zarz. pam. i przerw. (Coproc ) 32 rejestry zmiennoprzecinkowe Jednostka arytmetyki zmiennoprzecinkowej Architektura systemów komputerowych Cezary Bolek 8
5 Rejestry procesora MIPS 32 rejestry ogólnego przeznaczenia General Purpose Registers (GPR) Rejestr zawiera zawsze wartość zero Operacje zapisu do R są ignorowane Rejestry specjalne LO i HI Zawierają wyniki operacji mnoŝenia i dzielenia Rejestr licznika programu PC 32 rejestry zmiennoprzecinkowe Floating Point Registers (FPR) GPRs $ $31 LO HI PC FPRs $F $F31 Mogą być 32- lub 64-bitowe Para rejestrów uŝywana do operacji typu double-precision Architektura systemów komputerowych Cezary Bolek 9 Rejestry GPR 32 Rejestry W asemblerze MIPS korzysta się ze znaku $ przed numerem rejestru $ - rejestr, $1 - rejestr 1,, $31 - rejestr 31 Wszystkie rejestry są 32-bitowe (architektura MIPS32) Rejestr $ zawiera zawsze zero Wartość zapisana do $ jest ignorowana Konwencja programowa Na poziomie asemblera wprowadzono nazwy literowe rejestrów W celu standaryzacji i przenośności programów w asemblerze $8 - $15 określone są jako $t - $t7 Stosowane do wartości tymczasowych $16 - $23 określone są jako $s - $s7 $ = $zero $16 = $s $1 = $at $17 = $s1 $2 = $v $18 = $s2 $3 = $v1 $19 = $s3 $4 = $a $2 = $s4 $5 = $a1 $21 = $s5 $6 = $a2 $22 = $s6 $7 = $a3 $23 = $s7 $8 = $t $24 = $t8 $9 = $t1 $25 = $t9 $1 = $t2 $26 = $k $11 = $t3 $27 = $k1 $12 = $t4 $28 = $gp $13 = $t5 $29 = $sp $14 = $t6 $3 = $fp $15 = $t7 $31 = $ra Architektura systemów komputerowych Cezary Bolek 1
6 Konwencje stosowania i nazewnictwa rejestrów Asembler odwołuje się do rejestrów za pomocą numeru lub nazwy $sp $fp $ra Łatwiej jest zapamiętać nazwę Asembler przekształca nazwę na numer Nazwa $zero $at $v $v1 $a $a3 $t $t7 $s $s7 $t8 $t9 $k $k1 $gp Rejestr $ $1 $2 $3 $4 $7 $8 $15 $16 $23 $24 $25 $26 $27 $28 $29 $3 $31 Zastosowanie Zawsze (wymuszone sprzętowo) Stosowany przez asembler do rozwijania metainstruk. Rejestry wartości funkcji Argumenty funkcji Rejestry tymczasowe (nie zachowywane) Rejestry dla zmiennych lokalnych (zachowywane) Rejestry tymczasowe (nie zachowywane) Do uŝytku systemu operacyjnego Global pointer (wskaźnik danych statycznych) Stack pointer Frame pointer Return address (wskaźnik stosu) (wskaźnik ramki stosu) (ślad powrotu dla instr. jal) Architektura systemów komputerowych Cezary Bolek 11 Formaty instrukcji Wszystkie instrukcje zajmują dokładnie 32 bity. Trzy rodzaje: Instrukcje rejestrowe - Register (R-Type) Operacje rejestr-rejestr Op: kod operacji specyfikujący format instrukcji Op 6 Rs 5 Rt 5 Rd 5 sa 5 funct 6 Instrukcje z adres. natychmiastowym - Immediate (I-Type) Natychmiastowa stała 16-bitowa jest częścią instrukcji Op 6 Rs 5 Rt 5 immediate 16 Instrukcje skoku - Jump (J-Type) Wykorzystywane przez instrukcje skoków Op 6 immediate 26 Architektura systemów komputerowych Cezary Bolek 12
7 Kategorie instrukcji Arytmetyka całkowita Instrukcje arytmetyczne, logiczne, przesunięć binarnych Transfer danych Instrukcje zapisu i odczuty pamięci Instrukcje przesłań i konwersji Skoki warunkowe i bezwarunkowe Arytmetyka zmiennoprzecinkowa Instrukcje operujące na rejestrach zmiennoprzecinkowych Pozostałe Instrukcje obsługi sytuacji wyjątkowych Instrukcje zarządzania pamięcią Architektura systemów komputerowych Cezary Bolek 13 Instrukcje R-Type Op 6 Rs 5 Rt 5 Rd 5 sa 5 funct 6 Op: kod operacji (opcode) Określa operację jaka ma być wykonana przez instrukcję Ponadto określa format instrukcji funct: kod funkcji rozszerza opcode Do 2 6 = 64 funkcji moŝe być zdefiniowana dla kaŝdego kodu operac. Opcode ( b ) określa instrukcje R-type Trzy operandy rejestrowe (wspólne dla wszystkich instrukcji) Rs, Rt: pierwszy i drugi operand źródłowy (rejestry) Rd: operand przeznaczenia (rejestr) sa: wielkość przesunięcia dla operacji przesunięć binarnych Architektura systemów komputerowych Cezary Bolek 14
8 Instrukcje dodawania i odejmowania całkowitego Instrukcja add $s1, $s2, $s3 addu $s1, $s2, $s3 sub $s1, $s2, $s3 subu $s1, $s2, $s3 Działanie $s1 = $s2 + $s3 $s1 = $s2 + $s3 $s1 = $s2 $s3 $s1 = $s2 $s3 op = op = op = op = Format instrukcji R-Type rs = $s2 rs = $s2 rs = $s2 rs = $s2 rt = $s3 rt = $s3 rt = $s3 rt = $s3 rd = $s1 rd = $s1 rd = $s1 rd = $s1 sa = sa = sa = sa = f = x2 f = x21 f = x22 f = x23 add i sub: przepełnienie wywołuje wyjątek arytmetyczny W przypadku przepełnienia, wynik nie jest zapisywany w rejestrze addu i subu: takie samo działanie jak add i sub Ale nie jest zgłaszany wyjątek arytmetyczny Przepełnienie jest ignorowane Przykład: addu $t,$s1,$s2 op $17=$s1 $18=$s2 $8=$t sa func 11 Architektura systemów komputerowych Cezary Bolek 15 Instrukcje dodawania i odejmowania - przykład NaleŜy wykonać operację (w języku wysokiego poziomu): f = (g+h) (i+j) Kompilator przypisuje zmienne do rejestrów Zakładamy, Ŝe f, g, h, i oraz j znajdują się w rejestrach $s, $s1, $s2, $s3 i $s4 Rejestry saved : $s = $16, $s1 = $17,, $s7 = $23 Realizacja: addu $t, $s1, $s2 # $t = g + h addu $t1, $s3, $s4 # $t1 = i + j subu $s, $t, $t1 # f = (g+h) (i+j) Tymczasowe wyniki pośrednie przechowywane w $t = $8 oraz $t1 = $9 Architektura systemów komputerowych Cezary Bolek 16
9 Instrukcje operacji binarnych Instrukcja and $s1, $s2, $s3 or $s1, $s2, $s3 xor $s1, $s2, $s3 nor $s1, $s2, $s3 Przykład: Działanie $s1 = $s2 & $s3 $s1 = $s2 $s3 $s1 = $s2 ^ $s3 $s1 = ~($s2 $s3) op = op = op = op = Format instrukcji R-Type rs = $s2 rs = $s2 rs = $s2 rs = $s2 rt = $s3 rt = $s3 rt = $s3 rt = $s3 rd = $s1 rd = $s1 rd = $s1 rd = $s1 sa = sa = sa = sa = f = x24 f = x25 f = x26 f = x27 zakładając: $s1 = xabcd1234 oraz $s2 = xffff and $s,$s1,$s2 or $s,$s1,$s2 xor $s,$s1,$s2 nor $s,$s1,$s2 # $s = xabcd # $s = xffff1234 # $s = x # $s = xedcb Architektura systemów komputerowych Cezary Bolek 17 Operacje przesunięć binarnych Przesunięcie oznacza przemieszczenie wszystkich bitów rejestru w lewo lub prawo o określoną liczbę pozycji Przesunięcie o stałą liczbę pozycji: sll, srl, sra sll (shift left logically), srl (shift right logically) binarne przesunięcie logiczne sra (shift right arithmetically) - binarne przesunięcie arytmetyczne zachowywany jest znak liczby Wykorzystywane jest 5-bitowe pole sa (shift amount) kodu instrukcji sll srl sra 32-bitowy rejestr Architektura systemów komputerowych Cezary Bolek 18
10 Instrukcje przesunięć binarnych Instrukcja sll $s1,$s2,1 srl $s1,$s2,1 sra $s1, $s2, 1 sllv $s1,$s2,$s3 srlv $s1,$s2,$s3 srav $s1,$s2,$s3 Działanie $s1 = $s2 << 1 $s1 = $s2>>>1 $s1 = $s2 >> 1 $s1 = $s2 << $s3 $s1 = $s2>>>$s3 $s1 = $s2 >> $s3 Format instrukcji R-Type op = rs = rt = $s2 rd = $s1 sa = 1 op = rs = rt = $s2 rd = $s1 sa = 1 op = rs = rt = $s2 rd = $s1 sa = 1 op = rs = $s3 rt = $s2 rd = $s1 sa = op = rs = $s3 rt = $s2 rd = $s1 sa = op = rs = $s3 rt = $s2 rd = $s1 sa = f = f = 2 f = 3 f = 4 f = 6 f = 7 Przesunięcie o zmienną liczbę pozycji: sllv, srlv, srav Analogicznie jak sll, srl, sra, lecz rozmiar przes. w rejestrze Przykład: zakładając $s2 = xabcd1234, $s3 = 16 sll $s1,$s2,8 $s1 = xcd1234 sra $s1,$s2,4 $s1 = $s2>>4 $s1 = xfabcd123 srlv $s1,$s2,$s3 $s1 = $s2<<8 $s1 = $s2>>>$s3 $s1 = xabcd op= rs=$s3=111 rt=$s2=11 rd=$s1=11 sa= f=11 Architektura systemów komputerowych Cezary Bolek 19 MnoŜenie za pomocą operacji przesunięć Instrukcje przesunięcia w lewo (sll) moŝe być traktowana jak mnoŝenie Gdzie mnoŝnik jest potęgą 2 KaŜdą liczbę moŝna przedstawić jako sumę potęg 2 Przykład: pomnoŝyć $s1 przez 36 Rozkład 36 na (4 + 32) i zastosowanie rozdzielności dodawania $s2 = $s1*36 = $s1*(4 + 32) = $s1*4 + $s1*32 sll $t, $s1, 2 ; $t = $s1 * 4 sll $t1, $s1, 5 ; $t1 = $s1 * 32 addu $s2, $t, $t1 ; $s2 = $s1 * 36 Architektura systemów komputerowych Cezary Bolek 2
11 Operacje mnoŝenia i dzielenia całkowitego Operacje: MnoŜenie ze znakiem: mult $s1,$s2 MnoŜenie bez znaku : multu $s1,$s2 Dzielenie ze znakiem: div $s1,$s2 Dzielenie bez znaku: divu $s1,$s2 MnoŜenie daje wynik 64-bitowy: Rejestr LO = młodsze 32 bity wyniku, HI = starsze 32 bity wyniku Dzielenie LO = 32-bitowy iloraz, HI = 32-bitowa reszta Odczyt wyniku przez przesłania MnoŜenie Dzielenie mflo rd (przesłanie z LO do rd), mfhi rd (przesłanie z HI do rd) mtlo rs (przesłanie do LO z rs), mthi rs (przesłanie do HI z rs) HI $ $1. $31 LO Architektura systemów komputerowych Cezary Bolek 21 Instrukcje mnoŝenia i dzielenia całkowitego Instrukcja mult rs, rt multu rs, rt div rs, rt divu rs, rt mfhi rd mflo rd mthi rs mtlo rs Działanie hi, lo = rs rt hi, lo = rs rt hi, lo = rs / rt hi, lo = rs / rt rd = hi rd = lo hi = rs lo = rs Format instrukcji R-Type op 6 = rs 5 rt 5 x18 op 6 = rs 5 rt 5 x19 op 6 = rs 5 rt 5 x1a op 6 = rs 5 rt 5 x1b op 6 = rd 5 x1 op 6 = rd 5 x12 op 6 = rs 5 x11 op 6 = rs 5 x13 Arytmetyka ze znakiem: mult, div (rs i rt w NKB) LO = młodsze 32 bity wyniku, HI = starsze 32 bity wyniku mnoŝenia LO = 32-bitowy iloraz, HI = 32-bitowa reszta z dzielenia Arytmetyka bez znaku: multu, divu (rs i rt w kodzie U2) Nie występuje przepełnienie arytmetyczne Architektura systemów komputerowych Cezary Bolek 22
12 Instrukcje I-Type Instrukcje umoŝliwiające uŝycie stałych Operandy rejestrowe i natychmiastowe (immediate) Op 6 Rs 5 Rt 5 immediate 16 Operand natychmiastowy umieszczony bezpośrednio w instrukcji Rs rejestr źródłowy Rt rejestr przeznaczenia (dla R-Type Rd) Przykłady instrukcji ALU I-Type: suma arytm.: addi $s1, $s2, 5 # $s1 = $s2 + 5 suma binarna: ori $s1, $s2, 5 # $s1 = $s2 5 Architektura systemów komputerowych Cezary Bolek 23 Instrukcje ALU I-Type Instrukcja addi $s1, $s2, 1 addiu $s1, $s2, 1 andi $s1, $s2, 1 ori $s1, $s2, 1 xori $s1, $s2, 1 lui $s1, 1 Działanie $s1 = $s2 + 1 $s1 = $s2 + 1 $s1 = $s2 & 1 $s1 = $s2 1 $s1 = $s2 ^ 1 $s1 = 1 << 16 op = x8 op = x9 op = xc op = xd op = xe op = xf Format instrukcji I-Type rs = $s2 rt = $s1 imm 16 = 1 rs = $s2 rt = $s1 imm 16 = 1 rs = $s2 rt = $s1 imm 16 = 1 rs = $s2 rt = $s1 imm 16 = 1 rs = $s2 rt = $s1 imm 16 = 1 rt = $s1 imm 16 = 1 addi: przepełnienie powoduje wyjątek arytmetyczny W przypadku przepełnienia, wynik nie jest zapisywany w rejestrze addiu: jak addi ale prze przepełnienie jest ignorowane Stała natychmiastowa dla addi i addiu traktowana jest jako liczba ze znakiem Nie ma potrzeby wprowadzanie instrukcji subi or subiu Stałe dla andi, ori, xori traktowane jako bez znaku Architektura systemów komputerowych Cezary Bolek 24
13 Instrukcje ALU I-Type przykłady ZałoŜenie: A, B, C znajdują się w $s, $s1, $s2 A = B+5; C = B 1; addiu $s,$s1,5 addiu $s2,$s1,-1 op=11 rs=$s1=11 rt=$s2=11 imm = -1 = A = B&xf; C = B xf; C = 5; A = B; andi ori ori ori $s,$s1,xf $s2,$s1,xf $s2,$zero,5 $s,$s1, Nie ma potrzeby wprowadzania subi, gdyŝ argument natychmiastowy dla addi jest liczbą ze znakiem Rejestr ($zero) ma zawsze wartość zero dlatego moŝna go uŝyć do załadowania wartości 16-bitowej do rejestru Architektura systemów komputerowych Cezary Bolek 25 Instrukcje I-Type stałe 32-bitowe Instrukcje I-Type operują stałymi 16-bitowymi Op 6 Rs 5 Rt 5 immediate 16 Nie ma moŝliwości bezpośredniego uŝycia stałej 32-bitowej dla I-Type Rozmiar instrukcji ustalony na 32 bity Rozwiązanie: zastosowanie dwóch instrukcji do załadowania stałej Aby wykonać operację: $s1=xac5165d9 (32-bitowa stała) lui: load upper immediate lui $s1,xac51 $s1=$17 załadowanie starszych 16 bitów xac51 wyzerowanie młodszych 16 bitów x ori $s1,$s1,x65d9 $s1=$17 xac51 x65d9 Architektura systemów komputerowych Cezary Bolek 26
14 Instrukcje J-Type Op 6 immediate 26 Format J-type uŝywany jest do reprezentacji instrukcji skoku bezwarunkowego: j label # jump to label... label: 26-bitowa wartość natychmiastowa jest częścią instrukcji Określa adres docelowy skoku Licznik programu (PC) ustawianą jest następująco: Nast. PC = PC 4 immediate 26 Cztery najstarsze bity PC nie pozostawiane bez zmian 2 najmniej znaczące bity równe Architektura systemów komputerowych Cezary Bolek 27 Instrukcje rozgałęzień warunkowych Instrukcje porównania i skoku: beq Rs,Rt,label skok do label jeŝeli (Rs == Rt) bne Rs,Rt,label skok do label jeŝeli (Rs!= Rt) Instrukcje porównania do zera i skoku: Instrukcje często stosowane. bltz Rs,label skok do label jeŝeli (Rs < ) bgtz Rs,label skok do label jeŝeli (Rs > ) blez Rs,label skok do label jeŝeli (Rs <= ) bgez Rs,label skok do label jeŝeli (Rs >= ) Nie ma potrzeby wprowadzania instrukcji beqz oraz bnez Architektura systemów komputerowych Cezary Bolek 28
15 Instrukcje Set On Less Than (STL) Ustawianie rejestru gdy jeden argument jest mniejszy od drugiego. Wykorzystywane przy realizacji skoków warunkowych slt rd,rs,rt if (rs < rt) rd = 1 else rd = sltu rd,rs,rt jak wyŝej, bez znaku slti rt,rs,im 16 if (rs < im 16 ) rt = 1 else rt = sltiu rt,rs,im 16 jak wyŝej, bez znaku Porównania liczb ze znakiem i bez znaku Mogą dawać róŝne wyniki Zakładając $s = 1 i $s1 = -1 = xffffffff slt $t,$s,$s1 daje w wyniku $t = stlu $t,$s,$s1 daje w wyniku $t = 1 Architektura systemów komputerowych Cezary Bolek 29 Instrukcje skoków i rozgałęzień Instrukcja Działanie Format instrukcji j label skocz do label op 6 = 2 Imm 26 jr rs skocz do adr. w rs op 6 = 8 rs 5 x8 beq rs, rt, label skocz gdy (rs == rt) op 6 = 4 Rs 5 rt 5 imm 16 bne rs, rt, label skocz gdy (rs!= rt) op 6 = 5 rs 5 rt 5 imm 16 blez rs, label skocz gdy (rs<=) op 6 = 6 rs 5 imm 16 bgtz rs, label skocz gdy (rs > ) op 6 = 7 rs 5 imm 16 bltz rs, label skocz gdy (rs < ) op 6 = 1 rs 5 imm 16 bgez rs, label skocz gdy (rs>=) op 6 = 1 rs 5 1 imm 16 Instrukcja Działanie Format instrukcji slt rd, rs, rt rd=(rs<rt?1:) op 6 = rs 5 rt 5 rd 5 x2a sltu rd, rs, rt rd=(rs<rt?1:) op 6 = rs 5 rt 5 rd 5 x2b slti rt, rs, imm 16 rt=(rs<imm?1:) op 6 =1 rs 5 rt 5 imm 16 sltiu rt, rs, imm 16 rt=(rs<imm?1:) op 6 =11 rs 5 rt 5 imm 16 Architektura systemów komputerowych Cezary Bolek 3
16 Rozgałęzienia ograniczenia MIPS sprzętowo nie realizuje instrukcji relacji: blt, bltu skocz gdy mniejsze (znak/bez znaku) ble, bleu skocz gdy mniejsze równe (znak/bez znaku) bgt, bgtu skocz gdy większe (znak/bez znaku) bge, bgeu skocz gdy większe równe (znak/bez znaku) MoŜna je zrealizować za pomocą dwóch instrukcji: Czynność: Realizacja: Czynność: Realizacja: blt $s,$s1,label slt $at,$s,$s1 bne $at,$zero,label ble $s2,$s3,label slt $at,$s3,$s2 beq $at,$zero,label Architektura systemów komputerowych Cezary Bolek 31 Pseudoinstrukcje Realizowane przez asembler jakby były instrukcjami. W rzeczywistości zastępowane innymi lub rozwijane na ciąg instrukcji kodu maszynowego (makro) Cel: ułatwienie programowania w asemblerze Pseudoinstrukcje move $s1, $s2 not $s1, $s2 li $s1, xabcd li $s1, xabcd1234 sgt $s1, $s2, $s3 blt $s1, $s2, label Konwersja na rzeczywiste instrukcje addu Ss1, $s2, $zero nor $s1, $s2, $s2 ori $s1, $zero, xabcd lui ori $s1, xabcd $s1, $s1, x1234 slt $s1, $s3, $s2 slt $at, $s1, $s2 bne $at, $zero, label Asembler rezerwuje rejestr $at = $1 na własne potrzeby Nazwa $at pochodzi od assembler temporary Architektura systemów komputerowych Cezary Bolek 32
17 Instrukcje odczytu/zapisu z pamięci Instrukcje przesyłające dane między rejestrami i pamięcią Instrukcje odczytu - Load: Odczyt danych z pamięci i zapis w rejestrze Instrukcje zapisu - Store: Rejestry load store Pamięć Zapis w pamięci danych zawartych w rejestrze W procesorze MIPS do pamięci moŝna się odwoływać tylko za pomocą prostych instrukcji odczyt, zapis (z/do rejestru). Cecha charakterystyczna procesorów RISC. Architektura systemów komputerowych Cezary Bolek 33 Zapis/odczyt słowa (word) Załadowanie Słowa (Word = 4 bajty dla MIPS) lw Rt, imm 16 (Rs) # Rt = MEMORY[Rs+imm 16 ] Zapis słowa sw Rt, imm 16 (Rs) # MEMORY[Rs+imm 16 ] = Rt Stosowane adresowanie: bazowe z przesunięciem Adres pamięci = Rs (baza) + Immediate 16 (przesunięcie) Operand natychmiastowy Immediate 16 jest liczbą ze znakiem (przesunięcie w przód lub tył) Op 6 Rs 5 Rt 5 immediate 16 + Memory Word Base address Architektura systemów komputerowych Cezary Bolek 34
18 Zapis/odczyt słowa przykład Operacja A[1] = A[2] + 5 (A jest tablicą słów) Zakładamy, Ŝe adres tablicy A znajduje się w rejstrze $s lw $s1, 8($s) # $s1 = A[2] addiu $s2, $s1, 5 # $s2 = A[2] + 5 sw $s2, 4($s) # A[1] = $s2 Indeksy a[2] and a[1] muszą być pomnoŝone przez 4. Rejestry Pamięć $s = $16 $s1 = $17 adres tabl. A wartość A[2] lw A[3] A[2] A+12 A+8 $s2 = $18 A[2] sw A[1] A[] A+4 A... Architektura systemów komputerowych Cezary Bolek 35 Zapis/odczyt Bajtów i półsłów (Halfword) Procesor MIPS operuje następującymi wielkościami danych Byte = 8 bitów, Halfword = 16 bitów, Word = 32 bitów Instrukcje zapisu i odczytu bajtów i półsłów lb = load byte, lbu = load byte unsigned, sb = store byte lh = load half, lhu = load half unsigned, sh = store halfword Ładowanie rozszerza dane pamięci i umieszcza w rejestrze Zapis obcina dane 32-bitowego rejestru by zmieścić w pam. 32-bitowy rejestr s rozszerzenie znakowe s s rozszerzenie zerami s rozszerzenie znakowe s s h rozszerzenie zerami hu b bu Architektura systemów komputerowych Cezary Bolek 36
19 Instrukcja zapisu i odczytu z pamięci Instrukcja lb rt, imm 16 (rs) lh rt, imm 16 (rs) lw rt, imm 16 (rs) lbu rt, imm 16 (rs) lhu rt, imm 16 (rs) sb rt, imm 16 (rs) sh rt, imm 16 (rs) sw rt, imm 16 (rs) Działanie rt = MEM[rs+imm 16 ] rt = MEM[rs+imm 16 ] rt = MEM[rs+imm 16 ] rt = MEM[rs+imm 16 ] rt = MEM[rs+imm 16 ] MEM[rs+imm 16 ] = rt MEM[rs+imm 16 ] = rt MEM[rs+imm 16 ] = rt Format instrukcji I-Type x2 rs 5 rt 5 imm 16 x21 rs 5 rt 5 imm 16 x23 rs 5 rt 5 imm 16 x24 rs 5 rt 5 imm 16 x25 rs 5 rt 5 imm 16 x28 rs 5 rt 5 imm 16 x29 rs 5 rt 5 imm 16 x2b rs 5 rt 5 imm 16 Stosowane jest adresowanie bazowe z przesunięciem Adres pamięci = Rs (baza) + Immediate 16 (przesunięcie) Dwa przypadki adresowania bazowe z przesunięciem Gdy Rs = $zero = to Adres = Immediate 16 (adres. bezpośrednie) Gdy Immediate 16 = to Adres = Rs (adres. pośrednie rejestrowe) Architektura systemów komputerowych Cezary Bolek 37 Tryby adresowania Tryb adresowania jest to sposób określenia lokalizacji operandu instrukcji Adresowanie natychmiastowe Op 6 Rs 5 Rt 5 immediate 16 Operand jest stałą Adresowanie rejestrowe bezpośrednie Op 6 Rs 5 Rt 5 Rd 5 sa 5 funct 6 Operand znajduje się w rejestrze Register Bazowe z przesunięciem Operand znajduje się w pamięci (load/store) Op 6 Rs 5 Rt 5 immediate 16 Register = Base address Bezpośrednie i pośrednie rejestrowe + Byte Halfword Word Architektura systemów komputerowych Cezary Bolek 38
20 Tryby adresowania dla instrukcji skoków Adresowanie względem licznika PC Op 6 Rs 5 Rt 5 immediate 16 PC 3 +1 UŜywane przez instr. rozgałęzień (beq, bne, ) Word = Target Instruction Adres instrukcji docelowej PC = PC + 4 (1 + immediate 16 ) PC 3 + immediate Adresowanie pseudobezpośrednie UŜywane przez instrukcję skoku Op 6 PC 4 immediate 26 : PC 26 Word = Target Instruction Adres instrukcji docelowej PC 4 immediate 26 Architektura systemów komputerowych Cezary Bolek 39 Koniec Architektura systemów komputerowych Cezary Bolek 4
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ółowoProcedury. int mult (int mcand, int mlier){ int product = 0; while (mlier > 0) { product = product + mcand; mlier = mlier -1; } return product; }
main() { int i,j,k,m;... i = mult(j,k);... m = mult(i,i);... Procedury int mult (int mcand, int mlier){ int product = 0; while (mlier > 0) { product = product + mcand; mlier = mlier -1; return product;
Bardziej szczegółowo. 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ółowoArchitektura systemów komputerowych. Poziom układów logicznych. Układy mnoŝące i dzielące
Architektura systemów komputerowych Poziom układów logicznych. Układy mnoŝące i dzielące Cezary Bolek Katedra Informatyki Plan wykładu Układy mnoŝące liczby całkowite MnoŜenie liczb bez znaku MnoŜarka
Bardziej szczegółowoArchitektura 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ółowoPlan wykładu. Architektura systemów komputerowych. MnoŜenie realizacja sprzętowa (wersja 1) Układy mnoŝące liczby całkowite.
Plan wykładu rchitektura systemów komputerowych Poziom układów logicznych. Układy mnoŝące i dzielące Cezary Bolek Katedra Informatyki Układy mnoŝące liczby całkowite MnoŜenie liczb bez znaku MnoŜarka sekwencyjna
Bardziej szczegółowoProgramowanie w asemblerze MIPSa
p. 1/28 Programowanie w asemblerze MIPSa (ciąg dalszy) p. 2/28 Przypomnienie Trzy poziomy języka: Język maszynowy - kody operacji, wszystkie adresy, numery rejestrów i stałe zakodowane za pomoca zer i
Bardziej szczegółowoArchitektura 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ółowoStruktura 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ółowo1 Ogolnie o asemblerach. 2 Zarys architektury MIPS
1 Ogolnie o asemblerach Kod zerojedynkowy jakim posªuguje si komputer jest niewygodny dla czªowieka. Pomysª: wprowadzenie symbolicznych nazw instrukcji, odzieli pola argumentów. Wci» jest niewygodnie,
Bardziej szczegółowo1 Zarys architektury MIPS
1 Zarys architektury MIPS Procesory rmy MIPS Technologies u»ywane s w komputerach (Silicon Graphics), skomputeryzowanych zabawkach (Nintendo, Sony) oraz w systemach wbudowanych (w jakie wyposa»one s np.
Bardziej szczegółowoCPU 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ółowoMOŻ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ółowoProjektowanie. 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ółowoList s a R ozkazó z w: w Ję J z ę y z k y k k o k mp o u mp t u er e a a ( cd c. d )
Lista Rozkazów: Język komputera (cd.) Procedury int funkcja (int n){ int i,j; (...) return j; } main () { int i,j; i=funkcja(i);... j=funkcja(i); } funkcja operuje na pewnych rejestrach, być może na tych
Bardziej szczegółowoRejestry procesora. Nazwa ilość bitów. AX 16 (accumulator) rejestr akumulatora. BX 16 (base) rejestr bazowy. CX 16 (count) rejestr licznika
Rejestry procesora Procesor podczas wykonywania instrukcji posługuje się w dużej części pamięcią RAM. Pobiera z niej kolejne instrukcje do wykonania i dane, jeżeli instrukcja operuje na jakiś zmiennych.
Bardziej szczegółowoProcesor ma architekturę rejestrową L/S. Wskaż rozkazy spoza listy tego procesora. bgt Rx, Ry, offset nand Rx, Ry, A add Rx, #1, Rz store Rx, [Rz]
Procesor ma architekturę akumulatorową. Wskaż rozkazy spoza listy tego procesora. bgt Rx, Ry, offset or Rx, Ry, A add Rx load A, [Rz] push Rx sub Rx, #3, A load Rx, [A] Procesor ma architekturę rejestrową
Bardziej szczegółowoWstę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ółowoUkł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ółowoMagistrala 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ółowoWstę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ółowoArchitektura 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ółowoArchitektura typu multi cycle
PC ux ress Write data emdata [3-26] [25-2] [2-6] [5-] register [5-] Cond IorD em emwrite emtoreg IRWrite [25-] [5-] Outputs Control Op [5-] ux ux PCSource Op SrcB Src RegWrite RegDst register register
Bardziej szczegółowoArchitektura 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ółowoARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH. Babbage i jego komputer mechaniczny. Ada programuje maszynę Babbage a. architektura. c Dr inż.
Wstęp 1 Wstęp ARCHITETURA SYSTEMÓW OMPUTEROWYCH architektura c Dr inż. Ignacy Pardyka UNIWERSYTET JANA OCHANOWSIEGO w ielcach 1 Rok akad. 215/216 2 Tryby adresowania 3 onstrukcja modelu programowego komputera
Bardziej szczegółowoArchitektura 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ółowoKod 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ółowoArchitektura 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ółowoPodstawy 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ółowoWprowadzenie 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ółowoArchitektura 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ółowo2.1. W architekturze MIPS, na liście instrukcji widzimy dwie instrukcje dotyczące funkcji: .text main: la $a0, string1 # drukuj pierwszy łańcuch
ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH: Instrukcja do laboratorium 4, (2x2h) Opracowanie i prowadzenie: dr inż. Ignacy Pardyka, Uniwersytet Jana Kochanowskiego w Kielcach Temat: Architektura MIPS: wywołanie
Bardziej szczegółowo4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/2012 2 / 24
Wymagania proceduralnych języków wysokiego poziomu ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH modele programowe procesorów ASK MP.01 c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad.
Bardziej szczegółowoRozszerzalne kody operacji (przykład)
Tryby adresowania natychmiastowy (ang. immediate) bezpośredni (ang. direct) pośredni (ang. indirect) rejestrowy (ang. register) rejestrowy pośredni (ang. register indirect) z przesunieciem (indeksowanie)
Bardziej szczegółowoDr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI
Dr inż. Grażyna KRUPIŃSKA Grazyna.Krupinska@fis.agh.edu.pl D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI Wyrażenia 2 Wyrażenia w języku C są bardziej elastyczne niż wyrażenia w jakimkolwiek innym języku
Bardziej szczegółowoSystemy wbudowane. Przykłady kodu Assembler
Systemy wbudowane Przykłady kodu Assembler Wstęp Slowo assembly w języku angielskim oznacza składać, montować W odniesieniu do języka programowania słowo to odnosi się do niskopoziomowego języka programowania
Bardziej szczegółowoMikrokontroler 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ółowoA 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ółowoInstrukcja 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ółowoJęzyk programowania: Lista instrukcji (IL Instruction List)
Język programowania: Lista instrukcji (IL Instruction List) Wykład w ramach przedmiotu: Sterowniki programowalne Opracował dr inż. Jarosław Tarnawski 08.12.2009 Norma IEC 1131 Języki tekstowe Języki graficzne
Bardziej szczegółowoSpis 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ółowoArchitektura 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ółowoTechnika 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ółowoKodowanie 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ółowoProgramowanie 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ółowoWstę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ółowoARCHITEKTURA 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ółowoProcesory rodziny x86. Dariusz Chaberski
Procesory rodziny x86 Dariusz Chaberski 8086 produkowany od 1978 magistrala adresowa - 20 bitów (1 MB) magistrala danych - 16 bitów wielkość instrukcji - od 1 do 6 bajtów częstotliwośc pracy od 5 MHz (IBM
Bardziej szczegółowoTechnika 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ółowoWstę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ółowoKsięgarnia PWN: Włodzimierz Stanisławski, Damian Raczyński - Programowanie systemowe mikroprocesorów rodziny x86
Księgarnia PWN: Włodzimierz Stanisławski, Damian Raczyński - Programowanie systemowe mikroprocesorów rodziny x86 Spis treści Wprowadzenie... 11 1. Architektura procesorów rodziny x86... 17 1.1. Model procesorów
Bardziej szczegółowoARCHITEKTURA 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ółowoProcesor 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ółowoProgramowalne 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ółowoArchitektura systemów komputerowych. Lista instrukcji procesora
Architektura systemów komputerowych Plan wykładu 1. Rozkaz, lista rozkazów procesora. 2. Mikroprogramowanie. 3. Język maszynowy. 4. Projekt P: koncepcja, model rozkazu. Cele Architektura procesorów: von
Bardziej szczegółowoarchitektura komputerów w 1 1
8051 Port P2 Port P3 Transm. szeregowa Timery T0, T1 Układ przerwań Rejestr DPTR Licznik rozkazów Pamięć programu Port P0 Port P1 PSW ALU Rejestr B SFR akumulator 8051 STRUKTURA architektura komputerów
Bardziej szczegółowoPodstawy Techniki Mikroprocesorowej
Podstawy Techniki Mikroprocesorowej Architektury mikroprocesorów Wydział Elektroniki Mikrosystemów i Fotoniki dr inż. Piotr Markowski Na prawach rękopisu. Na podstawie dokumentacji ATmega8535, www.atmel.com.
Bardziej szczegółowoInformatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki
Informatyka I Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2019 1 Plan wykładu
Bardziej szczegółowoProgramowanie 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ółowo2 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.02 Rok akad. 2011/ / 24
ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH modele programowe komputerów ASK MP.02 c Dr inż. Ignacy Pardyka 1 UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach 2 Literatura Rok akad. 2011/2012 c Dr inż. Ignacy Pardyka
Bardziej szczegółowoPrzetwarzanie potokowe pipelining
Przetwarzanie potokowe pipelining (część A) Przypomnienie - implementacja jednocyklowa 4 Add Add PC Address memory ister # isters Address ister # ister # memory Wstęp W implementacjach prezentowanych tydzień
Bardziej szczegółowoProgramowanie w elektronice: Podstawy C
Programowanie w elektronice: Podstawy C Projekt Matematyka dla Ciekawych Świata, Robert Ryszard Paciorek 2019-05-05 C / C++ są najpopularniejszymi językami kompilowanymi do kodu maszynowego
Bardziej szczegółowoTechnologie 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ółowoJednostka centralna. dr hab. inż. Krzysztof Patan, prof. PWSZ
Jednostka centralna dr hab. inż. Krzysztof Patan, prof. PWSZ Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa w Głogowie k.patan@issi.uz.zgora.pl Architektura i organizacja komputerów Architektura
Bardziej szczegółowoLista instrukcji procesora 8051 część 2 Skoki i wywołania podprogramów, operacje na stosie, operacje bitowe
Lista instrukcji procesora 8051 część 2 Skoki i wywołania podprogramów, operacje na stosie, operacje bitowe Ryszard J. Barczyński, 2009 2013 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego
Bardziej szczegółowoPrzykł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ółowoKurs Zaawansowany S7. Spis treści. Dzień 1
Spis treści Dzień 1 I Konfiguracja sprzętowa i parametryzacja stacji SIMATIC S7 (wersja 1211) I-3 Dlaczego powinna zostać stworzona konfiguracja sprzętowa? I-4 Zadanie Konfiguracja sprzętowa I-5 Konfiguracja
Bardziej szczegółowoPracownia 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ółowoLogiczny 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ółowoProgramowanie Niskopoziomowe
Programowanie Niskopoziomowe Wykład 10: Arytmetyka całkowitoliczbowa Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Plan Wprowadzenie Instrukcje przesunięcia bitowego
Bardziej szczegółowoAGH Akademia Górniczo-Hutnicza w Krakowie Katedra Elektroniki
AGH Akademia Górniczo-Hutnicza w Krakowie Katedra Elektroniki Technika mikroprocesorowa Laboratorium 5 Operacje arytmetyczne Autor: Paweł Russek Tłumaczenie: Marcin Pietroń i Ernest Jamro http://www.fpga.agh.edu.pl/tm
Bardziej szczegółowoPodstawy programowania w BASCOM BASIC AVR
Podstawy programowania w BASCOM BASIC AVR Tworzenie programu 1. Uruchamiamy aplikację BASCOM AVR. 2. Tworzymy plik programu lub otwieramy i ewentualnie edytujemy istniejący. 3. Sprawdzamy, czy ustawienia
Bardziej szczegółowoPodstawy 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ółowoArchitektura Systemów Komputerowych
Jarosław Kuchta Architektura Systemów Komputerowych ćwiczenie 3 Arytmetyka całkowita instrukcja laboratoryjna Wprowadzenie Celem ćwiczenia jest zapoznanie się z budową i sposobem działania jednostki arytmetyczno-logicznej
Bardziej szczegółowoSprzę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ółowoPracownia 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ółowoJęzyki i metodyka programowania. Typy, operatory, wyrażenia. Wejście i wyjście.
Typy, operatory, wyrażenia. Wejście i wyjście. Typy, operatory, wyrażenia Zmienna: [] [ '[' ']' ] ['=' ]; Zmienna to fragment pamięci o określonym
Bardziej szczegółowoZmienne, stałe i operatory
Zmienne, stałe i operatory Przemysław Gawroński D-10, p. 234 Wykład 2 4 marca 2019 (Wykład 2) Zmienne, stałe i operatory 4 marca 2019 1 / 21 Outline 1 Zmienne 2 Stałe 3 Operatory (Wykład 2) Zmienne, stałe
Bardziej szczegółowoKod U2 Opracował: Andrzej Nowak
PODSTAWY TEORII UKŁADÓW CYFROWYCH Kod U2 Opracował: Andrzej Nowak Bibliografia: Urządzenia techniki komputerowej, K. Wojtuszkiewicz http://pl.wikipedia.org/ System zapisu liczb ze znakiem opisany w poprzednim
Bardziej szczegółowoLABORATORIUM 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ółowo2. Architektura mikrokontrolerów PIC16F8x... 13
Spis treści 3 Spis treœci 1. Informacje wstępne... 9 2. Architektura mikrokontrolerów PIC16F8x... 13 2.1. Budowa wewnętrzna mikrokontrolerów PIC16F8x... 14 2.2. Napięcie zasilania... 17 2.3. Generator
Bardziej szczegółowoAdresowanie 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ółowo1. 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ółowoPodstawy programowania skrót z wykładów:
Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace
Bardziej szczegółowoLista rozkazów mikrokontrolera 8051 część pierwsza: instrukcje przesyłania danych, arytmetyczne i logiczne
Lista rozkazów mikrokontrolera 8051 część pierwsza: instrukcje przesyłania danych, arytmetyczne i logiczne Ryszard J. Barczyński, 2016 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego
Bardziej szczegółowoorganizacja 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ółowoArchitektura Systemów Komputerowych
Architektura Systemów Komputerowych Wykład 6: Budowa jednostki centralnej - CPU Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Plan Procesor jednocyklowy Procesor
Bardziej szczegółowoPrzedmiot: 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ółowoMikroprocesory z architekturą RISC
Mikroprocesory z architekturą RISC Koncepcja mikrokomputerów z architekturą RISC (Reduced Instruction Set Computer), pozwala na przejęcie sterowaniem mikrokomputerem na niskim poziomie przez oprogramowanie.
Bardziej szczegółowoDYDAKTYKA 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ółowoArchitektura systemów komputerowych
Studia stacjonarne inżynierskie, kierunek INFORMATYKA Architektura systemów komputerowych Architektura systemów komputerowych dr Artur Bartoszewski Procesor część I 1. ALU 2. Cykl rozkazowy 3. Schemat
Bardziej szczegółowoPracownia 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ółowoZasady wykonywania programu drabinkowego w sterowniku
Zasady wykonywania programu drabinkowego w sterowniku Programowanie sterownika Modicon Micro 612xx w środowisku uruchomieniowym Modsoft odbywa się przy pomocy języka drabinkowego wspomaganego blokami funkcyjnymi.
Bardziej szczegółowoShellcody a architektura MIPS na systemach IRIX. Adam Zabrocki.
Adam Zabrocki http://pi3.shellcode.pl pi3@itsec.pl Architektura MIPS: MIPS Microprocessor without Interlocked Piped Stages: RISC Rationalized Instruction Set Computers (Reduced Instruction Set Computers)
Bardziej szczegółowoWprowadzenie do informatyki ćwiczenia
Podstawowe działania na liczbach binarnych dr inż. Izabela Szczęch WSNHiD 2010/2011 Ćwiczenia z wprowadzenia do informatyki Dodawanie Odejmowanie Mnoż enie Dzielenie Plan zajęć 2 Izabela Szczęch 1 Dodawanie
Bardziej szczegółowoPodstawy Informatyki. Metalurgia, I rok. Wykład 3 Liczby w komputerze
Podstawy Informatyki Metalurgia, I rok Wykład 3 Liczby w komputerze Jednostki informacji Bit (ang. bit) (Shannon, 1948) Najmniejsza ilość informacji potrzebna do określenia, który z dwóch równie prawdopodobnych
Bardziej szczegółowoProgramowanie w C++ 1 Opis procesora Sextium II. Opis procesora Sextium. materiały dydaktyczne udostępnione przez Tomasza Wierzbickiego
Programowanie w C++ Opis procesora Sextium materiały dydaktyczne udostępnione przez Tomasza Wierzbickiego 1 Opis procesora Sextium II Budowa procesora Sextium II 1 o architekturze typu RISC 2 jest przedstawiona
Bardziej szczegółowoPodstawy 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ółowoArchitektura 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ółowoSprzę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