INFORMATYKA dla kierunku MECHATRONIKA Część 1 Wstęp do wykładu Historia i Współczesność komputerów Podstawy budowy komputerów PC dr hab. inż. Marek Galewski Politechnika Gdańska Wydział Mechaniczny Katedra Mechaniki i Mechatroniki 1
Sprawy organizacyjne Prowadzący: dr hab. inż. Marek GALEWSKI Wydział Mechaniczny Katedra Mechaniki i Mechatroniki pokój 103 WM margalew@pg.gda.pl Konsultacje: Poniedziałek: 9 15-10 00 Wtorek: 13 15-14 00 Laboratorium: Od połowy semestru (13-IV~25-IV zależnie od grupy) MATLAB Zaliczenie: kolokwium Możliwość zdobycia dodatkowych punktów za zadania dla chętnych Prowadzący: dr hab. inż. Marek GALEWSKI mgr inż. Barbara KOWALSKA mgr inż. Adam DĄBROWSKI Zaliczenie przedmiotu: EGZAMIN Ocena końcowa = pkt. z egzaminu (70%) + pkt. z laboratorium (30%) + pkt. dodatkowe Materiały z wykładu: http://sites.google.com/a/mech.pg.gda.pl/marek-galewski/ 2
Sprawy organizacyjne 3 Laboratoria II połowa semestru (od 13-IV~25-IV zależnie od grupy) wstępny podział grup Gr L1 (~60% grupy dziekańskiej 1) Czwartek 11 5-13 00 M. Galewski Gr L2 (~40% grupy dziekańskiej 1 + ~20% grupy dziekańskiej 2) Piątek 8 15-10 00 B. Kowalska Gr L3 (~40% grupy dziekańskiej 2) Piątek 10 15-12 00 B. Kowalska Gr L4 (~40% grupy dziekańskiej 2) Wtorek 9 15-11 00 B. Kowalska Gr L5(~60 grupy dziekańskiej 3) Środa 11 15-13 00 A. Dąbrowski Gr L6(~60 grupy dziekańskiej 3) Środa 9 15-11 00 A. Dąbrowski Środa 13 15-15 00 M. Galewski Gr 7L (~1/2 grupy dziekańskiej 4) Wtorek 15 15-17 00 T. Michalski Gr 8L (~1/2 grupy dziekańskiej 4) Środa 15 15-17 00 M. Galewski
Semestr II Program zajęć Architektura systemów komputerowych Komputerowe wspomaganie w mechatronice (Matlab) Podstawowe elementy i zasady programowania Podstawy inżynierii oprogramowania Sieci komputerowe i przemysłowe Semestr IV Programowanie (podstawy C/C++) Modelowanie (podstawy UML) Bazy danych (podstawy SQL) Sztuczna inteligencja Semestr V Podstawy szybkiego prototypowania Podstawy przetwarzania sygnałów Podstawy przetwarzania obrazów 4
Program zajęć semestr 2 Historia i współczesność komputerów Budowa i działanie komputera (hardware) Arytmetyka komputera Architektura komputerów i ich podzespołów Współpraca podzespołów komputera / Interfejsy i magistrale / Transmisja danych Oprogramowanie (software) BIOS i Systemy operacyjne Przegląd oprogramowania inżynierskiego godz. 1½ 1 4 4 1 1 5
Program zajęć semestr 2 Elementy Programowania i Inżynierii Oprogramowania Środowisko MATLAB Wprowadzenie do obliczeń inżynierskich w środowisku MATLAB MATLAB uzupełnienie wiadomości Programowanie Języki programowania Podstawowe elementy programowania Podstawy algorytmiki Cykl życia programu Narzędzia programistyczne Sieci komputerowe i przemysłowe Infrastruktura sieci i protokoły sieciowe Usługi sieciowe Zagrożenia w systemach informatycznych i ochrona danych godz. 2 1 ½ 2 1½ 2 ½ 4 1 3 6
Literatura Metzger P.: Anatomia PC, Helion, 2008 (i wcześniejsze wydania) Mrozek B., Mrozek Z.: MATLAB i Simulink. Poradnik użytkownika. Wydanie II, Helion, 2010 Tanenbaum A., Wetherall D., Sieci komputerowe,wyd. V, Helion, 2012 Internet Uwaga 1: szczególnie literatura dotycząca zagadnień sprzętowych w PC bywa nieaktualna nawet jeśli ma niedawną datę wydania! Uwaga 2: materiały internetowe wybierać tylko z pewnych, solidnych źródeł (np. strony producentów, specyfikacje), z ostrożnością podchodzić do innych źródeł ponieważ niektóre z nich zawierają błędy + powielają błędy między sobą Uwaga 3: Wikipedia nie jest nieomylną wyrocznią 7
Informatyka Czym jest informatyka? Zespół dyscyplin nauki i techniki zajmujących się zbieraniem i przetwarzaniem informacji. Obejmuje trzy obszary: jak? teoretyczny metody matematyki, logiki, teorii automatów, teorii algorytmów czym? konstrukcyjny po co? użytkowy nauka o komputerach budowa sprzętu oraz oprogramowania komputerów gromadzenie i przetwarzanie danych 8
Informatyka w Mechatronice komputery PC protokoły komunikacyjne tworzenie dokumentacji sterowniki PLC mikrokontrolery sieci komputerowe sztuczna inteligencja oprogramowanie systemowe bazy danych systemy CAD / CAM / SCADA przetwarzanie sygnałów oprogramowanie inżynierskie algorytmy sterowania języki programowania i inne. 9
Pojęcia podstawowe Komputer urządzenie elektroniczne służące do gromadzenia, wyszukiwania i przetwarzania informacji (danych) przy użyciu odpowiedniego oprogramowania Hardware-sprzęt komputerowy podzespoły i urządzenia peryferyjne komputera Software -oprogramowanie zbiór programów, które pozwalają na wykonanie przez komputer określonych zadań Program algorytm zapisany w języku zrozumiałym dla komputera Algorytm przepis postępowania / rozwiązania zadania w postaci skończonej liczby kroków 10
Pojęcia podstawowe System komputerowy = hardware + software + sieć 11
Komputer Komputer jest głupi Wykonuje tylko i wyłącznie to co mu się każe zrobić czyli zadany program Wszelkie zachowania nieoczekiwane wynikają z:» błędu człowieka (użytkownika lub twórcy programu)» złośliwego działania innego człowieka (np. wirusy)» awarii sprzętu Jest to zaleta 12
Zalety komputerów UNIWERSALNOŚĆ! Programowalność -możliwość automatycznego wykonywania rozkazów (programu) -możliwość łatwej zmiany sposobu działania Zdolność do zapamiętywania dużej ilości danych Szybkość działania superkomputery: do 55 biliardów FLOPS! (55 PFLOPS) PC: CPU do ~350 miliardów FLOPS (350 GFLOPS) GPU do ~1.5 TFLOPS kalkulator: ~10 FLOPS 13
MIPS Liczba (w mln.) instrukcji wykonywanych w ciągu sekundy FLOPS Liczba instrukcji zmiennoprzecinkowych wykonywanych w ciągu sekundy Szybkość działania 14 Źródło: Chip 7/2008
Historia IV w. p.n.e. XIX / XX w. 1941r. 1944r. 1946r. Lata 60-te Lata 70-te i obecnie przyszłość pierwsze mechaniczne urządzenia wspomagające obliczenia projekty i próby (niektóre udane) zbudowania mechanicznych maszyn liczących Z3 (Niemcy) elektromechaniczny, przekaźniki, pierwszy komputer binarny MARK I (USA) przekaźniki, decymalny ENIAC (USA) lampy elektronowe, decymalny 1-sza generacja tranzystory 2-ga generacja układy scalone 3-cia i 4-ta generacja komputery chemiczne, kwantowe, optyczne itp. 15
Historia MARK 1 (0. gen) ENIAC (1. gen.) Odra (2 i 3. gen.) IBM PC (4. gen.) 16 Zdjęcia: wikipedia.pl; www.multimediastudio.pl/projekty/muzeumtechniki; ibm.com
Historia Sierpień 1981 IBM prezentuje komputer osobisty (PC) Procesor Intel 8088, 16KB RAM, FDD 5,25 180KB System operacyjny MS-DOS Cena około 1500 USD IBM nie był pierwszy! (rynek był zdominowany przez Commodore, Atari i Apple) Skąd sukces? Wykorzystanie gotowych elementów Ujawnienie architektury systemu i kodu źródłowego BIOSu Niskie koszty eksploatacji Stosunkowo łatwe przeniesienie oprogramowania (Fortran) z komputerów 3-ciej generacji Następstwa 17 Alternatywni producenci kompatybilnych komputerów Rozwój producentów podzespołów Rozwój oprogramowania itd.. itd.. itd..
Prawo Moore a Zródło: www.elektormagazine.com 18 Ekonomicznie optymalna liczba tranzystorów w układzie scalonym podwaja się co 18-24 miesiące. Gordon Moore (Intel) 1965
Współczesne komputery superkomputery- największe komputery o dużej mocy obliczeniowej, używane do czasochłonnych obliczeń naukowych i symulacji skomplikowanych systemów stacje robocze i serwery duża moc obliczeniowa, często nieco większe rozmiary niż PC, zastosowanie do przetwarzania dużych ilości danych, obliczeń inżynierskich, pełnienia roli serwerów itp. komputery osobiste (PC) rozmiary umożliwiające postawienie na biurku, przeznaczone do prac biurowych, rozrywki, średniozaawansowanych obliczeń itp. komputery przenośne (laptop, notebook, netbook, tablet) jak PC, ale mniejsze i lżejsze, ograniczone możliwości rozbudowy i modyfikacji komputery wbudowane - (lub osadzone, ang. embedded) specjalizowane komputery służące do sterowania urządzeniami automatyki przemysłowej, elektroniki użytkowej (np. telefony komórkowe, samochody, pralki itd.), często w postaci mikrokontrolera 19
Komputer, mikrokontroler, DSP, PLC Komputer Uniwersalny Montowany z wielu podzespołów Dość duża moc obliczeniowa (ale często częściowo marnowana ) Zwykle wiele programów w pamięci operacyjnej i stałej Łatwe przeprogramowanie 20
Komputer, mikrokontroler, DSP, PLC Mikrokontroler Komputer zintegrowany w jednym układzie Wbudowane specjalistyczne moduły (np. przetworniki A/C, przemysłowe interfejsy komunikacyjne) Dedykowany do konkretnego zastosowania Mniejsza moc obliczeniowa niż PC (ale często szybszy w swoim konkretnym zastosowaniu) Jeden wyspecjalizowany program Przeprogramowanie zwykle wymaga dodatkowych zabiegów (np. użycia zewnętrznego programatora) Zwykle niski pobór mocy 21 Przykłady rodzin: ARM(różni),8051 (Intel i inni), AVR (Atmel), MC68000 (Motorola), PIC (Microchip)
Komputer, mikrokontroler, DSP, PLC Procesor sygnałowy (DSP) Specjalizowane procesory do przetwarzania sygnałów w czasie rzeczywistym (real time) Podobne do mikrokontrolerów (integracja) Sprzętowe dostosowanie do wykonywania operacji najczęściej występujących przy przetwarzaniu sygnałów (filtracji FIR i IIR, transformacji Fouriera, korelacji wzajemnej) Specjalne instrukcje do przetwarzania sygnałów (np. instrukcje MAC a=a+b*c) Potokowe przetwarzanie danych 22 Przykłady producentów: Texas Instruments, Analog Devices, NEC, Motorola
Komputer, mikrokontroler, DSP, PLC Programowalny sterownik logiczny (PLC) Specjalizowany układ sterujący z wejściami i wyjściami logicznymi (włącz / wyłącz) Cyklicznie powtarzany program: skanowanie wejść, wykonanie logiki programu, aktualizacja wyjść Przetwarzanie sygnałów w czasie rzeczywistym Modułowa konstrukcja jednostka sterująca + dołączane bloki wejść i wyjść (głównie logicznych) Sterownik wewnętrznie wykorzystuje mikrokontroler Przeznaczone do sterowania procesami produkcyjnymi (np. linie montażowe, systemy zbiorników i pomp) i urządzeniami (np. windy, światła na skrzyżowaniu) 23 Przykłady producentów: Siemens, Allen-Bradley, GE (Fanuc), Modicon, Mitsubishi, Omron
Komputer, mikrokontroler, DSP, PLC Programowalny sterownik automatyki (PAC) Rozwinięcie idei PLC Większa moc obliczeniowa niż PLC Większa elastyczność niż PLC Często większe możliwości komunikacji z innymi urządzeniami niż PLC Stosowany tam, gdzie zwykłe PLC ma zbyt małą moc obliczeniową, np.: przetwarzanie obrazów Przetwarzanie sygnałów w czasie rzeczywistym Modułowa konstrukcja 24 Przykłady producentów: Allen-Bradley, GE, National Instruments, Rockwell
Budowa komputerów -tendencje Wzrost szybkości Wzrost przepustowości Postępująca integracja elementów Zacieranie granic między różnymi klasami komputerów Rozwój interfejsów komunikacyjnych, zwłaszcza sieciowych (współczesne komputery i mikrokontrolery mają zwykle kilka różnych interfejsów, kiedyś wystarczała obsługa RS232) Zdobywanie nowych terytoriów przez mikrokontrolery i DSP (nie tylko sterowanie w przemyśle, ale przede wszystkim elektronika użytkowa) 25
Budowa komputera PC 26 Procesor CPU Central Processing Unit = ALU + FPU + pamięć podręczna (cache) Układ sterujący chipset Najczęściej rozdzielony na: mostek północny (northbridge) współpraca CPU z PCI Express współpraca z RAM (nie zawsze, zależy od procesora) mostek południowy (southbridge) obsługa interfejsów I/O Obecnie stopniowe włączanie funkcji mostka północnego bezpośrednio do procesora (np. nowe Core i7) Pamięć operacyjna RAM Random Access Memory
Budowa komputera PC Interfejsy wejścia / wyjścia I/O Input / Output RS232 (COM), PS/2, USB, IEEE-1394 (Firewire), PCI Express, SATA, Display Port, DVI, itp., itd. Urządzenia zewnętrzne Podłączone do złączy interfejsów I/O Karta graficzna, HDD, napęd dysków optycznych, karta sieciowa, klawiatura, mysz, drukarka, skaner, karta dźwiękowa, itp., itd.. We współczesnych komputerach część urządzeń zintegrowana na płycie głównej (np. karta sieciowa, dźwiękowa, graficzna) ale nadal są to urządzenia I/O połączone interfejsami z procesorem i chipsetem. 27
Budowa komputera PC Z potocznego punktu widzenia Komputer = wszystko co w obudowie Urządzenia zewnętrzne = urządzenia dołączane (np. drukarka, klawiatura, monitor, pamięci USB, itd.) Ze ściśle informatycznego punktu widzenia Komputer = płyta główna z procesorem i pamięcią Urządzenia zewnętrzne = wszelkie urządzenia dołączane poprzez interfejsy (HDD, napędy optyczne, klawiatura, drukarka, karta graficzna, dźwiękowa, itp., itd.) 28
Budowa komputera PC Na przykładzie komputera PC z procesorem Intel Core i7 i chipsetem Intel X58 monitor karta graficzna urządzenia USB urządzenia PCI głośniki, mikrofon HDD, DVD Źródło intel.com 29
Budowa komputera PC Na przykładzie komputera PC z procesorem Intel Core i7 i chipsetem Intel X99 monitor karta graficzna urządzenia USB głośniki, mikrofon urządzenia PCIe HDD, DVD Źródło intel.com 30
Budowa komputera PC gniazdo CPU CPU Socket Płyta główna ATX gniazda pamięci RAM złącza interfejsów PS/2, USB, RS232, FireWire, Audio, LAN złącze interfejsu PCI Express i PCI chipset (mostek północny i południowy) 31 Źródło asus.pl złącza interfejsów ATA, SATA
Budowa systemu z µkontrolerem Na (rozbudowanym) przykładzie telefonu typu smartphone z procesorem Texas Instruments OMAP4430 (ARM Cortex-A9) interfejsy i magistrale komunikacyjne pamięci wewnętrzne procesor (2 rdzenie + akcelerator grafiki 2D/3D) i kontroler pamięci 32 pamięć zewnętrzna Źródło : ti.com
Budowa mikrokontrolera Na (prostym) przykładzie mikrokontrolera TSC80251 (Atmel) pamięć wewnętrzna układ sterujący porty zewnętrzne procesor 33 Układy zintegrowane (liczniki, zegar, watchdog, kontroler przerwań) Źródło : atmel.com