Wyklad 1 Pojęcie architektury komputerów, modelu architekturalnego, modelu obliczeniowego, podstawowe modele obliczeniowe systemów komputerowych

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

Download "Wyklad 1 Pojęcie architektury komputerów, modelu architekturalnego, modelu obliczeniowego, podstawowe modele obliczeniowe systemów komputerowych"

Transkrypt

1 Wyklad 1 Pojęcie architektury komputerów, modelu architekturalnego, modelu obliczeniowego, podstawowe modele obliczeniowe systemów komputerowych Części wykładu: 1. Pojęcia postawowe dotyczące środowiska sprzętowego komputera 2. Poziomy abstrakcji opisu urządzeń cyfrowych 3. Pojęcie architektura komputerów 4. Modele architekturalne systemów 5. Modele obliczeniowe

2 Sprzęt komputera Sygnały danych - sygnały reprezentujące dane w trakcie przemieszczania się między składowymi elementami sprzętowymi komputera (ang. data signals). Sygnały sterujące sygnały przesyłane w komputerze w celu wywoływania w nim wykonania operacji niezbędnych dla wykonania programów (ang. control signals). Bramka logiczna - podzespół (urządzenie) komputera realizujący funkcję (operację) logiczną na sygnałach wejściowych; może wypełniać funkcję sterującą - kontroluje (otwiera/zamyka) drogę dla sygnału sterującego lub sygnału danych, albo funkcję przekształcania (przetwarzania) danych - wytwarza nową wartość danej na podstawie danych wejściowych (argumentów operacji, którą realizuje) (ang. logical gate).

3 Przerzutnik - podzespół (urządzenie) komputera, umożliwiające zapamiętanie jednego bitu informacji (ang. flip-flop). Rejestr podzespół (urządzenie) komputera, umożliwiające zapamiętanie ciągu bitów (ang. register). Rejestr stanowi ciąg przerzutników. Rejestr rozkazów komputera rejestr, do którego należy wprowadzić rozkaz komputera, aby został wykonany (ang. instruction register). Rejestr buforowy rejestr pośredniczący na drodze przesyłania informacji w komputerze (ang. buffer register). Rejestr adresowy rejestr, który przechowuje ciąg binarny wykorzystywany jako adres komórki pamięci komputera (ang. address register).

4 Rejestr danych rejestr, który przechowuje ciąg binarny wykorzystywany jako dane dla obliczeń (ang. data register). Licznik - podzespół (urządzenie) komputera, przyjmujący określoną sekwencję stanów pod wpływem impulsów podawanych na jego wejście (ang. counter). Licznik zawiera ciąg przerzutników, których stany w danej chwili określają stan licznika (ang. counter status). Licznik rozkazów specjalny licznik w komputerze, który wyznacza adres następnego rozkazu do wykonania (ang. program counter). Blok funkcjonalny (wykonawczy), układ wykonawczy (funkcjonalny), jednostka wykonawcza (funkcjonalna) fragment sprzętu komputera (podzespół) wypełniający wydzielony zbiór operacji (funkcji) o podobnym charakterze (ang. functional unit). Blok arytmetyczno-logiczny inaczej jednostka arytmetyczno-logiczna blok funkcjonalny wykonujący arytmetyczne i logiczne operacje na danych.

5 Pamięć komputera - podzespół (urządzenie) komputera, umożliwiające przechowywanie informacji (ang. memory, store). Szyna (magistrala) - podzespół (urządzenie) komputera, umożliwiające przysyłanie informacji między różnymi urządzeniami (blokami) komputera (ang. bus). Procesor inaczej centralny procesor, jednostka centralna- główny podzespół komputera, wykonujący instrukcje wewnętrzne komputera (ang. processor, central procesor, central processing unit - CPU). Układ sterowania komputera inaczej układ sterujący podzespół procesora zajmujący się pobieraniem rozkazów i wytwarzaniem sygnałów sterujących pracą elementów składowych komputera (ang. control unit).

6 Poziomy abstrakcji opisu urządzeń cyfrowych Systemy cyfrowe i ich działanie mogą być opisywane na różnych poziomach szczegółowości, które nazywane są poziomami abstrakcji (ang. abstraction levels). Można wyróżnić 6 poziomów abstrakcji opisu systemów cyfrowych. Podane są one w tabeli poniżej. W pierwszej kolumnie podano nazwę poziomu abstrakcji. W drugiej kolumnie podano elementy składowe, które są rozważane przy opisywaniu systemu na danym poziomie abstrakcji. W trzeciej kolumnie określono ogólnie elementy (rodzaj) języka, przy pomocy którego wyrażony jest opis elementów rozważanych na danym poziomie abstrakcji.

7 6 poziomów abstrakcji opisu systemów cyfrowych Poziom abstrakcji Rozważane elementy Opis poprzez Poziom systemu operacyjnego Poziom ogólnego systemu Poziom procesorów Poziom bloków funkcjonalnych Poziom logiczny Poziom elektroniczny Moduły systemu operacyjnego Elementy systemu komputerowego Operacje procesora, pamięci, zespoły rejestrów, itp Bloki arytmetyczne, bloki logiczne, układ sterowania Dyrektywy systemu operacyjnego Instrukcje komputera Podstawowe instrukcje procesora Podstawowe operacje Bramki, przerzutniki Równania logiczne Tranzystory, diody itp Równania napięć, prądów

8 Najwyższym poziomem abstrakcji opisu typowego systemu komputerowego jest poziom systemu operacyjnego. System operacyjny jest spoiwem, który wiąże w systemie komputerowym elementy sprzętowe i programowe systemu z programami użytkowymi. W skrócie, można powiedzieć, że system operacyjny wykonuje szereg funkcji związanych z utrzymywaniem systemu w stanie gotowości do pracy, wykonywaniem programów użytkowych, zabezpieczaniem poprawności działania systemu oraz ochroną programów, danych i urządzeń sprzętowych przed działaniami zagrażającymi ich bezpiecznemu istnieniu w systemie. Spełnianiem tych funkcji zajmują się różne moduły programowe należące do systemu operacyjnego. Można więc spojrzeć na system bardzo makroskopowo, poprzez wypełniane przez niego funkcje i odpowiadające im moduły. Funkcje te i moduły możemy najkrócej opisać poprzez dyrektywy, przy pomocy których te funkcje i moduły są wywoływane.

9 Niższym poziomem abstrakcji jest tzw. poziom ogólnego systemu. Widzimy tam system komputerowy jako aglomerację połączonych ze sobą dużych podzespołów, takich jak procesory, pamięci, urządzenia zewnętrzne i ich urządzenia sterujące, zainstalowane w komputerze. Podane wyżej elementy będą rozważane przy opisie działania systemu. Opis systemu na tym poziomie wyrazimy poprzez opis współdziałania rozważanych elementów systemu. Najprościej będzie to zrobić przez podanie typów i generalnego opisu instrukcji języka wewnętrznego komputera.

