(Microsoft PowerPoint - Wyk\263ad7 [tryb zgodno\234ci])

Transkrypt

(Microsoft PowerPoint - Wyk\263ad7 [tryb zgodno\234ci])
2012-12-19
PODSTAWY INFORMATYKI
Historia
Pierwszym znanym mechanizmem obliczeniowym był
abakus,
wynaleziony
prawdopodobnie
przez
Babilończyków w latach pomiędzy 1000 a 500 p.n.e.,
1
2012-12-19
Użycie zera
• ok. 600 n.e. – Indie, użycie zera jako
rzeczywistej wartości wraz z koncepcją liczb
ujemnych.
• XVIII w. - wielki matematyk szwajcarski
Leonhard Euler wierzył, iż liczby ujemne są
większe od nieskończoności, a powszechną
praktyką było ignorowanie wyników ujemnych w
równaniach przy założeniu, że nie mają one
żadnego znaczenia.
ok. 1614r. – John
Napier
• szkocki matematyk wynalazł
narzędzie nazwane Tabliczkami
Napiera, które były tablicami
mnożeń wyrytymi na pasach z
drewna lub z kości.
• wynalazł również logarytmy.
• W 1621r. angielski matematyk i duchowny William
Oughtred użył logarytmów Napiera jako podstawy działania
suwaka
logarytmicznego.
Suwak
był
wyjątkowo
przydatnym narzędziem pozostającym w powszechnym
użyciu przez ponad trzysta lat.
2
2012-12-19
Maszyna Schickarda
• Niestety nie istnieją żadne oryginalne kopie
maszyny Schickarda,
• Na podstawie jego notatek zbudowano
działające modele, które są w posiadaniu
firmy IBM.
• Mnożenie
• Dodawanie
• Odejmowanie
1642r. – Maszyna Arytmetyczna
• Blaise Pascal
• Maszyna
Arytmetyczna
potrafiła
jedynie
dodawać, odejmowanie wykonywało się przez
użycie technik dopełnieniowych, w których
odejmowana liczba była najpierw zamieniana na
swoje dopełnienie, a dopiero ono było następnie
dodawane do liczby pierwszej.
• Mnożenie i dzielenie
były realizowane za
pomocą serii dodawań
lub odejmowań.
3
2012-12-19
1671r. – Gottfried von Leibnitz
• wstąpił na uniwersytet w wieku lat piętnastu i stopień
magistra otrzymał jako siedemnastoletni młodzieniec
• powiedział: „Marnotrawstwem jest, aby mądry człowiek
tracił godziny jak niewolnicy przy pracach rachunkowych,
które można by bezpiecznie powierzyć komukolwiek o
mniejszym rozumie, gdyby maszyny mogły być używane”
• Rachmistrz Krokowy:
–
–
–
–
–
dodawanie
odejmowanie
mnożenie
dzielenie
obliczanie pierwiastków
kwadratowych przy
pomocy serii dodawań.
• Leibniz mocno bronił stosowania binarnego systemu
liczbowego, który jest podstawą działania współczesnych
komputerów.
Początek XIXw.
• Francuz, Joseph-Marie Jacquard, wynalazł metodę
automatycznego sterowania układem wątku i
osnowy nici na krosnach jedwabnych, która
polegała na zapisie wzorów dziurek na zestawie
specjalnych kart z wybitymi otworami.
• Perforowane karty Jacquarda:
– zapis muzyki (automatyczne pianina)
– przechowywanie programów komputerowych.
80- kolumnowa karta
perforowana
systemu IBM
4
2012-12-19
1822r. – Charles Babbage
Maszyna Różnicowa - automatycznie wyliczała tablice logarytmów i funkcji
trygonometrycznych.
Ciekawostka: po ponad 150 latach zespół naukowców z Londyńskiego
Muzeum Nauki zbudował, według oryginalnych planów, Maszynę
Różnicową Babbage'a:
• kute żelazo, brąz i stali,
• składała się z 4000 komponentów,
• ważyła 3 tony,
• 10 stóp szerokości,
• 6 stóp wysokości.
Pierwsza seria obliczeń – początek lat
1990 – wyniki z dokładnością do 31
miejsc po przecinku.
1943r. - COLOSSUS
• Maszyna Alana Turinga, zawierała 1800
lamp elektronowych.
• COLOSSUS był jednym z pierwszych na
świecie działających, programowanych
komputerów cyfrowych.
• Maszyna o specjalnym przeznaczeniu,
która w rzeczywistości nadawała się do
wąskiego zakresu zadań (na przykład nie
potrafiła mnożyć dziesiętnie).
5
2012-12-19
1943 – 1946r. ENIAC
Pierwszy komputer elektroniczny ogólnego
przeznaczenia
John Eckert
• wysokość 10 stóp,
• 1000 stóp kwadratowych podłogi
• ważył 30 ton,
John Mauchly
• ponad 70 000 oporników,
• 10 000 kondensatorów,
• 6 000 przełączników
• 18 000 lamp elektronowych.
• 150 kW energii elektrycznej, co wystarczało do
oświetlenia małego miasteczka.
Ciekawostka. Dane z roku 1952
pokazują, iż tylko w tym jednym roku
musiano wymienić około 19,000 lamp
elektronowych, co daje średnio
50 lamp dziennie!
1951r. – UNIVAC I
Pierwszy handlowo dostępny uniwersalny, automatyczny
komputer (Universal Automatic Computer - UNIVAC I).
6
2012-12-19
Polska myśl techniczna
Odra to nazwa serii komputerów produkowanych w
Zakładach
Elektronicznych
Elwro
we
Wrocławiu
(zlikwidowanych po 1989r).
• Możliwość pracy z oprogramowaniem stworzonym przez
firmy trzecie
• Możliwość podłączenia urządzeń peryferyjnych.
Przedostatnia Odra wyszła z użycia 18 lipca 2003 po 29
latach bezawaryjnej pracy jako główna sterownia dystrybucji
wrocławskiego przedsiębiorstwa Hutmen.
Prawdopodobnie PKP w Ostródzie nadal używa maszyny
cyfrowej Odra 1305 (ewenement na skalę całego kraju).
Elwro 800 Junior
• 8-bitowy mikrokomputer domowy produkowany od 1986
r. przez zakłady Elwro dla szkół.
• wbudowany interpreter języka BASIC.
• w jednym z trybów pracy był programowo zgodny z
Sinclair ZX Spectrum.
Budowa:
• procesor: Z80A 3,5 MHz
• RAM 64 Kb, ROM 24 Kb
• grafika: 256 x 192 pikseli
• tekst: 32 (64) x 24 znaków
• kolory: 8 - każdy po dwa tryby jasności
• dźwięk: 1 kanał 10 oktaw
7
2012-12-19
PC
Ciekawostka
• w roku 1975 komputer
mainframe IBM mogący
wykonywać 10.000.000
instrukcji na sekundę
kosztował około 10.000.000 $.
• w roku 1995 gra
komputerowa, zdolna
wykonywać 500.000.000
instrukcji na sekundę, była
dostępna na rynku w cenie
około 500$!
Generacje
• I generacja – komputery na lampach.
Budowane na skalę przemysłową. Język
maszynowy (lista instrukcji, z których każda jest
serią binarnych liczb):
1010 0101 0000 0000 0000 1111
gdzie
1010 - rozkaz dodawania
0101 - zawartość rejestru 5
0000 0000 0000 1111 - adres miejsca w
pamięci komputera
• w notacji szesnastkowej: A 5 000F
8
2012-12-19
Generacje
• II generacja – od 1949r. komputery na tranzystorach.
Translatory, assembler, taśmy perforowane.
Skojarzenie kolejnych komponentów instrukcji z symbolami i
nazwami:
1010 0101 0000 0000 0000 1111
może być reprezentowana przez zapis
ADD TAX TOTAL
gdzie
ADD = 1010 - dodawanie
TAX = 0101 - zawartość rejestru 5
TOTAL = 0000 0000 0000 1111 - adres miejsca w
pamięci komputera
– wymaga tzw. asemblera - programu tłumaczącego kod
symboliczny na maszynowy
Generacje
• III generacja – połowa 60-tych. Układy SSI i MSI.
Zmniejszenie gabarytów, zwiększenie niezawodności, długie
serie.
Instrukcje podobne do fraz i zdań języka naturalnego
(angielskiego)
if ... else...then; begin...end; while;
– wymaga tzw. kompilatora - programu tłumaczącego kod
źródłowy na maszynowy
lub
– interpretera - programu iteracyjnie pobierającego kolejne
instrukcje, tłumaczącego na kod wykonywalny i natychmiast go
wykonującego
– rozwiązany problem przenaszalności programów (np. standard
ANSI języka C)
9
2012-12-19
Generacje
• IV generacja – połowa 70-tych. Układy LSI i
VLSI.
Mikroprocesor, DOS, UNIX, Pascal, systemy
oprogramowania pozwalające na interaktywne
tworzenie oprogramowania, systemy CASE
• V
generacja
Superkomputery.
–
połowa
80-tych.
RISC, CISC, rozległe sieci komputerowe, języki
sztucznej inteligencji (LISP, PROLOG) z
wbudowanymi mechanizmami wnioskowania
Narzędzia informatyki
Komputery
Maszyna elektroniczna
(urządzenie,
ang.
hardware) służąca do
przetwarzania wszelkich
informacji, które da się
zapisać w formie ciągu
cyfr,
albo
sygnału
ciągłego.
Oprogramowanie
Program komputerowy, aplikacja, (ang. software) to całość
informacji w postaci zestawu
instrukcji, zaimplementowanych
interfejsów i zintegrowanych
danych przeznaczonych dla
komputera
do
realizacji
wyznaczonych celów.
Cel: przetwarzanie danych w
określonym
przez
twórcę
zakresie.
10
2012-12-19
Typy komputerów
Współcześnie komputery dzieli się na:
• osobiste - o rozmiarach umożliwiających ich umieszczenie
na biurku, używane zazwyczaj przez pojedyncze osoby
• mainframe - często o większych rozmiarach, których
zastosowaniem jest przetwarzanie dużych ilości danych na
potrzeby różnego rodzaju instytucji, pełnienie roli serwerów,
itp.
• superkomputery - największe komputery o ogromnej mocy
obliczeniowej, najczęściej używane do czasochłonnych
obliczeń naukowych i symulacji skomplikowanych systemów.
• wbudowane
(lub
osadzone,
ang.
embedded)
specjalizowane
komputery
służące
do
sterowania
urządzeniami z gatunku automatyki przemysłowej, elektroniki
użytkowej.
Przetwarzanie danych
Dane
Wyniki
Układ
Sygnały
Obrazy
Teksty
Dźwięk
Dwa sposoby
Wyniki
Dane
Dane
Hardware
Wyniki
System
mikroprocesorowy
Specjalizowany
układ cyfrowy
Hardware
Software
Program
11
2012-12-19
Architektura komputera
•
•
•
•
•
•
Elementy funkcjonalne wg von Neumann’a
Modularna budowa komputera klasy PC
Przegląd standardów podzespołów PC
Podsystem graficzny komputera PC
Zarys sposobu działania komputera PC
Zarys architektury systemów sieciowych
Architektura wg von Neumann’a
Elementy funkcjonalne
komputera:
• Procesor
John von Neumann
• Pamięć operacyjna
• Urządzenia wejścia/wyjścia
12
2012-12-19
Architektura wg von Neumann’a
Założenia logiczne komputera:
• Pamięć
jest
uporządkowana
w
sposób
jednowymiarowy (komórka pamięci ma adres,
wyrażony liczbą).
• Instrukcje i dane są przechowywane w pamięci
(w postaci liczb - nierozróżnialne).
• Interpretacja (znaczenie) danych nie jest
przechowywane wraz z nimi.
• Instrukcje są wykonywane sekwencyjnie.
Nomenklatura
• Procesor – Central Processing Unit (CPU)
= Arithmetic/Logic Unit (ALU) + Control Unit
• Pamięć operacyjna – Random Access Memory
(RAM)
• Urządzenia wejścia/wyjścia – Input/Output (I/O)
• Płyta główna – Motherboard (MB)
• Układ sterowania – Chipset
• Jednostka zmiennoprzecinkowa – Floating Point
Unit (FPU)
• Pamięć stała (tylko do odczytu) – Read-Only
Memory (ROM)
13
2012-12-19
Modularna budowa komputera PC
• Standaryzacja elementów w oparciu o
publicznie dostępne specyfikacje
• Otwarta architektura urządzeń
wejścia/wyjścia
Modularna budowa komputera PC
• Płyta główna - tablica obwodów drukowanych
łączących wszystkie elementy komputera wraz ze
sterującymi układami elektronicznymi i standardowymi
gniazdami I/O.
• µ-procesor - układ scalony b. wysokiej skali integracji.
• Chipset - układy sterujące połączeniami płyty głównej.
• Pamięć RAM - w postaci modułów dołączanych do
płyty głównej.
• Urządzenia wejścia/wyjścia - np. klawiatura, dysk
twardy (pamięć masowa), karta graficzna, mysz, itp. dołączane do płyty głównej poprzez gniazda (porty) I/O.
14
2012-12-19
Rodziny procesorów
• Intel x86 (komputery PC):
(koprocesory FPU:
8087, 80287, 80387)
– 16 bitowe: 8086/88, 80286
– 32 bitowe: i386, i486, Pentium, Pentium Pro, Pentium II,
Celeron, Pentium III, Celeron II, Pentium IV, Xeon
– 64 bitowe: Itanium (architektura EPIC)
• AMD (zgodna z x86):
– 32 bitowe: AMD486, 5x86, K5, K6, Athlon, Duron
• Motorola 68k (komputery Apple):
– 68000, 68020 (16-bit), 68030, 68040, 68060 (32-bit)
• architektury RISC (32, 64- bitowe – systemy
UNIX):
– Alpha (DEC/Compaq), MIPS (SGI), SPARC (Sun), PA
(HP), Power (IBM), PowerPC (IBM/Motorola)
15
2012-12-19
Chipset-y
• Układy
zarządzające
komunikacją
pomiędzy
procesorem, pamięcią, magistralami dołączającymi
urządzenia I/O
• W znacznym stopniu decydują o funkcjonalności
komputera (możliwościach rozbudowy)
• Zbudowane zwykle z 2 obwodów scalonych zwanych
mostkami (north and south bridge)
• Produkowane przez wielu producentów: Intel, AMD,
VIA, ALI, SIS
Pamięć RAM
• Statyczna – Static RAM (SRAM)
– bardzo szybka, bardzo droga – służy jako
pamięć buforująca między pamięcią operacyjną
i procesorem
• Dynamiczna – Dynamic RAM (DRAM)
– tania
pamięć
wymagająca
cyklicznego
odświeżania (kondensatory)
• Synchroniczna – SDRAM
• RAMBUS – duża wydajność, wysoka cena
• Podwójnej wydajności – Dual Data Rate (DDR),
DDR2, DDR3, DDR4
• Obudowy: DIP, SIP, SIMM, RIMM, DIMM
16
2012-12-19
Magistrale wejścia/wyjścia
• ISA (Industry Standard Architecture)
– 16-bitowe złącze do obsługi starszych urządzeń
• PCI (Peripheral Component Interconnect)
– 32-bitowe standardowe złącze stosowane we
współczesnych komputerach (są wersje 64bitowe)
• USB (Universal Serial Bus)
– magistrala umożliwiająca łańcuchowe dołączanie
urządzeń zewnętrznych (modemów, drukarek)
• Porty równoległe (Parallel Ports) Centronics
• Porty szeregowe (Serial Ports) RS-232C
Urządzenia wejścia/wyjścia
• Pamięci masowe:
– dyskietki (FDD)
– dyski twarde (HDD)
– dyski optyczne (CD-ROM, CD-RW, DVD)
– napędy taśmowe (streamer’y)
•
•
•
•
Klawiatura
Karta graficzna (i monitor)
Urządzenie wskazujące (mysz)
Karty sieciowe, modemy i in.
17
2012-12-19
Pojęcia dodatkowe
• konsolidacja, linkowanie, scalenie binarnych
fragmentów programu w jedną całość i dołączenie
procedur systemowych, procedur wejścia/wyjścia,
funkcji matematycznych z bibliotek systemowych i
innych elementów koniecznych do działania
programu.
• debuggery: programy, ułatwiające śledzenie
wykonywania się danego programu, nazywane są
debugerami, czyli „odpluskwiaczami”. Nazwa
"debugging"
powstała
w
1945
roku,
w
elektromechanicznym komputerze Mark II były
karaluchy w przekaźnikach.
Koniec
Dziękuję za uwagę
18

Podobne dokumenty