Treść książki
Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
JAKDZIAŁAJĄKOMPUTERY?
szejliczbykroków.Nowoczesneprocesorysąwstanierealizowaćwielezbiorówoperacji
(lubcykli)nasekundę-szybkośćichdziałaniamożnamierzyćtzw.taktowaniemzegara
procesora,dostarczającymmiarytego,ilecyklioperacjimożewykonaćprocesorwtrakcie
jednejsekundy.Naprzykładrdzeńprocesorataktowanegozegarem3GHzjestwstanie
wykonaćok.3miliardymnożeńnasekundę.Cowięcej,nowoczesnekomputeryzawierają
zazwyczajprocesorymającewielerdzeni,któremogąrównoleglewykonywaćwieleta-
kichoperacji.
Jakiegorodzajuoperacjesąrealizowaneprzezprocesor?Możnawyobrażaćsobie,że
przeprowadzaonnaprzykładsumowaniezleconeprzezużytkownika,którywprowadził
dane,używającodpowiedniegourządzeniawejściowego-możenimbyćklawiatura,
mysz,innykomputerzapośrednictwemsieciczyjeszczeinneurządzenie.Wynikoperacji
będziezkoleiwysłanydourządzeniawyjściowego-monitora,drukarki,innegokom-
puteraitp.Takasekwencjajestzbliżonadotego,corobikalkulator,komputeryjednakże
działająwtrochęinnysposób.Mianowicie,procesorwykonujesekwencjęoperacjizadaną
przezprogram.Toprogram"każe”procesorowipobraćdanewejściowezurządzeniawej-
ściowegolubzjakiegośwewnętrznegoźródła.Wynikoperacjijestnatomiastwysyłany
dourządzeniawyjściowegolubpewnegowewnętrznego"magazynu”
.Instrukcje,które
odpowiadajązatakąsekwencjęzdarzeń,sąsamewsobieoperacjaminabitachdanych.
"Wewnętrzne”magazynyzkoleimożnapodzielićnapamięćoperacyjnąipamięćmasową
(dyskitwarde,dyskiSSD),przyczympamięćoperacyjnakomunikujesięzprocesorem
wyraźnieszybciej,jednakjejzasobysąmniejsze.
Coumożliwiaprogramowizarządzanieprocesorem?Odpowiedzialnyzatojestsy-
stemoperacyjny,któryjestrodzajemsuperprogramuwykonywanegonakomputerze
przezcałyczas,odchwilijegowłączenia.Przetwarzaontedanezurządzeńwejściowych,
którepowodująuruchomieniekonkretnegoprogramu,zarządzaprocesoremwzakresie
wczytywaniainstrukcjiskładającychsięnatenprogramorazpowodujewykonanietych
instrukcjiprzezprocesor.
Jakjużpowiedziano,wchemiiobliczeniowejwiększośćprogramówmazazadanie
przeprowadzićpewneskomplikowaneobliczenia.Obliczeniatesąwyspecyfikowane
wsamymprogramielubpochodzązdodatkowychinstrukcjiwprowadzanychprzez
użytkownika-najczęściejzklawiaturylubinnegourządzeniawejściowego-alemogą
równieżznajdowaćsięwodrębnychplikachwejściowych.Najczęściejplikiwejściowe
składającesięztekstuiliczbsłużądozadaniaustawień,takichjakliczbairodzajatomów
wukładzie,początkowepołożeniaatomów,czyteżinnychszczegółowychparametrów
obliczeń.Pootrzymaniuwszystkichinformacjiwejściowychprogramuruchamiasię,wy-
konujeobliczeniaipodajeichwyniki.Zwyklekierowanesąonedoconajmniejjednego
plikuwyjściowego,zazwyczajocharakterzetekstowym,któryjestzapisywanywpamię-
cimasowejimożebyćpóźniejdrukowanylubprzeglądanyprzezużytkownika.Wwielu
przypadkachtworzeniedanychwejściowychianalizadanychwyjściowychmogąbyć
wspomaganeużyciemdodatkowegoprogramuprzetwarzającegodanewformietekstu
naichobrazgraficzny.Programtakijestnazywanygraficznyminterfejsemużytkownika
GUI(GraphicalUserInterface).Czasami,zwłaszczawprzypadkuprogramówkierowanych
domniejdoświadczonychużytkowników,interfejsgraficznyjestzintegrowanyzgłówną
częściąobliczeniowąwjedenwspólnyprogram.
Dowiększościobliczeńwykonywanychwchemiiobliczeniowejużywasięprogramów
napisanychprzezinnychnaukowców,którepozwalająprzełożyćabstrakcyjnyalgorytm
nakonkretnyciąginstrukcjiwykonywanychprzezprocesor.Programyteniemalzawsze
sąnapisanewjęzykuprogramowaniawysokiegopoziomu,takimjakFortran,C++czy
Python.Instrukcjezapisanewtychjęzykachmapująsięwnaturalnysposóbnazestaw
równańzawartychwteorii,któramabyćtestowana.Naprzykładmożemyzapisaćpolece-
nie,wktórymżądamywyznaczeniawartościfunkcjicosinusdlazestawukątów,przemno-
żeniakażdegozwynikówprzezpewnąstałąizapisaniaostatecznegorezultatuwpew-
nymobszarzepamięci(zmiennejtymczasowej),takabymożnabyłogoużyćpóźniej.Całą
tęsekwencjęmożnazapisaćjakopojedyncząinstrukcjęwpostaci"V=c*cos(theta)”
.Nie-
któreprogramymogąbyćwykonywanebezpośrednio-instrukcjewysokopoziomowe
sąnabieżącotłumaczone(przezpewiendodatkowyprogramzwanyinterpreterem)na
Algorytmwmatematyce
orazinformatycetoskończony,
uporządkowanyciągjasno
zdefiniowanychczynności,koniecznych
dowykonaniapewnegozadania.
3