Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
JAKDZIAŁAJĄKOMPUTERY?
szejliczbykroków.Nowoczesneprocesorywstanierealizować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.
Jakiegorodzajuoperacjerealizowaneprzezprocesor?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ń,samewsobieoperacjaminabitachdanych.
"Wewnętrzne”magazynyzkoleimożnapodzielićnapamięćoperacyjnąipamięćmasową
(dyskitwarde,dyskiSSD),przyczympamięćoperacyjnakomunikujesięzprocesorem
wyraźnieszybciej,jednakjejzasobymniejsze.
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.Obliczeniatewyspecyfikowane
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.Zwyklekierowaneonedoconajmniejjednego
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
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łą
sekwencjęmożnazapisaćjakopojedyncząinstrukcjęwpostaci"V=c*cos(theta)”
.Nie-
któreprogramymogąbyćwykonywanebezpośrednio-instrukcjewysokopoziomowe
nabieżącotłumaczone(przezpewiendodatkowyprogramzwanyinterpreterem)na
Algorytmwmatematyce
orazinformatycetoskończony,
uporządkowanyciągjasno
zdefiniowanychczynności,koniecznych
dowykonaniapewnegozadania.
3