1 Ogolnie o asemblerach. 2 Zarys architektury MIPS

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

Download "1 Ogolnie o asemblerach. 2 Zarys architektury MIPS"

Transkrypt

1 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, bo musimy podawa rzeczywiste adresy. Kolejny pomysª: wprawadzenie adresów symbolicznych (etykiet). Otrzymany j zyk programowania to asembler. Proces produkowania pliku wykonywalnego: 1. Program napisany w j zyku asemblerowym jest tªumaczony przez program równie» nazywany asemblerem na j zyk maszynowy (zerojedynkowy). Powsteje object le plik, który oprócz kodu zawiera dodatkowe informacje przydatne przy skªadaniu programu z kilku plików. W tej cz ±ci wylicza si adresy (wymaga to zazwyczaj dwukrotnego przejrzenia pliku ¹ródªowego). 2. Linkowanie program linkuj cy ª czy object les i biblioteki programowe, z których korzysta program w jeden plik wykonywalny. Tak naprawd, plik wykonywalny równie» nie zawiera jeszcze adresów rzeczywitych... Te generowane s dopiero podczas uruchamiania programu przez program ªaduj cy. Obecnie programuje si w asemblerach coraz rzadziej (tendencja: programowanie staje si coraz bardziej specykowaniem tego co chcemy osi gn, a nie tego jak to chcemy osiagn ). Asemblery jednak mimo wszystko maj zastosowania. Programy asemblerowe maj zazwyczaj krótszy kod (wykonywalny) od tych pisanych w j zykach wysokiego poziomu i s szybsze. Wprawdzie je±eli chodzi o du»e zadania, to kompilatory generuj lepszy kod ni» ludzie, ale pewne drobne fragmenty czªowiek potra zoptymalizowa st d cz sto pisze si program w j zyku wysokiego poziomu, po czym pewne kawaªki wstawia si w asemblerze. Poza tym kto± musi pisa kompilatory j zyków wysokiego poziomu tu znajomo± asemblera jest konieczna... 2 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. telefony komórkowe). Dwie podsawowe architektury: 32-bitowa (MIPS32) i 64-bitowa (MIPS64). My zajmiemy si 32-bitow wersj MIPSa wszystkie rejestry s 32-bitowe, wszystkie rozkazy maj dªugo± 32 bitów, przestrze«adresowa jest adresowana adresami 32-bitowymi, co pozwala zaadresowa 4 GB. Mimo,»e procesory MIPS s typowymi architekturami RISC-owymi ich architektura zbioru rozkazów jest w miar bogata (RISC to mo»e nie tyle maªo rozkazów co proste rozkazy). Zawiera rozkazy arytmetyczne, logiczne, porównuj ce, instrukcje przesyªu danych, rozgaª zienia, skoki. Jest architektur typu ªaduj-zapisz, co znaczy,»e wszystkie instrukcje (poza wczytywaniem danych i zapisywaniem) dziaªaj na rejestrach (a nie na komórkach pami ci gªónej). MIPS32 ma bitowych rozkazów, ale wiele z nich jest do siebie podobnych (jest np. 6 ró»nych rozkazów dodawania). Posiada m.in. instrukcje NOP (nic nie rób, zajmuje tylko czas procesora, co czasem mo»e by sensowne). Mamy 32 rejstry ogólnego przeznaczenia: oznaczane od $0 do $31. Rejestr $0 ma na staªe wpisan warto± 0, a rejestr $31 ($ra) jest domy±lny dla wielu rozkazów. Rejestr $1 ($at) jest zarezerwowany, rejestry $27 ($k1)i $26 ($k0) u»ywane s przez j dro systemu operacyjnego. Rejestry $28, $29, $30 ($gp, $sp, $fp) s rejestrami wska¹nikowymi. Numeracja pozostaªych rejestrów podana jest na rysunku 1. Ich znaczenie zebrane jest tak»e poni»ej: $at, $k0, $k1 - zarezerwowane dla asemblera i systemu operacyjnego (programista nie powinien ich uzywac) $a0-$a3 - przekazywanie argumentow do funkcji $v0, $v1 - zwracanie wynikow przez funkcje $t0-$t9 - rejestry pomocniecze $s0-$s7 - rejestry danych $gp - global pointer $sp - stack pointer 1