10 Kolejny niższy poziom abstrakcji opisu systemu jest nazwany poziomem procesorów. Na tym poziomie system widzimy poprzez własności procesorów, których znajomość jest konieczna dla napisania poprawnych programów użytkowych dla tych procesorów. Najprościej te własności wyrazić poprzez listę instrukcji (rozkazów języka wewnętrznego) tych procesorów realizujących operacje obliczeniowe.

11 Następny niższy poziom abstrakcji nazywamy poziomem bloków funkcjonalnych. Jeżeli chcemy przedstawić funkcjonalność procesorów bardziej szczegółowo, to możemy przejść na niższy poziom abstrakcji i wyróżnić operacje, z których wykonania składa się wykonanie rozkazów procesorów. Z tymi operacjami związane są pewne bloki wykonawcze (inaczej funkcjonalne) we wnętrzu procesora, które te operacje realizują. Na tym poziomie system widzimy jako zbiorowisko połączonych bloków funkcjonalnych. Bloki funkcjonalne najprościej opisać na tym poziomie poprzez opis wykonywanych przez nie operacji.

12 Niższy poziom abstrakcji opisu systemu jest poziomem układów logicznych. Na tym poziomie widzimy logiczne moduły składowe użyte do realizacji operacji bloków funkcjonalnych. Rozważanymi elementami opisu systemu komputerowego są na tym poziomie elementarne układy użyte do budowy bloków funkcjonalnych i dróg przesyłania informacji między tymi blokami, takie jak bramki logiczne, przerzutniki, itp. Te elementarne układy są opisywane za pomocą tzw. równań logicznych, wyrażających zależności między sygnałami logicznymi obecnymi na ich wejściach i wyjściach.

13 Jeżeli, opisując system cyfrowy, chcemy wniknąć w szczegóły budowy fizycznej bramek, przerzutników i innych elementów sprzętowy musimy zejść na poziom elektroniczny opisu systemu. Ten poziom rozważa jak bramki i przerzutniki są zbudowane z podstawowych używanych dzisiaj elementów elektronicznych takich jak tranzystory, diody, oporności, kondensatory itp. Dla opisu działania tych elementów i ich współdziałania użyjemy równań opisujących zależności między napięciami na ich końcówkach, rozpływ prądów, itp.

14 Należy tu powiedzieć, że zwykle, na niższych poziomach abstrakcji opisu systemów cyfrowych, stosujemy hierarchiczną metodę opisu. Polega to na tym, że przechodzimy na poziom niskiej abstrakcji jedynie dla niewielkiej liczby składników opisu widocznych na wyższym poziomie abstrakcji. Ułatwia to odbiór opisów przez osoby lub systemy z nich korzystające.

15 Dla opisu systemu na danym poziomie abstrakcji często stosujemy tzw. schematy blokowe, w których przedstawione są elementy systemu rozważane na danym poziomie abstrakcji oraz ich wzajemne powiązania. Schemat blokowy urządzenia (komputera) (ang. block diagram) jest to rysunek składający się ze zbioru figur geometrycznych z nazwami (prostokątów, kwadratów, kół itp.) połączonych liniami. Figury symbolizują podzespoły urządzenia.

16 Linie łączące przedstawiają możliwe powiązania (współdziałanie) między podzespołami, np. przesyłanie informacji, przesyłanie sygnałów sterujących itp. Dobór podzespołów przedstawionych w schemacie blokowym zależy od poziomu szczegółowości z jaką rozpatrywane jest działanie urządzenia a więc poziomu abstrakcji.

17

18 Pojęcie architektura komputerów Definicję pojęcia architektury podał w 1964 G. Amdahl, projektant słynnej serii komputerów IBM System/360, używanych w latach 60-tych. Architektura komputera (ang. computer architecture) jest to charakterystyka komputera, którą musi znać programista, aby napisać poprawny program w języku wewnętrznym dla tego komputera. Niemal taka sam znajomość cech komputera jest potrzebna dla pisania programów w języku asemblera, definicję te więc można zmodyfikować wprowadzając w języku wewnętrznym lub asemblerze.

19 Zgodnie z definicją Amdahla na architekturę komputera składają się: schemat blokowy komputera, opis rejestrów, struktura i opis pamięci, opis bloków funkcjonalnych opis listy rozkazów opis podstawowych mechanizmów sterujących, takich jak układ przerwań, układy synchronizacji, itp.

20 Architektura komputera wyznacza poziom abstrakcji wiedzy o komputerze potrzebny do napisania programu w języku wewnętrznym komputera lub języku asemblera. Ten poziom abstrakcji wyznacza niezbędną strukturę komputera i odpowiadający jej schemat blokowy. Organizacja logiczna komputera jest to realizacja architektury komputera na poziomie układów logicznych, rejestrów, pamięci i bloków funkcjonalnych. Poziom abstrakcji rozpatrywany w organizacji logicznej komputera jest znacznie niższy niż przy rozpatrywaniu architektury komputera, gdyż uwzględnia układy logiczne, które w architekturze komputera nie są uwzględniane.

21 Możliwe są dwa sposoby rozpatrywania architektury: Exo-architektura (architektura zewnętrzna )- opisywane urządzenie traktuje się całościowo jako blok (element składowy schematu blokowego) i podaje się jego opis funkcjonalny. Endo-architektura (architektura wewnętrzna) - opis urządzenia na poziomie abstrakcji niższym (bardziej szczegółowym) niż poziom exoarchitektury, opisuje się schemat blokowy oraz własności i działanie elementów tego schematu.

22 Bardziej ogólna definicja architektury urządzeń, przeznaczona nie tylko dla rozpatrywania komputerów, została podana w 1981 przez S. Dasguptę: "Architektura jest to opis urządzenia (komputera lub jego elementu) na danym poziomie abstrakcji" albo "definicja sprzęgu (interfejsu) między różnymi poziomami abstrakcji opisu urządzenia (komputera lub jego elementu), potrzebnego do zrozumienia działania urządzenia (komputera, elementu) na tym niższym poziomie".

23 Na rysunku poniżej pokazano kolejne poziomy abstrakcji opisu architektury systemu komputerowego i jego elementów. Najwyższy poziom abstrakcji jest to poziom globalnych własności systemu, na którym podajemy jego exo-architekturę. Zawiera ona cechy systemu istotne z punktu widzenia wykorzystania systemu jako elementu składowego większych struktur np. struktur multi-systemowych. Endo-architektura systemu to jego struktura w rozłożeniu na mniejsze bloki np. procesory, bloki pamięci i elementy łączące oraz ich cechy ogólne wraz z ogólnym sposobem współpracy. Elementy systemu widzianego na tym poziomie możemy opisywać podając ich exo-architekturę, użyteczną dla budowy z nich całego systemu lub tez możemy wejść w ich endo-architekturę czyli ich strukturę i opis funkcjonalny w rozbiciu na mniejsze elementy składowe. Aby zrozumieć działanie systemu na kolejnych, malejących poziomach abstrakcji, musimy, zgodnie ze definicją Dasgupty, znać endo-architekturę systemu odpowiadającą dekompozycji na elementy składowe o zadanym niższym poziomie szczegółowości.

