Informatyka 1, Studia Niestacjonarne I Stopnia Dr Inż
Total Page:16
File Type:pdf, Size:1020Kb
Informatyka 1, studia niestacjonarne I stopnia dr inż. Jarosław Forenc Rok akademicki 2018/2019, Wykład nr 6 2/97 Plan wykładu nr 66 Informatyka 1 Język C § pętle while i do…while Budowa komputera § procesory, moduły pamięci, obudowa (AT, ATX) § interfejsy wewnętrzne i zewnętrzne Politechnika Białostocka --WydziałWydział Elektryczny Struktura i funkcjonowanie komputera Elektrotechnika, semestr II, studia niestacjonarne I stopnia § procesor, rozkazy, przerwania, magistrala Rok akademicki 2018/2019 § pamięć komputerowa, hierarchia pamięci § pamięć podręczna Wykład nr 6 (12.04.2019) dr inż. Jarosław Forenc Informatyka 1, studia niestacjonarne I stopnia dr inż. Jarosław Forenc Informatyka 1, studia niestacjonarne I stopnia dr inż. Jarosław Forenc Rok akademicki 2018/2019, Wykład nr 6 3/97 Rok akademicki 2018/2019, Wykład nr 6 4/97 Język C --pierwiastekpierwiastek kwadratowy Język C --pierwiastekpierwiastek kwadratowy (pętla whilewhile)) Podaj liczbe: -3 Podaj liczbe: -3 #include <stdio.h> #include <stdio.h> Blad! Liczba ujemna Blad! Liczba ujemna #include <math.h> #include <math.h> int main(void ) int main(void ) Podaj liczbe: -5 { Podaj liczbe: 3 { Blad! Liczba ujemna float x, y; Pierwiastek liczby: 1.732051 float x, y; Podaj liczbe : 3 printf("Podaj liczbe: " ); printf("Podaj liczbe: " ); Pierwiastek liczby: 1.732051 scanf("%f" ,&x); scanf("%f" ,&x); while (x<0) if (x>=0) { { printf("Blad! Liczba ujemna\n\n"); y = sqrt(x); printf("Podaj liczbe: " ); printf("Pierwiastek liczby: %f\n" ,y); scanf("%f" ,&x); } } else y = sqrt(x); printf("Blad! Liczba ujemna\n"); printf("Pierwiastek liczby: %f\n" ,y); return 0; return 0; } } Informatyka 1, studia niestacjonarne I stopnia dr inż. Jarosław Forenc Informatyka 1, studia niestacjonarne I stopnia dr inż. Jarosław Forenc Rok akademicki 2018/2019, Wykład nr 6 5/97 Rok akademicki 2018/2019, Wykład nr 6 6/97 Język C --pętlapętla while Język C --pętlapętla while § „dopóki wyrażenie w nawiasach while (wyra żenie) jest prawdziwe wykonuj instrukcję” while (wyra żenie) instrukcja instrukcja Instrukcja: Wyrażenie w nawiasach: § prosta - jedna instrukcja zakończona średnikiem § prawdziwe - gdy jego wartość jest różna od zera § złożona - jedna lub kilka instrukcji objętych nawiasami klamrowymi § fałszywe - gdy jego wartość jest równa zero int x = 10; int x = 10; while (x>0) while (x>0) Jako wyrażenie najczęściej stosowane x = x - 1; { jest wyrażenie logiczne printf("%d\n",x); x = x - 1; } Informatyka 1, studia niestacjonarne I stopnia dr inż. Jarosław Forenc Informatyka 1, studia niestacjonarne I stopnia dr inż. Jarosław Forenc Rok akademicki 2018/2019, Wykład nr 6 7/97 Rok akademicki 2018/2019, Wykład nr 6 8/97 Język C --sumasuma liczb dodatnich Język C --pętlapętla while Podaj liczbe: 4 Program pokazany na poprzednim slajdzie zawiera typowy schemat #include <stdio.h> Podaj liczbe: 8 #include <math.h> przetwarzania danych z wykorzystaniem pętli while Podaj liczbe: 2 int main(void ) Podaj liczbe: 3 { Podaj liczbe: 5 printf("Podaj liczbe: " ); int x, suma = 0; Podaj liczbe: -2 scanf("%d" ,&x); wczytanie danych Suma liczb : 22 printf("Podaj liczbe: " ); scanf("%d" ,&x); while (x>0) { while (x>0) suma = suma + x; operacje na danych { suma = suma + x; printf("Podaj liczbe: " ); printf("Podaj liczbe: " ); scanf("%d" ,&x); wczytanie danych scanf("%d" ,&x); } } printf( "Suma liczb: %d\n" ,suma); return 0; Dane mogą być wczytywane z klawiatury, pliku, itp. } Informatyka 1, studia niestacjonarne I stopnia dr inż. Jarosław Forenc Informatyka 1, studia niestacjonarne I stopnia dr inż. Jarosław Forenc Rok akademicki 2018/2019, Wykład nr 6 9/97 Rok akademicki 2018/2019, Wykład nr 6 10/97 Język C --pętlapętla while (break, continuecontinue)) Język C --pętlapętla while (najczęstsze błędy) break i continue są to instrukcje skoku Postawienie średnika po wyrażeniu w nawiasach powoduje powstanie pętli nieskończonej - program zatrzymuje się na pętli int x=0; int x = 10; while (x<10) § continue przerywa while (x>0); { printf ("%d ",x -- ); x++; bieżącą iterację if (x%2==0) continue ; Brak aktualizacji zmiennej powoduje także powstanie pętli if (x%5==0) nieskończonej - program wyświetla wielokrotnie tę samą wartość break ; printf("%d\n" ,x); § break przerywa int x = 10; 10 10 10 10 10 ... } wykonywanie pętli while (x>0) printf("%d ",x); Informatyka 1, studia niestacjonarne I stopnia dr inż. Jarosław Forenc Informatyka 1, studia niestacjonarne I stopnia dr inż. Jarosław Forenc Rok akademicki 2018/2019, Wykład nr 6 11/97 Rok akademicki 2018/2019, Wykład nr 6 12/97 Język C --pętlapętla while (pętla nieskończona) Język C --pętlapętla do … while W pewnych sytuacjach celowo stosuje się pętlę nieskończoną § „wykonuj instrukcję dopóki (np. w mikrokontrolerach) do wyrażenie w nawiasach jest prawdziwe” instrukcja while (wyra żenie); while (1) { instrukcja instrukcja Wyrażenie w nawiasach: ... § prawdziwe - gdy jego wartość } jest różna od zera § fałszywe - gdy jego wartość jest równa zero W układach mikroprocesorowych program działa aż do wyłączenia zasilania Informatyka 1, studia niestacjonarne I stopnia dr inż. Jarosław Forenc Informatyka 1, studia niestacjonarne I stopnia dr inż. Jarosław Forenc Rok akademicki 2018/2019, Wykład nr 6 13/97 Rok akademicki 2018/2019, Wykład nr 6 14/97 Język C --pętlapętla do … while Język C --pętlapętla do … while (break, continuecontinue)) break i continue są to instrukcje skoku do Instrukcja: instrukcja § prosta - jedna instrukcja int x=0; while (wyra żenie); zakończona średnikiem § złożona - jedna lub kilka instrukcji do objętych nawiasami klamrowymi { x++; int x = 10; int x = 10; if (x%5==0) break ; do do § break przerywa x = x - 1; { if (x%2==0) wykonywanie pętli while (x>0); printf("%d\n",x); continue ; x = x - 1; printf("%d\n" ,x); § continue przerywa } } bieżącą iterację while (x>0); while (i<10); Informatyka 1, studia niestacjonarne I stopnia dr inż. Jarosław Forenc Informatyka 1, studia niestacjonarne I stopnia dr inż. Jarosław Forenc Rok akademicki 2018/2019, Wykład nr 6 15/97 Rok akademicki 2018/2019, Wykład nr 6 16/97 Procesory Intel --LGALGA 1150 ((SocketSocket H3) Procesory Intel --LGALGA 1151 ((SocketSocket H4) LGA (Land Grid Array) - na procesorze złocone, miedziane, sierpień 2015 roku, liczba pinów: 1151 płaskie styki, dociskane do pinów w gnieździe na płycie głównej procesory Skylake (14 nm) i Kaby Lake (14 nm) czerwiec 2013 roku, liczba pinów: 1150 wsparcie dla pamięci RAM: DDR4, DDR3(L) procesory: § Haswell (22 nm): Celeron, Pentium, Core i3 / i5 / i7 § Broadwell (14 nm): Core M, Celeron, Pentium, Core i3 / i5 / i7 chipsety: § Haswell: H81, B85, Q85, Q87, H87, Z87 § Broadwell: Z97, H97 LGA 1150 CoreCore i7i7--6700K6700K LGA 1151 Informatyka 1, studia niestacjonarne I stopnia dr inż. Jarosław Forenc Informatyka 1, studia niestacjonarne I stopnia dr inż. Jarosław Forenc Rok akademicki 2018/2019, Wykład nr 6 17/97 Rok akademicki 2018/2019, Wykład nr 6 18/97 Procesory Intel --LGALGA 2011 ((SocketSocket R) Procesory Intel --LGALGA 2066 ((SocketSocket R4) listopad 2011 roku, liczba pinów: 2011 czerwiec 2017, liczba pinów: 2066 procesory: procesory: § Sandy Bridge-E/EP (22 nm): Core i7, Xeon § Skylake-X § Ivy Bridge-E/EP (14 nm): Core i7, Xeon § Kaby Lake-X § Haswell -E (22 nm): Core i7 § Skylake -SP § Cascade Lake-X chipsety: Intel X79, X99 4-kanałowy kontroler pamięci chipsety: Intel X299 PCI Express 3.0 inne wersje: § LGA 2011-1 (luty 2014) § LGA 2011-v3 (sierpień 2014) LGA 2011 LGA 2066 Informatyka 1, studia niestacjonarne I stopnia dr inż. Jarosław Forenc Informatyka 1, studia niestacjonarne I stopnia dr inż. Jarosław Forenc Rok akademicki 2018/2019, Wykład nr 6 19/97 Rok akademicki 2018/2019, Wykład nr 6 20/97 Procesory AMD --SocketSocket AM3+ Procesory AMD --SocketSocket AM4 PGA-ZIF - nóżki znajdują się na procesorze 2017 rok, liczba kontaktów: 1331 2011 rok, liczba kontaktów: 942 mikroarchitektura: Zen, Excavator mikroarchitektura Bulldozer obsługa: DDR4 Memory, PCIe Gen 3, USB 3.1 Gen2 10Gbps, NVMe procesory: Athlon II, Phenom II, FX procesory: Bristol Ridge, Summit Ridge, Raven Ridge AMD Phenom IIII Socket AM3+ Socket AM4AM4 Informatyka 1, studia niestacjonarne I stopnia dr inż. Jarosław Forenc Informatyka 1, studia niestacjonarne I stopnia dr inż. Jarosław Forenc Rok akademicki 2018/2019, Wykład nr 6 21/97 Rok akademicki 2018/2019, Wykład nr 6 22/97 Procesory AMD --SocketSocket TR4 Procesory AMD --SocketSocket FM2/FM2/FM2FM2++ 10 sierpnia 2017 r., liczba pinów: 4094 FM2: wrzesień 2012, liczba kontaktów: 904, AMD Trinity inne nazwy: Socket Threadripper 4, Socket SP3r2 FM2+: 2013, liczba kontaktów: 906, AMD Kaveri procesory: Zen, Ryzen Threadripper przeznaczenie: APU (Accelerated Processing Unit) drugiej generacji pierwsza podstawka LGA przeznaczona na rynek konsumencki APU - połączenie tradycyjnego procesora x86 z proc. graficznym Socket AM4AM4 Informatyka 1, studia niestacjonarne I stopnia dr inż. Jarosław Forenc Informatyka 1, studia niestacjonarne I stopnia dr inż. Jarosław Forenc Rok akademicki 2018/2019, Wykład nr 6 23/97 Rok akademicki 2018/2019, Wykład nr 6 24/97 Moduły pamięci Moduły pamięci DIPDIP SIMM (30(30--pins)pins) Dual In-line Package Single Inline Memory Module zastosowanie: XT, AT liczba styków: 30 (te same styki po obu stronach modułu) rok: 1981 pojemność: 256 KB, 1 MB, 4 MB, 16 MB zastosowanie: 286, 386, 486 SIPPSIPP rok: 1994 Single In-line Pin Package liczba pinów: 30 zastosowanie: AT, 286, 386 rok: 1983 Informatyka 1, studia niestacjonarne I stopnia dr inż. Jarosław Forenc Informatyka