2 $fp - frame pointer $ra - return address ($31) $0 - staªa zero Warto podkre±li,»e podane zastosowania rejestrów s tylko konwencj i nic nie stoi na przeszkodzie, aby wykorzystywa je inaczej. Rysunek 1: Konwencja nazewnictwa rejestrów MIPS32 Dodatkowo mamy dwa rejestry specjalne HI i LO przechowuj ce wyniki pewnych operacji na liczbach caªkowitych. Oczywi±cie jest te» licznik rozkazów PC. Inny zestaw 32 rejestrów to rejestry do operacji na liczbach zmiennoprzecikowych. W trybie podwójnej precyzji warto±ci s przechowywane w parach rejestrów o kolejnych numerach. Jednostka zmiennoprzecikowa dysponuje te» 4 rejestrami specjalnego przeznaczenia. Ze strony larus/spim.html mo»na ±ci gn emulator MIPS32, w wersjach dla ró»nych systemów operacyjnych. Znajduje si tam równie» sporo ciekawych linków. 3 Programowanie MIPSa Jak wspomnieli±my wszystkie rozkazy (z wyj tkiem rozkazów przesyªania danych) operuj tylko na rejestrach. Konwencja: rejestry $s0-$s7 przechowuj dane. Przykªad rozkazu: add $s0, $s1, $s2 # $s0=$s1+$s2 Grupa rejestrów $t0-$t7 przechowuje zgodnie z konwencj zmienne tymczasowe. s0 = (s1 + s2) (s3 + s4) napiszemy: add $t0, $s1, $s2 add $t1, $s3, $s4 sub $s0, $t0, $t1. Rozró»nienie mi dzy rejestrami $si i $ti jest umowne i nikt nie zabrania u»ywa ich inaczej. Operacja przesyªania z pami ci do rejestru to load word: lw $s0,40($s1) Np. licz c wyra»enie: W powy»szym przykªadzie zawarto± pami ci o adresie $s1+40 ªadowana jest do rejestru $s0. Zauwa»my,»e mamy tu do czynienia z adresowaniem bazowym. Jako bazy mo»emy u»y dowolnego rejestru ogólnego przeznaczenia. Przesuni cie jest podane jako argumnet natychmiastowy staªa (nie wolno w tym miejscu u»y rejestru). W druga stron mamy analogicznie dziaªaj c operacj store word: sw $s0, 40($s1) Uwaga o adresowaniu: pami jest adresowana bajtowo, ale sªowo ma dªugo± 4 bajtów, a wi c adres z jakiego pobieramy lub do jakiego zapisujemy powinien by wielokrotno±ci 4. Staªa w rozkazach lw, sw jest pami tana na 16 bitach. 2

3 3.1 Przykªad 1. Operacje na tablicy liczb caªkowitych Adres pocz tku tablicy (czyli elementu A[0]) przechowujemy w rejestrze $s0. Zaªadowanie elementu A[12] do rejestru $s1 wygl da tak (pami tamy o tym,»e adresujemy bajtami): lw $s1, 48($s0) W jaki sposób odwoªa si do elementu tablicy, którego indeks jest przechowywany w rejestrze $s2 (typowa sytuacja w programowaniu!)? Problem polega na tym,»e nie mamy adresowania po±redniego... Rozwi zanie: add $t0, $s2, $s2 add $t0, $t0, $t0 # t0 = 4*i add $t0, $t0, $s0 lw $s1, 0($t0) # ªadujemy A[i] do s1 3.2 Formaty rozkazów MIPSa Poznali±my ju» troch instrukcji MIPS-a. Podzieli je mo»na na trzy rodzaje: typu I (immediate), typu R (register) oraz typu J (jump). Jak te rozkazy wygl daj w j zyku maszynowym? Rozkazy typu R. Pierwszych 6 bitów to kod operacji (op). Nast pnie mamy trzy razy po 5 bitów wskazuj cych rejestry (rs, rt, rd), 5 bitów przesuni cia (shift ammount, shamt) oraz 6 bitów funkcji (okre±laj dodatkowe szczegóªy operacji). Np. add i sub maj te same bity kodu operacji, rozrózniaj je dopiero bity funkcji. W przypadku rozkazu add $t0, $s1, $s2 kolejne pola przyjmuj warto±ci (dziesi tkowo): 0, 17, 18, 8, 0, 32. Zauwa»,»e rejestr przeznaczenia $t0 jest w kodzie maszynowym zapisany jako trzeci, a nie jako pierwszy. Rozkazy typu I. Np. lw $s0, 8($t1). Kod operacji zajmuje 6 bitów. Potem dwa razy po 5 bitów na numery rejestrów i 16 bitów na adres (zapisany w kodzie dopeªnie«do 2). Nasz rozkaz przykªadowy zostanie zakodowany jako 35, 9, 16, 8. Inny przykªad rozkazu natychmiastowego: addi $s0, $s1, 3. Uwaga: nie ma subi. Rozkazy typu J. Np.: j addr. Kod operacji: 6 bitów. Adres: 26 bitów. Adres jest numerem sªowa a nie bajtu i jest adresem wzgl dnym. Rzeczywisty adres do jakiego si odwoªujemy: 4 najbardziej znacz ce bity s takie same jak w adresie rozkazu, nast pnie 26 bitów zakodowanych w adresie i na ko«cu 2 zera. 3.3 Kodowanie podstawowych konstrukcji z j zyków wysokiego poziomu Konstrukcj : if (i==j) s1=s2+s3 ; if (i!=j) s1=s2-s3; tªumaczymy na (przy zaªo»eniu,»e i jest w $s4, a j w $s5): bne $s4 $s5 E1 E1: beq $s4, $s5, E2 sub $s1, $s2, $s3 E2: Uwaga: rozkazy skoku warunkowego: bne, beq s typu I. Zatem adres ma w takim rozkazie ma tylko 16 bitów i mówi o ile trzeba skoczy w stosunku do aktualnego miejsca w pami ci. Konstrukcja if (i==j) s1=s2+s3 else s1=s2+s3 tªumaczy si na: 3