24 Architektura globalna (exo-architektura) systemu komputerowego C Architektura szczegółowa (endo-architektura) systemu komputerowego P 1 P 2 P k Sieć łącząca M 1 M 2 M i Procesory Bloki pamięci

25 Architektura globalna (exo-architektura) procesora P Architektura szczegółowa (endo-architektura) procesora Zespół Rejestrów Układ Sterowania Magistrala systemowa Blok Funkcjonalny 1 Blok Funkcjonalny n

26 Architektura ogólna (exo-architektura) bloku funkcjonalnego Blok Funkcjonalny Architektura szczegółowa (endo-architektura) bloku funkcjonalnego

27 Pojęcie "modelu architekturalnego" komputera Model architekturalny komputera określa w jaki sposób będą wykonywane obliczenia w danym komputerze.

28 Na model architekturalny komputera składa się 5 podstawowych elementów: 1. Podstawowe operacje obliczeniowe czyli podstawowe operacje komputera i typy danych określone przez listę instrukcji wewnętrznych. 2. Definicja przestrzeni adresowych dostępnych dla obliczeń (mechanizm dostępu do danych). 3. Sterowanie operacjami obliczeniowymi ( zasady odwzorowania problemu obliczeniowego na podstawowe operacje obliczeniowe i określania kolejności ich wykonania - mechanizm sterowania w programach). 4. Zasady komunikacji między komputerami pracującymi równolegle. 5. Zasady synchronizacji wymiany informacji.

29 Model architekturalny von Neumana: 1. Procesor wykonuje obliczenia zgodnie z programem, składającym się z instrukcji wewnętrznych, zapamiętanych w pamięci operacyjnej. 2. Instrukcje wykonują operacje na danych ulokowanych w pamięci i rejestrach. 3. Pamięć instrukcji wewnętrznych i danych jest wspólna. 4. Procesor ma układ sterowania, który szeregowo pobiera kolejne instrukcje z pamięci i steruje ich wykonaniem w komputerze.

30 Model von Neumana pochodzi z projektu elektronicznej maszyny EDVAC oraz maszyny IAS opublikowanego w 1946 na Uniwersytecie Princeton w USA przez prof. Johna von Neumana. Koncepcje von Neumana okazały się być wcześniej zrealizowane w Iowa State College w USA w 1939 r w maszynie ABC (Atanasov-Berry Computer), a pózniej w maszynie ENIAC na Uniwersytecie Pensylvania, która była pierwszą elektroniczną (lampową) maszyną cyfrową. Pamięć Blok arytmetyczno - logiczny ALU Układy We / Wy Układ sterowania Ogólny schemat blokowy komputera o architekturze von Neumana

31 Harvardzki model architekturalny (ang. Harvard architecture): 1. Procesor wykonuje obliczenia zgodnie z programem, składającym się z instrukcji wewnętrznych, zapamiętanych w pamięci operacyjnej. 2. Instrukcje wykonują operacje na danych ulokowanych w pamięci i rejestrach. 3. Pamięć instrukcji wewnętrznych i danych jest rozdzielna. 4. Układ sterowania pobiera kolejne instrukcje z pamięci równolegle z dostępem do danych dla innych rozkazów.

32 Model pochodzi z maszyny Mark I (przekaźnikowa pamięć danych, pamięć instrukcji na taśmie papierowej), zbudowanej w 1944 na Uniwersytecie Harvard w USA. Pamięć danych Pamięć instrukcji Blok arytmetyczno - logiczny ALU Układ sterowania Układy We / Wy Ogólny schemat blokowy komputera o architekturze harvardzkiej

33 Pojęcie modelu obliczeniowego Model obliczeniowy (ang. computational model) określa w jaki sposób będą programowane i wykonywane obliczenia w programie. Na model obliczeniowy składa się: model architekturalny systemu język programowania.

34 Podstawowe modele obliczeniowe wykorzystywane w informatyce. Model obliczeniowy Model architekturalny Język programowania Model von Neumana (sterowany przepływem sterowania w programie) Model sterowany przepływem danych w programie (ang. data flow driven) Model sterowany żądaniami obliczeń (aplikacyjny, redukcyjny) Model programowania obiektowego Model programowania logicznego Maszyna von Neumana Komputer sterowany przepływem danych (ang. data flow computer) Komputer redukujący zapisy instrukcji do danych Komputer zorientowany obiektowo Komputer zorientowany na programowanie logiczne Imperatywny Graf przepływu danych w programie lub język pojedyńczych przypisań Funkcjonalny czyli aplikacyjny Obiektowy lub zorientowany obiektowo Logiczny Model Turinga Maszyna Turinga Dane na taśmie wraz z tablicą przejść stanów

35 Model obliczeniowy von Neumana (klasyczny) Instrukcje obliczeniowe wykonują operacje na danych zapisanych w pamięci i rejestrach komputera. Kolejność wykonywania instrukcji w programie jest ustalona przez programistę poprzez kolejność ich zapisu w programie oraz instrukcje zmiany sterowania: skok, wywołanie podprogramu, powrót z podprogramu, itp. W modelu architekturalnym von Neumana kolejność wykonywania instrukcji zapisanych w pamięci wyznacza licznik rozkazów (ang. program counter), który zawiera zawsze adres następnej instrukcji w pamięci. O ile aktualny rozkaz nie jest rozkazem zmiany sterowania, to jako następny wykonany jest rozkaz o adresie wziętym z licznika rozkazów komputera. O ile aktualnym rozkazem jest rozkaz zmiany sterowania w programie, to ustawia on nową zawartość licznika rozkazów tj. nowy adres następnej instrukcji do wykonania.

36 Język programowania stanowi w tym modelu język w jakim zapisano program przed wykonaniem a więc język maszynowy. W języku maszynowym programista lub kompilator określa bezpośrednio (explicite) i dokładnie jakie instrukcje (obliczenia) maja się wykonać i dokładnie w jakiej kolejności. Takie języki programowania nazywane są językami imperatywnymi.

37 Przykład Obliczenie: y = (a+c)*(b+5)+a*c) drukuj y dla a=1, b=2, c=3. Budowa instrukcji komputera użytych poniżej w programie realizującym obliczenie y.: operacja adres/wartość argumentu 1 adres/wartość argumentu 2 adres wyniku

38 Program jest zapisany w pamięci komputera w komórkach odpowiadających kolejnym adresom począwszy od a 1. Wykonanie programu rozpoczyna się od instrukcji zapisanej pod adresem a 1. Po wykonaniu każdej instrukcji, komputer wykonuje instrukcję zapisaną pod następnym adresem pamięci. Steruje tym zwiększająca się o jeden zawartość licznika rozkazów.

