Principy počítačů a operačních systémů
|
|
- Alžběta Brožová
- před 6 lety
- Počet zobrazení:
Transkript
1 Principy počítačů a operačních systémů Instrukce jazyk počítače Zimní semestr 2011/2012
2 Jazyk počítače Instrukce a instrukční sada instrukce slova jazyka instrukční sada slovník Jaká slova by jazyk měl mít? formálně se dá ukázat, že existují instrukce, které postačují k vykonání a řízení libovolného výpočtu rozhodují praktické aspekty: jednoduchost realizace, rychlost vykonávání a srozumitelnost 2/68 - Instrukce
3 Operace There must certainly be instructions for performing the fundamental arithmetic operations. Burks, Goldstine & von Neumann, 1947
4 Aritmetické operace Sčítání (odčítání) add a, b, c (sub a, b, c) symbolický zápis pro MIPS sečti b + c (odečti b - c) a výsledek ulož do a operace pracuje vždy se třemi proměnnými 2 operandy + místo pro výsledek Proč vždy tři operandy? pevný počet operandů zjednodušení HW HW má být jednoduchý! Princip návrhu: jednoduchost pravidelnost 4/68 - Instrukce
5 Příklad: překlad jednoduchých přiřazení Fragment programu v jazyce C a = b + c; d = a e; Překlad do assembleru pro MIPS 5 proměnných a, b, c, d, e výrazy odpovídají možnostem instrukcí jednoduché příkazy překladač přeloží přímo na jednotlivé instrukce add a, b, c sub d, a, e 5/68 - Instrukce
6 6/68 - Instrukce Příklad: překlad složitějších přiřazení Fragment programu v jazyce C f = (g + h) (i + j); Překlad do assembleru pro MIPS 5 proměnných f, g, h, i, j instrukce pracují pouze se třemi operandy překladač musí rozdělit příkaz do více instrukcí a uložit mezivýsledky do pomocných proměnných t0 a t1 add t0, g, h # t0 = g + h add t1, i, j # t1 = i + j sub f, t0, t1 # f = (g + h) (i + j)
7 Operandy
8 Registry Registr = paměťové místo v procesoru programově přístupné, omezený počet (1, 8, 16, 32) velikost = nativní délka slova (MIPS 32 bitů) Princip návrhu: menší rychlejší neplatí absolutně, 31 není nutně rychlejší než 32 důležité je udržet vysokou rychlost přístupu vyšší počet registrů je nutné kódovat více bity Označení registrů čísla v inst. kódu, symbolická jména v assembleru MIPS - $zero, $a0-a3, $s0-$s7, $t0-$t7, $v0-$v1,..., $gp, $ra, $sp x86 eax, ebx, ecx, edx, esi, edi, ebp, esp 8/68 - Instrukce
9 9/68 - Instrukce Příklad: přiřazení s použitím registrů Fragment programu v jazyce C f = (g + h) (i + j); Překlad do assembleru pro MIPS překladač musí nějak asociovat proměnné f, g, h, i a j s registry $s0, $s1, $s2, $s3 a $s4 překladač musí rozdělit příkaz do více instrukcí a použít pomocné registry $t0 a $t1 pro mezivýsledky add $t0, $s0, $s1 add $t1, $s2, $s3 sub $s4, $t0, $t1 # t0 = g + h # t1 = i + j # s4 = (g + h) (i +j)
10 Paměťové operandy Práce s daty v programovacích jazycích jednoduché datové elementy proměnné složitější datové struktury pole, struktury, třídy datových elementů je výrazně více než registrů v procesoru data jsou primárně uložena v operační paměti... ale aritmetické operace pracují jen s registry potřebujeme přesouvat data z paměti do registrů instrukce pro přesun dat (data transfer instructions) instrukce musí poskytnout adresu slova v paměti 10/68 - Instrukce
11 11/68 - Instrukce Logický model paměti Velké jednorozměrné pole posloupnost položek stejné velikosti 8-bitů = 1 bajt (byte) Adresa odpovídá pořadí adresa = index v poli Paměť obsahuje čísla instrukce, data význam určen interpretací Procesor Adresa Data Paměť
12 12/68 - Instrukce Přesun dat mezi pamětí a registry Instrukce load a store jméno operace cílový/zdrojový registr adresa v paměti Specificky pro MIPS lw (load word), sw (store word) adresa = konstanta + registr přečte z/zapíše do paměti slovo (32-bitů) v paměti uloženo ve 4 po sobě jdoucích bajtech adresy slov musí být dělitené DEADBEEF CA55E77E 16 8 BA5EBA CA11AB1E 16 0 B01DFACE 16 Adresa Data Procesor Paměť
13 Ukládání vícebajtových posloupností Slova reprezentovaná více bajty DEADBEEF 16 ~ 32-bitové slovo ~ 4 bajty uloženo po bajtech na adresách A, A+1, A+2, A+3 Big Endian (MIPS, Motorola,...) s rostoucí adresou klesá význam bajtů [A]=DE 16, [A+1]=AD 16, [A+2]=BE 16, [A+3]=EF 16 Little Endian (Intel x86, MIPS,...) s rostoucí adresou roste význam bajtů [A]=EF 16, [A+1]=BE 16, [A+2]=AD 16, [A+3]=DE 16 Důsledky? 13/68 - Instrukce
14 14/68 - Instrukce Příklad: přiřazení s paměťovým operandem Fragment programu v jazyce C int A [100]; g = h + A [7]; Překlad do assembleru pro MIPS překladač asocioval proměnné g, a h s registry $s1 a $s2 Proměnná A reprezentuje pole 100 slov. Prvky pole A mají indexy od 0 do 99. A [7] reprezentuje 8. prvek pole. překladač umístil pole A do paměti a jeho počáteční (bázovou) adresu uložil do registru $s3 obsah A [7] nutno načíst do registru, adresa dána součtem bázové adresy A a offsetu 8. prvku pole lw $t0, 28 ($s3) add $s1, $s2, $t0 $s3 představuje bázový registr, číslo 28 je offset 8. prvku (slova o šířce 32 bitů), přičemž offset = index velikost
15 Příklad: přiřazení se dvěma paměťovými operandy Fragment programu v jazyce C int A [100]; A [12] = h + A [7]; Překlad do assembleru pro MIPS překladač asocioval proměnnou h s registrem $s2 a počáteční adresu A do uložil do registru $s3 obsah A [7] nutno načíst do registru, výsledek operace nutno uložit z registru do A [12] lw $t0, 28 ($s3) # t0 = A [7] add $t0, $s2, $t0 # t0 = h + A [7] sw $t0, 48 ($s3) # A [12] = h + A [7] 15/68 - Instrukce
16 Jak používá překladač registry? Práce s registry je rychlejší než práce s pamětí menší = rychlejší Data v registrech jsou užitečnější než v paměti aritmetické operace pracují s dvěma registry instrukce load/store pouze čtou/zapisují Proměnných je výrazně více než registrů programátor/překladač musí registry využívat efektivně nejčastěji používané proměnné v registrech ostatní proměnné přesouvány mezi pamětí a registry podle potřeby register spilling nejčastěji platí pro omezený kontext (funkce, cyklus,...) 16/68 - Instrukce
17 17/68 - Instrukce Přímé operandy (konstanty) K čemu se hodí konstanty? zvýšení indexu do pole aby odkazoval na následující prvek, řídící proměnné cyklu,... stávající instrukce umožňují pouze použití konstant uložených v paměti např. přičtení 4 k registru $s3 lw $t0, OffsetConst4 ($s1) add $s3, $s3, $t0 abychom se vyhnuli čtení z paměti, potřebujeme možnost zadat konstanty přímo addi $s3, $s3, 4 Princip návrhu: nejčastější nejrychlejší $s1 obsahuje adresu tabulky (pole) konstant Pozn.: instrukce lw a sw již přímý operand podporují. častý výskyt podpora v instrukcích (MIPS $zero = 0)
18 Reprezentace čísel v počítači Bez znaménka (přirozená čísla) a se znaménkem (celá čísla)
19 Jak počítač reprezentuje čísla? Člověk vs. počítač číslům samotným je to úplně jedno, ta prostě jsou člověk má 10 prstů desítková soustava číslo tvořeno posloupností číslic 0, 1,..., 9 počítač rozlišuje 2 hodnoty dvojková soustava číslo tvořeno posloupností číslic 0 a 1 HW reprezentace čísla 1 číslice = 1 bit (binary digit) rozdílné úrovně napětí pro 2 hodnoty (0 a 1) nejmenší jednotka informace (true/false, on/off, high/low,...) veškeré informace složeny z bitů posloupnost číslic = posloupnost elektronických signálů 19/68 - Instrukce
20 20/68 - Instrukce Hodnota čísla v pozičním systému o základu β Hodnota n-ciferného celého čísla A číslice na i-té pozici reprezentována koeficientem a i i=n 1 A= i=0 a i i Zápis čísla v n-bitovém slově (β=2) = = = = bity očíslovány zprava doleva bit na pozici i=0 nejméně významný (least significant bit, LSB) bit na pozici i=n-1 nejvýznamnější (most significant bit, MSB)
21 21/68 - Instrukce Co lze vyjádřit n-bitovým slovem? 2 n různých kombinací jedniček a nul reprezentace přirozených čísel od 0 do 2n = = = = = = A=a a a a a kombinace bitů čísla pouze reprezentují čísla mají nekonečně mnoho číslic (počáteční nuly) není-li možné reprezentovat výsledek přetečení
22 Jak reprezentovat kladná a záporná čísla? Co třeba přidat znaménko? na reprezentaci znaménka stačí 1 bit Reprezentace se znam. bitem (sign & magnitude) reprezentace celých čísel od -(2 n-1-1) do 2 n-1-1 nejvyšší bit reprezentuje znaménko (znaménkový bit) inverze znaménkového bitu mění znaménko čísla přímočaré, ale problematické řešení HW operace musí nastavovat znaménko výsledku dvojí (kladná a záporná) reprezentace nuly sign A=( 1 a 31 ) ((a )+(a )+ +(a )+(a )) 22/68 - Instrukce
23 Co by se líbilo hardwaru? Chceme jednoduchý HW... Co se stane, pokud od menšího přirozeného čísla odečteme větší přirozené číslo? = =? dojde k výpůjčce z vyšších řádů (nul před číslem), takže výsledek bude začínat řetězcem jedniček = = Co na to HW? kladné číslo začíná nulami, záporné jedničkami počet bitů reprezentace je omezen šířkou slova = HW operace s čísly se nemusí ohlížet na znaménko 23/68 - Instrukce
24 24/68 - Instrukce Nejpoužívanější reprezentace celých čísel Reprez. ve dvojkovém doplňku (two's complement) reprezentace celých čísel od -2 n-1 do 2 n-1-1 nejvyšší (znaménkový) bit indikuje znaménko (sign bit) = = = = = = = A=a a a a a znaménkový bit bity vlevo od znaménka přetečení =
25 25/68 - Instrukce Záporná čísla ve dvojkovém doplňku Příklad: zjistěte hodnotu čísla =? = = = = 4 10 Negace n-bitového čísla (doplněk do 2 n ) rychlá negace: inverze bitů (0 1, 1 0) a přičtení 1 A + A = = -1 10, tedy A + A + 1 = 0, resp. A + 1 = -A =? 10 -( ) = -(?) 10 -( ) = -(4) 10 převod z desítkové soustavy do dvojkové analogicky Proč doplněk? Pro n-bitové číslo A platí -A + A = 2 n tedy -A = 2 n A (číslo opačné k A odpovídá jeho doplňku do 2 n )
26 26/68 - Instrukce Znaménkové rozšíření ve dvojkovém doplňku Převod n-bitového na m-bitové číslo, n < m registry mají pevnou šířku, data v paměti mohou být užší při načtení do registru nutno rozšířit mem: = 8 10 reg: = 8 10 mem: = reg: = zkopírovat znaménkový bit do chybějících bitů vlevo kladné (záporné) číslo ve dvojkovém doplňku má nekonečně mnoho nul (jedniček) nalevo od znaménkového bitu n-bitové slovo je omezená reprezentace čísla, při rozšíření na m bitů je nutné bity nalevo od znaménkového bitu obnovit
27 Jiné reprezentace Reprezentace s posunutím nuly (biased notation) nula je reprezentována konstantou min záporné číslo , max kladné číslo reprezentace celých čísel (typicky) od -2 n-1 do 2 n-1-1 používá se u čísel v plovoucí řádové čárce (později) Reprez. v jedničkovém doplňku (one's complement) reprezentace celých čísel od -(2 n-1-1) do 2 n-1-1 nejvyšší (znaménkový) bit indikuje znaménko (sign bit) negace čísla je prostá inverze bitů, tedy -A = A předchůdce dvojkového doplňku, nepoužívá se operace odčítání vyžaduje krok navíc 27/68 - Instrukce
28 Reprezentace instrukcí v počítači
29 Reprezentace instrukcí v počítači Instrukce = posloupnost 0 a 1 číselná reprezentace strojový kód složen z několika čísel odpovídajících různým částem instrukce (specifikace operace a operandů) operace a registry reprezentovány čísly symbolická jména operací pouze v assembleru $s0-s , $t0-t7 8-15, $a0-a4... (MIPS) add 0, 32 (MIPS) Příklad: překlad instrukce do strojového kódu (MIPS) add $t0, $s1, $s /68 - Instrukce
30 Jak si zjednodušit práci s dvojkovými čísly? Potřebujeme kratší zápis a rychlý převod... osmičková/oktalová soustava (β = 8) = šestnáctková/hexadecimální soustava (β = 16) A 16 B 16 C 16 D 16 E 16 F = BDF 16 30/68 - Instrukce
31 Základní formát instrukčního kódu (MIPS) Instrukce registrového typu (r-type) op rs rt rd shamt funct op: operační kód základní operace (opcode) rs: první zdrojový registrový operand rt: druhý zdrojový registrový operand rd: cílový registrový operand shamt: posun v logických operacích (shift amount) funct: funkce varianta operace (function code) Co když potřebujeme v instrukci delší pole? 6 bitů 5 bitů 5 bitů 5 bitů 5 bitů 6 bitů konstanta v load/store a add immediate instrukcích 31/68 - Instrukce
32 Formát pro přímé operandy (MIPS) Instrukce s přímým operandem (i-type) op: operační kód základní operace (opcode) rs: zdrojový registrový operand rt: cílový registrový operand do zbytku je možné zapsat 16b konstantu Princip návrhu: dobrý návrh dobré kompromisy konstantní délka instrukce vs. stejný formát instrukce op rs rt address or constant 6 bitů 5 bitů 5 bitů 16 bitů stejná délka různý formát pro různé typy operací snažíme se o co nejpodobnější formáty 32/68 - Instrukce
33 Příklad: přiřazení se dvěma paměťovými operandy Fragment programu v jazyce C A [300] = h + A [300]; Překlad do assembleru pro MIPS lw $t0, 1200 ($t1) # t0 = A [300] add $t0, $s2, $t0 # t0 = h + A [300] sw $t0, 1200 ($t1) # A [300] = h + A [300] Strojový kód pro MIPS /68 - Instrukce
34 34/68 - Instrukce Počítač s vnitřním řízením (stored-program( computer) Hlavní principy 1. instrukce reprezentovány čísly 2.programy jsou uloženy v paměti, odkud/kam se dají číst a zapisovat jako čísla Důsledek software je možné šířit ve formě binárních souborů funkce počítače závisí pouze na tom, jaký program zrovna vykonává Procesor OO Writer (stroj. kód) chillout.mp3 (data) diplomka.odt (data) GCC (stroj. kód) Audacious (stroj. kód) program.c (data) Paměť
35 Logické operace
36 K čemu jsou potřeba logické operace? Manipulace s bity v rámci slov procesor pracuje s celými slovy, data mohou mít granularitu bajtů, či (skupin) bitů ve slovech pole v instrukčním kódu, znaky textového dokumentu, stavové slovo z V/V zařízení,... instrukce pro logické operace usnadňují mj. balení a vybalování bitů ze slov Typické operace logické posuny vlevo/vpravo operátory << a >> v jazycích C a Java logický součin/součet/negace/... po bitech (bitwise) operátory &,, ~,... v jazycích C a Java 36/68 - Instrukce
37 Logické posuny Posouvají všechny bity registru vlevo/vpravo uvolněné bity jsou nahrazeny 0 instrukce sll, srl (shift left/right logical) délka posunu určena polem shamt v r-type instrukci posun o i vlevo/vpravo odpovídá násobení/dělení 2 i pouze pro přirozená čísla Příklad: posun vlevo o 4 s0 = = 9 10 sll $t2, $s0, 4 # t2 = s0 << 4 t2 = = op rs rt rd shamt funct /68 - Instrukce
38 38/68 - Instrukce Logické operace po bitech Logický AND, OR, XOR, NOR, NOT,... po bitech logická funkce postupně aplikována na jednotlivé bity z operandů a výsledek uložen do cílového registru umožňují izolovat (AND), vynulovat (AND, NOR), nastavit (OR), invertovat (XOR) vybrané bity slova, případně invertovat celé slovo (NOT) Příklad: izolace, nastavení a inverze bitů t2 = t1 = and $t0, $t1, $t2 # t0 = t1 & t2 t0 = or $t0, $t1, $t2 # t0 = t1 t2 t0 = nor $t0, $t1, $zero # t0 = ~(t1 $zero) = ~t1 t0 =
39 39/68 - Instrukce Příklad: zjištění hodnoty bitového pole Fragment programu v jazyce C shamt = (rtype & C0 16 ) >> 6; Překlad do assembleru pro MIPS andi $t0, $s1, C0 16 srl $s0, $t0, 6 Strojový kód pro MIPS x
40 Rozhodovací operace
41 Jak se liší počítač od kalkulátoru? Může rozhodovat na základě dat vstupní a dosud vypočtené hodnoty ovlivňují, které instrukce se budou provádět v dalších krocích řídící příkazy v programovacích jazycích if-then-else, goto, switch-case, for a while Instrukce pro podporu rozhodování podmíněné a nepodmíněné skoky beq, bne (branch if [not] equal) j, jr (jump [register]) porovnávání slt, slti (set on less than [immediate]) 41/68 - Instrukce
42 Formát pro přímé nepodmíněné skoky (MIPS) Instrukce přímých nepodmíněných skoků (j-type) op pseudo direct address 6 bitů 26 bitů op: operační kód základní operace (opcode) přímá adresa skoku adresa slova (bez spodních 2 bitů), horní 4 bity z PC nelze přímo skákat přes hranici 256MiB Ostatní typy skoků nepřímý skok na adresu v registru (formát r-type) větvení při rovnosti/nerovnosti registrů (formát i-type) 42/68 - Instrukce
43 43/68 - Instrukce Příklad: překlad větvení if-then-else Fragment programu v jazyce C if (i == j) { f = g + h; } else { f = g h; } Překlad do assembleru pro MIPS překladač asocioval proměnné f, g, h a i, j s registry $s0, $s1, $s2 a $s3, $s4 větve programu oddělil překladač návěštími bne $s3, $s4, Else # i j goto Else add $s0, $s1, $s2 # f = g + h j Exit # goto Exit Else: sub $s0, $s1, $s2 # f = g h Exit:
44 44/68 - Instrukce Příklad: cyklus while Fragment programu v jazyce C while (save [i] == k) { i += 1; } Překlad do assembleru pro MIPS překladač asocioval proměnné save a i, k s registry $s0 (báze) a $s1, $s2 Loop: sll $t1, $s1, 2 # t1 = i << 2 = i * 4 add $t1, $t1, $s0 # t1 = & save [i] lw $t0, 0 ($t1) # t0 = save [i] bne $t0, $s2, Exit # t0 k goto Exit addi $s1, $s1, 1 # i = i + 1 j Loop # goto Loop Exit:
45 45/68 - Instrukce Příklad: větvení switch-case Více větví v jednom místě přeloženo jako kaskáda if-then-else rozskok podle tabulky načtení cílové adresy do registru + instrukce jr Překlad do assembleru pro MIPS sll $t1, $s1, 2 # t1 = i * 4 add $t2, $s0, $s1 # t2 = & tabulka [i] lw $t0, 0 ($t2) # t0 = tabulka [i] jr $t0 # skok na adresu v t0
46 Volání procedur a funkcí
47 Volání procedur a funkcí Procedury a funkce možno volat odkudkoliv, návrat do místa volání lokální kontext vstupní a výstupní parametry Průběh volání 1. uložení vstupních parametrů pro funkci 2.předání řízení do kódu funkce skok 3.získání prostředků pro vykonání funkce 4.provedení požadované funkce 5.uložení výsledků pro volajícího 6.návrat do místa volání 47/68 - Instrukce
48 Volání procedur a funkcí Kam uložit data? pokud možno do registrů Podpora pro volání na MIPS registry pro data $a0, $a1, $a2, $a3 vstupní parametry funkce $v0, $v1 návratová hodnota funkce $ra registr pro návratovou adresu skok s uložením návratové adresy do $ra adresa instrukce následující po instrukci volání (PC + 4) jal (jump and link) 48/68 - Instrukce
49 Volání procedur a funkcí Co když potřebujeme místo v registrech? rekurzivní volání, mnoho parametrů registry nutno vylít do paměti zásobník Zásobník Last In First Out ukazatel na vrchol zásobníku, operace push a pop zásobník roste směrem k nižším adresám snížení/zvýšení vrcholu vytvoří/ubere místo na zásobníku Podpora pro zásobník na MIPS $sp ukazatel vrcholu zásobníku přístup do paměti relativně k vrcholu zásobníku 49/68 - Instrukce
50 Příklad: překlad funkce (1) Fragment programu v jazyce C funkce příjmá 4 parametry funkce má 1 lokální proměnnou funkce vrací 1 hodnotu int leaf (int g, int h, int i, int j) { int f; f = (g + h) (i + j); return f; } 50/68 - Instrukce
51 51/68 - Instrukce Příklad: překlad funkce (2) Vstup do funkce rezervace místa na zásobníku uložení obsahu potřebných registrů na zásobník Překlad do assembleru pro MIPS leaf: addi $sp, $sp, -12 sw $t1, 8 ($sp) sw $t0, 4 ($sp) sw $s0, 0 ($sp)
52 52/68 - Instrukce Zásobník při volání procedury/funkce $sp $sp obsah $t1 obsah $t0 obsah $s0 $sp před voláním během volání po volání
53 53/68 - Instrukce Příklad: překlad funkce (3) Tělo funkce výpočet hodnoty funkce ze zadaných parametrů uložení výsledku do registru pro volajícího Překlad do assembleru pro MIPS add $t0, $a0, $a1 # t0 = g + h add $t1, $a2, $a3 # t1 = i + j sub $s0, $t0, $t1 # s0 = (g + h) (i + j) add $v0, $s0, $zero # v0 = s0 = f
54 54/68 - Instrukce Příklad: překlad funkce (4) Návrat z funkce obnova obsahu registrů ze zásobníku zrušení místa vyhrazeného na zásobníku návrat do místa volání Překlad do assembleru pro MIPS lw $s0, 0 ($sp) lw $t0, 4 ($sp) lw $t1, 8 ($sp) addi $sp, $sp, 12 jr $ra
55 55/68 - Instrukce Příklad: volání funkce Fragment programu v jazyce C int a, b, c, d, e; a = leaf (b, c, d, e); Překlad do assembleru pro MIPS lw $a0, 4 ($sp) # načtení parametrů z proměnných lw $a1, 8 ($sp) # b, c, d, a e na zásobníku do lw $a2, 12 ($sp) # registrů a0, a1, a2 a a3 lw $a3, 16 ($sp) jal leaf # skok s uložením návratové adresy sw $v0, 0 ($sp) # uložení výsledku z registru v0 # do proměnné a na zásobníku
56 56/68 - Instrukce Struktura dat na zásobníku $fp $fp $fp $sp $sp uschované reg. $a0-3 návratová adresa, $ra $sp uschované registry lokální proměnné před voláním během volání po volání
57 Komunikace s lidmi
58 Čísla nestačí, potřebujeme (alespoň) text... Jak reprezentovat text v počítači? text je posloupnost znaků znaky zakódujeme do čísel (omezený počet) posloupnost čísel uložíme do paměti Kolik čísel potřebujeme? záleží na tom, kolik znaků potřebujeme reprezentovat pro běžné jazyky stačí 8-bitů na znak - 1 bajt pro jiné jazyky potřebujeme 16 i více bitů Jaká čísla si máme zvolit? měla by jim rozumět většina programů nutná shoda standardizace 58/68 - Instrukce
59 59/68 - Instrukce Kódování znaků podle ASCII Zdroj: P&H
60 Kódování znaků pomocí Unicode Národní abecedy Latin, Greek, Cyrillic,... Arabic, Hebrew,... Katakana, Hiragana,... Cherokee, Phoenician, a další Reprezentace UTF-8, UTF-16 proměnný počet bajtů/znak UTF-32 4 bajty/znak Zdroj: dkuug.dk 60/68 - Instrukce
61 Jak se pracuje s textem? Znaky sdruženy do řetězců (strings) posloupnost znaků v paměti (v určitém kódování) pocitac = 70 6F (ASCII) počítač = 70 6F C4 8D C3 AD C4 8D (UTF-8) koncept poskytovaný programovacím jazykem liší se v implicitním kódování a uchování délky řetězce Hlavní způsoby reprezentace řetězců (1) první pozice v řetězci vyhrazena pro délku (2) délka je součástí přidružená proměnné/struktury (3) řetězec je ukončen speciálním znakem (kód 0, nul) 61/68 - Instrukce
62 Jsou potřeba speciální instrukce? V principu ne, ale práce s textem je velmi častá... místo se slovy se často pracuje s bajty při použití běžných instrukcí může být práce málo efektivní Instrukce pro usnadnění/zefektivnění práce práce s paměti s menší granularitou znaménkové rozšíření načtených dat Specificky pro MIPS load byte/byte unsigned/half word/upper half word store byte/half word/upper half word 62/68 - Instrukce
63 Bludy a pasti
64 Bludy Mocnější instrukce vedou k vyššímu výkonu viz případ Intelu a jeho řetězcových instrukcí na kopírování bloků paměti Nejvyšší výkon získáme jen psaním v assembleru problémy s přenositelností, srozumitelností, udržovatelností, produktivitou,... Kvůli důležitosti binární kompatibility se úspěšné instrukční sady nemění zpětná kompatibility je sice svatá, ale nové instrukce se objevují viz Intel, 400 nových instrukcí od r /68 - Instrukce
65 Pasti(čky) Adresy sousedních slov v paměti se neliší o 1 paměti jsou většinou adresovány po bajtech Bity nejsou bajty počet bitů na reprezentaci čísla není počet bajtů, které číslo zabere v paměti 65/68 - Instrukce
66 Shrnutí
67 Počítač s vnitřním řízením Základní princip Instrukce jsou zakódované čísly v principu nedají se rozlišit od dat program je uložen v modifikovatelné paměti účel počítače určuje právě vykonávaný program Návrh instrukční sady rovnováha mezi počtem instrukcí na program, počtem taktů na instrukci a taktovací frekvencí Jednoduchost podporuje pravidelnost Menší znamená rychlejší Optimalizace pro běžné situace Dobrý návrh vyžaduje dobré kompromisy 67/68 - Instrukce
68 Instrukce poskytují podporu pro vyšší jazyky Různé třídy instrukcí aritmetické instrukce realizují výrazy v podmínkách a přiřazovacích příkazech instrukce pro přenos dat se objeví při práci s datovými strukturami a poli podmíněné skoky jsou použity v řídících příkazech pro větvení a cykly nepodmíněné skoky se používají k volání a návratu z procedur a funkcí a pro příkazy typu switch/case Četnost použití různých tříd instrukcí se liší ovlivňuje návrh datové cesty a řízení 68/68 - Instrukce
Architektura počítačů. Instrukce a návrh instrukční sady. Lubomír Bulej KDSS MFF UK
Architektura počítačů Instrukce a návrh instrukční sady Lubomír Bulej KDSS MFF UK Pro připomenutí: počítač je (jen) stroj Vykonává program Posloupnost instrukcí uložených v paměti. Vykoná instrukci a posune
Strojový kód k d a asembler procesoru MIPS SPIM. MIPS - prostředí NMS NMS. 32 ks 32bitových registrů ( adresa registru = 5 bitů).
Strojový kód k d a asembler procesoru MIPS Použit ití simulátoru SPIM K.D. - cvičení ÚPA 1 MIPS - prostředí 32 ks 32bitových registrů ( adresa registru = 5 bitů). Registr $0 je zero čte se jako 0x0, zápis
Strojový kód. Instrukce počítače
Strojový kód Strojový kód (Machine code) je program vyjádřený v počítači jako posloupnost instrukcí procesoru (posloupnost bajtů, resp. bitů). Z hlediska uživatele je strojový kód nesrozumitelný, z hlediska
Princip funkce počítače
Princip funkce počítače Princip funkce počítače prvotní úlohou počítačů bylo zrychlit provádění matematických výpočtů první počítače kopírovaly obvyklý postup manuálního provádění výpočtů pokyny pro zpracování
8. Laboratoř: Aritmetika a řídicí struktury programu
8. Laboratoř: Aritmetika a řídicí struktury programu Programy v JSA aritmetika, posuvy, využití příznaků Navrhněte a simulujte v AVR studiu prográmky pro 24 bitovou (32 bitovou) aritmetiku: sčítání, odčítání,
Architektura počítačů Logické obvody
Architektura počítačů Logické obvody http://d3s.mff.cuni.cz/teaching/computer_architecture/ Lubomír Bulej bulej@d3s.mff.cuni.cz CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics Digitální
Architektura počítačů Logické obvody
Architektura počítačů Logické obvody http://d3s.mff.cuni.cz/teaching/computer_architecture/ Lubomír Bulej bulej@d3s.mff.cuni.cz CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics 2/36 Digitální
Pohled do nitra mikroprocesoru Josef Horálek
Pohled do nitra mikroprocesoru Josef Horálek Z čeho vycházíme = Vycházíme z Von Neumannovy architektury = Celý počítač se tak skládá z pěti koncepčních bloků: = Operační paměť = Programový řadič = Aritmeticko-logická
Číselné soustavy v mikroprocesorové technice Mikroprocesorová technika a embedded systémy
Ústav radioelektroniky Vysoké učení technické v Brně Číselné soustavy v mikroprocesorové technice Mikroprocesorová technika a embedded systémy Přednáška 8 doc. Ing. Tomáš Frýza, Ph.D. listopad 2012 Obsah
ISU Cvičení 3. Marta Čudová
ISU Cvičení 3 Marta Čudová Supercomputing Technologies Research Group Brno University of Technology, Faculty of Information Technology Božetěchova 1/2, 612 66 Brno - Královo Pole icudova@fit.vutbr.cz Program
Adresní mody procesoru
Adresní mody procesoru K.D. - přednášky 1 Obecně o adresování Různé typy procesorů mohou mít v instrukci 1, 2 nebo více adres. Operandy mohou ležet v registrech nebo v paměti. Adresní mechanismus procesoru
ISU Cvičení 7. Marta Čudová
ISU Cvičení 7 Marta Čudová Supercomputing Technologies Research Group Brno University of Technology, Faculty of Information Technology Božetěchova 1/2, 612 66 Brno - Královo Pole icudova@fit.vutbr.cz Osnova
Jak v Javě primitivní datové typy a jejich reprezentace. BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické
Jak v Javě primitivní datové typy a jejich reprezentace BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické Obsah Celočíselný datový typ Reálný datový typ Logický datový typ, typ Boolean
Struktura a architektura počítačů (BI-SAP) 5
Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Struktura a architektura počítačů (BI-SAP) 5 doc. Ing. Hana Kubátová, CSc. Katedra číslicového návrhu Fakulta informačních technologii
Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty
Data v počítači Informační data (elementární datové typy) Logické hodnoty Znaky Čísla v pevné řádové čárce (celá čísla) v pohyblivé (plovoucí) řád. čárce (reálná čísla) Povelová data (instrukce programu)
Architektury počítačů a procesorů
Kapitola 3 Architektury počítačů a procesorů 3.1 Von Neumannova (a harvardská) architektura Von Neumann 1. počítač se skládá z funkčních jednotek - paměť, řadič, aritmetická jednotka, vstupní a výstupní
C2115 Praktický úvod do superpočítání
C2115 Praktický úvod do superpočítání IX. lekce Petr Kulhánek, Tomáš Bouchal kulhanek@chemi.muni.cz Národní centrum pro výzkum biomolekul, Přírodovědecká fakulta, Masarykova univerzita, Kotlářská 2, CZ-61137
3 Jednoduché datové typy 2 3.1 Interpretace čísel v paměti počítače... 3. 4 Problémy s matematickými operacemi 5
Obsah Obsah 1 Číselné soustavy 1 2 Paměť počítače 1 2.1 Měření objemu paměti počítače................... 1 3 Jednoduché datové typy 2 3.1 Interpretace čísel v paměti počítače................. 3 4 Problémy
Semestrální práce z předmětu. Jan Bařtipán / A03043 bartipan@studentes.zcu.cz
Semestrální práce z předmětu KIV/UPA Jan Bařtipán / A03043 bartipan@studentes.zcu.cz Zadání Program přečte ze vstupu dvě čísla v hexadecimálním tvaru a vypíše jejich součet (opět v hexadecimální tvaru).
a operačních systémů
NSWI2 2/2 ZS Principy počítačů a operačních systémů INSTRUKCE Kdybych nařídil generálovi, aby létal od květině ke květině a on by rozkaz neprovedl, nebyla by to chyba generálova, ale moje. král asteroidu
Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague
Tomáš Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague Zjednodušené schéma systému z základ hardware pro mainframe tvoří: operační pamět - MAIN / REAL STORAGE jeden
Registry 32 bitové pro všeobecné použití: EAX, EBX, ECX, EDX, ESI, EDI, EBP, ESP.
1 Procesor i486 a vyšší - úvodní seznámení Procesory i486 a vyšší jsou v technické literatuře dobře dokumentovány, ale dokumentace je rozsáhlá a obsahuje pro začínajícího i zkušeného programátora mnoho
Procesor z pohledu programátora
Procesor z pohledu programátora Terminologie Procesor (CPU) = řadič + ALU. Mikroprocesor = procesor vyrobený monolitickou technologií na čipu. Mikropočítač = počítač postavený na bázi mikroprocesoru. Mikrokontrolér
Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15
Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15 KAPITOLA 1 Úvod do programo vání v jazyce C++ 17 Základní pojmy 17 Proměnné a konstanty 18 Typy příkazů 18 IDE integrované vývojové
PJC Cvičení #2. Číselné soustavy a binární reprezentace proměnných
PJC Cvičení #2 Číselné soustavy a binární reprezentace proměnných Číselné soustavy Desítková (decimální) kdo nezná, tak...!!! Dvojková (binární) - nejjednodušší Šestnáctková (hexadecimální) - nejpoužívanější
Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:
Čtvrtek 8 prosince Pascal - opakování základů Struktura programu: 1 hlavička obsahuje název programu, použité programové jednotky (knihovny), definice konstant, deklarace proměnných, všechny použité procedury
Číselné soustavy. Binární číselná soustava
12. Číselné soustavy, binární číselná soustava. Kódování informací, binární váhový kód, kódování záporných čísel. Standardní jednoduché datové typy s pevnou a s pohyblivou řádovou tečkou. Základní strukturované
Procesor. Základní prvky procesoru Instrukční sada Metody zvýšení výkonu procesoru
Počítačové systémy Procesor Miroslav Flídr Počítačové systémy LS 2006-1/17- Západočeská univerzita v Plzni Víceúrovňová organizace počítače Digital logic level Microarchitecture level Processor Instruction
Programovací jazyk Pascal
Programovací jazyk Pascal Syntaktická pravidla (syntaxe jazyka) přesná pravidla pro zápis příkazů Sémantická pravidla (sémantika jazyka) pravidla, která každému příkazu přiřadí přesný význam Všechny konstrukce
Základní principy zobrazení čísla Celá čísla s pevnou řádovou čárkou Zobrazení reálných čísel Aritmetika s binárními čísly
Počítačové systémy Zobrazení čísel v počítači Miroslav Flídr Počítačové systémy LS 2007-1/21- Západočeská univerzita v Plzni Vážený poziční kód Obecný předpis čísla vyjádřeného v pozičním systému: C =
Assembler RISC RISC MIPS. T.Mainzer, kiv.zcu.cz
Assembler RISC T.Mainzer, kiv.zcu.cz RISC RISC, neboli Reduced Instruction Set Computer - koncepce procesorů s redukovaným souborem instrukcí (vs. CISC, neboli Complex Instruction Set Computer, "bohatý"
for (i = 0, j = 5; i < 10; i++) { // tělo cyklu }
5. Operátor čárka, - slouží k jistému určení pořadí vykonání dvou příkazů - oddělím-li čárkou dva příkazy, je jisté, že ten první bude vykonán dříve než příkaz druhý. Např.: i = 5; j = 8; - po překladu
Algoritmy I. Číselné soustavy přečíst!!! ALGI 2018/19
Algoritmy I Číselné soustavy přečíst!!! Číselné soustavy Každé číslo lze zapsat v poziční číselné soustavě ve tvaru: a n *z n +a n-1 *z n-1 +. +a 1 *z 1 +a 0 *z 0 +a -1 *z n-1 +a -2 *z -2 +.. V dekadické
Aplikovaná informatika. Podklady předmětu Aplikovaná informatika pro akademický rok 2006/2007 Radim Farana. Obsah. Obsah předmětu
1 Podklady předmětu pro akademický rok 2006/2007 Radim Farana Obsah 2 Obsah předmětu, Požadavky kreditového systému, Datové typy jednoduché, složené, Programové struktury, Předávání dat. Obsah předmětu
Opakování programování
Opakování programování HW návaznost - procesor sběrnice, instrukční sada, optimalizace rychlosti, datové typy, operace (matematické, logické, podmínky, skoky, podprogram ) - paměti a periferie - adresování
1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:
1. lekce 1. Minimální program do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: #include #include int main() { printf("hello world!\n"); return 0; 2.
Čísla, reprezentace, zjednodušené výpočty
Čísla, reprezentace, zjednodušené výpočty Přednáška 5 A3B38MMP kat. měření, ČVUT - FEL, Praha J. Fischer A3B38MMP, 2015, J.Fischer, ČVUT - FEL, kat. měření 1 Čísla 4 bitová dec bin. hex. 0 0000 0 1 0001
Mikroprocesorová technika (BMPT)
Mikroprocesorová technika (BMPT) Přednáška č. 10 Číselné soustavy v mikroprocesorové technice Ing. Tomáš Frýza, Ph.D. Obsah přednášky Číselné soustavy v mikroprocesorové technice Dekadická, binární, hexadecimální
Algoritmizace a programování
Algoritmizace a programování Výrazy Operátory Výrazy Verze pro akademický rok 2012/2013 1 Operace, operátory Unární jeden operand, operátor se zapisuje ve většině případů před operand, v některých případech
Číselné vyjádření hodnoty. Kolik váží hrouda zlata?
Čísla a logika Číselné vyjádření hodnoty Au Kolik váží hrouda zlata? Dekadické vážení Když přidám osmé závaží g, váha se převáží => závaží zase odeberu a začnu přidávat závaží x menší 7 závaží g 2 závaží
v aritmetické jednotce počíta
v aritmetické jednotce počíta tače (Opakování) Dvojková, osmičková a šestnáctková soustava () Osmičková nebo šestnáctková soustava se používá ke snadnému zápisu binárních čísel. 2 A 3 Doplněné nuly B Číslo
Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague
Assembler pro Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague Zápis instrukcí umíme už zapisovat instrukce v binárním tvaru to je silně nešikovné pro snazší vývoj
Virtuální počítač. Uživatelský program Překladač programovacího jazyka Operační systém Interpret makroinstrukcí Procesor. PGS K.
Virtuální počítač Uživatelský program Překladač programovacího jazyka Operační systém Interpret makroinstrukcí Procesor Virtuální počítač Překladač Překladač : Zdrojový jazyk Cílový jazyk Analytická část:
Y36SAP. Osnova. Číselné soustavy a kódy, převody, aritmetické operace Y36SAP Poziční číselné soustavy a převody.
Y36SAP Číselné soustavy a kódy, převody, aritmetické operace Tomáš Brabec, Miroslav Skrbek - X36SKD-cvičení. Úpravy pro SAP Hana Kubátová Osnova Poziční číselné soustavy a převody Dvojková soust., převod
Struktura a architektura počítačů (BI-SAP) 7
Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Struktura a architektura počítačů (BI-SAP) 7 doc. Ing. Hana Kubátová, CSc. Katedra číslicového návrhu Fakulta informačních technologii
Architektura procesoru ARM
Architektura procesoru ARM Bc. Jan Grygerek GRY095 Obsah ARM...3 Historie...3 Charakteristika procesoru ARM...4 Architektura procesoru ARM...5 Specifikace procesoru...6 Instrukční soubor procesoru...6
Ahoj mami. Uložení dat v počítači. Příklady kódování dat. IAJCE Přednáška č. 4
Uložení dat v počítači Data = užitečné, zpracovávané informace Kódování (formát) dat = způsob uložení v počítači (nutno vše převést na čísla ve dvojkové soustavě) Příklady kódování dat Text každému znaku
1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:
1. lekce 1. Minimální program do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: #include #include int main() { printf("hello world!\n"); return 0; 2.
Reprezentace dat v informačních systémech. Jaroslav Šmarda
Reprezentace dat v informačních systémech Jaroslav Šmarda Reprezentace dat v informačních systémech Reprezentace dat v počítači Datové typy Proměnná Uživatelské datové typy Datové struktury: pole, zásobník,
Základní pojmy. Úvod do programování. Základní pojmy. Zápis algoritmu. Výraz. Základní pojmy
Úvod do programování Michal Krátký 1,Jiří Dvorský 1 1 Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programování, 2004/2005 Procesor Procesorem je objekt, který vykonává algoritmem popisovanou
Čísla v plovoucířádovéčárce. INP 2008 FIT VUT v Brně
Čísla v plovoucířádovéčárce INP 2008 FIT VUT v Brně Čísla v pevné vs plovoucí řádové čárce Pevnářádováčárka FX bez desetinné části (8 bitů) Přímý kód: 0 až 255 Doplňkový kód: -128 až 127 aj. s desetinnou
Assembler - 2.část. poslední změna této stránky: Zpět
1 z 9 19.2.2007 7:51 Assembler - 2.část poslední změna této stránky: 9.2.2007 1. Příznaky (flagy) Zpět Flagy (česky podivně "příznaky", proto používám výhradně anglický název) jsou výlučnou záležitostí
Čísla, reprezentace, zjednodušené výpočty
Čísla, reprezentace, zjednodušené výpočty Přednáška 4 A3B38MMP kat. měření, ČVUT - FEL, Praha J. Fischer A3B38MMP, 2014, J.Fischer, ČVUT - FEL, kat. měření 1 Čísla 4 bitová dec bin. hex. 0 0000 0 1 0001
5 Přehled operátorů, příkazy, přetypování
5 Přehled operátorů, příkazy, přetypování Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně budou uvedeny detaily týkající se operátorů. Doba nutná k nastudování
Petr Krajča. 26. říjen, 2012
Operační systémy Řízení výpočtu Petr Krajča Katedra informatiky Univerzita Palackého v Olomouci 26. říjen, 2012 Petr Krajča (UP) KMI/YOS: Přednáška II. 26. říjen, 2012 1 / 18 Reprezentace hodnot záporná
Fz =a z + a z +...+a z +a z =
Polyadické číselné soustavy - převody M-místná skupina prvků se z-stavovou abecedou umožňuje zobrazit z m čísel. Zjistíme, že stačí vhodně zvolit číslo m, abychom mohli zobrazit libovolné číslo menší než
Struktura a architektura počítačů (BI-SAP) 6
Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Struktura a architektura počítačů (BI-SAP) 6 doc. Ing. Hana Kubátová, CSc. Katedra číslicového návrhu Fakulta informačních technologii
Aritmetické operace a obvody pro jejich realizaci
Kapitola 4 Aritmetické operace a obvody pro jejich realizaci 4.1 Polyadické číselné soustavy a jejich vlastnosti Polyadické soustavy jsou určeny přirozeným číslem z, kterému se říká základ nebo báze dané
Architektury VLIW M. Skrbek a I. Šimeček
Architektury VLIW M. Skrbek a I. Šimeček xsimecek@fit.cvut.cz Katedra počítačových systémů FIT České vysoké učení technické v Praze Ivan Šimeček, 2011 MI-PAP, LS2010/11, Predn.3 Příprava studijního programu
Činnost CPU. IMTEE Přednáška č. 2. Několik úrovní abstrakce od obvodů CPU: Hodinový cyklus fáze strojový cyklus instrukční cyklus
Činnost CPU Několik úrovní abstrakce od obvodů CPU: Hodinový cyklus fáze strojový cyklus instrukční cyklus Hodinový cyklus CPU je synchronní obvod nutné hodiny (f CLK ) Instrukční cyklus IF = doba potřebná
Logické operace. Datový typ bool. Relační operátory. Logické operátory. IAJCE Přednáška č. 3. může nabýt hodnot: o true o false
Logické operace Datový typ bool může nabýt hodnot: o true o false Relační operátory pravda, 1, nepravda, 0, hodnoty všech primitivních datových typů (int, double ) jsou uspořádané lze je porovnávat binární
Vyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky
Vyučovací hodina 1vyučovací hodina: Opakování z minulé hodiny Nová látka Procvičení nové látky Shrnutí 5 min 20 min 15 min 5 min 2vyučovací hodiny: Opakování z minulé hodiny Nová látka Procvičení nové
Přednáška 7. Celočíselná aritmetika. Návratový kód. Příkazy pro větvení výpočtu. Cykly. Předčasné ukončení cyklu.
Přednáška 7 Celočíselná aritmetika. Návratový kód. Příkazy pro větvení výpočtu. Cykly. Předčasné ukončení cyklu. 1 Příkaz expr výraz Celočíselná aritmetika I Zašle na standardní výstup vyhodnocení výrazu
Algoritmizace a programování
Algoritmizace a programování Řídicí struktury jazyka Java Struktura programu Příkazy jazyka Blok příkazů Logické příkazy Ternární logický operátor Verze pro akademický rok 2012/2013 1 Struktura programu
4-1 4. Přednáška. Strojový kód a data. 4. Přednáška ISA. 2004-2007 J. Buček, R. Lórencz
4-4. Přednáška 4. Přednáška ISA J. Buček, R. Lórencz 24-27 J. Buček, R. Lórencz 4-2 4. Přednáška Obsah přednášky Násobení a dělení v počítači Základní cyklus počítače Charakteristika třech základní typů
LEKCE 6. Operátory. V této lekci najdete:
LEKCE 6 Operátory V této lekci najdete: Aritmetické operátory...94 Porovnávací operátory...96 Operátor řetězení...97 Bitové logické operátory...97 Další operátory...101 92 ČÁST I: Programování v jazyce
Architektury CISC a RISC, uplatnění v personálních počítačích
Architektury CISC a RISC, uplatnění v personálních počítačích 1 Cíl přednášky Vysvětlit, jak pracují architektury CISC a RISC, upozornit na rozdíly. Zdůraznit, jak se typické rysy obou typů architektur
Semestrální práce z předmětu ÚPA MIPS
Semestrální práce z předmětu ÚPA MIPS Jméno a příjmení: Martin Sloup Osobní číslo: A04372 Datum odevzdání: 21. prosince 2006 E-mail: msloup@students.zcu.cz Zadání Program převede signed integer na jeho
MQL4 COURSE. By Coders guru www.forex-tsd.com. -4 Operace & Výrazy
MQL4 COURSE By Coders guru www.forex-tsd.com -4 Operace & Výrazy Vítejte ve čtvrté lekci mého kurzu MQL4. Předchozí lekce Datové Typy prezentovaly mnoho nových konceptů ; Doufám, že jste všemu porozuměli,
Jazyk symbolických adres
Jazyk symbolických adres 1 Proč programovat v JSA Pro některé procesory resp. MCU jsou překladače JSA dostupnější. Některé překladače vyšších jazyků neumí využít určité speciální vlastnosti procesoru.
Zobrazení dat Cíl kapitoly:
Zobrazení dat Cíl kapitoly: Cílem této kapitoly je sezn{mit čten{ře se způsoby z{pisu dat (čísel, znaků, řetězců) v počítači. Proto jsou zde postupně vysvětleny číselné soustavy, způsoby kódov{ní české
1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5
Obsah Obsah 1 Programovací jazyk Pascal 1 1.1 Struktura programu v Pascalu.................... 1 2 Proměnné 2 2.1 Vstup a výstup............................ 3 3 Operátory a některé matematické funkce 5
Základní pojmy. Program: Algoritmus zapsaný v programovacím jazyce, který řeší nějaký konkrétní úkol. Jedná se o posloupnost instrukcí.
Základní pojmy IT, číselné soustavy, logické funkce Základní pojmy Počítač: Stroj na zpracování informací Informace: 1. data, která se strojově zpracovávají 2. vše co nám nebo něčemu podává (popř. předává)
Základy informatiky. 2. Přednáška HW. Lenka Carr Motyčková. February 22, 2011 Základy informatiky 2
Základy informatiky 2. Přednáška HW Lenka Carr Motyčková February 22, 2011 Základy informatiky 1 February 22, 2011 Základy informatiky 2 February 22, 2011 Základy informatiky 3 February 22, 2011 Základy
Program "Světla" pro mikropočítač PMI-80
Program "Světla" pro mikropočítač PMI-80 Dokument věnovaný mikropočítači PMI-80, jeho programování a praktickým ukázkám. Verze dokumentu:. Autor: Blackhead Datum: rok 1997, 4.3.004 1 Úvod Tento program
Definice 7.2. Nejmenší přirozené číslo k, pro které je graf G k-obarvitelný, se nazývá chromatické číslo (barevnost) grafu G a značí se χ(g).
7 Barevnost grafu Definice 71 Graf G se nazývá k-obarvitelný, jestliže každému jeho uzlu lze přiřadit jednu z barev 1 k tak, že žádné dva sousední uzly nemají stejnou barvu Definice 72 Nejmenší přirozené
Obsah přednášky. programovacího jazyka. Motivace. Princip denotační sémantiky Sémantické funkce Výrazy Příkazy Vstup a výstup Kontinuace Program
Denotační sémantika programovacího jazyka doc. Dr. Ing. Miroslav Beneš katedra informatiky, A-1007 59 732 4213 Obsah přednášky Princip denotační sémantiky Sémantické funkce Výrazy Příkazy Vstup a výstup
x86 assembler and inline assembler in GCC
x86 assembler and inline assembler in GCC Michal Sojka sojkam1@fel.cvut.cz ČVUT, FEL License: CC-BY-SA 4.0 Useful instructions mov moves data between registers and memory mov $1,%eax # move 1 to register
Paměť počítače. alg2 1
Paměť počítače Výpočetní proces je posloupnost akcí nad daty uloženými v paměti počítače Data jsou v paměti reprezentována posloupnostmi bitů (bit = 0 nebo 1) Připomeňme: paměť je tvořena řadou 8-mi bitových
SHIFTIN sclk, sdata, mode, (data{/ bits} {, data {/ bits},...}) SPIIN sclk, sdata, mode, (data{/ bits} {, data {/ bits},...})
shiftin (spiin) Platí pro PICAXE 20X2, 28X1, 28X2, 40X1, 40X2 Syntaxe: SHIFTIN sclk, sdata, mode, (data{/ bits} {, data {/ bits},...}) SPIIN sclk, sdata, mode, (data{/ bits} {, data {/ bits},...}) Sclk
2.1 Podmínka typu case Cykly Cyklus s podmínkou na začátku Cyklus s podmínkou na konci... 5
Obsah Obsah 1 Řídicí struktury 1 2 Podmínka 1 2.1 Podmínka typu case......................... 2 3 Příkaz skoku 3 4 Cykly 4 4.1 Cyklus s podmínkou na začátku................... 4 4.2 Cyklus s podmínkou
Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC
Informační systémy 2 Obsah: Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC ROM RAM Paměti typu CACHE IS2-4 1 Dnešní info: Informační systémy 2 03 Informační systémy
Principy počítačů. Prof. RNDr. Peter Mikulecký, PhD.
Principy počítačů Prof. RNDr. Peter Mikulecký, PhD. Číselné soustavy Obsah přednášky: Přednáška 3 Číselné soustavy a převody mezi nimi Kódy, přímý, inverzní a doplňkový kód Znakové sady Úvod Člověk se
Algoritmy a datové struktury
Algoritmy a datové struktury Data a datové typy 1 / 28 Obsah přednášky Základní datové typy Celá čísla Reálná čísla Znaky 2 / 28 Organizace dat Výběr vhodné datvé struktry různá paměťová náročnost různá
Číselné soustavy. Ve světě počítačů se využívají tři základní soustavy:
Číselné soustavy Ve světě počítačů se využívají tři základní soustavy: dekadická binární hexadecimální patří mezi soustavy poziční, tj. desítková hodnota každé číslice (znaku) závisí na její pozici vzhledem
Architektury počítačů
Architektury počítačů IEEE754 České vysoké učení technické, Fakulta elektrotechnická A0M36APO Architektury počítačů Ver.1.20 2014 1 Fractional Binary Numbers (zlomková binární čísla / čísla v pevné řádové
Informatika Datové formáty
Informatika Datové formáty Radim Farana Podklady předmětu Informatika pro akademický rok 2007/2008 Obsah Datové formáty (datové typy). Textové formáty, vlastnosti zdroje zpráv. Číselné formáty, číselné
Paralelní programování
Paralelní programování přednášky Jan Outrata únor duben 2011 Jan Outrata (KI UP) Paralelní programování únor duben 2011 1 / 14 Atomické akce dále nedělitelná = neproložitelná jiným procesem izolovaná =
Architektura počítačů Implementace procesoru
Architektura počítačů Implementace procesoru http://d3s.mff.cuni.cz/teaching/computer_architecture/ Lubomír Bulej bulej@d3s.mff.cuni.cz CHARLES UNIVERSITY IN PRAGUE faculty of mathematcs and physics Ukázková
Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7
Pascal Katedra aplikované kybernetiky Ing. Miroslav Vavroušek Verze 7 Proměnné Proměnná uchovává nějakou informaci potřebnou pro práci programu. Má ve svém oboru platnosti unikátní jméno. (Připadne, musí
Předmluva 13 Použité konvence 14. KAPITOLA 1 Základní číselné soustavy a pojmy Číselné soustavy a převody 15 1.
7 Předmluva 13 Použité konvence 14 KAPITOLA 1 Základní číselné soustavy a pojmy 15 1.1 Číselné soustavy a převody 15 1.2 Datové typy 18 KAPITOLA 2 Seznámení s mikroprocesory řady x86 21 2.1 Počítač obecně
Jak do počítače. aneb. Co je vlastně uvnitř
Jak do počítače aneb Co je vlastně uvnitř Po odkrytí svrchních desek uvidíme... Von Neumannovo schéma Řadič ALU Vstupně/výstupní zař. Operační paměť Počítač je zařízení, které vstupní údaje transformuje
Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague
Aritmetika v Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague Příklad Napíšeme program pro výpočet 54321-12345 dekadicky: 54321-12345=41976 hexadecimálně: x 0000D431
PA152. Implementace databázových systémů
PA152 Implementace databázových systémů RAID level 1 zrcadlení disku výpočet MTTF 2 stejné disky, MTTF 3 roky výměna vadného 3,5 dne výpadek oba disky během 3,5 dne p(výpadku disku za rok) = 1/6 p(výp.
Základní způsoby: -Statické (přidělění paměti v čase překladu) -Dynamické (přiděleno v run time) v zásobníku na haldě
Metody přidělování paměti Základní způsoby: -Statické (přidělění paměti v čase překladu) -Dynamické (přiděleno v run time) v zásobníku na haldě Důležitá hlediska jazykových konstrukcí: Dynamické typy Dynamické
1. Základní pojmy a číselné soustavy
1. Základní pojmy a číselné soustavy 1.1. Základní pojmy Hardware (technické vybavení počítače) Souhrnný název pro veškerá fyzická zařízení, kterými je počítač vybaven. Software (programové vybavení počítače)
- znakové konstanty v apostrofech, např. a, +, (znak mezera) - proměnná zabírá 1 byte, obsahuje kód příslušného znaku
Znaky - standardní typ char var Z, W: char; - znakové konstanty v apostrofech, např. a, +, (znak mezera) - proměnná zabírá 1 byte, obsahuje kód příslušného znaku - v TP (často i jinde) se používá kódová
Základní jednotky používané ve výpočetní technice
Základní jednotky používané ve výpočetní technice Nejmenší jednotkou informace je bit [b], který může nabývat pouze dvou hodnot 1/0 (ano/ne, true/false). Tato jednotka není dostatečná pro praktické použití,
Úvod do programovacích jazyků (Java)
Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2007/2008 c 2006 2008 Michal Krátký Úvod do programovacích
Algoritmizace a programování. Ak. rok 2012/2013 vbp 1. ze 44
Algoritmizace a programování Ak. rok 2012/2013 vbp 1. ze 44 Vladimír Beneš Petrovický K101 katedra matematiky, statistiky a informačních technologií vedoucí katedry E-mail: vbenes@bivs.cz Telefon: 251