Računarstvo računarstvo (vs. informatika) algoritamski procesi opisuju i transformišu informaciju teorija, analiza, projektovanje, efikasnost, implementacija, primene u nauci, tehnici, svakodnevici (digitalni) računar: programabilna elektronska (matematička) mašina koja svodi svaki zadatak na niz elementarnih (matematičkih) operacija nad brojevima Oblici? metode: teorija, projektovanje, eksperiment matematika, tehnika, prirodne nauke nauka / tehnologija (D. Knuth, R. Hoare, E. Dijkstra, N. Wirth...) 1
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Računarstvo računarstvo (vs. informatika)
algoritamski procesi opisuju i transformišu informaciju teorija, analiza, projektovanje, efikasnost, implementacija, primene
u nauci, tehnici, svakodnevici
(digitalni) računar: programabilna elektronska (matematička)mašina koja svodi svaki zadatak na niz elementarnih (matematičkih)operacija nad brojevima
Oblici?
metode: teorija, projektovanje, eksperiment matematika, tehnika, prirodne nauke
nauka / tehnologija (D. Knuth, R. Hoare, E. Dijkstra, N. Wirth...)
1
Podoblasti računarstva (ACM –Association for Computing Machinery)
1. hardver
2. organizacija računarskih sistema arhitekture
serijska, paralelna, distribuirana - u oblaku, klijent / server
... 3. mreže
mrežne arhitekture, protokoli, algoritmi za mrežnu komunikaciju ...
e-trgovina fizičke nauke i inženjerstvo, biološke i medicinske nauke
bioinformatika, biomedicina pravo i društvene nauke računarska forenzika umetnost i jezik...
6
Podoblasti računarstva (nast.) 12 društvene i profesionalne teme
računarska industrija upravljanje (projektima, ...) obrazovanje u računarstvu pravni aspekti računarstva... kodeksi dobre prakse i etika, intelektualna svojina, ...
7
Programiranje
Komponenta računarstva Aktivnost izrade programa za elektronsku računsku mašinu Programiranje: veština i nauka Nauka: metode razvoja programa sa unapred poznatim
ponašanjem Izvođenje programa uz dokaz korektnosti Ponašanje programa izvodi se iz teksta programa – bez
testiranja Programski sistemi sa kritičnom bezbednošću
8
Programiranje (nast.) Primer (R.Sethie: Programming Languages – Concepts and
Constructs) jula 1962.g. raketa sa Venerinom sondom bez posade, Mariner I uništena 290 sekundi posle lansiranja gubitak: 18-20 miliona US$ uzrok: greška u programskom fragmentu
if not (raketa u kontaktu sa radarom) thenkorigovati putanju leta
korišćen prethodno u četiri lansiranja na Mesec tri stotine nezavisnih testiranja
9
Programiranje (nast.) Primer (R.Sethie: Programming Languages – Concepts and
Constructs) jula 1962.g. raketa sa Venerinom sondom bez posade, Mariner I uništena 290 sekundi posle lansiranja gubitak: 18-20 miliona US$ uzrok: greška u programskom fragmentu
if not (raketa u kontaktu sa radarom) thenne korigovati putanju leta
korišćen prethodno u četiri lansiranja na Mesec tri stotine nezavisnih testiranja
10
Izbor programskog jezika
Pomaže da se napiše dobar program lako čita lako razume lako modifikuje
1830.g. Č Bebidž: analitička mašina – projekat; sličan današnjim računarima; Augusta Ada Bajron – bušene kartice, program; smatra se prvim programerom!
(Žozef Mari Žakar, automatski razboj, početak 19. veka) Diferencijska mašina
John von Neumann – 1945-47; arhitektura elektronskog programabilnog računara
1949. EDSAC M. Wilkis – realizacija programabilnog računara 1949. UNIVAC Eckert, Maucly – projekat komercijalnog
računara; 1951. proizveden16
Fon-Nojmanova arhitektura Elementarni fizički objekat – ćelija: 0 / 1 Registar: niz ćelija fiksne dužine Struktura mašine:
CPU (procesor) Upravljačka jedinica Aritmetička jedinica
+ AK, R
Memorija: Program Podaci 4096 registara, adrese Registar: 40 bita
1 ceo 40-bitni broj 2 instrukcije
Ulazno/izlazni sistem Program: mašinski jezik
17
Fon-Nojmanova arhitektura
18
Generacije savremenih elektronskih računara
I generacija (kraj 30-tih do kraj 50-tih) elektronske cevi magnetni doboši bušene kartice mašinski i simbolički jezik vojska, nauka
19
Generacije savremenih elektronskih računara II generacija (kraj 50-tih do sredina 60-tih)
tranzistori Od 1954 – silicijum umesto germanijuma Magnetni diskovi i trake FORTRAN: John Backus, 1957
blizak matematičkoj notaciji efikasno prevođenje na mašinski jezik
LISP, 1958, McCarthy, rad sa listama; COBOL Prenosivost programa, čitljivost Novi korisnici, umrežavanje IBM
20
Generacije savremenih elektronskih računara III generacija (sredina 60-tih do sredina 70-tih)
Integrisana kola – silicijumski čip (mikročip) Poslovna primena Mejnfrejm računari, IBM Mini-računari, DEC – PDP, VAX memorija - silicijumski čip Telekomunikacioni sateliti Operativni sistemi – Unix 1972, Kovalski: Prolog – neproceduralan Algol 60 (60-tih g, J.Backus, P. Naur)
Algol W (1966, Wirth): poboljšano struktuiranje podataka Pascal (1971): dalja poboljšanja Modula 2 (1983): koncept modula (Wirth) Oberon (1988): Wirth
21
Generacije savremenih elektronskih računara
CPL (Strachy 1966) – Combined Programming Language: nije u potpunosti implementiran; uvodi koncepte
BCPL (Richards 1969): Basic CPL – za pisanje kompilatora
C 1972 – Dennis Ritchie – implementacioni jezik za softver vezan za operativni sistem UNIX (1973. prepisan u C)
1977 usavršen sistem tipova C-a
22
Generacije savremenih elektronskih računara IV generacija (sredina 70.tih – danas)
LSI, VLSI – visoko integrisana kola Mikroprocesor: memorija, logika i kontrolna kola 1971. prvi mikroprocesor Intel 4004 Personalni računari, npr. IBM PC, Apple Macintosh Poslovna i lična upotreba Operativni sistemi Microsoft – MS DOS, MS Windows / Mc
OS X Jezici IV generacije – 4GL - specijalne namene - za rad sa
bazama podataka, raširenim tabelama, obradu teksta Internet – teleizračunavanje; web; Google, Yahoo!; Tehnološka konvergencija – pametni telefoni, tableti
23
Generacije savremenih elektronskih računara
Povećanje brzine Smanjenje napona i potrošnje struje Smanjenje zagrevanja Smanjenje površine kola
24
Struktura savremenog računarskog sistema
Hardver Softver
25
Hardver Hardver: opipljive, fizičke komponente računara
Uređaji hardvera:
procesor (CPU): obrada podataka skladište podataka i programa: operativna memorija periferni uređaji:
ulazno/izlazni uređaji spoljašnja memorija
komunikacioni kanali: magistrale
26
CPU Obrada podataka Poluprovodnički (mikroprocesorski) čip; Murov zakon 1965.
(Gordon Mur, Intel: 4.3 milijarde tranzistora na čipu 2014.g.) Obradna jedinica: skup instrukcija Upravljačka jedinica
Dekoder operacije Instrukcije skoka, zaustavljenje
Registri opšte namene Širine 8, 16, 32, 64 bita
Registri specijalne namene Brzina: MIPS / FLOPS (10TFlops – 1012Flops - u 2014.) Arhitektura procesora Više jezgara (2, 4)
Uslužni programi (antivirus, štediša ekrana, drajveri, tekst editori...)
34
Funkcionisanje računarskog sistema Program na programskom jeziku Prevođenje Povezivanje sa drugim programskim celinama Donošenje u operativnu memoriju Izvršavanje: instrukcija po instrukcija
Sekvencijalna, serijska obrada Mašinski ciklus
1. faza: dekodiranje instrukcije i usmeravanje u procesorske registre (reg. adresa, reg. instrukcija)
2. faza: donose se podaci u registre podataka, ALJ izvršava operaciju, rezultat privremeno smešta u AK
Sledeća instrukcija, do instrukcije završetka Paralelna obrada