39 Ilustracja modelu obliczeniowego von Neumana Licznik rozkazów Instrukcje programu Dane/wyniki 1 :a 2 :b a 1 3 :c a : 1 a +1 : 1 a +2 : 1 a +3 : 1 a +4 : 1 a +5 : 1 + a c k1 + b 5 k2 * a c k3 * k1 k2 k4 + k3 k4 k5 drukuj k5 - - :k1 :k2 :k3 :k4 :k5

40 Model obliczeniowy sterowany przepływem danych W modelu obliczeniowym sterowanym przepływem danych kolejność wykonania instrukcji programu nie jest wyznaczana przez programistę, lecz przez gotowość wszystkich danych wejściowych instrukcji. Wszystkie instrukcje gotowe do wykonania, w sensie dostępności ich danych wejściowych, powinny wykonać się równolegle. Po wykonaniu tych instrukcji, wytworzone przez nich wyniki częściowe są rozprowadzane do wszystkich instrukcji programu, które z nich korzystają. W ten sposób przepływ obliczonych wyników (danych dla innych instrukcji) zapewnia gotowość instrukcji i wyznacza kolejność ich wykonania w programie.

41 Model architekturalny komputera sterowanego przepływem danych zakłada, że dla każdej instrukcji gotowej do wykonania będzie dostępny odrębny procesor. Model ten zapewnia równoległy przepływ danych między tymi procesorami. W praktyce takie założenia mogą być spełnione tylko dla ograniczonej liczby instrukcji w programie. W związku z tym, w praktyce, model architekturalny sterowany przepływem danych jest realizowany w oparciu o ograniczoną liczbę procesorów typu von Neumana. W systemie takim istnieje blok przeglądania instrukcji programu pod względem ich gotowości do wykonania. Spośród instrukcji gotowych, kieruje się do równoległego wykonania tylko liczbę odpowiadającą faktycznej liczbie dostępnych procesorów. Po ich wykonaniu, rozsyła się wyniki między instrukcjami. Następnie, wyznacza się instrukcje gotowe do wykonania i znów kieruje się do wykonania ich liczbę ograniczoną faktyczną dostępnością procesorów wykonawczych.

42 Językiem programowania w modelu obliczeniowym sterowanym przepływem danych jest graf instrukcji programu połączonych krawędziami, które są określone przez wskaźniki rozpływu wyników obliczeń między instrukcjami. Inną formą języka programowania w tym modelu są tzw. języki pojedyńczych przypisań (ang. single assignment languages), gdzie wykorzystuje się zmienne, reprezentujące dane i wyniki obliczeń, którym nadaje się wartości tylko raz w trakcie wykonywania programu. Obydwie formy języka programowania określają jakie obliczenia mają być wykonane, nie określając dokładnie ich kolejności. Takie języki programowania nazywamy językami deklaratywnymi.

43 Przykład Obliczenie: y := (a+c)*(b+5)+a*c drukuj y dla a=1, b=2, c=3. Budowa instrukcji komputera: operacja pole argumentu 1 pole argumentu 2 adres przesłania wyniku

44 Ilustracja modelu obliczeniowego sterowanego przepływem danych Dane wejściowe: Instrukcje: a: 1 b: 2 c: 3 i : + P P i (1) 1 4 i : + P 5 i (2) 2 4 i : * P P i (2) 3 5 i 4 : * P P i 5 (1) i 5 : * P P i 6 (1) i 6 : drukuj P - -

45 W powyższym przykładzie, a, b, c, symbolizują adresy komórek pamięci komputera, w których przechowuje się wartości danych wejściowych dla zmiennych a, b, c, użytych w formule obliczania wartości y. i 1,...,i 6 są to adresy pod którymi zapisano w pamięci komputera instrukcje programu. Wewnątrz instrukcji znajdują się pola do wpisania danych początkowych dla programu lub wyników wykonania innych instrukcji. Są one oznaczone literą P. Polom tym są przypisane identyfikatory1 i 2. Na początku następuje wpisanie danych wejściowych do wszystkich instrukcji, które z nich korzystają. Wykonują się równolegle wszystkie instrukcje, które mają gotowe (wpisane) wszystkie dane wejściowe. Po wykonaniu każdej instrukcji, jej wynik jest rozsyłany do wszystkich instrukcji wskazanych w prawym skrajnym polu instrukcji podany jest adres instrukcji w pamięci oraz numer pola (w nawiasie). Obliczenie zostaje zakończone po wykonaniu instrukcji spod adresu i 6.

46 Model obliczeniowy sterowany żądaniami obliczeń Jest to model obliczeniowy, w którym kolejność wykonywania obliczeń w programie nie jest określona przez programistę i nie zależy od ich porządku w programie. W modelu tym instrukcja (pakiet obliczeniowy) jest aktywowana do wykonania, o ile jej wyniki są potrzebne dla wykonania innej instrukcji. Instrukcja zostaje wykonana o ile ma dostarczone wszystkie potrzebne argumenty w postaci liczbowej. Wykonanie instrukcji zamienia ją na wartość wytworzonego przez nią wyniku (redukuje do wyniku), który staje się wtedy dostępny dla innych instrukcji. Stąd taki model obliczeniowy nazywamy również modelem redukcyjnym (ang. graph reduction model).

47 Inna odmiana modelu sterowanego żądaniami obliczeń, powoduje przepisywanie potrzebnych formuł obliczeniowych z aktywowanych pakietów instrukcji do pakietów instrukcji aktywujących, dotąd aż w rozszerzonym aktywującym pakiecie zawarte będą wszystkie niezbędne formuły do obliczenia żądanej wartości. Przepisywanie formuł jest równoważne przykładaniu (ang. application) formuł (funkcji) z pakietów aktywujących do formuł (funkcji) z pakietów aktywowanych. Dlatego taki model obliczeniowy nazywamy również modelem aplikacyjnym (ang. applicative model) lub modelem funkcyjnym (ang. functional model). Do zapisu programu używamy w tym przypadku deklaratywnych języków programowania nazywanych językami funkcyjnymi (ang. functional languages).

48 Przykład Obliczenie: y := (a+c)*(b+5)+a*c drukuj y dla a=1, b=2, c=3. Budowa pakietu instrukcji komputera: operacja adres pakietu dostarczającego argument 1 adres pakietu dostarczającego argument 2 pole wyniku

49 Ilustracja modelu obliczeniowego sterowanego przepływem żądań obliczeń Dane wejściowe: a: 1 b: 2 c: 3 Instrukcje: i 1 : + P i 2 : + 5 P i 3 : * P i 4 : * P i 5 : * P i 6 : drukuj - P