4 bne $s4, $s5 Else j EXIT Else: sub $s1, $s2, $s3 Exit: Nie ma rozkazu branch on less then. Do naturalnego przetªumaczenia konstrukcji if (i<j) s1=s2+s3 mo»na za to u»y rozkazu set on less then: slt $t0, $s1, $s2 #set less than s1<s2 -> t0=1 else t0=0 beq $t0, $zero, DALEJ DALEJ: Innym rozwi zaniem jest u»ycie rozkazu bgtz $i E (branch on greater than zero) lub bgez $i E (branch on greater or equal zero). P tla while: while (s4 < s5) s1=s2+s3 mo»e wygl da tak: Loop: slt $t0, $s4, $s5 beq $zero, $t0, EXIT j LOOP EXIT: 3.4 Kompletny przykªad prostego programu # Dodawanie elementow tablicy (przyklad zaczerpniety z #,,Krotkiego wprowadzenia do SPIM-a'' autorstwa Salah A. Almajdouba main:.text.align 2.globl main lw $s0, Size # czyta rozmiar tablicy li $s1, 0 # indeks i li $s2, 0 # s2 bedzie przechowywac sume li $t2, 4 # t2 zawiera stala 4 loop: mul $t1, $s1, $t2 # t1 dostaje i * 4 lw $s3, Nstart($t1) # s3 = N[i] add $s2, $s2, $s3 # sum = sum + N[i] addi $s1, $s1, 1 # i = i + 1 beq $s1, $s0, STOR # skaczemy do STOR na koniec j loop STOR: sw $s2, Result # wynik zachowujemy w Result.data 4

