PK1

background image

PODSTAWY INFORMATYKI

PODSTAWY INFORMATYKI

Wykład 1

background image

Historia

• 1623-24: Wilhelm Schickard, kalkulator

mechaniczny

• 1642: Błażej Pascal, maszyna dodająca
• 1670: Gottfried Wilhelm Leibnitz,

maszyna mnożąca

• 1804: Joseph Marie Jacquard:

programowana maszynka tkająca

• 1822: Charles Babbage: koncepcja

komputera cyfrowego

• 1850: Augusta Ada Byron: projekty

programowanych maszyn liczących

background image

Historia

• 1847: George Boole, "The Mathematical

Analysis of Logic: Being an Essay Towards
a Calculus of Deductive Reasoning”

• 1944: Howard Aiken, komputer cyfrowy

(częściowo mechaniczny)

• 1949: Konrad Zuse, komputery

mechaniczne i elektromechaniczne

• 1945: John von Neumann: nowoczesny

komputer, wspólna pamięć dla danych i
programu

background image

Historia

1946: ENIAC, 18000 lamp próżniowych, 5 mnożeń

na sekundę (5 FLOPS = 0.000005 MFLOPS)

1957: zastosowanie tranzystorów w komputerach

1967: zastosowanie układów scalonych w

komputerach

1971: Intel 4004, pierwszy mikroprocesor,

60000 instrukcji na sekundę, 0.06 MIPS

Prawo Moore’a (1968):

Złożoność układów cyfrowych stosowanych w

komputerach podwaja się co 18 miesięcy. Dotyczy

do pamięci, mocy obliczeniowej itp.

2002: Pentium 4, Athlon: 2000 MIPS, 500 MFLOPS

The Earth Simulator: 40 TFLOPS = 40000000

MFLOPS

background image

Ogólny schemat

komputera

Procesor

Pamięć

Urządze
niawe/w

y

sterowanie

mag. danych

mag. adresowa

background image

Reprezentacja dwójkowa

liczb całkowitych 

• Liczby całkowite maja dwie reprezentacje:

dwójkowa oraz dziesiętna. Reprezentacje
liczb całkowitych są stosowane do
zapisywania tych liczb w pamięci
procesora; koprocesor wykonuje obliczenia
na liczbach w reprezentacji
zmiennoprzecinkowej. Dwójkowe liczby
całkowite są zapisywane zawsze w kodzie
U2 (uzupełnienia do dwóch).

background image

Działania na liczbach w systemie

dwójkowym: kod prosty, odwrotny

i dopełnieniowy

background image

kod odwrotny (notacja
uzupełnieniowa do 1), polega na
odjęciu odjemnika od podstawy
pomniejszonej o 1. W przypadku liczb
dwójkowych polega na zamianie 0 i 1 w
liczbie

kod dopełnieniowy (notacja
uzupełnieniowa do 2), jest to notacja
uzupełnieniowa do 1 powiększona o 1

background image

System

ósemkowy,szesnastkowy

System ósemkowy używany w komputerze

polega na tym, że komputer zamiast pamiętać

szereg 0 i 1 zamienia je odpowiednio na liczby

w kodzie ósemkowym trójkami co zmniejsza

obszar w zajmowanej pamięci np. (111)

2

=(7)

8

System szesnastkowy używany w

komputerze polega na tym, że komputer

zamiast pamiętać szereg 0 i 1 zamienia je

odpowiednio na liczby w kodzie

szesnastkowym czwórkami co zmniejsza

obszar w zajmowanej pamięci np. (1111)

2

=(f)

16

,gdzie(a=10,b=11,c=12,d=13,e=14,f=15)

background image

Programowanie

Procesor (CPU) rozumie

tylko

kod maszynowy

Wersja binarna:

00100011 11010001
10001010 00000110
01000110
11000001 11101001 00000010
01000111
10000011 11111000 00001000

Wersja
szesnastkowa:

23 D1
8A 06
46
C1 E9 02
47
83 F8 08

...nazywany też

językiem pierwszej

generacji

background image

Programowanie

• Procesor rozumie

tylko

kod maszynowy

Asembler - mnemoniki:

mov al,byte ptr [esi]
mov byte ptr [edi],al
inc esi
shr ecx,2
inc edi
cmp ecx,8

...asembler jest nazywany

językiem

drugiej generacji

background image

Asembler

• Zależy od procesora: nie jest

przenośny

• Trudne programowanie: wolne i

podatne na błędy

• Daje potencjalnie najszybszy program

ale: procesory są szybsze z każdym
rokiem, ludzie nie

background image

Języki trzeciej generacji

• Nazywane również

językami

wysokiego poziomu, 3GL

• Zaprojektowane jako łatwiejsze do

zrozumienia i stosowania przez ludzi

• Zwykle przenośne
• Problem: procesor ich nie rozumie
• Rozwiązanie: translatory

background image

Języki wysokiego

poziomu

• 1946:

Plankalkul

, Konrad Zuse

• 1949:

Short Code

• 1951:

A-0

, Grace Hopper

• 1957:

FORTRAN

, John Backus

• 1959:

LISP

• 1958:

COBOL

• 1960:

ALGOL 60

• 1962:

APL

• 1964:

BASIC

, J. Kemeny and T. Kurtz

background image

Języki wysokiego

poziomu

• 1970:

Pascal

, Niklaus Wirth

• 1972:

C

, Dennis Ritchie and Brian

Kernighan

• 1980:

Smalltalk

• 1982:

PostScript

• 1983:

C++

, Bjarne Stroustrup

• 1989:

ANSI C

1994:

Java

, grupa robocza pod kierunkiem

Jamesa Goslinga

background image

Jak przetłumaczyć?

• Interpreter: tłumaczy jedną linię kodu,

wykonuje ją i przechodzi do następnej

linii

• Kompilator: tłumaczy cały kod, wynik

może być wykonany bez angażowania

kompilatora

background image

Droga z tekstu

źródłowego do kodu

maszynowego: kompilacja

Tekst
źródłowy

Kompilator

Plik OBJ

Bibliotek

i

Linker

Kod maszynowy


Document Outline


Wyszukiwarka

Podobne podstrony:
pk1 sem1 cw 5
PK1 alrower
Programowanie robota SCORA-ER 14a, DEFP PK1
Programowanie robota SCORA-ER 14a, DEFP PK1
pk1 sem1 cw 6
pk1 sem1 cw 6
PK1 alrower
Programowanie robota SCORA-ER 14, DEFP PK1
pk1 sem1 cw 7
pk1 składak
jpolski lu s2 pk1 id 228814 Nieznany
cieplo lodu pk1
pk1 Nordwalk
pk1 sem1 cw1
pk1 sem1 cw2
Programowanie robota SCORA-ER 14b, DEFP PK1
pk1 sem1 cw3
pk1 sem1 cw 5

więcej podobnych podstron