50 W powyższym przykładzie, a, b, c, symbolizują adresy komórek pamięci komputera, w których przechowuje się wartości danych wejściowych dla zmiennych a, b, c, użytych w formule obliczania wartości y. i 1,...,i 6 są to adresy pod którymi zapisano w pamięci komputera pakiety instrukcji programu. Wewnątrz każdej instrukcji znajdują się pola wskazujące instrukcje, które mają wytworzyć argumenty dla tej instrukcji. Istnieje też pole do wpisania wyniku wykonania tej instrukcji, oznaczone literą P. Na początku następuje próba wykonania aktywacja instrukcji spod adresu i 6. Instrukcja, która jest aktywowana może się wykonać, jeśli są gotowe wszystkie potrzebne jej dane wejściowe. O ile dane te nie są gotowe, następuje aktywacja wyliczających je instrukcji. Instrukcja spod adresu i 6 aktywuje instrukcję spod i 5. Ta z kolei aktywuje instrukcje spod i 3, i 4., itd. Instrukcje spod i 1, i 2, i 3 pobierają dane wejściowe i wykonują się jako pierwsze, zapełniając swoje pola P. Ich wyniki w polach P są dostarczone do instrukcji, które ich potrzebują. Obliczenie zostaje zakończone po wykonaniu instrukcji spod adresu i 6.

51 Model obliczeniowy Turinga. Ten model obliczeniowy został zaproponowany w 1937 r przez A. Turinga z Uniwersytetu Cambridge w Anglii jako pierwszy uniwersalny model obliczeniowy. Służył dla porównywania własności różnych algorytmów i programów pochodzących z różnych komputerów, metodą przedstawienia ich w tym modelu obliczeniowym. Jest używany do dzisiaj w tym celu przez teoretyków informatyki. Model Turinga obejmuje model architekturalny maszynę Turinga oraz odpowiedni dla tego modelu specjalny język programowania.

52 Następujące elementy składają się na model architekturalny Turinga: 1. Skończony alfabet symboli: a, b, c,, m. 2. Skończony zbiór stanów: stan początkowy S0, stan S1, stan S2,, stan końcowy Sk. 3. Nieskończona taśma z polami na zapis symboli z alfabetu. 4. Głowica czytająco/pisząca na taśmie, która może przesuwać się o jedno pole w zadanym kierunku, 5. Diagram przejść między stanami tablica przejść, określająca następny stan, zapis symbolu pod głowicą i kierunek następnego ruchu.

53 6. Działanie mechanizmu sterowania maszyna w stanie i czyta znak z pod głowicą, dla stanu i oraz znaku z maszyna określa z tabeli przejść: stan, do którego ma przejść, znak, który ma być wpisany w polu pod głowicą, kierunek ruchu głowicy o 1 miejsce, głowica wpisuje nowy znak i przesuwa się w zadanym kierunku. 7. Instrukcje to znak, stan, kierunek. Język programowania w tym modelu obliczeniowym stanowi alfabet symboli i tablica przejść stanów maszyny.

54 Schemat maszyny Turinga

55 Przykład Dodawanie liczb całkowitych (model obliczeniowy takiego dodawania) w maszynie Turinga: Notacja zapisu składników i wyniku: jednorodne ciągi znaków 1 w liczbie równej wartości składnika lub wyniku, zapisane w polach odseparowanych znakami X. Na taśmie zapisane są dane sześcio-pozycyjne: 4 oraz 5 XX001111X111110XX Program startuje z lewego X przesuwa głowicę w prawo aż do pierwszego X po ciągu zer i jedynek, zastępuje to X przez 1, następnie przesuwa się w prawo do ostatniej jedynki, zastępuje tę jedynkę przez O. Taśma po wykonaniu operacji zawiera kod liczby 9: XX XX.

56

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

Podstawy Informatyki Systemy sterowane przepływem argumentów

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

Bardziej szczegółowo

LEKCJA TEMAT: Zasada działania komputera.

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

Bardziej szczegółowo

Wykład I. Podstawowe pojęcia. Studia Podyplomowe INFORMATYKA Architektura komputerów

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,

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

Algorytm. Krótka historia algorytmów

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

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

Budowa komputera Komputer computer computare

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

Bardziej szczegółowo

Przykładowe pytania DSP 1

Przykładowe pytania DSP 1 Przykładowe pytania SP Przykładowe pytania Systemy liczbowe. Przedstawić liczby; -, - w kodzie binarnym i hexadecymalnym uzupełnionym do dwóch (liczba 6 bitowa).. odać dwie liczby binarne w kodzie U +..

Bardziej szczegółowo

Technologie informacyjne - wykład 12 -

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

Bardziej szczegółowo

PROGRAMOWALNE STEROWNIKI LOGICZNE

PROGRAMOWALNE STEROWNIKI LOGICZNE PROGRAMOWALNE STEROWNIKI LOGICZNE I. Wprowadzenie Klasyczna synteza kombinacyjnych i sekwencyjnych układów sterowania stosowana do automatyzacji dyskretnych procesów produkcyjnych polega na zaprojektowaniu

Bardziej szczegółowo

Budowa i zasada działania komputera. dr Artur Bartoszewski

Budowa i zasada działania komputera. dr Artur Bartoszewski Budowa i zasada działania komputera 1 dr Artur Bartoszewski Jednostka arytmetyczno-logiczna 2 Pojęcie systemu mikroprocesorowego Układ cyfrowy: Układy cyfrowe służą do przetwarzania informacji. Do układu

Bardziej szczegółowo

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

Algorytm. Krótka historia algorytmów

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

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

Algorytm. Słowo algorytm pochodzi od perskiego matematyka Mohammed ibn Musa al-kowarizimi (Algorismus - łacina) z IX w. ne.

Algorytm. Słowo algorytm pochodzi od perskiego matematyka Mohammed ibn Musa al-kowarizimi (Algorismus - łacina) z IX w. ne. 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

Bardziej szczegółowo

Mikroprocesor Operacje wejścia / wyjścia

Mikroprocesor Operacje wejścia / wyjścia Definicja Mikroprocesor Operacje wejścia / wyjścia Opracował: Andrzej Nowak Bibliografia: Urządzenia techniki komputerowej, K. Wojtuszkiewicz Operacjami wejścia/wyjścia nazywamy całokształt działań potrzebnych

Bardziej szczegółowo

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

Wprowadzenie do informatyki i użytkowania komputerów. Kodowanie informacji System komputerowy 1 Wprowadzenie do informatyki i użytkowania komputerów Kodowanie informacji System komputerowy Kodowanie informacji 2 Co to jest? bit, bajt, kod ASCII. Jak działa system komputerowy? Co to jest? pamięć

Bardziej szczegółowo

Architektura systemów komputerowych

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

Bardziej szczegółowo

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy ALGORYTMY 1. Podstawowe definicje Algorytm (definicja nieformalna) to sposób postępowania (przepis) umożliwiający rozwiązanie określonego zadania (klasy zadań), podany w postaci skończonego zestawu czynności

Bardziej szczegółowo

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

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,

Bardziej szczegółowo

Wykład z Technologii Informacyjnych. Piotr Mika

Wykład z Technologii Informacyjnych. Piotr Mika Wykład z Technologii Informacyjnych Piotr Mika Uniwersalna forma graficznego zapisu algorytmów Schemat blokowy zbiór bloków, powiązanych ze sobą liniami zorientowanymi. Jest to rodzaj grafu, którego węzły