5 .align 2 Nstart:.word 8, 25, -5, 55, 33, 12, -78 Size:.word 7 Result:.word 0 Uwagi: 1. dyrektywa.text oznacza,»e kolejne dane nale»y umieszcza w segmencie programu 2. dyrektywa.date oznacza,»e kolejne dane nale»y umieszcza w segmencie danych 3. dyrektwya.align 2 nakazuje umieszcza dane z wyrównaniem do word ka»e umieszcza kolejne dane na 4 bajtach (jest te» dyrektywa byte) 5..globl mówi,»e symbol jest globalny (widzialny z innych plików) 6. li (load immediate nie jest rozkazem, a tzw. pseudorozkazem podczas tªumaczenia na kod maszynowy przekªadane jest na ci g rozkazów (lub czasem pojedynczy rozkaz). Np. li $s0, 4 przekªadane jest na ori s0,zero, Podobnie pseudorozkazem jest mul. Pseudorozkaz mul $s1, $s2, $s3 zostanie przeªo»ony na mult $s2, $s3, mflo $s1. Rozkaz mul umieszcza bardziej znacz c cz ± wyniku w specjalnym rejestrze HI, mniej znacz c w rejestrze LO. Rozkaz mflo $s1 kopiuje zawarto± LO do rejestru $s1. 8. konstrukcja lw s3, Nstart(t1) rówznie» nie jest tutaj pojedynczym rozkazem maszynowy. powodem jest wyst pienie etykiety Nstart jako przesuni cia 9. podobnie jest z pierwszym rozkazem lw $0, Size, który tªumacozny jest na: lui $1, 4097, lw $16, 28($1); rejest $1 to rejestr $at 10. W tym przykªadzie u»yta jest nieco inna lozoa odwoªa«do pól tablicy ni» w przykªadzie wcze±niejszym: staªa w odwoªaniu lw $s3, Nstart($t1) oznacza pocz tek tablicy, a rejstr przesuni cie. Na kolejnym wykªadzie wróc jeszcze na chwil do pisania funkcji w asemblerze MIPS. Wtedy te» pojawi sie jakie± notatki dotycz ce tego zagadnienia. 5

1 Zarys architektury MIPS

1 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ółowo

Lista Rozkazów: Język komputera

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

Bardziej szczegółowo

Programowanie w asemblerze MIPSa

Programowanie 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ółowo

Procedury. int mult (int mcand, int mlier){ int product = 0; while (mlier > 0) { product = product + mcand; mlier = mlier -1; } return product; }

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

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

Bardziej szczegółowo

Struktura i działanie jednostki centralnej

Struktura i działanie jednostki centralnej Struktura i działanie jednostki centralnej ALU Jednostka sterująca Rejestry Zadania procesora: Pobieranie rozkazów; Interpretowanie rozkazów; Pobieranie danych Przetwarzanie danych Zapisywanie danych magistrala

Bardziej szczegółowo

Architektura typu Single-Cycle

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

Bardziej szczegółowo

Programowanie w C++ 1 Opis procesora Sextium II. Opis procesora Sextium. materiały dydaktyczne udostępnione przez Tomasza Wierzbickiego

Programowanie 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ółowo

Plan wykładu. Architektura systemów komputerowych. Cezary Bolek. Składowe architektury komputera

Plan wykładu. Architektura systemów komputerowych. Cezary Bolek. Składowe architektury komputera Architektura systemów komputerowych Konwencjonalny poziom maszynowy Cezary Bolek Katedra Informatyki Plan wykładu Składowe architektury komputera Architektura poziomu maszynowego Organizacja jednostki

Bardziej szczegółowo

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

List 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ółowo

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

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

Bardziej szczegółowo

Ćwiczenie nr 6. Programowanie mieszane

Ćwiczenie nr 6. Programowanie mieszane Ćwiczenie nr 6 Programowanie mieszane 6.1 Wstęp Współczesne języki programowania posiadają bardzo rozbudowane elementy językowe, co pozwala w większości przypadków na zdefiniowanie całego kodu programu

Bardziej szczegółowo

Język programowania: Lista instrukcji (IL Instruction List)

Ję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ółowo

Jerzy Nawrocki, Wprowadzenie do informatyki

Jerzy Nawrocki, Wprowadzenie do informatyki Magistrala systemowa Jerzy Nawrocki, Jerzy Nawrocki Wydział Informatyki Politechnika Poznańska jerzy.nawrocki@put.poznan.pl Cel wykładu Asembler i koncepcja von Neumanna Wprowadzenie do programowania na

Bardziej szczegółowo

Architektury systemów komputerowych

Architektury systemów komputerowych zadanie: 1 2 3 4 5 6 7 Suma maks: 12 12 12 18 18 10 18 100 Imi i nazwisko: punkty: Architektury systemów komputerowych Egzamin, wersja A 6.II.2013 Do zdobycia jest 100 punktów. Przewidywana skala ocen:

Bardziej szczegółowo

Podstawy programowania sterowników GeFanuc

Podstawy programowania sterowników GeFanuc Podstawy programowania sterowników GeFanuc Waldemar Samociuk Zakład Teorii Maszyn i Automatyki Katedra Podstaw Techniki Felin p.110 http://ztmia.ar.lublin.pl/sips waldemar.samociuk@up.lublin,pl Podstawy

Bardziej szczegółowo

Rzut oka na zagadnienia zwi zane z projektowaniem list rozkazów

Rzut oka na zagadnienia zwi zane z projektowaniem list rozkazów Rzut oka na zagadnienia zwi zane z projektowaniem list rozkazów 1 Wst p Przypomnijmy,»e komputer skªada si z procesora, pami ci, systemu wej±cia-wyj±cia oraz po- ª cze«mi dzy nimi. W procesorze mo»emy

Bardziej szczegółowo

Programowanie niskopoziomowe

Programowanie niskopoziomowe Programowanie niskopoziomowe ASSEMBLER Teodora Dimitrova-Grekow http://aragorn.pb.bialystok.pl/~teodora/ Program ogólny Rok akademicki 2011/12 Systemy liczbowe, budowa komputera, procesory X86, organizacja

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Wykład 3 Jan Kazimirski 1 Podstawowe elementy komputera. Procesor (CPU) 2 Plan wykładu Podstawowe komponenty komputera Procesor CPU Cykl rozkazowy Typy instrukcji Stos Tryby adresowania

Bardziej szczegółowo

Rejestry procesora. Nazwa ilość bitów. AX 16 (accumulator) rejestr akumulatora. BX 16 (base) rejestr bazowy. CX 16 (count) rejestr licznika

Rejestry procesora. Nazwa ilość bitów. AX 16 (accumulator) rejestr akumulatora. BX 16 (base) rejestr bazowy. CX 16 (count) rejestr licznika Rejestry procesora Procesor podczas wykonywania instrukcji posługuje się w dużej części pamięcią RAM. Pobiera z niej kolejne instrukcje do wykonania i dane, jeżeli instrukcja operuje na jakiś zmiennych.

Bardziej szczegółowo

1. Pobrać plik masm.zip (Macro Assembler 6.15 & Segmented Executable Linker 5.60) (http://www.cs.put.poznan.pl/mantczak/teaching/itc/masm.zip).

1. Pobrać plik masm.zip (Macro Assembler 6.15 & Segmented Executable Linker 5.60) (http://www.cs.put.poznan.pl/mantczak/teaching/itc/masm.zip). J.Nawrocki, M. Antczak, G. Palik, A. Widelska Plik źródłowy: 07cw4-asm.doc; Data: 2007-09-26 6:00 Ćwiczenie nr 4 Język asemblera Środowisko uruchomieniowe 1. Pobrać plik masm.zip (Macro Assembler 6.15

Bardziej szczegółowo

2.1. W architekturze MIPS, na liście instrukcji widzimy dwie instrukcje dotyczące funkcji: .text main: la $a0, string1 # drukuj pierwszy łańcuch

2.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ółowo

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

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

Bardziej szczegółowo

Lista 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 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ółowo

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

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

Bardziej szczegółowo

Architektura komputerów. Asembler procesorów rodziny x86

Architektura komputerów. Asembler procesorów rodziny x86 Architektura komputerów Asembler procesorów rodziny x86 Architektura komputerów Asembler procesorów rodziny x86 Rozkazy mikroprocesora Rozkazy mikroprocesora 8086 można podzielić na siedem funkcjonalnych

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Programowanie Niskopoziomowe

Programowanie Niskopoziomowe Programowanie Niskopoziomowe Wykład 8: Procedury Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Plan Wstęp Linkowanie z bibliotekami zewnętrznymi Operacje na stosie

Bardziej szczegółowo

organizacja procesora 8086

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

Logiczny model komputera i działanie procesora. Część 1. Logiczny model komputera i działanie procesora. Część 1. Klasyczny komputer o architekturze podanej przez von Neumana składa się z trzech podstawowych bloków: procesora pamięci operacyjnej urządzeń wejścia/wyjścia.

Bardziej szczegółowo

Mikrokontroler ATmega32. Język symboliczny

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

Bardziej szczegółowo

Lista instrukcji mikroprocesora 8086. Programowanie w assemblerze

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

Bardziej szczegółowo

Architektura typu multi cycle

Architektura 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ółowo

Programowanie w elektronice: Podstawy C

Programowanie 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ółowo

Architektura komputerów

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

Bardziej szczegółowo

Organizacja typowego mikroprocesora

Organizacja typowego mikroprocesora Organizacja typowego mikroprocesora 1 Architektura procesora 8086 2 Architektura współczesnego procesora 3 Schemat blokowy procesora AVR Mega o architekturze harwardzkiej Wszystkie mikroprocesory zawierają

Bardziej szczegółowo

Bazy danych. Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl www.uj.edu.pl/web/zpgk/materialy 9/15

Bazy danych. Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl www.uj.edu.pl/web/zpgk/materialy 9/15 Bazy danych Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl www.uj.edu.pl/web/zpgk/materialy 9/15 Przechowywanie danych Wykorzystanie systemu plików, dostępu do plików za pośrednictwem systemu operacyjnego

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Tydzień 6 RSC i CSC Znaczenie terminów CSC Complete nstruction Set Computer komputer o pełnej liście rozkazów. RSC Reduced nstruction Set Computer komputer o zredukowanej liście

Bardziej szczegółowo

Elementy Modelowania Matematycznego Wykªad 9 Systemy kolejkowe

Elementy Modelowania Matematycznego Wykªad 9 Systemy kolejkowe Elementy Modelowania Matematycznego Wykªad 9 Systemy kolejkowe Romuald Kotowski Katedra Informatyki Stosowanej PJWSTK 2009 Spis tre±ci 1 2 3 Spis tre±ci 1 2 3 Spis tre±ci 1 2 3 Teoria masowej obsªugi,

Bardziej szczegółowo

PROGRAMOWANIE NISKOPOZIOMOWE

PROGRAMOWANIE NISKOPOZIOMOWE PROGRAMOWANIE NISKOPOZIOMOWE PN.01 c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad. 2011/2012 c Dr inż. Ignacy Pardyka (Inf.UJK) PN.01 Rok akad. 2011/2012 1 / 27 Wprowadzenie

Bardziej szczegółowo

Bash i algorytmy. Elwira Wachowicz. 20 lutego

Bash i algorytmy. Elwira Wachowicz. 20 lutego Bash i algorytmy Elwira Wachowicz elwira@ifd.uni.wroc.pl 20 lutego 2012 Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Bash i algorytmy 20 lutego 2012 1 / 16 Inne przydatne polecenia Polecenie Dziaªanie Przykªad

Bardziej szczegółowo

Przetwarzanie potokowe pipelining

Przetwarzanie 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ółowo

MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW

MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW Projektowanie urządzeń cyfrowych przy użyciu układów TTL polegało na opracowaniu algorytmu i odpowiednim doborze i zestawieniu układów realizujących różnorodne funkcje

Bardziej szczegółowo

Język programowania: Lista instrukcji (IL Instruction List) Wykład w ramach przedmiotu: Sterowniki programowalne Opracował dr inż. Jarosław Tarnawski

Język programowania: Lista instrukcji (IL Instruction List) Wykład w ramach przedmiotu: Sterowniki programowalne Opracował dr inż. Jarosław Tarnawski Język programowania: Lista instrukcji (IL Instruction List) Wykład w ramach przedmiotu: Sterowniki programowalne Opracował dr inż. Jarosław Tarnawski Norma IEC 1131 Języki tekstowe Języki graficzne Języki

Bardziej szczegółowo

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

Architektura Systemów Komputerowych. Jednostka ALU Przestrzeń adresowa Tryby adresowania Architektura Systemów Komputerowych Jednostka ALU Przestrzeń adresowa Tryby adresowania 1 Jednostka arytmetyczno- logiczna ALU ALU ang: Arythmetic Logic Unit Argument A Argument B A B Ci Bit przeniesienia

Bardziej szczegółowo

Prosty procesor dla framgentu listy rozkazów MIPSa

Prosty procesor dla framgentu listy rozkazów MIPSa p. /33 Prosty procesor dla framgent listy rozkazów IPSa (rysnki pochodza z ksiażki Hennessy ego i Pattersona) p. 2/33 Wstęp Naszym celem będzie zaprojektowanie prostego procesora realizjacego fragment

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Układ wykonawczy, instrukcje i adresowanie. Dariusz Chaberski

Układ wykonawczy, instrukcje i adresowanie. Dariusz Chaberski Układ wykonawczy, instrukcje i adresowanie Dariusz Chaberski System mikroprocesorowy mikroprocesor C A D A D pamięć programu C BIOS dekoder adresów A C 1 C 2 C 3 A D pamięć danych C pamięć operacyjna karta

Bardziej szczegółowo

Ćwiczenie nr 3. Wyświetlanie i wczytywanie danych

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

Bardziej szczegółowo

Programowanie niskopoziomowe

Programowanie niskopoziomowe Programowanie niskopoziomowe Programowanie niskopoziomowe w systemie operacyjnym oraz poza nim Tworzenie programu zawierającego procedury asemblerowe 1 Programowanie niskopoziomowe w systemie operacyjnym

Bardziej szczegółowo

4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/2012 2 / 24

4 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ółowo

Architektura potokowa RISC

Architektura potokowa RISC Architektura potokowa RISC Podział zadania na odrębne części i niezależny sprzęt szeregowe Brak nawrotów" podczas pracy potokowe Przetwarzanie szeregowe i potokowe Podział instrukcji na fazy wykonania

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Technika mikroprocesorowa. Języki programowania mikrokontrolerów

Technika mikroprocesorowa. Języki programowania mikrokontrolerów Języki programowania mikrokontrolerów Przed rozpoczęciem pisania kodu źródłowego programu należy zdecydować się na wybór określonego języka programowania. Stosuje się dwa rodzaje języków programowania

Bardziej szczegółowo

Akademia Górniczo- Hutmicza w Krakowie Katedra Elektroniki WIET

Akademia Górniczo- Hutmicza w Krakowie Katedra Elektroniki WIET Akademia Górniczo- Hutmicza w Krakowie Katedra Elektroniki WIET Technika mikroprocesorowa Instrukcja 3 Stos i podprogramy Autor: Paweł Russek Tłumaczenie: Marcin Pietroń http://www.fpga.agh.edu.pl/tm ver.

Bardziej szczegółowo

Problemy optymalizacyjne - zastosowania

Problemy optymalizacyjne - zastosowania Problemy optymalizacyjne - zastosowania www.qed.pl/ai/nai2003 PLAN WYKŁADU Zło ono obliczeniowa - przypomnienie Problemy NP-zupełne klika jest NP-trudna inne problemy NP-trudne Inne zadania optymalizacyjne

Bardziej szczegółowo

Programowanie niskopoziomowe. dr inż. Paweł Pełczyński ppelczynski@swspiz.pl

Programowanie niskopoziomowe. dr inż. Paweł Pełczyński ppelczynski@swspiz.pl Programowanie niskopoziomowe dr inż. Paweł Pełczyński ppelczynski@swspiz.pl 1 Literatura Randall Hyde: Asembler. Sztuka programowania, Helion, 2004. Eugeniusz Wróbel: Praktyczny kurs asemblera, Helion,

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Tydzień 5 Jednostka Centralna Zadania realizowane przez procesor Pobieranie rozkazów Interpretowanie rozkazów Pobieranie danych Przetwarzanie danych Zapisanie danych Główne zespoły

Bardziej szczegółowo

Projektowanie. Projektowanie mikroprocesorów

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

Bardziej szczegółowo

Programowanie hybrydowe C (C++) - assembler. MS Visual Studio Inline Assembler

Programowanie hybrydowe C (C++) - assembler. MS Visual Studio Inline Assembler Programowanie hybrydowe C (C++) - assembler MS Visual Studio Inline Assembler Wprowadzenie Możliwość wprowadzania kodu asemblerowego bezpośrednio w kodzie źródłowym w języku C lub C++ Nie wymagany MASM

Bardziej szczegółowo

Procesor ma architekturę rejestrową L/S. Wskaż rozkazy spoza listy tego procesora. bgt Rx, Ry, offset nand Rx, Ry, A add Rx, #1, Rz store Rx, [Rz]

Procesor ma architekturę 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ółowo

Systemy wbudowane Mikrokontrolery

Systemy wbudowane Mikrokontrolery Systemy wbudowane Mikrokontrolery Budowa i cechy mikrokontrolerów Architektura mikrokontrolerów rodziny AVR 1 Czym jest mikrokontroler? Mikrokontroler jest systemem komputerowym implementowanym w pojedynczym

Bardziej szczegółowo

Programowanie komputera

Programowanie komputera Programowanie komputera Program jest algorytmem przetwarzania danych zapisanym w sposób zrozumiały dla komputera. Procesor rozumie wyłącznie rozkazy zapisane w kodzie maszynowym (ciąg 0 i 1). Ponieważ

Bardziej szczegółowo

Podstawy programowania

Podstawy programowania Podstawy programowania Część pierwsza Od języka symbolicznego do języka wysokiego poziomu Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót

Bardziej szczegółowo

PODSTAWY METROLOGII ĆWICZENIE 4 PRZETWORNIKI AC/CA Międzywydziałowa Szkoła Inżynierii Biomedycznej 2009/2010 SEMESTR 3

PODSTAWY METROLOGII ĆWICZENIE 4 PRZETWORNIKI AC/CA Międzywydziałowa Szkoła Inżynierii Biomedycznej 2009/2010 SEMESTR 3 PODSTAWY METROLOGII ĆWICZENIE 4 PRZETWORNIKI AC/CA Międzywydziałowa Szkoła Inżynierii Biomedycznej 29/2 SEMESTR 3 Rozwiązania zadań nie były w żaden sposób konsultowane z żadnym wiarygodnym źródłem informacji!!!

Bardziej szczegółowo

petla:... ; etykieta określa adres w pamięci kodu (docelowe miejsce skoku) DJNZ R7, petla

petla:... ; etykieta określa adres w pamięci kodu (docelowe miejsce skoku) DJNZ R7, petla Asembler A51 1. Symbole Nazwy symboliczne Symbol jest nazwą, która może być użyta do reprezentowania wartości stałej numerycznej, wyrażenia, ciągu znaków (tekstu), adresu lub nazwy rejestru. Nazwy symboliczne

Bardziej szczegółowo

Sterowanie pracą programu

Sterowanie pracą programu Sterowanie pracą programu Umożliwia podejmowanie decyzji w oparciu o określone warunki. Skoki bezwarunkowe Podstawową instrukcją umożliwiającą przeniesienie sterowania do innego punktu programu oznaczonego

Bardziej szczegółowo

Zadanie Zaobserwuj zachowanie procesora i stosu podczas wykonywania następujących programów

Zadanie Zaobserwuj zachowanie procesora i stosu podczas wykonywania następujących programów Operacje na stosie Stos jest obszarem pamięci o dostępie LIFO (Last Input First Output). Adresowany jest niejawnie przez rejestr segmentowy SS oraz wskaźnik wierzchołka stosu SP. Używany jest do przechowywania

Bardziej szczegółowo

ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH. Babbage i jego komputer mechaniczny. Ada programuje maszynę Babbage a. architektura. c Dr inż.

ARCHITEKTURA 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ółowo

002 Opcode Strony projektu:

002 Opcode Strony projektu: ReverseCraft assem bler by gynvael.coldwind//vx Opcode Strony projektu: http://re.coldwind.pl/ http://www.uw-team.org/ Zasoby! czyli co możemy użyć... Instrukcje procesora Pamięć Wirtualna Rejestry CPU

Bardziej szczegółowo

Programowanie funkcyjne. Wykªad 13

Programowanie funkcyjne. Wykªad 13 Programowanie funkcyjne. Wykªad 13 Siªa wyrazu rachunku lambda Zdzisªaw Spªawski Zdzisªaw Spªawski: Programowanie funkcyjne. Wykªad 13, Siªa wyrazu rachunku lambda 1 Wst p Warto±ci logiczne Liczby naturalne

Bardziej szczegółowo

Shellcody a architektura MIPS na systemach IRIX. Adam Zabrocki.

Shellcody 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ółowo

4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP.01 Rok akad. 2011/2012 2 / 27

4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP.01 Rok akad. 2011/2012 2 / 27 ARCHITEKTURA SYSTEÓW KOPUTEROWYCH strktry procesorów ASK SP. c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad. 2/22 Założenia konstrkcyjne Układ pobierania instrkcji Układ przygotowania

Bardziej szczegółowo

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. 1. Rodzaje pamięci używanej w programach Pamięć komputera, dostępna dla programu,

Bardziej szczegółowo

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44 Programowanie w C++ Wykład 2 Katarzyna Grzelak 4 marca 2019 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44 Na poprzednim wykładzie podstawy C++ Każdy program w C++ musi mieć funkcję o nazwie main Wcięcia

Bardziej szczegółowo

1. Wprowadzenie do C/C++

1. Wprowadzenie do C/C++ Podstawy Programowania :: Roman Grundkiewicz :: 014 Zaj cia 1 1 rodowisko Dev-C++ 1. Wprowadzenie do C/C++ Uruchomienie ±rodowiska: Start Programs Developments Dev-C++. Nowy projekt: File New Project lub

Bardziej szczegółowo

Wykład 2. Budowa komputera. W teorii i w praktyce

Wykład 2. Budowa komputera. W teorii i w praktyce Wykład 2 Budowa komputera W teorii i w praktyce Generacje komputerów 0 oparte o przekaźniki i elementy mechaniczne (np. Z3), 1 budowane na lampach elektronowych (np. XYZ), 2 budowane na tranzystorach (np.

Bardziej szczegółowo

Architektura systemów komputerowych Laboratorium 8 Symulator SMS32 Instrukcje skoku i pętle

Architektura systemów komputerowych Laboratorium 8 Symulator SMS32 Instrukcje skoku i pętle Marcin Stępniak Architektura systemów komputerowych Laboratorium 8 Symulator SMS32 Instrukcje skoku i pętle 1. Informacje 1.1. Instrukcje skoku Instrukcje skoku zmieniają wskaźnik instrukcji w rejestrze

Bardziej szczegółowo

START: ; start programu od adresu 0100H ; zerowanie komórek od 01H do 07FH ( 1 dec dec)

START: ; start programu od adresu 0100H ; zerowanie komórek od 01H do 07FH ( 1 dec dec) Ćwiczenie 01 - Strona nr 1 ĆWICZENIE 01 PRACA KROKOWA MIKROKONTROLERA Cel ćwiczenia: Zapoznanie się ze środowiskiem programowym: poznanie funkcji asemblera, poznanie funkcji symulatora. Operacje na plikach,

Bardziej szczegółowo

2 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.02 Rok akad. 2011/ / 24

2 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ółowo

Opis programu do wizualizacji algorytmów z zakresu arytmetyki komputerowej

Opis programu do wizualizacji algorytmów z zakresu arytmetyki komputerowej Opis programu do wizualizacji algorytmów z zakresu arytmetyki komputerowej 3.1 Informacje ogólne Program WAAK 1.0 służy do wizualizacji algorytmów arytmetyki komputerowej. Oczywiście istnieje wiele narzędzi

Bardziej szczegółowo

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 1. Karol Tarnowski A-1 p.

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 1. Karol Tarnowski A-1 p. Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy Wykład 1 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan wykładów (1) Algorytmy i programy Proste typy danych Rozgałęzienia

Bardziej szczegółowo

Procesory rodziny x86. Dariusz Chaberski

Procesory rodziny x86. Dariusz Chaberski Procesory rodziny x86 Dariusz Chaberski 8086 produkowany od 1978 magistrala adresowa - 20 bitów (1 MB) magistrala danych - 16 bitów wielkość instrukcji - od 1 do 6 bajtów częstotliwośc pracy od 5 MHz (IBM

Bardziej szczegółowo

Języki formalne i techniki translacji

Języki formalne i techniki translacji Języki formalne i techniki translacji Laboratorium - Projekt Termin oddania: ostatnie zajęcia przed 17 stycznia 2016 Wysłanie do wykładowcy: przed 23:59 28 stycznia 2016 Używając BISON-a i FLEX-a napisz

Bardziej szczegółowo

Architektura komputerów, Informatyka, sem.iii. Rozwiązywanie konfliktów danych i sterowania w architekturze potokowej

Architektura komputerów, Informatyka, sem.iii. Rozwiązywanie konfliktów danych i sterowania w architekturze potokowej Rozwiązywanie konfliktów danych i sterowania w architekturze potokowej Konflikty w przetwarzaniu potokowym Konflikt danych Data Hazard Wstrzymywanie kolejki Pipeline Stall Optymalizacja kodu (metody programowe)

Bardziej szczegółowo

Jednostka centralna. dr hab. inż. Krzysztof Patan, prof. PWSZ

Jednostka 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ółowo

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Turbo Pascal jest językiem wysokiego poziomu, czyli nie jest rozumiany bezpośrednio dla komputera, ale jednocześnie jest wygodny dla programisty,

Bardziej szczegółowo

Surowiec Zużycie surowca Zapas A B C D S 1 0,5 0,4 0,4 0,2 2000 S 2 0,4 0,2 0 0,5 2800 Ceny 10 14 8 11 x

Surowiec Zużycie surowca Zapas A B C D S 1 0,5 0,4 0,4 0,2 2000 S 2 0,4 0,2 0 0,5 2800 Ceny 10 14 8 11 x Przykład: Przedsiębiorstwo może produkować cztery wyroby A, B, C, i D. Ograniczeniami są zasoby dwóch surowców S 1 oraz S 2. Zużycie surowca na jednostkę produkcji każdego z wyrobów (w kg), zapas surowca

Bardziej szczegółowo

Podstawy programowania skrót z wykładów:

Podstawy 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ółowo

WSTĘP DO PROGRAMOWANIA

WSTĘP DO PROGRAMOWANIA Stefan Sokołowski WSTĘP DO PROGRAOWANIA Inst Informatyki UG, Gdańsk, 2011/2012 Wykład1ALGORYTAPROGRA,str1 WSTĘP DO PROGRAOWANIA reguły gry Zasadnicze informacje: http://infugedupl/ stefan/dydaktyka/wstepdoprog

Bardziej szczegółowo

Podstawy programowania w języku C

Podstawy programowania w języku C Podstawy programowania w języku C WYKŁAD 1 Proces tworzenia i uruchamiania programów Algorytm, program Algorytm przepis postępowania prowadzący do rozwiązania określonego zadania. Program zapis algorytmu

Bardziej szczegółowo

Ukªady Kombinacyjne - cz ± I

Ukªady Kombinacyjne - cz ± I Ukªady Kombinacyjne - cz ± I Sebastian Kurczyk sebastian.kurczyk@polsl.pl Piotr Krauze piotr.krauze@polsl.pl 13 kwietnia 2013 Streszczenie Celem niniejszego laboratorium jest zapoznanie studentów z metodami

Bardziej szczegółowo

Arkusz zawiera informacje prawnie chronione do momentu rozpocz cia egzaminu.

Arkusz zawiera informacje prawnie chronione do momentu rozpocz cia egzaminu. Centralna Komisja Egzaminacyjna Arkusz zawiera informacje prawnie chronione do momentu rozpocz cia egzaminu. Uk ad graficzny CKE 2010 KOD WPISUJE ZDAJ CY PESEL Miejsce na naklejk z kodem EGZAMIN MATURALNY

Bardziej szczegółowo

1. Wprowadzenie do C/C++

1. Wprowadzenie do C/C++ Podstawy Programowania - Roman Grundkiewicz - 013Z Zaj cia 1 1 rodowisko Dev-C++ 1. Wprowadzenie do C/C++ Uruchomienie ±rodowiska: Start Programs Developments Dev-C++. Nowy projekt: File New Project lub

Bardziej szczegółowo

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

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne Spis treści 5 Spis treœci Co to jest mikrokontroler? Wprowadzenie... 11 Budowa systemu komputerowego... 12 Wejścia systemu komputerowego... 12 Wyjścia systemu komputerowego... 13 Jednostka centralna (CPU)...

Bardziej szczegółowo

Programowanie w asemblerze ARM wprowadzenie

Programowanie w asemblerze ARM wprowadzenie Programowanie w asemblerze ARM wprowadzenie 17 stycznia 2017 Historia Firma ARM Ltd. powstała w 1990 roku jako Advanced RISC Machines Ltd., joint venture firm Acorn Computers, Apple Computer i VLSI Technology.

Bardziej szczegółowo

Programowanie mikrokontrolera 8051

Programowanie mikrokontrolera 8051 Programowanie mikrokontrolera 8051 Podane poniżej informacje mogą pomóc w nauce programowania mikrokontrolerów z rodziny 8051. Opisane są tu pewne specyficzne cechy tych procesorów a także podane przykłady

Bardziej szczegółowo