Wstęp do informatyki
|
|
- Elżbieta Witkowska
- 9 lat temu
- Przeglądów:
Transkrypt
1 Wstęp do informatyki Architektura i działanie komputera Piotr Fulmański Wydział Matematyki i Informatyki, Uniwersytet Łódzki, Polska 4 stycznia 2008
2 Spis treści 1 Abstrakcyjny model maszyny przetwarzającej 2 Bramki logiczne 3 Współczesny komputer Maszyna analityczna Architektura von Neumanna Najpowszechniejszy współcześnie model architektury Procesor
3 Maszyna Turinga Maszyna Turinga Sekwencyjność operacji intuicja prowadząca do maszyny.
4 Maszyna Turinga Maszyna Turinga Sekwencyjność operacji intuicja prowadząca do maszyny.
5 Maszyna Turinga Abstrakcyjny model Maszyna Turinga składa się z: taśmy; głowicy; stanów; funkcji przejścia (lub tablicy przejść).
6 Maszyna Turinga Abstrakcyjny model taśma Taśma podzielona jest na przylegające do siebie komórki. Każda komórka zawiera jeden symobl (obiekt) z pewnego skończonego alfabetu. Alfabet zawiera zawsze co najmniej symbol pusty i symbol końcowy oraz opcjonalnie inne symbole. Taśma jest nieskończona. Oznacza to, że maszyna Turinga zawsze ma dostępnej tyle pamięci ile potrzebuje.
7 Maszyna Turinga Abstrakcyjny model głowica Głowica odczytuje i zapisuje symbole (obiekty) z taśmy (za jednym razem tylko z jednej komórki), oraz powoduje przemieszczanie taśmy w lewą stronę, prawą lub pozostawia ją nieprzemieszczoną. W niektórych elementem ruchomym jest głowica (to ona przesuwa się nad nieruchmą taśmą.
8 Maszyna Turinga Abstrakcyjny model stany Stany opisują stany w jakich może znaleźć sie maszyna Turinga każdy stan utożsamiać można z wynikiem pewnej operacji, np. wypisanie czegoś na ekran, reakcja na naciśnięcie przycisku itp. Ilość wszystkich stanów jest skończona i istnieje jeden specjalny stan stan początkowy od którego rozpoczynamy analizę działania maszyny.
9 Maszyna Turinga Abstrakcyjny model funkcja przejścia Funkcja przejścia, określa, że będąc w pewnym stanie i odczytując pewien symbol powinniśmy: zapisać (albo nie) jakiś symbol w aktualnie odczytywanej komórce, przesunąć głowicę (w lewo L, w prawo R, pozostawić na miejscu _ ), wskazać stan w jakim maszyna powinna się znaleźć (może to być ten sam stan). W niektórych modelach w przypadku natrafienia na nieistniejącą kombinację (stan,odczytany_symbol) maszyna zatrzymuje się, w innych wymaga się określenia wszystkich możliwych kombinacji.
10 Maszyna Turinga Abstrakcyjny model jak to działa? Zauważmy, że wszystkie elementy maszyny jej stany, akcje (np. drukowanie, kasowanie, przesuwanie taśmy) są skończone, dyskretne i jednoznacznie rozróżnialne. Poza tym dysponujemy teoretycznie nieskończoną ilości taśmy (pamięci). Idea maszyny Turinga bazuje na sekwencyjności elementarnych operacji polegających na zmianie według precyzyjnie i dobrze określonych reguł zawartości nieskończonej taśmy papieru komórka po komórce. Opis postępowania jest bardzo prosty i sprowadza się do formuł postaci Jeśli jesteś w stanie X i odczytanym symbolem jest Y to zapisz symbol Z, przesuń się o jedną komórkę w prawo i przejdź do stanu (przyjmij, że jesteś w stanie) A."
11 Turing machine Turing machine formalna definicja Formalna definicja: gdzie: M = (Q, Σ, δ, s), Q skończony niepusty zbiór stanów; Σ skończony niepusty zbiór dopuszczalnych symboli taśmowych, zwany również alfabetem; Zbiór ten musi zawierać co najmniej dwa specjalne symbole: (symbol pusty) i (symbol końcowy); δ funkcja następnego ruchu (nazywana także diagramem lub tablicą przejść), która jest odwzorowaniem ze zbioru δ : Q Σ w zbiór (Q {k, t, n} Σ) {,, }, a gdzie: k stan końcowy, t stan akceptujący, n stan odrzucający, zaś,, oznaczają ruch głowicy odpowiednio w lewo, w prawo oraz pozostanie w miejscu; symbole,, nie należą do zbioru Q. s stan początkowy (wyróżniony stan należący do zbioru Q). a Funkcja δ może nie być określona dla wszystkich argumentów.
12 Maszyna Turinga Uwaga W informatyce dowodzi się równoważności wielu różnych wariantów maszyny Turinga. Np. dość łatwo jest pokazać, że maszyna Turinga z wieloma taśmami nie różni się istotnie od klasycznej maszyny jednotaśmowej. Również niedeterministyczne maszyny Turinga są równoważne deterministycznym.
13 Maszyna Turinga MT1 model
14 Maszyna Turinga MT2 model
15 Maszyna Turinga Hipoteza Churcha-Turinga Każdy problem, dla którego przy nieograniczonej pamięci oraz zasobach istnieje efektywny algorytm jego rozwiązywania, da się rozwiązać na maszynie Turinga a a Jest to tylko hipoteza. Nie można sprawdzić jej na drodze matematycznych rozważań jako że łączy w sobie zarówno ścisłe, jak i nieprecyzyjne sformułowania, których interpretacja może zależeć od konkretnej osoby.
16 Maszyna Turinga Wnioski Hipoteza pozwala dokładniej sformułować pojęcie samego algorytmu, mówiąc jednocześnie, że komputery są w stanie go wykonać. Wszystkie komputery mają jednakowe możliwości, jeśli chodzi o zdolność do wykonywania algorytmów, a nie dostępne zasoby. Nie jest możliwe zbudowanie komputera o zdolności do rozwiązywania większej liczby problemów, niż najprostsza maszyna Turinga.
17 Maszyna Turinga Wnioski Hipoteza pozwala dokładniej sformułować pojęcie samego algorytmu, mówiąc jednocześnie, że komputery są w stanie go wykonać. Wszystkie komputery mają jednakowe możliwości, jeśli chodzi o zdolność do wykonywania algorytmów, a nie dostępne zasoby. Nie jest możliwe zbudowanie komputera o zdolności do rozwiązywania większej liczby problemów, niż najprostsza maszyna Turinga.
18 Maszyna Turinga Wnioski Hipoteza pozwala dokładniej sformułować pojęcie samego algorytmu, mówiąc jednocześnie, że komputery są w stanie go wykonać. Wszystkie komputery mają jednakowe możliwości, jeśli chodzi o zdolność do wykonywania algorytmów, a nie dostępne zasoby. Nie jest możliwe zbudowanie komputera o zdolności do rozwiązywania większej liczby problemów, niż najprostsza maszyna Turinga.
19 Maszyna Turinga Wnioski Hipoteza pozwala dokładniej sformułować pojęcie samego algorytmu, mówiąc jednocześnie, że komputery są w stanie go wykonać. Wszystkie komputery mają jednakowe możliwości, jeśli chodzi o zdolność do wykonywania algorytmów, a nie dostępne zasoby. Nie jest możliwe zbudowanie komputera o zdolności do rozwiązywania większej liczby problemów, niż najprostsza maszyna Turinga.
20 Maszyna Turinga Wnioski Dowolny problem, mający rozwiązanie na znanych nam obecnie popularnych komputerach, można rozwiązać, konstruując odpowiadającą mu maszynę Turinga. Twierdzenie przeciwne nie jest prawdziwe: Nie jest prawdą, że jeśli pewien algorytm może wykonać maszyna Turinga to może go też wykonać komputer. Żaden komputer nie jest tak potężny jak maszyna Turinga, gdyż nie mają nieskończenie dużo pamięci oraz operują na zmiennych o ograniczonej wielkości. Wszystko jedno jak by konstrukcja maszyny Turinga nie była złożona a a ona sama realizowała nie wiadomo jak skomplikowane zadania, to cały problem można sprowadzić do bardzo elementarnych działań manipulowania symbolami z pewnego ograniczonego alfabetu według ściśle określonych reguł. a Złożona w sensie ilości stanów i definicji funkcji przejścia, bo sama maszyna jest bardzo prosta.
21 Maszyna Turinga Wnioski Dowolny problem, mający rozwiązanie na znanych nam obecnie popularnych komputerach, można rozwiązać, konstruując odpowiadającą mu maszynę Turinga. Twierdzenie przeciwne nie jest prawdziwe: Nie jest prawdą, że jeśli pewien algorytm może wykonać maszyna Turinga to może go też wykonać komputer. Żaden komputer nie jest tak potężny jak maszyna Turinga, gdyż nie mają nieskończenie dużo pamięci oraz operują na zmiennych o ograniczonej wielkości. Wszystko jedno jak by konstrukcja maszyny Turinga nie była złożona a a ona sama realizowała nie wiadomo jak skomplikowane zadania, to cały problem można sprowadzić do bardzo elementarnych działań manipulowania symbolami z pewnego ograniczonego alfabetu według ściśle określonych reguł. a Złożona w sensie ilości stanów i definicji funkcji przejścia, bo sama maszyna jest bardzo prosta.
22 Maszyna Turinga Wnioski Dowolny problem, mający rozwiązanie na znanych nam obecnie popularnych komputerach, można rozwiązać, konstruując odpowiadającą mu maszynę Turinga. Twierdzenie przeciwne nie jest prawdziwe: Nie jest prawdą, że jeśli pewien algorytm może wykonać maszyna Turinga to może go też wykonać komputer. Żaden komputer nie jest tak potężny jak maszyna Turinga, gdyż nie mają nieskończenie dużo pamięci oraz operują na zmiennych o ograniczonej wielkości. Wszystko jedno jak by konstrukcja maszyny Turinga nie była złożona a a ona sama realizowała nie wiadomo jak skomplikowane zadania, to cały problem można sprowadzić do bardzo elementarnych działań manipulowania symbolami z pewnego ograniczonego alfabetu według ściśle określonych reguł. a Złożona w sensie ilości stanów i definicji funkcji przejścia, bo sama maszyna jest bardzo prosta.
23 Maszyna Turinga Wnioski Dowolny problem, mający rozwiązanie na znanych nam obecnie popularnych komputerach, można rozwiązać, konstruując odpowiadającą mu maszynę Turinga. Twierdzenie przeciwne nie jest prawdziwe: Nie jest prawdą, że jeśli pewien algorytm może wykonać maszyna Turinga to może go też wykonać komputer. Żaden komputer nie jest tak potężny jak maszyna Turinga, gdyż nie mają nieskończenie dużo pamięci oraz operują na zmiennych o ograniczonej wielkości. Wszystko jedno jak by konstrukcja maszyny Turinga nie była złożona a a ona sama realizowała nie wiadomo jak skomplikowane zadania, to cały problem można sprowadzić do bardzo elementarnych działań manipulowania symbolami z pewnego ograniczonego alfabetu według ściśle określonych reguł. a Złożona w sensie ilości stanów i definicji funkcji przejścia, bo sama maszyna jest bardzo prosta.
24 Bramki Bramka Bramka jest układem elektronicznym, którego sygnał wyjściowy jest wynikiem operacji Boole a na sygnałach wejściowych. Symbole Analiza działania
25 Bramki Bramka Bramka jest układem elektronicznym, którego sygnał wyjściowy jest wynikiem operacji Boole a na sygnałach wejściowych. Symbole Analiza działania
26 Bramki Bramka Bramka jest układem elektronicznym, którego sygnał wyjściowy jest wynikiem operacji Boole a na sygnałach wejściowych. Symbole Analiza działania
27 Maszyna analityczna Maszyna analityczna (Charles Babbage, ok. 1833) Maszyna ta miała składać się z magazynu (dzisiejszy odpowiednik pamięci), młyna (jednostka licząca), mechanizmu sterującego (jednostka sterująca). Pamięć miała służyć do przechowywania danych oraz wyników z przeprowadzanych na nich operacji. Młyn, odpowiednik dzisiejszej jednostki arytmetyczno-logicznej, miał wykonywać proste działania arytmetyczne. Mechanizm sterujący miał kierować działaniem całego urządzenia i w założeniach, miał być programowany.
28 Maszyna analityczna Maszyna analityczna dodatkowe informacje Siłą napędową maszyny miał być silnik parowy. Maszyna miała mieć ok. 30 metrów długości i 10 metrów szerokości. Dane wejściowe (program oraz dane) wprowadzane miały być za pomocą kart dziurkowanych, powszechnie wykorzystywanych w tamtym czasie przez krosna mechaniczne. Do sygnalizowania i udostępniania danych wyjściowe maszyna pisiadała a printer, a curve plotter and a bell. Dodatkowo wyniki mogły być przedstawione na kartach dziurkowanych w celu dalszego ich wykorzystania. Maszyna wykorzystywała stało przecinkową arytmetykę oraz system dziesiętny. Magazyn mógł pomieścić 1000 liczb 50-cio cyfrowych. Młyn mógł wykonać wszystkie cztery operacje arytmetyczne, porównanie oraz obliczyć pierwiastek kwadratowy.
29 Maszyna analityczna Maszyna analityczna Maszyna analityczna nie doczekała się realizacji praktycznej i uwagi na proponowaną technologię realizacji (napędzanie silnikiem lokomotywy parowej, czysto mechaniczna, wysokiej złożoności konstrukcja) istnieje wątpliwość, czy konstrukcja tego typu byłaby zdolna do sprawnej, bezawaryjnej pracy. Jednakże jej konstrukcja posłużyła późniejszym twórcom (głównie Johnowi von Neumannowi) do opracowania dzisiejszych komputerów.
30 Komputery pre-von Neumannowskie Komputery pre-von Neumannowskie Mimo idei zapoczątkowanej przez Babbage a pierwsze zautomatyzowane maszyny liczące posiadały sztywno zakodowany program. W celu jego zmiany należało zmienić sieć połączeń elektrycznych, strukturę maszyny lub nawet przeprojektować ją. W istocie pierwsze komputery były nie tyle programowalne co przebudowywalne (nie były zaprogramowane ale zaprojektowane ). Programowanie, jeśli w ogóle możliwe, było bardzo fizycznym procesem, rozpoczynającym się od wstępnego szkicowania diagramów przepływu danych i wielu notatek, przez projektowanie inżynierskie na żmudnym procesie przebudowywania maszyny kończąc.
31 Komputery pre-von Neumannowskie Komputery pre-von Neumannowskie Wspomniane problemy z programowalnością doprowadziły zapewne do narodzenia się ideii programu przechowywanego w komputerze (w strukturach jakie dostarczał a nie w sposobie budowy tych struktu lub ich wzajemnego oddziaływania). Powstanie architektur operujących na zestawie pewnych, zdefiniowanych i ściśle określonych instrukcji, uczyniło ten proces znacznie bardziej przyjaznym, efektywnym a zarazem elastycznym. Traktowanie instrukcji jak danych (bo instrukcje też miały być przechowywane w pamięci) pozwalało nawet na samomodyfikacje działającego programu.
32 Architektura von Neumanna Architektura von Neumanna (1945) Wyróżniamy w niej trzy podstawowe części: procesor (w ramach którego wydzielona bywa część sterująca oraz część arytmetyczno-logiczna) pamięć komputera (zawierająca dane i sam program) urządzenia wejścia/wyjścia
33 Architektura von Neumanna Architektura von Neumanna (1945) System komputerowy zbudowany w oparciu o architekturę von Neumanna powinien: mieć skończoną i funkcjonalnie pełną listę rozkazów; mieć możliwość wprowadzenia programu do systemu komputerowego poprzez urządzenia zewnętrzne i jego przechowywanie w pamięci w sposób identyczny jak danych; dane i instrukcje w takim systemie powinny być jednakowo dostępne dla procesora; informacja jest przetwarzana dzięki sekwencyjnemu odczytywaniu instrukcji z pamięci komputera i wykonywaniu tych instrukcji przez procesor.
34 Architektura von Neumanna Architektura von Neumanna (1945) Podane warunki pozwalają przestawić system komputerowy z wykonania jednego zadania (programu) na inne bez fizycznej ingerencji w strukturę systemu, a tym samym gwarantują jego uniwersalność. System komputerowy von Neumanna nie posiada oddzielnych pamięci do przechowywania danych i instrukcji. Instrukcje jak i dane są zakodowane w postaci liczb. Bez analizy programu trudno jest określić czy dany obszar pamięci zawiera dane czy instrukcje. Wykonywany program może się sam modyfikować traktując obszar instrukcji jako dane, a po przetworzeniu tych instrukcji danych zacząć je wykonywać. Model komputera wykorzystującego architekturę von Neumanna jest często nazywany przykładową maszyną cyfrową.
35 Architektura von Neumanna Von Neumann? Termin architektura von Neumanna pochodzi od nazwiska matematyka John von Neumann s autora raportu First Draft of a Report on the EDVAC a. Datowany na 30 czerwca 1945 roku, był wczesną pisemną notatką dotyczącą komputera ogólnego przeznaczenia przechowującego program w pamięci (ang. a general purpose stored-program computing machine) jaką miał być EDVAC. Jakkolwiek prace von Neumanna należy zaliczyć do pionierskich to już sam termin architektura von Neumannowska wydaje się krzywdzić zarówno osoby współpracujące z von Neumannem jak i te na których wynikach oparł swoje doświadczenia. a Electronic Discrete Variable Automatic Computer
36 Architektura von Neumanna Von Neumann? Idea opisana prze von Neumanna pojawiła się już w 1936 w opatentowanym rozwiązaniu Konrada Zuseego. Pomysł na stworzenie komputera przechowującego program w pamięci pojawiła się w The Moore School of Electrical Engineering at the University of Pennsylvania zanim jeszcze von Neumann usłyszał cokolwiek o ENIAC. Nie jest znany autor tej ideii.
37 Architektura von Neumanna Von Neumann? John William Mauchly oraz J. Presper Eckert pisali o ideii przechowywania programu w pamięci w grudniu 1943 podczas ich prac nad ENIAC. Ponadto Grist Brainerd, dyrektor (?) (ang. project administrator) projektu ENIAC, w grudniu 1943 w raporcie z postępów prac nad ENIAC nie wprost proponował takie rozwiąznie (jednocześnie odrzucając je jako możliwe do zastosowania w ENIAC (?)) stwierdzając, że w celu uproszczenia projektu i niekomplikowania spraw ENIAC zostanie skonstruowany bez żadnych automatycznych regulacji (?). 19 lutego 1946 Alan Turing przedstawił dokument zawierający kompletny projekt komputera przechowującego kod w pamięci (ang. stored-program computer), Pilot ACE (jednego z pierwszych komputerów zbudowanych w Wielkiej Brytanii w The National Physical Laboratory (NPL) we wczesnych latach 50-tych).
38 Elementy współczesnego modelu Elementy współczesnego modelu procesor (CPU ang. central processing unit) pamięć wejście/wyjście (ang. input/output (I/O)) łącznik w postaci magistral
39 Procesor Procesor Procesor (ang. processor) nazywany często CPU (ang. Central Processing Unit) urządzenie cyfrowe sekwencyjne potrafiące pobierać dane z pamięci, interpretować je i wykonywać jako rozkazy. Wykonuje on bardzo szybko ciąg prostych operacji (rozkazów) wybranych ze zbioru operacji podstawowych określonych zazwyczaj przez producenta procesora jako lista rozkazów procesora.
40 Procesor Zestaw instrukcji Zestaw instrukcji (rozkazów) jest listą wszystkich instrukcji (we wszystkich przewidzianych przez architekturę dopuszczalnych wariantach) jakie procesor jest zdolny wykonać. W skład instrukcji wchodzą: 1 instrukcje arytmetyczne, np. add czy subtract 2 instrukcje logiczne, np. and, or czy not 3 instrukcje operujące na danych a, np. move, input, output, load czy store 4 instrukcje sterujące przepływem danych, np. goto, if... goto, call czy return. a W sensie traktowania ich jako sekwencji zer i jedynek bez wnikania w ich zanczenie
41 Procesor Procesor W funkcjonalnej strukturze procesora można wyróżnić takie elementy, jak: zespół rejestrów do przechowywania danych i wyników (rejestry mogą być ogólnego przeznaczenia lub mają specjalne przeznaczenie), jednostkę arytmetyczną (arytmometr, ALU) do wykonywania operacji obliczeniowych na danych, jednostkę obsługi pamięci, jednostę obsługi instrukcji (pobieranie i dekodowanie).
42 A typical schematic symbol for an ALU A B \ / F-> \ / ->D \---/ R A,B - operandy (wejście) R - wyjście F - wejście z jednostki sterującej D - wyjście statusu
43 Procesor Rejestry Rejestry stanowią bardzo małą pamięć, do której procesor ma zdecydowanie najkrótszy czas dostępu. Większość współczesnych architektur przenoszeniu danych z pamięci operacyjnej do rejestrów, wykonaniu na nich operacji i przeniesieniu wyników do pamięci. Wielkość rejestrów wyrażana jest w bitach, jakie mogą one pomieścić, np. rejestr 8-bitowy czy rejestr 32-bitowy.
44 Procesor Rodzaje rejestrów Zazwyczaj procesor zawiera kilka rodzajów rejestrów, które można klasyfikować zależnie od ich zawartości lub rodzaju operacji jakie można na nich wykonać: Rejestry dostępne dla użytkownika, np. rejestry danych rejestry adresowe. Rejestry danych służą do operowania na danych, np. wartościach liczbowych będących liczbą całkowitą. Specjalny rejestr tego typu nazywany akumulatorem często wykorzystywany jest jako domyślny rejestr pewnych instrukcji. Rejestr adresowy służy do przechowywania adresów i jest wykorzystywany przez instrukcje posługujące się adresowaniem pośrednim. Rejestr flagowy - rodzaj rejestru warunkowego informującego o wykonaniu lub nie pewnej operacji lub o konieczności lub braku konieczności wykonania operacji.
45 Procesor Rodzaje rejestrów Rejestry ogólnego przeznaczenia są połączeniem rejestrów danych i adresowych. Rejestry zmiennoprzecinkowe przeznaczone do operowania na liczbach zmiennoprzecinkowych. Rejestry specjalnego przeznaczenia zazwyczaj opisują stan wykonania programu. Zazwyczaj są to wspaźnik instrukcji (ang. program counter, instruction pointer), wskaźnik stosu, rejestr flagowy (ang. status register, processor status word). Rejestr instrukcji przechowuje obecnie wykonywaną i mające być niebawem wykonane instrukcje. Rejestry indeksowe modyfikujące adres operandów (argumentów) instrukcji.
46 Procesor Cykl pracy Na cykl pracy składa się kilka cyklicznie powtarzanych operacji: pobranie (ang. fetch), dekodowanie (ang. decode), wykonanie (ang. execute), zapisanie wyników (ang. writeback).
47 Procesor Pobranie The instruction that the CPU fetches from memory is used to determine what the CPU is to do. The fetch step involves retrieving an instruction (which is represented by a number or sequence of numbers) from program memory. The location in program memory is determined by a program counter (PC), which stores a number that identifies the current position in the program. In other words, the program counter keeps track of the CPU s place in the current program. After an instruction is fetched, the PC is incremented by the length of the instruction word in terms of memory units. Often the instruction to be fetched must be retrieved from relatively slow memory, causing the CPU to stall while waiting for the instruction to be returned.
48 Processor Decode In the decode step, the instruction is broken up into parts that have significance to other portions of the CPU. The way in which the numerical instruction value is interpreted is defined by the CPU s instruction set architecture (ISA). Often, one group of numbers in the instruction, called the opcode, indicates which operation to perform. The remaining parts of the number usually provide information required for that instruction, such as operands for an addition operation. Such operands may be given as a constant value (called an immediate value), or as a place to locate a value: a register or a memory address, as determined by some addressing mode. In older designs the portions of the CPU responsible for instruction decoding were unchangeable hardware devices. However, in more abstract and complicated CPUs and ISAs, a microprogram is often used to assist in translating instructions into various configuration signals for the CPU. This microprogram is sometimes rewritable so that it can be modified to change the way the CPU decodes instructions even after it has been manufactured.
49 Processor Execute During the execute step, various portions of the CPU are connected so they can perform the desired operation. If, for instance, an addition operation was requested, an arithmetic logic unit (ALU) will be connected to a set of inputs and a set of outputs. The inputs provide the numbers to be added, and the outputs will contain the final sum. If the addition operation produces a result too large for the CPU to handle, an arithmetic overflow flag in a flags register may also be set.
50 Processor Writeback The final step, writeback, simply writes back the results of the execute step to some form of memory. Very often the results are written to some internal CPU register for quick access by subsequent instructions. In other cases results may be written to slower, but cheaper and larger, main memory. Some types of instructions manipulate the program counter rather than directly produce result data. These are generally called jumps and facilitate behavior like loops, conditional program execution (through the use of a conditional jump), and functions in programs. Many instructions will also change the state of digits in a flags register. These flags can be used to influence how a program behaves, since they often indicate the outcome of various operations. For example, one type of compare instruction considers two values and sets a number in the flags register according to which one is greater. This flag could then be used by a later jump instruction to determine program flow.
51 Procesor Adresowanie analogia z życia wzięta Odszukiwanie numeru telefonu: z naszej pamięci, z notatnika, od kolegi, z notatnika kolegi itd. Adresowanie Różne rodzaje adresowania natychmiastowe (opcode, argument), bezpośrednie (opcode, adres), pośrednie (opcode, pamięć/rejestr z adresem), pośrednie z użyciem rejestru bazyowego i offsetu (opcode, offset) (przy ustalonej bazie rejestrze bazowym), pośrednie z użyciem rejestru bazowego i indeksowego (opcode) (przy ustalonej bazie rejestrze bazowym i automatycznie zwiększanym rejestrze indeksowym).
52 Processor Assembler An assembly language is a low-level language for programming computers. It implements a symbolic representation of the numeric machine codes and other constants needed to program a particular CPU architecture. This representation is usually defined by the hardware manufacturer, and is based on abbreviations (called mnemonics) that help the programmer remember individual instructions, registers, etc. An assembly language is thus specific to a certain physical or virtual computer architecture (as opposed to most high-level languages, which are portable).
53 Processor Assembler A program written in assembly language consists of a series of instructions mnemonics that correspond to a stream of executable instructions, when translated by an assembler, that can be loaded into memory and executed.
54 Assembler Dla przykładu procesor architektury x86/ia-32 może wykonać następujący rozkaz zapisany w języku maszyny (ciąg zer i jedynek): 1 Binary: (Hexadecimal: 0xb061) Processor Odpowiednik tego rozkazu wyrażony w instrukcji asemblera jest znacznie łatwiejszy do zapamiętania (mnemoniczny a ) 1 mov al, #061h Instrukcja ta oznacza: 1 Przenieś szesnastkową wartość 61 (97 dziesiętnie) do rejestru procesora oznaczonego jako al. Mnemonik mov odpowiada kodowi operacji (ang. opcode) 1011, który powoduje przeniesienie wartości będącej drugim operandem do rejestru określonego przez pierwszy operand. Mnemonik wybrany został przez projektanta listy rozkazów jako skrót od przenieś (ang. move) co znacznie łatwiej zapamiętać. Lista argumentów rozdzielonych przecinkiem następuje za kodem instrukcji; jest to typowy zapis asemblera. a Mnemonika zespół sposobów ułatwiających zapamiętywanie nowego materiału.
55 Procesor Asembler In practice many programmers drop the word mnemonic and, technically incorrectly, call mov an opcode. When they do this, they are referring to the underlying binary code which it represents. To put it another way, a mnemonic such as mov is not an opcode, but as it symbolizes an opcode, one might refer to the opcode mov for example when one intends to refer to the binary opcode it symbolizes rather than to the symbol the mnemonic itself.
56 Przykład kodu asemblera mov ax, 0D625h ;wprowadź do rejestru AX liczbę ;szesnastkową D625 (54821 dziesiętnie) mov es, ax ;załaduj rejestr segmentowy ES wartością ;znajdującą się w AX (D625) mov al, 24 ;załaduj dolną (młodszą) połówkę rejestru ;AX (AL) liczbą dziesiętną 24 mov ah, 0 ;wyzeruj górną (starszą) połówkę rejestru ;AX (AH) int 21h ;wywołaj przerwanie 21H
57 Przykład programu w języku wysokiego poziomu... #include <stdio.h> #include <stdlib.h> int main() { printf("witaj świecie\n"); exit(0); }
58 ... i jego asemblerowa postać.file.lc0: "main.c".section.rodata.string "Witaj \305\233wiecie".text.globl main.type main: leal 4(%esp), %ecx andl $-16, %esp pushl -4(%ecx) pushl %ebp movl %esp, %ebp pushl %ecx subl $4, %esp movl $.LC0, (%esp) call puts movl $0, (%esp) call exit.size main,.-main.ident "GCC: (GNU) (prerelease) (Debian section.note.GNU-stack,"",@progbits
Abstrakcyjny model maszyny przetwarzającej dane To pomysł jak zapisać komputer jako działające urządzenie i tu pojawia się pomysł na maszynę Turinga.
ARCHITEKTURA I DZIAŁANIE KOMPUTERA Abstrakcyjny model maszyny przetwarzającej dane To pomysł jak zapisać komputer jako działające urządzenie i tu pojawia się pomysł na maszynę Turinga. Maszyna Turinga
Abstrakcyjny model maszyny przetwarzającej dane To pomysł jak zapisać komputer jako działające urządzenie i tu pojawia się pomysł na maszynę Turinga.
ARCHITEKTURA I DZIAŁANIE KOMPUTERA Abstrakcyjny model maszyny przetwarzającej dane To pomysł jak zapisać komputer jako działające urządzenie i tu pojawia się pomysł na maszynę Turinga. Maszyna Turinga
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
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
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?
Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1
i sieci komputerowe Szymon Wilk Superkomputery 1 1. Superkomputery to komputery o bardzo dużej mocy obliczeniowej. Przeznaczone są do symulacji zjawisk fizycznych prowadzonych głównie w instytucjach badawczych:
Budowa komputera Komputer computer computare
11. Budowa komputera Komputer (z ang. computer od łac. computare obliczać) urządzenie elektroniczne służące do przetwarzania wszelkich informacji, które da się zapisać w formie ciągu cyfr albo sygnału
Podstawy Informatyki Systemy sterowane przepływem argumentów
Podstawy Informatyki alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu 1 Komputer i jego architektura Taksonomia Flynna 2 Komputer i jego architektura Taksonomia Flynna Komputer Komputer
Architektura komputerów wer. 7
Architektura komputerów wer. 7 Wojciech Myszka 2013-10-29 19:47:07 +0100 Karty perforowane Kalkulator IBM 601, 1931 IBM 601 kalkulator Maszyna czytała dwie liczby z karty, mnożyła je przez siebie i wynik
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
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.
organizacja procesora 8086
Systemy komputerowe Procesor 8086 - tendencji w organizacji procesora organizacja procesora 8086 " # $ " % strali " & ' ' ' ( )" % *"towego + ", -" danych. Magistrala adresowa jest 20.bitowa, co pozwala
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ęć
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ą
LEKCJA TEMAT: Zasada działania komputera.
LEKCJA TEMAT: Zasada działania komputera. 1. Ogólna budowa komputera Rys. Ogólna budowa komputera. 2. Komputer składa się z czterech głównych składników: procesor (jednostka centralna, CPU) steruje działaniem
Architektura komputerów wer. 3
Architektura komputerów wer. 3 Wojciech Myszka, Maciej Panek listopad 2014 r. Karty perforowane Kalkulator IBM 601, 1931 IBM 601 kalkulator Maszyna czytała dwie liczby z karty, mnożyła je przez siebie
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
UTK Można stwierdzić, że wszystkie działania i operacje zachodzące w systemie są sterowane bądź inicjowane przez mikroprocesor.
Zadaniem centralnej jednostki przetwarzającej CPU (ang. Central Processing Unit), oprócz przetwarzania informacji jest sterowanie pracą pozostałych układów systemu. W skład CPU wchodzą mikroprocesor oraz
architektura komputerów w 1 1
8051 Port P2 Port P3 Serial PORT Timers T0, T1 Interrupt Controler DPTR Register Program Counter Program Memory Port P0 Port P1 PSW ALU B Register SFR accumulator STRUCTURE OF 8051 architektura komputerów
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
MODELOWANIE RZECZYWISTOŚCI
MODELOWANIE RZECZYWISTOŚCI Daniel Wójcik Instytut Biologii Doświadczalnej PAN d.wojcik@nencki.gov.pl tel. 022 5892 424 http://www.neuroinf.pl/members/danek/swps/ Podręcznik Iwo Białynicki-Birula Iwona
LEKCJA TEMAT: Współczesne procesory.
LEKCJA TEMAT: Współczesne procesory. 1. Wymagania dla ucznia: zna pojęcia: procesor, CPU, ALU, potrafi podać typowe rozkazy; potrafi omówić uproszczony i rozszerzony schemat mikroprocesora; potraf omówić
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
Rozszerzalne kody operacji (przykład)
Tryby adresowania natychmiastowy (ang. immediate) bezpośredni (ang. direct) pośredni (ang. indirect) rejestrowy (ang. register) rejestrowy pośredni (ang. register indirect) z przesunieciem (indeksowanie)
Technika mikroprocesorowa
Technika mikroprocesorowa zajmuje się przetwarzaniem danych w oparciu o cyfrowe programowalne układy scalone. Systemy przetwarzające dane w oparciu o takie układy nazywane są systemami mikroprocesorowymi
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.
Architektura mikroprocesorów z rdzeniem ColdFire
Architektura mikroprocesorów z rdzeniem ColdFire 1 Rodzina procesorów z rdzeniem ColdFire Rdzeń ColdFire V1: uproszczona wersja rdzenia ColdFire V2. Tryby adresowania, rozkazy procesora oraz operacje MAC/EMAC/DIV
dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1
dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1 Cel wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działanie systemu operacyjnego
Budowa Mikrokomputera
Budowa Mikrokomputera Wykład z Podstaw Informatyki dla I roku BO Piotr Mika Podstawowe elementy komputera Procesor Pamięć Magistrala (2/16) Płyta główna (ang. mainboard, motherboard) płyta drukowana komputera,
Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy
Wstęp do informatyki Architektura komputera Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki System komputerowy systemowa (System Bus) Pamięć operacyjna ROM,
Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera
Dariusz Wawrzyniak Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działania systemu operacyjnego (2) Miejsce, rola i zadania systemu operacyjnego
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
Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak
Wprowadzenie Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działania systemu operacyjnego
Elementy Teorii Obliczeń
Wykład 2 Instytut Matematyki i Informatyki Akademia Jana Długosza w Częstochowie 10 stycznia 2009 Maszyna Turinga uwagi wstępne Maszyna Turinga (1936 r.) to jedno z najpiękniejszych i najbardziej intrygujacych
Turing i jego maszyny
Turing Magdalena Lewandowska Politechnika Śląska, wydział MS, semestr VI 20 kwietnia 2016 1 Kim był Alan Turing? Biografia 2 3 Mrówka Langtona Bomba Turinga 4 Biografia Kim był Alan Turing? Biografia Alan
Wstęp do informatyki. System komputerowy. Magistrala systemowa. Architektura komputera. Cezary Bolek
Wstęp do informatyki Architektura komputera Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki System komputerowy systemowa (System Bus) Pamięć operacyjna ROM,
Maszyna Turinga (Algorytmy Część III)
Maszyna Turinga (Algorytmy Część III) wer. 9 z drobnymi modyfikacjami! Wojciech Myszka 2018-12-18 08:22:34 +0100 Upraszczanie danych Komputery są coraz szybsze i sprawniejsze. Na potrzeby rozważań naukowych
Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera
Dariusz Wawrzyniak Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działania systemu operacyjnego (2) Definicja systemu operacyjnego (1) Miejsce,
UTK ARCHITEKTURA PROCESORÓW 80386/ Budowa procesora Struktura wewnętrzna logiczna procesora 80386
Budowa procesora 80386 Struktura wewnętrzna logiczna procesora 80386 Pierwszy prawdziwy procesor 32-bitowy. Zawiera wewnętrzne 32-bitowe rejestry (omówione zostaną w modułach następnych), pozwalające przetwarzać
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).
dr inż. Rafał Klaus Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia i ich zastosowań w przemyśle" POKL
Architektura komputerów wprowadzenie materiał do wykładu 3/3 dr inż. Rafał Klaus Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia na Politechnice Poznańskiej w zakresie technologii informatycznych
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ń
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
Wstęp do Informatyki. dr inż. Paweł Pełczyński ppelczynski@swspiz.pl
Wstęp do Informatyki dr inż. Paweł Pełczyński ppelczynski@swspiz.pl Literatura 1. Brookshear, J. G. (2003). Informatyka w ogólnym zarysie. WNT, Warszawa. 3. Małecki, R. Arendt D. Bryszewski A. Krasiukianis
Podstawy Techniki Mikroprocesorowej
Podstawy Techniki Mikroprocesorowej Architektury mikroprocesorów Wydział Elektroniki Mikrosystemów i Fotoniki dr inż. Piotr Markowski Na prawach rękopisu. Na podstawie dokumentacji ATmega8535, www.atmel.com.
Matematyczne Podstawy Informatyki
Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 2013/2014 Automat ze stosem Automat ze stosem to szóstka
Wprowadzenie do informatyki i użytkowania komputerów. Kodowanie informacji System komputerowy
1 Wprowadzenie do informatyki i użytkowania komputerów Kodowanie informacji System komputerowy Kodowanie informacji 2 Co to jest? bit, bajt, kod ASCII. Jak działa system komputerowy? Co to jest? pamięć
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
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.
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
Architektura systemów komputerowych
Studia stacjonarne inżynierskie, kierunek INFORMATYKA Architektura systemów komputerowych Architektura systemów komputerowych dr Artur Bartoszewski Procesor część I 1. ALU 2. Cykl rozkazowy 3. Schemat
Architektura komputerów. Komputer Procesor Mikroprocesor koncepcja Johna von Neumanna
Architektura komputerów. Literatura: 1. Piotr Metzger, Anatomia PC, wyd. IX, Helion 2004 2. Scott Mueller, Rozbudowa i naprawa PC, wyd. XVIII, Helion 2009 3. Tomasz Kowalski, Urządzenia techniki komputerowej,
Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2
Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2 Literatura: www.zilog.com Z80 Family, CPU User Manual Cykle magistrali w mikroprocesorze Z80 -odczyt kodu rozkazu, -odczyt-zapis pamięci,
Budowa i zasada działania komputera. dr Artur Bartoszewski
Budowa i zasada działania komputera 1 dr Artur Bartoszewski Jednostka arytmetyczno-logiczna 2 Pojęcie systemu mikroprocesorowego Układ cyfrowy: Układy cyfrowe służą do przetwarzania informacji. Do układu
Magistrala systemowa (System Bus)
Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki systemowa (System Bus) Pamięć operacyjna ROM, RAM Jednostka centralna Układy we/wy In/Out Wstęp do Informatyki
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
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
Podstawy Programowania Algorytmy i programowanie
Podstawy Programowania Algorytmy i programowanie Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 3 października 2013 r. Algorytm Algorytm w matematyce, informatyce, fizyce, itp. lub innej dziedzinie życia,
Alan M. TURING. Matematyk u progu współczesnej informatyki
Alan M. TURING n=0 1 n! Matematyk u progu współczesnej informatyki Wykład 5. Alan Turing u progu współczesnej informatyki O co pytał Alan TURING? Czym jest algorytm? Czy wszystkie problemy da się rozwiązać
Obliczenia inspirowane Naturą
Obliczenia inspirowane Naturą Wykład 01 Od maszyn Turinga do automatów komórkowych Jarosław Miszczak IITiS PAN Gliwice 03/03/2016 1 / 16 1 2 3 Krótka historia Znaczenie 2 / 16 Czego dowiedzieliśmy się
Informacja w perspektywie obliczeniowej. Informacje, liczby i obliczenia
Informacja w perspektywie obliczeniowej Informacje, liczby i obliczenia Cztery punkty odniesienia (dla pojęcia informacji) ŚWIAT ontologia fizyka UMYSŁ psychologia epistemologia JĘZYK lingwistyka nauki
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
Architektura komputerów Wykład 2
Architektura komputerów Wykład 2 Jan Kazimirski 1 Elementy techniki cyfrowej 2 Plan wykładu Algebra Boole'a Podstawowe układy cyfrowe bramki Układy kombinacyjne Układy sekwencyjne 3 Algebra Boole'a Stosowana
PRZESŁANKI I PIERWSZE KONCEPCJE AUTOMATYCZNEGO LICZENIA
PRZESŁANKI I PIERWSZE KONCEPCJE AUTOMATYCZNEGO LICZENIA Pierwszą maszyną cyfrową, w której operacje wykonywane były za pomocą układów elektronicznych, był ENIAC (Electronic Numerioal Integrator And Computer)
Krótka wycieczka do wnętrza komputera
Krótka wycieczka do wnętrza komputera Podstawy Technik Informatycznych Wykład drugi Roman Simiński romansiminski@usedupl wwwsiminskionlinepl Komputer w drugiej dekadzie XXI wieku Podstawy Technik Informatycznych
Podstawy techniki cyfrowej Mikroprocesory. Mgr inż. Bogdan Pietrzak ZSR CKP Świdwin
Podstawy techniki cyfrowej Mikroprocesory Mgr inż. Bogdan Pietrzak ZSR CKP Świdwin 1 Mikroprocesor to układ cyfrowy wykonany jako pojedynczy układ scalony o wielkim stopniu integracji zdolny do wykonywania
Obliczenia inspirowane Naturą
Obliczenia inspirowane Naturą Wykład 01 Modele obliczeń Jarosław Miszczak IITiS PAN Gliwice 05/10/2016 1 / 33 1 2 3 4 5 6 2 / 33 Co to znaczy obliczać? Co to znaczy obliczać? Deterministyczna maszyna Turinga
O ALGORYTMACH I MASZYNACH TURINGA
O ALGORYTMACH I MASZYNACH TURINGA ALGORYTM (objaśnienie ogólne) Algorytm Pojęcie o rodowodzie matematycznym, oznaczające współcześnie precyzyjny schemat mechanicznej lub maszynowej realizacji zadań określonego
Budowa komputera. Magistrala. Procesor Pamięć Układy I/O
Budowa komputera Magistrala Procesor Pamięć Układy I/O 1 Procesor to CPU (Central Processing Unit) centralny układ elektroniczny realizujący przetwarzanie informacji Zmiana stanu tranzystorów wewnątrz
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)...
Architektura systemów komputerowych. dr Artur Bartoszewski
Architektura systemów komputerowych 1 dr Artur Bartoszewski Procesor część I 1. ALU 2. Cykl rozkazowy 3. Schemat blokowy CPU 4. Architektura CISC i RISC 2 Jednostka arytmetyczno-logiczna 3 Schemat blokowy
PROBLEMY NIEROZSTRZYGALNE
PROBLEMY NIEROZSTRZYGALNE Zestaw 1: T Przykład - problem domina T Czy podanym zestawem kafelków można pokryć dowolny płaski obszar zachowując odpowiedniość kolorów na styku kafelków? (dysponujemy nieograniczoną
Kodowanie informacji. Przygotował: Ryszard Kijanka
Kodowanie informacji Przygotował: Ryszard Kijanka Komputer jest urządzeniem służącym do przetwarzania informacji. Informacją są liczby, ale także inne obiekty, takie jak litery, wartości logiczne, obrazy
Budowa komputera. Magistrala. Procesor Pamięć Układy I/O
Budowa komputera Magistrala Procesor Pamięć Układy I/O 1 Procesor to CPU (Central Processing Unit) centralny układ elektroniczny realizujący przetwarzanie informacji Zmiana stanu tranzystorów wewnątrz
Adam Korzeniewski p Katedra Systemów Multimedialnych
Adam Korzeniewski adamkorz@sound.eti.pg.gda.pl p. 732 - Katedra Systemów Multimedialnych Operacja na dwóch funkcjach dająca w wyniku modyfikację oryginalnych funkcji (wynikiem jest iloczyn splotowy). Jest
Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego
Arytmetyka cyfrowa Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego (binarnego). Zapis binarny - to system liczenia
Algorytm. Krótka historia algorytmów
Algorytm znaczenie cybernetyczne Jest to dokładny przepis wykonania w określonym porządku skończonej liczby operacji, pozwalający na rozwiązanie zbliżonych do siebie klas problemów. znaczenie matematyczne
Wykład I. Podstawowe pojęcia. Studia Podyplomowe INFORMATYKA Architektura komputerów
Studia Podyplomowe INFORMATYKA Architektura komputerów Wykład I Podstawowe pojęcia 1, Cyfrowe dane 2 Wewnątrz komputera informacja ma postać fizycznych sygnałów dwuwartościowych (np. dwa poziomy napięcia,
Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych
Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych B.1. Dostęp do urządzeń komunikacyjnych Sterowniki urządzeń zewnętrznych widziane są przez procesor jako zestawy rejestrów
Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2010/2011
SYLLABUS na rok akademicki 010/011 Tryb studiów Studia stacjonarne Kierunek studiów Informatyka Poziom studiów Pierwszego stopnia Rok studiów/ semestr 1(rok)/1(sem) Specjalność Bez specjalności Kod katedry/zakładu
Informatyka. Michał Rad
Informatyka Michał Rad 13.10.2016 Co i po co będziemy robić Plan wykładów: Wstęp, historia Systemy liczbowe Co to jest system operacyjny i po co to jest Sprawy związane z tworzeniem i własnością oprogramowania
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
Podstawy działania układów cyfrowych...2 Systemy liczbowe...2 Kodowanie informacji...3 Informacja cyfrowa...4 Bramki logiczne...
Podstawy działania układów cyfrowych...2 Systemy liczbowe...2 Kodowanie informacji...3 Informacja cyfrowa...4 Bramki logiczne...4 Podział układów logicznych...6 Cyfrowe układy funkcjonalne...8 Rejestry...8
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
Systemy wbudowane. Przykłady kodu Assembler
Systemy wbudowane Przykłady kodu Assembler Wstęp Slowo assembly w języku angielskim oznacza składać, montować W odniesieniu do języka programowania słowo to odnosi się do niskopoziomowego języka programowania
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
ARCHITEKTURA PROCESORA,
ARCHITEKTURA PROCESORA, poza blokami funkcjonalnymi, to przede wszystkim: a. formaty rozkazów, b. lista rozkazów, c. rejestry dostępne programowo, d. sposoby adresowania pamięci, e. sposoby współpracy
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
Sterowniki Programowalne (SP)
Sterowniki Programowalne (SP) Wybrane aspekty procesu tworzenia oprogramowania dla sterownika PLC Podstawy języka funkcjonalnych schematów blokowych (FBD) Politechnika Gdańska Wydział Elektrotechniki i
Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska
Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska Zygmunt Kubiak 2 Centralny falownik (ang. central inverter system) Zygmunt Kubiak 3 Micro-Inverter Mikro-przetwornice działają podobnie do systemów
Technika mikroprocesorowa I Wykład 2
Technika mikroprocesorowa I Wykład 2 Literatura: www.zilog.com Z80 Family, CPU User Manual Cykle magistrali w mikroprocesorze Z80 -odczyt kodu rozkazu, -odczyt-zapis pamięci, -odczyt-zapis urządzenia we-wy,
Realizacja systemów wbudowanych (embeded systems) w strukturach PSoC (Programmable System on Chip)
Realizacja systemów wbudowanych (embeded systems) w strukturach PSoC (Programmable System on Chip) Embeded systems Architektura układów PSoC (Cypress) Możliwości bloków cyfrowych i analogowych Narzędzia
Technologie Informacyjne Wykład 2
Technologie Informacyjne Wykład 2 Elementy systemu komputerowego Wojciech Myszka Jakub Słowiński Katedra Mechaniki i Inżynierii Materiałowej Wydział Mechaniczny Politechnika Wrocławska 15 października
Architektura komputera. Dane i rozkazy przechowywane są w tej samej pamięci umożliwiającej zapis i odczyt
Architektura komputera Architektura von Neumanna: Dane i rozkazy przechowywane są w tej samej pamięci umożliwiającej zapis i odczyt Zawartośd tej pamięci jest adresowana przez wskazanie miejsca, bez względu
Liczbę 29 możemy zaprezentować na siedem różnych sposobów:
Numeryczna analiza rozkładu liczb naturalnych na określoną sumę liczb pierwszych Świerczewski Ł. Od blisko 200 lat matematycy poszukują odpowiedzi na pytanie zadane przez Christiana Goldbacha, który w
PROGRAMOWANIE NISKOPOZIOMOWE. Systemy liczbowe. Pamięć PN.01. c Dr inż. Ignacy Pardyka. Rok akad. 2011/2012
PROGRAMOWANIE NISKOPOZIOMOWE PN.01 c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad. 2011/2012 1 2 4 c Dr inż. Ignacy Pardyka (Inf.UJK) PN.01 Rok akad. 2011/2012 1 / 27 c Dr
Technologie informacyjne - wykład 12 -
Zakład Fizyki Budowli i Komputerowych Metod Projektowania Instytut Budownictwa Wydział Budownictwa Lądowego i Wodnego Politechnika Wrocławska Technologie informacyjne - wykład 12 - Prowadzący: Dmochowski
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
Projekt prostego procesora
Projekt prostego procesora Opracowany przez Rafała Walkowiaka dla zajęć z PTC 2012/2013 w oparciu o Laboratory Exercise 9 Altera Corporation Rysunek 1 przedstawia schemat układu cyfrowego stanowiącego