Bardziej szczegółowo

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

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

Bardziej szczegółowo

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

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

Bardziej szczegółowo

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1

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:

Bardziej szczegółowo

Sterowniki Programowalne (SP)

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

Bardziej szczegółowo

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

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

Bardziej szczegółowo

Podstawy Projektowania Przyrządów Wirtualnych. Wykład 9. Wprowadzenie do standardu magistrali VMEbus. mgr inż. Paweł Kogut

Podstawy Projektowania Przyrządów Wirtualnych. Wykład 9. Wprowadzenie do standardu magistrali VMEbus. mgr inż. Paweł Kogut Podstawy Projektowania Przyrządów Wirtualnych Wykład 9 Wprowadzenie do standardu magistrali VMEbus mgr inż. Paweł Kogut VMEbus VMEbus (Versa Module Eurocard bus) jest to standard magistrali komputerowej

Bardziej szczegółowo

Budowa Mikrokomputera

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,

Bardziej szczegółowo

Architektura komputerów Wykład 2

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

Bardziej szczegółowo

PAMIĘĆ RAM. Rysunek 1. Blokowy schemat pamięci

PAMIĘĆ RAM. Rysunek 1. Blokowy schemat pamięci PAMIĘĆ RAM Pamięć służy do przechowania bitów. Do pamięci musi istnieć możliwość wpisania i odczytania danych. Bity, które są przechowywane pamięci pogrupowane są na komórki, z których każda przechowuje

Bardziej szczegółowo

Definicje. Algorytm to:

Definicje. Algorytm to: Algorytmy Definicje Algorytm to: skończony ciąg operacji na obiektach, ze ściśle ustalonym porządkiem wykonania, dający możliwość realizacji zadania określonej klasy pewien ciąg czynności, który prowadzi

Bardziej szczegółowo

Programowanie sterowników PLC wprowadzenie

Programowanie sterowników PLC wprowadzenie Programowanie sterowników PLC wprowadzenie Zakład Teorii Maszyn i Automatyki Katedra Podstaw Techniki Felin p.110 http://ztmia.ar.lublin.pl/sips waldemar.samociuk@up.lublin,pl Sterowniki programowalne

Bardziej szczegółowo

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy ALGORYTMY 1. Podstawowe definicje Algorytm (definicja nieformalna) to sposób postępowania (przepis) umożliwiający rozwiązanie określonego zadania (klasy zadań), podany w postaci skończonego zestawu czynności

Bardziej szczegółowo

Technika mikroprocesorowa

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

Bardziej szczegółowo

Algorytmy i schematy blokowe

Algorytmy i schematy blokowe Algorytmy i schematy blokowe Algorytm dokładny przepis podający sposób rozwiązania określonego zadania w skończonej liczbie kroków; zbiór poleceń odnoszących się do pewnych obiektów, ze wskazaniem porządku,

Bardziej szczegółowo

JĘZYKI PROGRAMOWANIA STEROWNIKÓW

JĘZYKI PROGRAMOWANIA STEROWNIKÓW JĘZYKI PROGRAMOWANIA STEROWNIKÓW dr inż. Wiesław Madej Wstęp Języki programowania sterowników 15 h wykład 15 h dwiczenia Konsultacje: - pokój 325A - środa 11 14 - piątek 11-14 Literatura Tadeusz Legierski,

Bardziej szczegółowo

Architektura komputera

Architektura komputera Architektura komputera Architektura systemu komputerowego O tym w jaki sposób komputer wykonuje program i uzyskuje dostęp do pamięci i danych, decyduje architektura systemu komputerowego. Określa ona sposób

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

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

LEKCJA TEMAT: Współczesne procesory.

LEKCJA TEMAT: Współczesne procesory. LEKCJA TEMAT: Współczesne procesory. 1. Wymagania dla ucznia: zna pojęcia: procesor, CPU, ALU, potrafi podać typowe rozkazy; potrafi omówić uproszczony i rozszerzony schemat mikroprocesora; potraf omówić

Bardziej szczegółowo

4. Procesy pojęcia podstawowe

4. Procesy pojęcia podstawowe 4. Procesy pojęcia podstawowe 4.1 Czym jest proces? Proces jest czymś innym niż program. Program jest zapisem algorytmu wraz ze strukturami danych na których algorytm ten operuje. Algorytm zapisany bywa

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

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

UKŁADY MIKROPROGRAMOWALNE

UKŁADY MIKROPROGRAMOWALNE UKŁAD MIKROPROGRAMOWALNE Układy sterujące mogą pracować samodzielnie, jednakże w przypadku bardziej złożonych układów (zwanych zespołami funkcjonalnymi) układ sterujący jest tylko jednym z układów drugim

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Architektura systemów komputerowych. dr Artur Bartoszewski

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

Bardziej szczegółowo

16. Taksonomia Flynn'a.

16. Taksonomia Flynn'a. 16. Taksonomia Flynn'a. Taksonomia systemów komputerowych według Flynna jest klasyfikacją architektur komputerowych, zaproponowaną w latach sześćdziesiątych XX wieku przez Michaela Flynna, opierająca się

Bardziej szczegółowo

Programowanie sterowników przemysłowych / Jerzy Kasprzyk. wyd. 2 1 dodr. (PWN). Warszawa, Spis treści

Programowanie sterowników przemysłowych / Jerzy Kasprzyk. wyd. 2 1 dodr. (PWN). Warszawa, Spis treści Programowanie sterowników przemysłowych / Jerzy Kasprzyk. wyd. 2 1 dodr. (PWN). Warszawa, 2017 Spis treści Przedmowa 11 ROZDZIAŁ 1 Wstęp 13 1.1. Rys historyczny 14 1.2. Norma IEC 61131 19 1.2.1. Cele i

Bardziej szczegółowo

Algorytm. a programowanie -

Algorytm. a programowanie - Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik

Bardziej szczegółowo

Podstawy Informatyki Maszyna Turinga

Podstawy Informatyki Maszyna Turinga Podstawy Informatyki alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu 1 Czym jest Programowanie maszyny Turinga Teza Churcha-Turinga 2 3 4 Czym jest Programowanie maszyny Turinga Teza Churcha-Turinga,

Bardziej szczegółowo

Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych

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

Bardziej szczegółowo

UTK Można stwierdzić, że wszystkie działania i operacje zachodzące w systemie są sterowane bądź inicjowane przez mikroprocesor.

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

Bardziej szczegółowo

11. Blok ten jest blokiem: a. decyzyjnym b. końcowym c. operacyjnym

11. Blok ten jest blokiem: a. decyzyjnym b. końcowym c. operacyjnym 1. Instrukcja warunkowa a. słuŝy do wprowadzania danych oraz wprowadzania wyników b. to instrukcja decyzyjna c. to sposób przedstawienia algorytmu 2. Instrukcja, która opisuje wykonanie róŝnych czynności

Bardziej szczegółowo

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

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

Bardziej szczegółowo

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

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

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

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie

Bardziej szczegółowo

Architektura komputerów. Układy wejścia-wyjścia komputera

Architektura komputerów. Układy wejścia-wyjścia komputera Architektura komputerów Układy wejścia-wyjścia komputera Wspópraca komputera z urządzeniami zewnętrznymi Integracja urządzeń w systemach: sprzętowa - interfejs programowa - protokół sterujący Interfejs

Bardziej szczegółowo

Opracował: Jan Front

Opracował: Jan Front Opracował: Jan Front Sterownik PLC PLC (Programowalny Sterownik Logiczny) (ang. Programmable Logic Controller) mikroprocesorowe urządzenie sterujące układami automatyki. PLC wykonuje w sposób cykliczny

Bardziej szczegółowo

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX) (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX) W informatyce występują ściśle obok siebie dwa pojęcia: sprzęt (ang. hardware) i oprogramowanie

Bardziej szczegółowo

Sprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer

Sprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer Sprzęt komputerowy 2 Autor prezentacji: 1 prof. dr hab. Maria Hilczer Budowa komputera Magistrala Procesor Pamięć Układy I/O 2 Procesor to CPU (Central Processing Unit) centralny układ elektroniczny realizujący

Bardziej szczegółowo

Układy arytmetyczne. Joanna Ledzińska III rok EiT AGH 2011

Układy arytmetyczne. Joanna Ledzińska III rok EiT AGH 2011 Układy arytmetyczne Joanna Ledzińska III rok EiT AGH 2011 Plan prezentacji Metody zapisu liczb ze znakiem Układy arytmetyczne: Układy dodające Półsumator Pełny sumator Półsubtraktor Pełny subtraktor Układy

Bardziej szczegółowo

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1 Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja

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

Paradygmaty programowania

Paradygmaty programowania Paradygmaty programowania Jacek Michałowski, Piotr Latanowicz 15 kwietnia 2014 Jacek Michałowski, Piotr Latanowicz () Paradygmaty programowania 15 kwietnia 2014 1 / 12 Zadanie 1 Zadanie 1 Rachunek predykatów

Bardziej szczegółowo

Kurs Zaawansowany S7. Spis treści. Dzień 1

Kurs Zaawansowany S7. Spis treści. Dzień 1 Spis treści Dzień 1 I Konfiguracja sprzętowa i parametryzacja stacji SIMATIC S7 (wersja 1211) I-3 Dlaczego powinna zostać stworzona konfiguracja sprzętowa? I-4 Zadanie Konfiguracja sprzętowa I-5 Konfiguracja

Bardziej szczegółowo

ALGORYTMY I PROGRAMY

ALGORYTMY I PROGRAMY ALGORYTMY I PROGRAMY Program to ciąg instrukcji, zapisanych w języku zrozumiałym dla komputera. Ten ciąg instrukcji realizuje jakiś algorytm. Algorytm jest opisem krok po kroku jak rozwiązać problem, czy

Bardziej szczegółowo

Wstęp do informatyki- wykład 2

Wstęp do informatyki- wykład 2 MATEMATYKA 1 Wstęp do informatyki- wykład 2 Systemy liczbowe Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania. Wydanie VI, Helion, 2012 www.cplusplus.com Jerzy

Bardziej szczegółowo

Programowanie współbieżne Wykład 2. Iwona Kochańska

Programowanie współbieżne Wykład 2. Iwona Kochańska Programowanie współbieżne Wykład 2 Iwona Kochańska Miary skalowalności algorytmu równoległego Przyspieszenie Stały rozmiar danych N T(1) - czas obliczeń dla najlepszego algorytmu sekwencyjnego T(p) - czas

Bardziej szczegółowo

Układ sterowania, magistrale i organizacja pamięci. Dariusz Chaberski

Układ sterowania, magistrale i organizacja pamięci. Dariusz Chaberski Układ sterowania, magistrale i organizacja pamięci Dariusz Chaberski Jednostka centralna szyna sygnałow sterowania sygnały sterujące układ sterowania sygnały stanu wewnętrzna szyna danych układ wykonawczy

Bardziej szczegółowo

Tranzystor JFET i MOSFET zas. działania

Tranzystor JFET i MOSFET zas. działania Tranzystor JFET i MOSFET zas. działania brak kanału v GS =v t (cutoff ) kanał otwarty brak kanału kanał otwarty kanał zamknięty w.2, p. kanał zamknięty Co było na ostatnim wykładzie? Układy cyfrowe Najczęściej

Bardziej szczegółowo

UTK ARCHITEKTURA PROCESORÓW 80386/ Budowa procesora Struktura wewnętrzna logiczna procesora 80386

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ć

Bardziej szczegółowo

Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów

Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów Adresowanie obiektów Bit - stan pojedynczego sygnału - wejście lub wyjście dyskretne, bit pamięci Bajt - 8 bitów - wartość od -128 do +127 Słowo - 16 bitów - wartość od -32768 do 32767 -wejście lub wyjście

Bardziej szczegółowo

4. Procesy pojęcia podstawowe

4. Procesy pojęcia podstawowe 4. Procesy pojęcia podstawowe 4.1 Czym jest proces? Proces jest czymś innym niż program. Program jest zapisem algorytmu wraz ze strukturami danych na których algorytm ten operuje. Algorytm zapisany bywa

Bardziej szczegółowo

Algorytmy dla maszyny PRAM

Algorytmy dla maszyny PRAM Instytut Informatyki 21 listopada 2015 PRAM Podstawowym modelem służącym do badań algorytmów równoległych jest maszyna typu PRAM. Jej głównymi składnikami są globalna pamięć oraz zbiór procesorów. Do rozważań

Bardziej szczegółowo

START. Wprowadź (v, t) S:=v*t. Wyprowadź (S) KONIEC

START. Wprowadź (v, t) S:=v*t. Wyprowadź (S) KONIEC GRUPA I Co to jest algorytm, a czym jest program komputerowy? Algorytm: uporządkowany i uściślony sposób rozwiązywania problemu, zawierający szczegółowy opis wykonywanych czynności. Program komputerowy:

Bardziej szczegółowo

Literatura. adów w cyfrowych. Projektowanie układ. Technika cyfrowa. Technika cyfrowa. Bramki logiczne i przerzutniki.

Literatura. adów w cyfrowych. Projektowanie układ. Technika cyfrowa. Technika cyfrowa. Bramki logiczne i przerzutniki. Literatura 1. D. Gajski, Principles of Digital Design, Prentice- Hall, 1997 2. C. Zieliński, Podstawy projektowania układów cyfrowych, PWN, Warszawa 2003 3. G. de Micheli, Synteza i optymalizacja układów

Bardziej szczegółowo

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

Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy Wstęp do informatyki Architektura komputera Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki System komputerowy systemowa (System Bus) Pamięć operacyjna ROM,

Bardziej szczegółowo

Wstęp do informatyki- wykład 1

