
Uobičajeno je da se računalo se sastoji od najmanje jednog elementa za obradu , obično središnja procesorska jedinica (CPU), i neki oblik memorije . Element obrada obavlja aritmetičke i logičke operacije, a sekvenciranje i kontrolna jedinica može promijeniti redoslijed operacija kao odgovor na pohranjenim podacima . Periferni uređaji omogućuju da se informacije mogu preuzeti iz vanjskog izvora, a rezultat Prvi poznati korištenje riječi "računalo" je 1613. u knjizi pod nazivom Yong Mans pabirci engleske književnice Richard Braithwait: "Ja haue pročitao najvjerniji računalo puta, a najbolji aritmetičar tom euer disala, a on reduceth tvoje dayes u kratkom broju. " To upućuje na osobu koja provodi izračune ili računanja. Riječ je nastavio s istim značenjem do sredine 20. stoljeća. Od kraja 19. stoljeća riječ počeo da se na njegovu poznatiju smislu, stroj koji obavlja proračune. [1]
Povijest
Glavni članak: Povijest računalnog hardvera
Pre-dvadesetog stoljeća
Ishango kosti
Uređaji su korišteni za pomoć računanja tisućama godina, uglavnom koriste jedan-na-jedan korespondenciju s prstima . Najraniji brojanje Uređaj je vjerojatno oblik Tally štap . Kasnije vođenje evidencije pomagala tijekom Plodnom polumjeseca uključen calculi (glinene kuglice, kukova, itd) koji je predstavljen broji predmeta, vjerojatno stoke ili žitarica, zatvoreni u šuplje nepečenih glinenim posudama. [2] [3] Korištenje računajući šipke je jedan primjer.
Kineska Suanpan (算盘) (broj zastupljeni na ovoj abakus je 6302715408)
Abakus u početku je bio korišten za aritmetičkih zadataka. Roman Abacus je bio korišten u Babilonu već 2400 godina prije Krista. Od tada, mnogi drugi oblici obračuna ploča ili stolova su izmislili. U srednjovjekovnoj europskoj brojanje kući , Crno platno će biti stavljen na stol, i markeri preselio oko na njega u skladu s određenim pravilima, kao pomoć za izračunavanje sume novca.
Drevni grčki osmišljen mehanizam iz antikitere , koja datira između 150 i 100 godina prije Krista, je najstariji svjetski analogno računalo.
Mehanizam Antikythera se vjeruje da je najstariji mehanički analogni "računalo", u skladu s Derek J. de Solla Price . [4] To je bio dizajniran za izračunavanje astronomske pozicije. Otkriven je 1901. u Antikythera olupina off grčkom otoku Antikythera , između Kythera i Krete , te je datiran na oko 100 godina prije Krista. Uređaji za razinu složenosti može usporediti s onom mehanizmu Antikythera neće pojaviti sve dok se tisuću godina kasnije.
Mnogi mehaničkih pomagala za izračun i mjerenja su konstruirani za astronomski i navigacijske uporabu. Planisphere bila shema zvijezda izmislio Abū Rayhān al-Biruni u ranom 11. stoljeću. [5] Astrolab je izumljen u helenističkom svijetu u bilo 1. ili 2. stoljeća prije Krista, a često se pripisuje Hiparh . Kombinacija planisphere i dioptra je Astrolab je zapravo analogna računala sposobna za rad iz nekoliko različitih vrsta problema u sfernoj astronomiji . Jedan Astrolab koji uključuje mehaničko kalendar računala [6] [7] i reduktor -wheels je izumio Abi Bakr od Isfahan , Perzije u 1235. [8] Abū Rayhān al-Biruni je izumio prvu mehaničku usmjerena lunisolarnu kalendaru astrolab, [9] rano nepokretne žičani obradu poznavanje stroja [10] sa zupčanika i reduktora-kotača, [11] oko 1000 AD.
Sektor , računanje instrument za rješavanje problema u proporciji, trigonometrija, množenja i dijeljenja, te za razne funkcije, kao što su trgovi i kubni korijen, razvijen je u kasnom 16. stoljeću, a našli primjenu u artiljerija, izmjere i navigaciju.
Planimeter bio ručni instrument za izračunavanje površine zatvorenog lika traženjem preko nje sa mehaničkom vezom.
Pravilo slide
Šiber je izmišljen oko 1620-1630, nedugo nakon objavljivanja koncepta logaritma . To je ručni pogon analogno računalo za obavljanje množenje i dijeljenje. Kao što je razvoj šiber napredovala, dodao vage koje recipročnih, trgova i korijena, kocke i kocka korijena, kao i transcendentalna funkcija kao što su logaritmi i exponentials, kružne i hiperboličke trigonometrija i druge funkcije . Zrakoplovstvo je jedna od rijetkih područja u kojima logaritamska su još uvijek u širokoj uporabi, posebno za rješavanje problema vrijeme-udaljenost u svjetlu zrakoplova. Za spremanje prostora i radi lakšeg čitanja, to su obično kružne uređaji umjesto klasičnog linearnog šiber oblika. Popularna primjer je E6B .
U 1770-ih Pierre Jaquet-Droz , švicarski urar , izgrađen mehaničku lutku ( automata ) koji bi mogao napisati drži pero pero. Prebacivanjem na broj i redoslijed svojim unutarnjim kotača različitim slovima, a time i različite poruke, mogu biti proizvedena. U stvari, to bi mogao biti mehanički "programirani" pročitati upute. Zajedno s druga dva složenih strojeva, lutka je na Musée d'Art et d'Histoire od Neuchâtel , Švicarska , i još uvijek radi. [12]
Stroj plima-predviđanje izumio Sir William Thomson u 1872 bio je od velike korisnosti za plovidbu u plitkim vodama. Nekada je sustav kolotura i žica za automatski izračun predviđene razine plime na određeno vrijeme na određenoj lokaciji.
Diferencijalni analizator , mehanički analogno računalo dizajnirani za rješavanje diferencijalnih jednadžbi po integracije , koristiti mehanizme kotača i diskova za izvođenje integracije. Godine 1876. Lord Kelvin je već objašnjeno na moguću gradnju takvih kalkulatora, ali on je bio narušena ograničenim izlaznim momentom od ball-and-disk integratora . [13] U diferencijalni analizator, izlaz jednog integratora vozio unos sljedeći integrator, ili grafički izlaz. Moment pojačalo je bio unaprijed dozvoljeno da ovi strojevi za rad. Počevši od 1920, Vannevar Bush i drugi razvili mehanička diferencijala analizatora.
Prvi uređaj za računanje
Dio Babbage je diferencijalni stroj .
Charles Babbage , engleski inženjer strojarstva i Polymath , nastao koncept programirati računalo. Smatra " otac računala ", [14] je koncipiran i izumio prvi mehanički računalo u ranom 19. stoljeću. Nakon rada na svom revolucionarnom razlika motor , dizajniran za pomoć u navigacijskim proračunima, 1833. godine je shvatio da je mnogo više uopće dizajn, Analytical Engine , bio je to moguće. Unos programa i podataka je da se pod uvjetom da stroj putem bušena kartica , metoda koja se koristi u vrijeme usmjeriti mehaničkih tkalačkih stanova , kao što su Jacquard tkalački stan . Za izlaz, stroj će imati pisač, ploter krivulje i zvono. Uređaj će također biti u mogućnosti da bušiti brojeve na karticama treba čitati kasnije. Motor se dodati i aritmetička logička jedinica , kontrole toka u obliku uvjetnog grananja i petlje , te integriranu memoriju , što je prvi dizajn za opće namjene računalo koje bi se mogao opisati u suvremenim uvjetima kao i Turing-potpun . [15] [ 16]
Stroj je oko uoči jednog stoljeća svog vremena. Svi dijelovi za njegov stroj morao biti napravljen rukom - to je bio veliki problem za uređaj s tisućama dijelova. Na kraju, projekt se otopi s odlukom britanske vlade da se ukine financiranje. Babbage je neuspjeh završiti analitički stroj može uglavnom pripisati teškoće ne samo politike i financiranja, ali i njegovu želju da se razvije sve veću sofisticirani računalo i da se krene naprijed brže nego što je itko drugi mogao slijediti. Ipak, njegov sin, Henry Babbage, završio pojednostavljena verzija analitički stroj računalnom jedinicom (mlina) u 1888. On je dao uspješnu demonstraciju njegove uporabe u računalnim tablicama 1906. godine.
Analogna računala
Sir William Thomson je treći plima-predviđanje stroj dizajn, 1879-1881
Tijekom prve polovice 20. stoljeća, mnogi znanstveni računalne potrebe zadovoljilo je sve sofisticiranije analognih računala , koja koriste izravni mehanički ili električni model problema kao osnovu za računanje . Međutim, to nisu bili programirani i općenito nedostajalo svestranost i točnost suvremenih digitalnih računala. [17]
Prvi moderni analogni računalo je stroj plima-predviđanju , izumio Sir William Thomson u 1872. diferencijalni analizator , mehanički analogno računalo dizajnirani za rješavanje diferencijalnih jednadžbi integracijom pomoću mehanizama kotača i diskova, bio je koncipiran u 1876 by James Thomson , brat poznatijih Lord Kelvin. [13]
Umijeće mehaničke analogni računalstva dosegla svoj vrhunac s diferencijalni analizator , izgrađen od strane HL Hazen i Vannevar Bush na MIT-u početkom 1927. Ova izgrađen na mehaničkih integratora od Jamesa Thomsona i pojačala momenta izumio HW Nieman. Desetak tih uređaja su izgrađene prije njihova zastarijevanje postao očit.
Do 1950-ih, uspjeh digitalnih elektroničkih računala su napisane kraj za većinu analognih računalnih strojeva, a analogni računala ostaje u upotrebi u nekim specijaliziranim aplikacijama kao što su obrazovanje ( sustav kontrole ) i zrakoplova ( šiber ).
Digitalni Računala
elektromehanički
Do 1938. godine Ratna mornarica SAD je razvio elektromehanički analogni računalo dovoljno mali za korištenje na brodu podmornice . To je bio Torpedo Podaci računala , koja koriste trigonometrijom riješiti problem ispaljenog torpeda na pokretnu metu. Tijekom Drugog svjetskog rata slični uređaji razvijeni su u drugim zemljama.
Replika Zuse je Z3 , prvi potpuno automatski, digitalno (elektromehaničke) računala.
Rani digitalna računala su elektromehanički; električni prekidači vozio mehaničkih releji za obavljanje izračuna. Ovi uređaji imali su nisku radnu brzinu i na kraju su prethodile su puno brže sve-električnih računala, izvorno pomoću vakuum cijevi . Z2 , koju je izradio njemački inženjer Konrad Zuse 1939., bio je jedan od prvih primjera u elektromehaničke releja računalu. [18]
Godine 1941. Zuse slijedio svoju raniju stroj se s Z3 , prvi svjetski radnog elektromehaničke programirati , potpuno automatski digitalno računalo. [19] [20] Z3 je građena 2000 releji , provedbu 22 bita duljine riječi koje su radile na sat frekvencija od oko 5-10 Hz . [21] program za broj je isporučen na bušena filmu dok se podaci mogu biti pohranjeni u 64 riječi memoriju ili isporučuje s tipkovnice. Bilo je dosta sličan modernim strojevima, u nekim aspektima, pionirski brojne napretke poput plutajućih brojeva točaka . Zamjena decimalnog sustava teško za implementaciju (koristi se za Charles Babbage 's ranijim dizajnom) od strane jednostavniji binarnom sustavu značilo da Zusea strojevi su lakše graditi i potencijalno više pouzdan, s obzirom na dostupne tehnologije u to vrijeme. [22] Z3 je Turingov završena . [23] [24]
Vakuumske cijevi i digitalni elektronički sklopovi
Čisto elektronički sklop elemenata uskoro zamijeniti svoje mehaničke i elektromehaničkih ekvivalente, u isto vrijeme da je digitalna izračun zamijenio analogni. Inženjer Tommy Flowers , radi na Office Research Station Post u Londonu u 1930-ih, počela je istraživati moguće korištenje elektronike za telefonsku centralu . Eksperimentalni oprema koja je izgrađena 1934. godine otišao u pogon 5 godina kasnije, pretvaranje dijela telefonske centrale mreže u elektronički sustav za obradu podataka, koristeći se tisućama vakuumskih cijevi . [17] U SAD-u, John Vincent Atanasoff i Clifford E. Berry od Iowa State University razvili i testirali Atanasoff-Berry Computer (ABC) u 1942, [25] prvi "automatsko elektroničko digitalno računalo". [26] Ovaj dizajn je također potpuno elektronski i korišten oko 300 vakuumskih cijevi, s kondenzatorima fiksnim u mehanički rotirajući bubanj za pamćenje. [27]
Colossus je prvi elektronički digitalni programabilni računalni uređaj, a korišten je razbiti njemačke šifre za vrijeme Drugog svjetskog rata.
Tijekom Drugog svjetskog rata, Britanci su u Bletchley Park ostvarila niz uspjeha na razbijanje šifriranih njemačke vojne komunikacije. Njemački šifriranje rublja, Enigma , prvi put je napadnut uz pomoć elektro-mehaničkih bombes . Ispucati sofisticiranije njemački Lorenz SZ 40/42 stroj koji služi za komunikaciju vojske na visokoj razini, Max Newman i njegovi kolege naručila cvijeće za izgradnju Colossus . [27] On je proveo jedanaest mjeseci od početka veljače 1943. godine za projektiranje i izgradnju prve Colossus . [28] Nakon što je funkcionalni test u prosincu 1943, Kolos je bio transportiran u Bletchley Park, gdje je dostavljena 18. siječnja 1944 [29] i napao svoju prvu poruku na 5. veljače. [27]
Colossus je prvi svjetski elektronski digitalni programabilni računalu. [17] To se koristi veliki broj ventila (vakuumske cijevi). Imao je ulaz papira traku i bio je u stanju biti konfiguriran za obavljanje raznih Boolean logičkih operacija na svojim podacima, ali to nije bio Turingov-kompletan . Devet Mk II Kolosa grade (Mk sam pretvoren u Mk II što je deset strojeva u ukupno). Colossus Mark I sadržana 1500 termionska ventile (cijevi), ali Mark II s 2400 ventilima, bio je i 5 puta brže i jednostavnije raditi nego Marku 1, uvelike ubrzava proces dekodiranja. [30] [31]
ENIAC je bio prvi Turing-kompletan uređaj, a izvodi balistički izračune putanju za United States Army .
Američko-izgrađen ENIAC [32] (Electronic Numerical Integrator i računarstva) bio je prvi elektronski programirati računalo izgrađen u SAD-u. Iako je ENIAC je bio sličan Colossus je bio puno brži i fleksibilniji. Poput Colossus, "programirano" na ENIAC je bio definiran stanjima svojih patch kablova i prekidača, daleko od pohranjuju programa elektroničkih strojeva koji su došli kasnije. Nakon što je program je napisan, to je morao biti mehanički postavljen u stroj s ručnim ponovnim utikači i prekidači.
To u kombinaciji visoka brzina elektronike sa mogućnošću da se programirati za mnoge složene probleme. To može dodati ili oduzeti 5000 puta u sekundi, tisuću puta brže od bilo kojeg drugog stroja. Također je imao modula na množenje, dijeljenje, i korijen. Visoka brzina memorije bila je ograničena na 20 riječi (80 bajta). Izgrađen pod vodstvom John Mauchly i J. Presper Eckert na University of Pennsylvania, ENIAC je razvoj i izgradnja je trajala od 1943. do punom pogonu krajem 1945. Stroj je bio ogroman, težak 30 tona, po 200 kilovata električne energije i sadrži više od 18.000 vakuumskih cijevi, 1,500 releja, a stotine tisuća otpornika, kondenzatora i prigušnice. [33]
Moderna računala
Koncept modernog računala
Princip moderno računalo je predložio Alan Turing , u svojoj poticajnoj 1936 papir, [34] Na izračunljivi brojeve. Turing predložio je jednostavan uređaj koji je nazvao "Univerzalni stroj za računanje", koja je kasnije poznat kao univerzalni Turingov stroj . On je dokazao da je takav stroj je sposoban za računanje sve što je izračunljivi obavljanjem upute (program) koji su pohranjeni na vrpci, čime je stroj se može programirati.
Temeljni koncept Turingov dizajna pohranjena programa , u kojem je pohranjena cjelokupna nastava za računanje u memoriji.
Von Neumann je priznao da je središnji koncept modernog računala je zbog ovog rada. [35] Turing strojevi su do danas centralni predmet istraživanja u teoriji računanja . Osim ograničenja nametnutih od strane njihovih konačnih memorijskih trgovinama, moderna računala se kaže da su Turing-potpun , što će reći, oni imaju algoritam izvršenje sposobnosti ekvivalentan je univerzalni Turingov stroj .
spremljeni programi
Tri Visoka stalci sadrže elektroničke sklopove
U dijelu ssem , prvi pohranjeni-programa računalo.
Rani računalni strojevi su fiksne programe. Promjena svoju funkciju zahtijevalo ponovno ožičenje i re-strukturiranje stroja. [27] Uz prijedlog pohranjuju-računalni program se to promijenilo. Spremljena-računalni program uključuje po dizajnu je skup instrukcija i može pohraniti u memoriju skup uputa (a programa ) koji pojedinosti na računanje . Teoretska osnova za pohranjene-računalni program postavio je Alan Turing u svojoj 1936 papir. Godine 1945. Turing pridružio Nacionalni Laboratorij za fizikalnu i počeo raditi na razvijanju elektronski pohranjene-programa digitalno računalo. Njegovo 1945 izvještaj "Predložene Elektronički Kalkulator 'bio je prvi specifikacija za takav uređaj. John von Neumann na Sveučilištu u Pennsylvaniji i cirkulira svoj prvi nacrt izvješća o EDVAC 1945. [17]
Ferranti Mark 1 , c. 1951.
Ssem, nadimak Baby je prvi svjetski pohranjuju-računalni program . Izgrađena je na Victoria University of Manchester strane Frederic C. Williams , Tom Kilburn i Geoff Tootill , a vodio je svoj prvi program na 21. lipnja 1948. [36] To je bio zamišljen kao ispitnog stola za cijevi Williams prva izravnog pristupa digitalnim uređaj za pohranu. [37] Iako se računalo se smatra "mali i primitivni" prema standardima svog vremena, to je bio prvi radni stroj da sadrži sve elemente bitne za suvremenog elektroničkog računala. [38] čim SSEM pokazala je opravdanost njenog dizajna, projekt je pokrenut na sveučilištu ga razviti u više iskoristive računala, Manchester Mark 1 .
Mark 1 pak brzo postao prototip za Ferranti Mark 1 , prvi svjetski komercijalno dostupan za opće namjene računalo. [39] Izgrađen Ferranti , to je dostavljen Sveučilištu u Manchesteru u veljači 1951. Najmanje sedam od njih kasnije strojevi su isporučeni između 1953. i 1957. godine, jedan od njih do shell laboratorija u Amsterdamu . [40] U listopadu 1947., direktori britanski ugostiteljstvo tvrtke J. Lyons & Company odlučila preuzeti aktivnu ulogu u promicanju komercijalni razvoj računala. LEO sam računala počela je s radom u travnju 1951. [41] i vodio prvi svjetski redovite rutinske uredski računalni posao .
tranzistori
Bipolarni spojni tranzistor
Bipolarni tranzistor je izumio u 1947. Od 1955. pa nadalje tranzistori zamijeniti vakuumske cijevi u računalnim dizajna, čime se popeti na "druge generacije" računala. U usporedbi s vakuumskih cijevi, tranzistori imaju mnoge prednosti: oni su manji, i zahtijevaju manje energije od vakuumskih cijevi, tako ispuštati manje topline. Silicij spojne tranzistori su mnogo pouzdanijim od vakuumskih cijevi i imao duži, neograničeni, vijek trajanja. Transistorized računala mogu sadržavati desetke tisuća binarnih logičkih sklopova u relativno kompaktnom prostoru.
Na Sveučilištu u Manchesteru , tim pod vodstvom Tom Kilburn projektiran i izgrađen stroj pomoću Novorazvijeni tranzistora umjesto ventila. [42] Njihov prvi transistorised računalo i prvi na svijetu, bio operativan do 1953. godine , a drugi verzija je tamo završio u travnju 1955. No, stroj je iskoristiti ventila za generiranje i 125 kHz sat valnih oblika iu krugovima čitati i pisati na svom magnetskom memorije bubnja , tako da nije bio prvi potpuno transistorized računalo. To razlikovanje ide na Harwellu CADET 1955, [43] izgradili podjele elektronikom na atomsku energiju Research Establishment na Harwellu . [43] [44]
Integrirani krugovi
Sljedeći veliki napredak u računalnu snagu došao s pojavom integrirani krug . Ideja o integriranom krugu prvi osmislio je radarski znanstvenik radi za Royal Radar osnivanju od Ministarstva obrane , Geoffrey WA Dummer . Dummer predstavila prvu javnu opis integrirani krug na simpoziju o napretku u kvaliteti elektroničkih komponenti u Washingtonu, DC , 7. svibnja 1952. [45]
Prvi praktični ICS su izmislili Jack Kilby na Texas Instruments i Robert Noyce na Fairchild Semiconductor . [46] Kilby bilježi svoje početne ideje u vezi integriranog kruga u srpnju 1958. godine, uspješno pokazujući prvi radni integrirani primjer 12. rujna 1958. [47] u svojoj prijavi patenta od 6. veljače 1959. godine, Kilby opisao svoj novi uređaj kao "tijelo poluvodičkog materijala ... gdje su sve komponente elektronički sklop u potpunosti integrirani". [48] [49] Noyce i došao do njegova ideja integrirani krug pola godine kasnije nego Kilby. [50] Njegovo čip riješio mnoge praktične probleme koji Kilby a nije. Proizvedeno u Fairchild Semiconductor, to je bio napravljen od silicija , dok Kilby je čip je napravljen od germanija .
Ovaj novi razvoj slavi eksploziju u komercijalne i osobne potrebe računala i dovelo do izuma u mikroprocesora . Dok predmet koji točno uređaj bio prvi mikroprocesor je sporno, djelomice zbog nedostatka sporazuma o točnom definiranju pojma "mikroprocesora", to uglavnom nije sporno da je prvi single-chip mikroprocesor bio je Intel 4004, [51] osmišljen i ostvaren je Ted Hoff , Federico Faggin i Stanley Mazor na Intel . [52]
Mobilna računala postala dominantna
Uz nastavak minijaturizacije računalnih resursa, te napredak u prijenosnom trajanja baterije, prijenosna računala rastao u popularnosti u 2000-ima. [53] Isti događaji koji potaknuli rast prijenosnim računalima i drugim prijenosnim računalima dopustiti proizvođačima da se integriraju računalnih resursa u mobitelima , Ti takozvani smartphone i tablete izvoditi na različitim operativnim sustavima, te su postali dominantna računalni uređaj na tržištu, s proizvođačima izvješćivanja što dostavljaju se procjenjuje 237 milijuna uređaja u 2. kvartalu 2013. godine [54]
Programi
Definiranje karakteristika modernih računala koja ih razlikuje od svih ostalih strojeva je da se mogu programirati . To će reći da su neke vrste upute (u programu ) može se dati na računalo, i to će ih obraditi. Moderna računala na temelju Von Neumannova arhitektura često imaju stroj kod u obliku imperativnog programskog jezika .
U praktičnom smislu, računalni program može biti samo nekoliko uputa ili proširiti na više milijuna instrukcija, kao i programe za riječ procesora i web preglednicima , na primjer. Tipičan moderni računalo može izvršiti milijarde upute po sekundi ( gigaflops ) i rijetko pogriješi tijekom mnogih godina rada. Veliki računalni programi koji se sastoje od nekoliko milijuna uputa može potrajati timova programera godina pisati, a zbog složenosti zadatka gotovo sigurno sadrži pogreške.
Pohranjeno Program arhitektura
Glavni članci: Računalni program i Računalno programiranje
Replika iz manjih razmjera Experimental Machine (SSEM), prvi svjetski pohranjuju-računalni program , u Muzeju znanosti i industrije u Manchesteru u Engleskoj
Ovaj dio se odnosi na većinu zajedničkog RAM strojeva based računala.
U većini slučajeva, računalni upute su jednostavne: dodati jedan broj u drugu, premjestiti neke podatke s jednog mjesta na drugo, poslati poruku na neki vanjski uređaj, itd Ove upute su pročitali iz računala memorije i općenito provode ( izvršen ) redoslijedom kojim su dobili. Međutim, tu su obično specijalizirani Upute za reći računalo za skok naprijed ili natrag na neko drugo mjesto u programu i da nose na izvršavanje od tamo. One se nazivaju "skočiti" upute (ili grane ). Nadalje, upute skok može se događati uvjetno , tako da različite sekvence upute mogu se koristiti ovisno o rezultatu nekog prethodnog obračuna ili neki vanjski događaj. Mnoga računala izravno podupiru potprograme pružajući vrstu skoka da "pamti" mjesto je skočio s, a drugi naputak da se vrate u uputi nakon tog skoka instrukcija.
Izvršenje programa može se usporediti s čitajući knjigu. Dok osoba će normalno pročitati svaku riječ i liniju u nizu, mogu s vremena na vrijeme skočiti natrag na ranije mjesto u tekstu ili preskakanje dijelova koji nisu od interesa. Isto tako, računalo se možda ponekad vratiti i ponoviti upute u nekom dijelu programa iznova i iznova dok neki unutarnji uvjet ispunjen. To se zove protok kontrole u okviru programa i to je ono što omogućuje računalu za obavljanje poslova u više navrata bez ljudske intervencije.
Za usporedbu, osoba koja koristi džepni kalkulator može izvesti osnovne operacije aritmetičke kao što je dodavanje dva broja sa samo nekoliko gumb preše. No, dodati zajedno sve brojeve od 1 do 1000 bi tisuće gumb preše i puno vremena, sa blizu sigurnošću pogrešku. S druge strane, računalo može biti programiran da to učiniti sa samo nekoliko jednostavnih uputa. Slijedeći primjer je napisano u MIPS asemblerskom jeziku :
početi:
Osim to $ 8, $ 0, 0 # inicijalizirati sumu 0
pret $ 9 $ 0, 1 # postavljen prvi broj dodati = 1
petlja:
slti $ 10, $ 9, 1000 # ček ako je broj manji od 1000
beq $ 10, $ 0, cilj # Ako neparan broj veći od N, onda izlaz
dodaj $ 8, $ 8, 9 $ # ažuriranje zbroj
Osim to 9 $, $ 9 1 # dobili sljedeći broj
j petlje # ponoviti postupak sažimajući
Završi:
dodaj $ 2, $ 8, $ 0 # staviti iznos u izlazni registar
Nakon što je rekao da pokrenete ovaj program, računalo će se obaviti ponavljaju dodatak zadatak bez daljnjeg ljudske intervencije. To će se gotovo nikad ne pogriješite i moderno računalo može obaviti zadatak u djeliću sekunde.
strojni kod
U većini računala, pojedinačne upute su pohranjene kao strojni kod sa svakim nastava se daje jedinstveni broj (njegov rad kod ili opcode za kratko). Naredba dodati dva broja zajedno će imati jednu opcode; naredba da ih umnožiti će imati drugačiji opcode, i tako dalje. Najjednostavniji računala su u stanju izvesti bilo koji od nekoliko različitih uputa; složeniji računala imaju nekoliko stotina za izabrati iz, svaki s jedinstvenim numeričkim kodom. Od memoriji računala je u mogućnosti pohraniti brojeve, to također može pohraniti pouku kodove. To dovodi do važnu činjenicu da cijeli program (koji su samo popisi ove upute) mogu se prikazati kao lista brojeva i sami se može manipulirati u unutrašnjosti računala na isti način kao i numeričkih podataka. Temeljni koncept pohranjivanja programa u memoriji računala Uz podatke koje djeluju na je poanta von Neumann, ili spremljeni program [ citat potreban ], arhitektura.U nekim slučajevima, računalo može pohraniti neke ili sve od svog programa u memoriji koja se čuva odvojeno od podataka koje djeluje na. To se zove arhitektura Harvard nakon Harvard Mark I računalo. Moderna von Neumann računala prikazati neke osobine Harvard arhitektura u svojim dizajnom, kao što je u CPU sprema .
Iako je moguće da se pisanje računalnih programa, kao što dugog popisa brojeva ( strojni jezik ) i dok je ova tehnika se koristi u mnogim ranim računalima, [55] to je vrlo zahtjevan i potencijalno pogreške skloni učiniti u praksi, pogotovo za komplicirane programe , Umjesto toga, svaka osnovna poduka može se dati kratak naziv koji govori o njegovoj funkciji i lako zapamtiti - u Mnemonica kao što su dodavanje, SUB, mult ili skočiti. Ove mnemotehnika kolektivno su poznati kao računalo u asemblerskom jeziku . Pretvaranje programe napisane u asemblerskom jeziku u nešto računalo zapravo može razumjeti (strojni jezik) se obično radi pomoću računalnog programa zove monter.
1970 bušena kartica koja sadrži jednu liniju iz FORTRAN programa. Kartica glasi: "Z (1) = Y + W (1)" i oznakom "PROJ039" u svrhu identifikacije.
Programski jezik
Glavni članak: programski jezik
Programski jezici pružaju različite načine određivanja programa za računala za pokretanje. Za razliku od prirodnih jezika , programski jezici su dizajnirani kako bi se omogućilo nema dvosmislenosti i da bude koncizan. Oni su isključivo pisane jezike i često je teško čitati naglas. Oni su općenito ili prevedena na strojni kod sa prevodilac ili monter prije nego što je trčanje ili prevedeno izravno na vrijeme izvođenja pomoću prevodioca . Ponekad programi izvršavaju hibridni metodi dvije tehnike.
Low-level jezici
Glavni članak: programski jezik niske razine
Strojni jezici i Skupštine jezici koji ih predstavljaju (kolektivno nazivaju low-level programskih jezika ) imaju tendenciju da budu jedinstveni za određenu vrstu računala. Na primjer, ARM arhitekture računala (kao što se može naći u PDA ili ručni video igre ) ne razumije jezik stroja nekog Intel Pentium ili AMD Athlon 64 računala koji bi mogli biti u PC-u . [56]
Na visokoj razini jezika / Treća generacija Language
Glavni članak: programski jezik visoke razine
Iako je znatno lakše nego u strojni jezik, pisanje dugih programa u asemblerskom jeziku često je teško, a također je pogreške skloni. Stoga, najpraktičniji su programi napisani u apstraktne višim programskim jezicima koji su u mogućnosti izraziti potrebe programer više povoljno (i na taj način pomoći u smanjenju programer pogrešku). Visoka razina jezici su obično "sastavljen" u strojni jezik (ili ponekad u asemblerskom jeziku, a zatim u strojni jezik) koristi drugi računalni program se zove prevodilac . [57] na visokoj razini jezici su manje vezani djelovanju ciljnog računala nego asemblerskom jeziku i više odnosi na jeziku i strukturi problema (s) riješit će se konačnom programu. Stoga je često moguće koristiti različite prevodioce za prijevod isti program na visokoj razini jezika u strojni jezik mnogih različitih vrsta računala. To je dio načina na koji softver poput video igre mogu biti na raspolaganju za različite računalne arhitekture, kao što su osobna računala i razne konzole za video igre .
Četvrta generacija jezici
Ove 4G jezici su manje proceduralne nego 3G jezika. Korist 4GL je da pruža načina za dobivanje informacija bez potrebe za izravnu pomoć od programera. Primjer 4GL je SQL.
izrada programa
Ovaj odjeljak ne navode nikakve izvore . Molim pomoć poboljšati ovaj odjeljak dodavanjem citata na pouzdane izvore . Unsourced materijala svibanj biti izazvan i uklonjen . (Srpanj 2012) ( Saznajte kako i kada ukloniti ovaj predložak poruku )
Program za projektiranje malih programa je relativno jednostavan i uključuje analizu problema, prikupljanje inputa, koristeći programske konstrukte u jezicima, osmišljavanje ili upotrebom poznatih postupaka i algoritama, pružajući podatke za izlaznih uređaja i rješenja za problem kao što je primjenjivo. Kao problemi postaju veći i složeniji, značajke kao što su potprogrami, modula formalne dokumentacije, te nove paradigme kao što su objektno orijentiranog programiranja su naišli. Veliki programi uključuju tisuće linija koda i više zahtijevaju formalne softvera metodologija. Zadaća razvoja velikih programskih sustava predstavlja značajan intelektualni izazov. Izrada softvera s prihvatljivo visokom pouzdanošću u predvidiv raspored i proračun povijesno je teško; akademska i profesionalna disciplina programsko inženjerstvo usredotočuje isključivo na ovaj izazov.
Nedostaci
Glavni članak: Software bug
Stvarni prvo računalo bug, moljac pronađen zarobljen na relej od Harvard Mark II računalu
Pogreške u računalne programe nazivaju " bube ". Oni mogu biti benigni i ne utječe na korisnost programa, ili su samo suptilne učinke. No, u nekim slučajevima, oni mogu uzrokovati program ili cijeli sustav " objesiti ", postaje ne reagira na ulazu, kao što su miš klikova ili tipke, da se u potpunosti ne uspijevaju, ili srušiti . Inače benigni bube ponekad se iskoristiti za zlonamjernost od strane beskrupuloznih korisnika koji piše iskorištavati , kod osmišljen kako iskoristiti bug i poremetiti pravilno izvođenje s računala. Nedostaci su obično nije kriv računala. Od računala samo izvršavati upute su dane, greške su gotovo uvijek posljedica programer pogreške ili propusta napravio u dizajnu programa. [58]
Admiral Grace Hopper , američki računalni znanstvenik i razvijen od prvog prevodilac , zaslužan je za to što je prvi upotrijebio pojam "greške" u računalstvu nakon mrtav moljac pronađen kratki spoj releja na Harvard Mark II računalu u rujnu 1947. [59]
Komponente
Glavni članci: Centralna procesorska jedinica i Mikroprocesor
File: Računalo Components.webm
Video pokazuje standardne komponente "tanak" računalo
Opće namjene računalo ima četiri glavne komponente: aritmetička logička jedinica (ALU), gdje regulaciji je memorije , te ulaznih i izlaznih uređaja (skupno nazivaju I / O). Ovi dijelovi su povezani autobusima , često su od skupina žica .
Unutar svakog od tih dijelova tisuće do bilijuna malih električnih krugova koji se može uključiti ili isključiti pomoću elektroničkog prekidača . Svaki krug predstavlja malo (binarna znamenka) informacija, tako da kada je strujni krug na njemu predstavlja "1", a kad off predstavlja "0" (u pozitivnom logike reprezentacije). Krugovi su raspoređeni u logičkih vrata , tako da su jedan ili više sklopova može kontrolirati stanje jedna ili više ostalih sklopova.
Kontrolna jedinica
Glavni članci: CPU dizajn i upravljačka jedinica
Dijagram pokazuje kako se određeni MIPS arhitekturi nastava će se dekodirati pomoću kontrolnog sistema
Kontrolna jedinica (često se naziva upravljački sustav ili centralni kontroler) upravlja računala različitih komponenti; ona čita i tumači (dekodira) upute programa, pretvarajući ih u upravljačke signale koji aktiviraju druge dijelove računala. [60] Kontrolni sustavi u naprednim računala može promijeniti redoslijed izvršenja neke upute za poboljšanje performansi.
Ključna komponenta zajednička svim procesora je program za brojač , posebna memorija stanica (a registar ) koji prati kojoj lokaciji u memoriji sljedeći naputak je da se čitati iz. [61]
Funkcija sustava kontrole bio je kako slijedi-napomenuti da je ovo pojednostavljeni opis, a neke od tih koraka se može izvoditi istovremeno ili u različitim redoslijedom, ovisno o vrsti CPU:
Pročitajte kod za sljedeću pouku iz stanice naznačenog programa pulta.
Dekodirati brojčana oznaka za pouku u skup naredbi ili signala za svaku od ostalih sustava.
Povećajte programa brojač tako da upućuje na sljedeću pouku.
Pročitajte sve što podaci naputak zahtijeva od stanica u memoriji (ili možda iz ulaznim uređajem). Položaj ovog potrebnih podataka obično se pohranjuju u uputama koda.
Pružiti potrebne podatke na ALU ili se registrirajte.
Ako je nastava zahtijeva ALU ili specijalizirani hardver za dovršetak, uputiti hardver za obavljanje traženu operaciju.
Napišite rezultat od ALU natrag u memoriju ili upisnik ili možda izlazni uređaj.
Skoči natrag na korak (1).
Budući da je program brojač (pojmovno) samo još jedan skup memorijskih stanica, može se mijenjati po izračunima učinjeno u ALU. Dodavanje 100 do programa šalter bi uzrokovati sljedeća instrukcija treba čitati iz mjesta 100 mjesta niže na programu. Upute kako modificirati program brojač često su poznati kao "skokova" i dopuštaju petlje (upute koje se ponavljaju od strane računala) i često uvjetno izvršavanje uputa (oba su primjera kontrolu toka ).
Slijed operacija koja kontrolna jedinica ide kroz obraditi naputak je u sebi kao kratki računalni program, i doista, u nekim složenijim CPU dizajna, postoji još jedan još manji računalo naziva microsequencer , koji vodi mikrokodna program koji uzrokuje sve te događaje dogoditi.
središnja procesorska jedinica (CPU)
Kontrolna jedinica, ALU i registri kolektivno su poznati kao središnje jedinice za obradu (CPU). Rani CPU se sastoji od mnogih odvojene komponente, ali je od sredine 1970-ih CPU obično su izgrađeni na jedan integrirani krug naziva mikroprocesor .
Aritmetička logička jedinica (ALU)
Glavni članak: Aritmetički logička jedinica
ALU je sposoban za obavljanje dvije klase poslovanja. Aritmetičke i logičke [62]
Skup aritmetičkih operacija da se određeni ALU potpore mogu biti ograničene na zbrajanje i oduzimanje, ili možda uključuje množenje, dijeljenje, trigonometrija funkcije kao što su sinus, kosinusu i tako dalje, i kvadratnih korijena . Neki mogu djelovati samo na cijelim brojevima ( cijeli brojevi ), dok drugi koriste pomičnim zarezom za zastupanje realne brojeve , ali s ograničenim preciznošću. Međutim, bilo koje računalo koje je sposoban za obavljanje samo najjednostavnije operacije može se programirati za razbiti složenije operacije u jednostavnih koraka da se može obavljati. Stoga, bilo koji računalo može se programirati za obavljanje bilo računske operacije-iako će trebati više vremena za to ako je njegova ALU izravno ne podržava operaciju. Jedan Alu također može usporediti brojeve i povratak Booleove vrijednosti istinu (istina ili laž), ovisno o tome da li je netko jednak, veći ili manji od drugoga ( "64 veći od 65?").
Logika operacije uključuju Booleova logika : I , ILI , XOR , i NE . To može biti korisno za stvaranje složenih uvjetne naredbe i obradu Booleova logika .
Superscalar računala može sadržavati višestruke ALUs, dopuštajući im da se obraditi nekoliko uputa istovremeno. [63] grafičkih procesora i računala sa SIMD i MIMD ima često sadrže ALUs koja može izvesti aritmetiku na vektorima i matricama .
Memorija
Glavni članak: Računalo za pohranu podataka
Magnetska jezgra memorija je bila u memoriji računala izbora tijekom 1960-ih, dok je bio zamijenjen poluvodiča memorije.
memoriju računala može se promatrati kao popis stanica u kojima se brojevi mogu biti postavljeni ili čitaju. Svaka stanica ima numerirani "adresu" i može pohraniti samo jedan broj. Računalo može biti upućen na "staviti broj 123 u stanicu brojevima 1357" ili "dodati broj koji se nalazi u ćeliji 1357 na broj koji je u ćeliji 2468 i stavi odgovor u ćeliji 1595." Podaci pohranjeni u memoriji može predstavljati praktički ništa. Slova, brojeva, čak i računalne upute mogu se staviti u memoriju s jednakom lakoćom. Budući da se CPU ne pravi razliku između različitih vrsta informacija, to je softver je odgovornost dati značaj onome što je memorija vidi kao ništa, ali niz brojeva.
U gotovo svim modernim računalima, svaka memorijska ćelija je postavljen za pohranu binarne brojeve u grupama od osam bitova (naziva bajt ). Svaki bajt može predstavljati 256 različitih brojeva (2 8 = 256); ili od 0 do 255 ili -128 do +127. Za pohranu veće brojeve, nekoliko uzastopnih bajtova mogu se koristiti (obično dvije, četiri ili osam). Kada su potrebni negativni brojevi, oni su obično pohranjeni u dva komplement zapis. Ostali dogovori su mogući, ali se obično ne vidi izvan specijaliziranih aplikacija ili povijesnim kontekstima. Računalo može pohraniti bilo kakve informacije u memoriji, ako ga se može prikazati numerički. Moderna računala imaju milijarde ili čak bilijuna bajtova memorije.
CPU sadrži poseban skup memorijskih stanica se zove knjige koje se mogu čitati i zapisuju na mnogo brže od glavne memorije području. Tu su obično između dva i sto registrira ovisno o vrsti CPU. Snima se koriste za najčešće potrebnih pojedinih podataka kako bi izbjegli za pristup glavnu memoriju svaki podaci put je potreban. Kako se podaci stalno radili, čime se smanjuje potreba za pristup glavnu memoriju (koja je često sporo u odnosu na ALU i kontrolne jedinice) uvelike povećava brzinu računala.
Računalo glavna memorija dolazi u dvije osnovne vrste:
memorija izravnog pristupa ili RAM
memorija samo za čitanje ili ROM
RAM se može pročitati i zapisati na bilo kada je CPU to zapovijeda, ali ROM je učitan unaprijed s podacima i softverom koji nikada ne mijenja, dakle, CPU može čitati samo s njim. ROM se obično koristi za pohranu prvog puštanja u uputama računala. Općenito, sadržaj RAM-a brišu se kada je napajanje na računalo isključeno, ali ROM zadržava svoje podatke na neodređeno vrijeme. U PC-u, ROM sadrži specijalizirani program pod nazivom BIOS koji orkestrira učitava računala operativni sustav s tvrdog diska u RAM-a kad god je računalo uključeno ili poništiti. U ugrađenih računala , koje često nemaju diskova, svi potreban softver može biti pohranjen u ROM-u. Softver pohranjen u ROM-u se često naziva firmware , jer je teorijski više kao hardver nego softver. Flash memorija zamućuje razliku između ROM i RAM-a, kao što zadržava podatke kada isključen, ali je također višestruko snimanje. To je obično mnogo sporije od običnog ROM i RAM-a, međutim, tako da je njegova upotreba ograničena na aplikacije gdje je visoka brzina je nepotrebno. [64]
U sofisticiranije računala može biti jedan ili više RAM predmemorija sjećanja , koji su sporiji od registara, ali brže od glavne memorije. Općenito računala s ovom vrstom cachea su dizajnirani za kretanje često potrebne podatke u cache automatski, često bez potrebe za bilo kakve intervencije na programer strane.
Ulaz / izlaz (I / O)
Glavni članak: Ulazni / izlazni
Tvrdi diskovi su uobičajeni uređaji za pohranu podataka koji se koriste s računalima.
I / O je sredstvo kojim se računalo razmjenjuje informacije s vanjskim svijetom. [65] Uređaji koji omogućuju ulaz ili izlaz na računalo se zovu periferije . [66] U tipičnom osobna računala, periferija su ulazni uređaji kao što su tipkovnice i miš i izlazni uređaji, kao što su zaslon i pisač . Hard diskovi , floppy diskovi i optički disk pogoni poslužiti i kao ulaznih i izlaznih uređaja. Računalo umrežavanje je još jedan oblik i / o.
I / O uređaji su često složene računala u vlastitom pravu, sa svojim vlastitim procesora i memorije. Grafičkom procesoru može sadržavati pedeset ili više sićušnih računala koja obavljaju izračune potrebne za prikaz 3D grafike . [ Citat potreban ] Moderna stolna računala sadrže mnogo manjih računala koje pomažu glavni procesor u obavljanju I / O.
multitasking
Glavni članak: višezadaćnost
Dok se računalo može smatrati da idu jedan divovski programa pohranjenih u glavnoj memoriji, u nekim sustavima, potrebno je dati izgled radi nekoliko programa istovremeno. To se postiže vise tj da ima prekidač računala brzo između trčanje svaki program u red. [67]
Jedan način na koji je to učinio je s posebnim signal naziva se prekidati , koji povremeno može uzrokovati računalo za zaustavljanje izvršenja uputa gdje je to bilo i nešto drugo umjesto toga. Prisjećajući gdje je izvršavanje prije prekida, računalo može vratiti na taj zadatak kasnije. Ako je nekoliko programa trčanje "u isto vrijeme". onda prekid generator može biti uzrok nekoliko stotina prekida u sekundi, što uzrokuje program prebaciti svaki put. Od modernih računala obično izvršavaju naputke nekoliko redova veličine brži od ljudske percepcije, može se pojaviti da se mnogi programi prikazuju u isto vrijeme, iako je samo jedan nikad se izvršava u bilo kojem trenutku. Ova metoda multitasking ponekad se naziva "vrijeme-sharing", jer svaki program se dodjeljuje "kriška" vremena u red. [68]
Prije ere jeftinog računala, glavni koristiti za obavljanje više zadataka bio je da bi mnogi ljudi da dijele isto računalo.
Naizgled, multitasking će uzrokovati računalo koje je prebacivanje između nekoliko programa za pokretanje sporije, u izravnom razmjeru s brojem programa je u tijeku, no većina programa provode većinu svog vremena čekaju sporo input / output uređaja za dovršetak svoje zadatke. Ako je program čeka da korisnik kliknite na miša ili pritisnete neku tipku na tipkovnici, onda to neće uzeti "vremenski odsječak" Do slučaju da se čeka dogodilo. To oslobađa vrijeme za druge programe izvršiti tako da su mnogi programi mogu se izvoditi istovremeno bez neprihvatljivog gubitka brzine.
višeobradbeni
Glavni članak: višeobradbeni
Cray dizajniran mnoge superračunala koja se koristi jako višeobradbeni.
Neka računala su dizajnirana za distribuciju svoj rad kroz nekoliko procesora u konfiguraciji multiprocesiranje, tehniku jednom zaposlen samo u velikim i moćnim strojevima kao što su superračunala , mainframe računala i poslužitelja . Višeprocesorski i multi-core (više procesora na jednoj integrirani sklop) osobna i prijenosna računala sada su široko dostupni, a sve se više koriste u donjem-end tržišta kao rezultat.
Superračunala posebno često imaju vrlo jedinstvene arhitekture koje se znatno razlikuju od osnovne pohranjene-programa arhitekture i od računala opće namjene. [69] Oni su često imaju tisuće procesora, prilagođene high-speed povezuje i specijalizirani računalni hardver. Takvi projekti imaju tendenciju da bude koristan samo za specijalizirane zadatke zbog velikog skali od organizacije programa potrebnih za uspješno korištenje većina raspoloživih sredstava odjednom. Superračunala obično vidjeti običaj u velikih razmjera simulacije , grafičko prikazivanje i kriptografije aplikacija, kao i sa drugim takozvanih " sramotno paralelne " zadatke.
Umrežavanje i Internet
Glavni članci: Računalne mreže i Internet
Vizualizacija dijela od puteva na internetu
Računala su korišteni za koordinaciju informacija između više lokacija još od 1950-ih godina. Američka vojska je SAGE sustav bio je prvi veliki primjer takvog sustava, što je dovelo do brojnih posebne namjene komercijalnih sustava, kao što su Sabre . [70]
U 1970, računalni inženjeri u istraživačkim ustanovama diljem Sjedinjenih Država počele povezati svoja računala zajedno pomoću telekomunikacijske tehnologije. Napor je financirala ARPA (sada DARPA ), a računalne mreže koji je rezultirao se zove ARPANET . [71] tehnologije koje napravili ARPANET mogućeg širenja i razvijao se.
S vremenom, mreža proširila izvan akademskih i vojnih institucija i postao poznat kao Internet. Pojava umrežavanje uključeni redefiniranje prirode i granica računala. Računalni operacijski sustavi i programi su modificirani da uključuju mogućnost da se definiraju i pristup resursima drugim računalima na mreži, kao što su perifernih uređaja, pohranjeni podaci i slično, kao i proširenja sredstava pojedinog računala. U početku ti objekti su bili dostupni prije svega ljudima koji rade u high-tech okruženju, ali u 1990 širenje aplikacije kao što su e-mail i World Wide Web , u kombinaciji s razvojem jeftinih, brzih mrežnih tehnologija kao što su Ethernet i ADSL vidio umrežavanje računala postati gotovo sveprisutan. U stvari, broj računala koja su umrežena raste fenomenalno. Vrlo veliki udio osobnih računala redovito spajanje na Internet za komunikaciju i primanje informacija. "Wireless" umrežavanje, često koriste mobilne telefonske mreže, znači umrežavanje postaje sve sveprisutan iu mobilnim računalnim okruženjima.
Računalna arhitektura paradigme
Postoje mnoge vrste računalnih arhitektura :
Kvantno računalo vs Chemical računala
Skalarni procesor u odnosu na vektorsku obradu
Non-Uniform Memory Access (NAMPa) računala
Registracija stroj vs Stack stroj
Harvard arhitektura vs Von Neumannova arhitektura
Cellular arhitektura
Od svih tih apstraktnih strojeva , kvantna računala drži najviše obećanja za revoluciju computing. [72]
Logička vrata su čest apstrakcija koja se može primijeniti na većinu navedenih digitalnim ili analognim paradigmi.
Sposobnost za pohranu i izvršiti popis upute nazivaju programi čini računala iznimno svestran, razlikujući ih od računala . Church-Turingova teza je matematički iskaz ovog svestranost: bilo kojeg računala s minimalnom mogućnosti (što je Turing-potpun) je, u principu, osposobljena za obavljanje iste zadatke da bilo koji drugi računalo može obavljati. Stoga, bilo koja vrsta računala ( netbook , superračunalo , stanični automat , itd) je u mogućnosti da obavljaju iste računske zadatke, dao dovoljno vremena i prostora za pohranu.
zablude
Glavni članci: Ljudska računala i Harvard Računala
Žene kao računala u kolodvor NACA High Speed Flight "Computer Room"
Računalo ne mora biti elektronski , niti imaju procesor , ni RAM , pa čak ni tvrdi disk . Iako popularna upotreba riječi "računalo" je sinonim osobnog elektroničkog računala, moderni [73] Definicija računala je doslovno: " Uređaj koji izračunava posebno programirati [obično] elektronski stroj koji obavlja velike brzine matematički ili logičke operacije ili koja prikuplja, pohranjuje, u korelaciji, ili na drugi način obrađuje informacije. " [74] Bilo koji uređaj koji obrađuje informacije kvalificira kao računalo, pogotovo ako je prerada svrhovito. [ citat potreban ]
nekonvencionalni računalni
Glavni članak: Nekonvencionalni računalni
Povijesno gledano, računala razvili od mehaničkih računala i na kraju iz vakuum cijevi do tranzistora . Međutim, konceptualno računalni sustavi kao fleksibilna kao osobno računalo može biti izgrađen od gotovo ništa. Na primjer, računalo može biti napravljena od biljarska loptice ( biljarska lopta računala ); cesto citiran primjer. [ citat potreban ] realnije, moderna računala izrađeni su od tranzistora izrađenih od photolithographed poluvodiča .
Budućnost
Tu je aktivna istraživanja kako bi računala iz mnogih obećavajućih novih vrsta tehnologija, kao što su optički računala , DNA računala , neuralne računala i kvantnih računala . Većina računala su univerzalni, te su u mogućnosti izračunati bilo izračunljiv funkcije , a ograničene su samo njihov kapacitet memorije i operativne brzine. Međutim različite dizajne računala mogu dati vrlo različite izvedbe za pojedine probleme; na primjer, kvantna računala mogu potencijalno razbiti neke moderne algoritme šifriranja (prema kvantnoj faktoring ) vrlo brzo.
Daljnje teme
Rječnik računala
Umjetna inteligencija
Računalo će riješiti probleme u točno na način na koji je programiran da se, bez obzira na učinkovitosti, alternativnih rješenja, moguće kratice, ili eventualne greške u kodu. Računalni programi koji uče i prilagođavaju dio nastajanju području umjetne inteligencije i strojnog učenja .
Hardver
Glavni članci: Računalni hardver i osobno računalo hardver
Pojam hardver obuhvaća sve one dijelove računala koji su opipljivi objekti. Krugovi, prikazuje, napajanja, kablovi, klavijature, pisači i miševi su svi hardver.
Povijest računalnog hardvera
Glavni članak: Povijest računalnog hardvera
Prva generacija (mehanički / elektromehanički) kalkulatori Pascalina , Arithmometer , razlika motora , Quevedo je analitički strojevi
Programabilni uređaji Jacquard razboj , analitički stroj , IBM ASCC / Harvard Mark I , Harvard Mark II , IBM SSEC , Z1 , Z2 , Z3
Druga generacija (vakuum cijevi) kalkulatori Atanasoff-Berry Computer , IBM 604 , UNIVAC 60 , UNIVAC 120
Programabilni uređaji Colossus , ENIAC , ssem , EDSAC , Manchester Mark 1 , Ferranti Pegasus , Ferranti Mercury , CSIRAC , EDVAC , UNIVAC I , IBM 701 , IBM 702 , IBM 650 , Z22
Treća generacija (diskretne tranzistori i SSI, MSI, LSI integrirani sklopovi ) mainframe IBM 7090 , IBM 7080 , IBM System / 360 , hrpa
minikompjuter HP 2116A , IBM System / 32 , IBM System / 36 , LINC , PDP-8 , PDP-11
Četvrta generacija (VLSI integrirani krugovi) minikompjuter VAX , IBM System i
4-bitni mikro Intel 4004 , Intel 4040
8-bitni mikro Intel 8008 , Intel 8080 , Motorola 6800 , Motorola 6809 , mos 6502 , Zilog Z80
16-bitni mikro Intel 8088 , Zilog Z8000 , WDC 65816/65802
32-bitni mikro Intel 80386 , Pentium , Motorola 68000 , ARM
64-bitni mikro [75] Alpha , MIPS , PA-RISC , PowerPC , SPARC , x86-64 , ARMv8-A
Ugrađeni računala Intel 8048 , Intel 8051
Osobno računalo Desktop računalo , kućno računalo , prijenosno računalo , osobni digitalni pomoćnik (PDA), prijenosno računalo , tablet računala , prijenosno računalo ili
Teorijski / eksperimentalni Kvantno računalo , Kemijska računala , DNA računalstvo , Optical računalo , Spintronics na računalima
Ostale hardverske teme
Periferni uređaj ( ulaz / izlaz ) Ulazni Miš , tipkovnica , joystick , skener slika , web kamera , grafički tablet , mikrofon
Izlaz Monitor , pisač , zvučnik
Oba Floppy disk , tvrdi disk , optički disk drive, teleprinterski
Računalni autobusi Kratak domet RS-232 , SCSI , PCI , USB
Dugi niz ( umrežavanje računala ) Ethernet , ATM , FDDI
Softver
Glavni članak: Računalni softver
Softver se odnosi na dijelove računala koje nemaju materijalnu formu, poput programa, podataka, protokoli, itd kada je softver je pohranjen u hardver koji se ne može lako modificirati (kao što je BIOS ROM- u na IBM PC kompatibilnim ), to je ponekad naziva "firmware".
Operacijski sustav / Softver sustava Unix i BSD UNIX System V , IBM AIX , HP-UX , Solaris ( SunOS ), IRIX , Popis BSD operacijskih sustava
GNU / Linux Popis Linux distribucija , Usporedba Linux distribucija
Microsoft Windows Windows 95 , Windows 98 , Windows NT , Windows 2000 , Windows Me , Windows XP , Windows Vista , Windows 7 , Windows 8 , Windows 10
DOS 86-DOS (QDOS), PC-DOS , MS-DOS , DR-DOS , FreeDOS
Mac OS Mac OS klasična , Mac OS X
Ugrađeni a u realnom vremenu Popis ugrađenih operativnih sustava
eksperimentalan Ameba , Oberon / različak , Plan 9 iz Bell Labs
Knjižnica multimedijalni DirectX , OpenGL , OpenAL , Vulkan (API)
programiranje knjižnica C standard biblioteke , standardna Template Library
Podaci Protokol TCP / IP , Kermit , FTP , HTTP , SMTP
format datoteke HTML , XML , JPEG , MPEG , PNG
Korisničko sučelje Grafičko korisničko sučelje ( Wimp ) Microsoft Windows , GNOME , KDE , QNX Photon , CDE , GEM , Aqua
Tekst-temeljen korisničko sučelje Sučelje naredbenog retka , tekst korisničko sučelje
Aplikacija Softver Office paket Obradu teksta , stolno izdavaštvo , prezentacija programa , sustava za upravljanje bazama podataka , raspored i vrijeme za upravljanje, proračunske tablice , računovodstveni softver
Pristup internetu Preglednik , e-mail klijent , web poslužitelj , mail transfer zastupnik , Instant poruke
Dizajn i proizvodnja Projektiranje s pomoću računala , računalno potpomognuto proizvodnju , upravljanje Plant, Robotski proizvodnja, Supply chain management
Grafika Rasterske grafike urednik , vektorske grafike urednik , 3D modelara , animacija urednik , 3D računalne grafike , uređivanje video , obrada slike
zvučni Digitalni audio editor , audio reprodukcija , miješanje , sinteza zvuka , računalo glazba
Softver inženjering Prevodilac , asembler , prevoditelj , ispravljanje pogrešaka , tekst editor , integrirano razvojno okruženje , softver za analizu performansi , Revizija kontrola , softver za upravljanje konfiguracijom
obrazovni Edutainment , obrazovne igre , ozbiljna igra , simulator letenja
Igre Strategija , arkada , puzzle , Simuliranje , Prva osoba pucač , Platforma , masivno multiplayer , Interaktivna fikcija
Razno Umjetna inteligencija , antivirusni softver , Malware skener , Instalater / sustavi za upravljanje paket , File manager
jezici
Postoje tisuće različitih programskih jezika-neki namijenjen za opće namjene, drugih korisnih samo za visoko specijalizirane aplikacije.
Programski jezici
Popisi programskim jezicima Kronologija programskih jezika , Popis programskih jezika po kategorijama , generacijske popis programskih jezika , Popis programskih jezika , Non-engleski-based programskim jezicima
Obično se koristi za montažu jezika ARM , MIPS , x86
Obično se koristi višim programskim jezicima Ada , BASIC , C , C ++ , C # , COBOL , Fortran , PL / 1 , Rexx , Java , Lisp , Pascal , Object Pascal
Obično se koristi skriptnih jezika Bourne skripte , JavaScript , Python , Ruby , PHP , Perl
Firmware
Firmware je tehnologija koja ima kombinaciju hardvera i softvera, kao što su BIOS čip unutar računala. Ovaj čip (hardware) se nalazi na matičnoj ploči i ima BIOS postaviti (software) pohranjene u njemu.
Vrste računala
Računala obično se klasificiraju na temelju njihove uporabe:
Na temelju namjene
Analogni računala
Digitalna računala
Hibridna računala
Na temelju veličine
mikro računalo
Osobno računalo
Mini računala
mainframe računala
Super računalo
Ulazni uređaji
Kada neprerađeni podaci se šalju na računalo uz pomoć ulaznih uređaja, podaci se obrađuju i šalju izlazne uređaje. Ulazni uređaji mogu biti ručno ili automatizirano. Čin obrade uglavnom je regulirano CPU. Neki primjeri ručni pogon ulaznih uređaja su:
Prekrivanje tipkovnica
trackball
komandna palica
Digitalna kamera
Mikrofon
Ekran na dodir
Digitalna video
skener
Grafički tablet
Računalna tipkovnica
Miš
izlazni uređaji
Sredstvo kroz koje računalo daje izlaz su poznati kao izlaznim uređajima. Neki primjeri izlaznih uređaja su:
Monitor računala
printer
Projektor
Zvučna kartica
PC zvučnika
Video kartica
Zanimanja i organizacije
Kao što je korištenje računala proširio u svim segmentima društva, postoji sve veći broj zanimanja koji uključuju računala.
Računala povezanih zanimanja
Hardverom Elektrotehnika , elektronički inženjering , računalno inženjerstvo , telekomunikacije inženjering , optički inženjering , Nanoengineering
Softver vezane Računarstvo , računalno inženjerstvo , stolno izdavaštvo , interakcija čovjeka i računala , Informacijska tehnologija , informacijski sustavi , računalne znanosti , Softversko inženjerstvo , video igre industrije , web dizajn
Potreba za računala da rade dobro zajedno i biti u mogućnosti za razmjenu informacija je imala potrebu za mnoge organizacija za standarde, klubovima i društvima oba formalne i neformalne prirode.
Organizacije
Standardi grupe ANSI , IEC , IEEE , IETF , ISO , W3C
Stručni društva ACM , AIS , IET , IFIP , BCS
Besplatno / open source softver grupe Free Software Foundation , Mozilla Foundation , Apache Software Foundation
poslovanja spremiti i dohvatiti.
Nema komentara:
Objavi komentar