Wstęp do informatyki- wykład 1 MATEMATYKA 1 Wstęp do informatyki- wykład 1 Systemy liczbowe Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania. Wydanie VI, Helion, 2012 www.cplusplus.com Jerzy

Bardziej szczegółowo

Sterowniki Programowalne (SP) Wykład 11

Sterowniki Programowalne (SP) Wykład 11 Sterowniki Programowalne (SP) Wykład 11 Podstawy metody sekwencyjnych schematów funkcjonalnych (SFC) SP 2016 WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI KATEDRA INŻYNIERII SYSTEMÓW STEROWANIA Kierunek: Automatyka

Bardziej szczegółowo

Historia modeli programowania

Historia modeli programowania Języki Programowania na Platformie.NET http://kaims.eti.pg.edu.pl/ goluch/ goluch@eti.pg.edu.pl Maszyny z wbudowanym oprogramowaniem Maszyny z wbudowanym oprogramowaniem automatyczne rozwiązywanie problemu

Bardziej szczegółowo

Programowanie komputerów

Programowanie komputerów Programowanie komputerów Wykład 1-2. Podstawowe pojęcia Plan wykładu Omówienie programu wykładów, laboratoriów oraz egzaminu Etapy rozwiązywania problemów dr Helena Dudycz Katedra Technologii Informacyjnych

Bardziej szczegółowo

Algorytmy, reprezentacja algorytmów.

Algorytmy, reprezentacja algorytmów. Algorytmy, reprezentacja algorytmów. Wprowadzenie do algorytmów Najważniejszym pojęciem algorytmiki jest algorytm (ang. algorithm). Nazwa pochodzi od nazwiska perskiego astronoma, astrologa, matematyka

Bardziej szczegółowo

Lista tematów na kolokwium z wykładu z Techniki Cyfrowej w roku ak. 2013/2014

Lista tematów na kolokwium z wykładu z Techniki Cyfrowej w roku ak. 2013/2014 Lista tematów na kolokwium z wykładu z Techniki Cyfrowej w roku ak. 2013/2014 Temat 1. Algebra Boole a i bramki 1). Podać przykład dowolnego prawa lub tożsamości, które jest spełnione w algebrze Boole

Bardziej szczegółowo

Sprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer

Sprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer Sprzęt komputerowy 2 Autor prezentacji: 1 prof. dr hab. Maria Hilczer Budowa komputera Magistrala Procesor Pamięć Układy I/O 2 Procesor to CPU (Central Processing Unit) centralny układ elektroniczny realizujący

Bardziej szczegółowo

wagi cyfry 7 5 8 2 pozycje 3 2 1 0

wagi cyfry 7 5 8 2 pozycje 3 2 1 0 Wartość liczby pozycyjnej System dziesiętny W rozdziale opiszemy pozycyjne systemy liczbowe. Wiedza ta znakomicie ułatwi nam zrozumienie sposobu przechowywania liczb w pamięci komputerów. Na pierwszy ogień

Bardziej szczegółowo

Podział układów cyfrowych. rkijanka

Podział układów cyfrowych. rkijanka Podział układów cyfrowych rkijanka W zależności od przyjętego kryterium możemy wyróżnić kilka sposobów podziału układów cyfrowych. Poniżej podam dwa z nich związane ze sposobem funkcjonowania układów cyfrowych

Bardziej szczegółowo

Rok akademicki: 2013/2014 Kod: EEL s Punkty ECTS: 2. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne

Rok akademicki: 2013/2014 Kod: EEL s Punkty ECTS: 2. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne Nazwa modułu: Technika mikroprocesorowa Rok akademicki: 2013/2014 Kod: EEL-1-616-s Punkty ECTS: 2 Wydział: Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej Kierunek: Elektrotechnika Specjalność:

Bardziej szczegółowo

Języki programowania zasady ich tworzenia

Języki programowania zasady ich tworzenia Strona 1 z 18 Języki programowania zasady ich tworzenia Definicja 5 Językami formalnymi nazywamy każdy system, w którym stosując dobrze określone reguły należące do ustalonego zbioru, możemy uzyskać wszystkie

Bardziej szczegółowo

EGZAMIN MATURALNY Z INFORMATYKI MAJ 2013 POZIOM PODSTAWOWY CZĘŚĆ I WYBRANE: Czas pracy: 75 minut. Liczba punktów do uzyskania: 20 WPISUJE ZDAJĄCY

EGZAMIN MATURALNY Z INFORMATYKI MAJ 2013 POZIOM PODSTAWOWY CZĘŚĆ I WYBRANE: Czas pracy: 75 minut. Liczba punktów do uzyskania: 20 WPISUJE ZDAJĄCY Centralna Komisja Egzaminacyjna Arkusz zawiera informacje prawnie chronione do momentu rozpoczęcia egzaminu. Układ graficzny CKE 2011 KOD WPISUJE ZDAJĄCY PESEL Miejsce na naklejkę z kodem EGZAMIN MATURALNY

Bardziej szczegółowo

Zapisywanie algorytmów w języku programowania

Zapisywanie algorytmów w języku programowania Temat C5 Zapisywanie algorytmów w języku programowania Cele edukacyjne Zrozumienie, na czym polega programowanie. Poznanie sposobu zapisu algorytmu w postaci programu komputerowego. Zrozumienie, na czym

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

Procesory. Schemat budowy procesora

Procesory. Schemat budowy procesora Procesory Procesor jednostka centralna (CPU Central Processing Unit) to sekwencyjne urządzenie cyfrowe którego zadaniem jest wykonywanie rozkazów i sterowanie pracą wszystkich pozostałych bloków systemu

Bardziej szczegółowo

Programowanie Niskopoziomowe

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

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Tydzień 11 Wejście - wyjście Urządzenia zewnętrzne Wyjściowe monitor drukarka Wejściowe klawiatura, mysz dyski, skanery Komunikacyjne karta sieciowa, modem Urządzenie zewnętrzne

Bardziej szczegółowo

Algorytm. Słowo algorytm pochodzi od perskiego matematyka Mohammed ibn Musa al-kowarizimi (Algorismus - łacina) z IX w. ne.

Algorytm. Słowo algorytm pochodzi od perskiego matematyka Mohammed ibn Musa al-kowarizimi (Algorismus - łacina) z IX w. ne. Algorytm znaczenie informatyczne 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

Bardziej szczegółowo

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

Wstęp do informatyki. System komputerowy. Magistrala systemowa. Architektura komputera. Cezary Bolek Wstęp do informatyki Architektura komputera Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki System komputerowy systemowa (System Bus) Pamięć operacyjna ROM,

Bardziej szczegółowo

POLITECHNIKA OPOLSKA

POLITECHNIKA OPOLSKA POLITECHNIKA OPOLSKA WYDZIAŁ MECHANICZNY Katedra Technologii Maszyn i Automatyzacji Produkcji Laboratorium Podstaw Inżynierii Jakości Ćwiczenie nr 2 Temat: Schemat blokowy (algorytm) procesu selekcji wymiarowej

Bardziej szczegółowo