Top 10 artikelenGooleKoreaanse thee nasza-klasa.pl Creditcardfraude Het zingen Misbruik Muziek van Indonesië Tchiluba De Provincie van Balkh Provincie van Balkh Thermische straling |
News: |
A computer is a machine dat manipuleert gegevens volgens een lijst van instructies.
De eerste apparaten die op moderne computers lijken dateren aan de medio-twintigste eeuw (rond 1940 - 1945), hoewel het computerconcept en de diverse machines gelijkend op computers vroeger bestonden. De vroege elektronische computers waren de grootte van een grote ruimte, die zo veel macht verbruikt zoals honderden moderne personal computers.[1] De moderne computers zijn gebaseerd op uiterst klein geïntegreerde schakelingen en zijn miljoenen aan miljarden meer geschikt tijden terwijl het bezetten van een fractie van de ruimte.[2] Vandaag, kunnen de eenvoudige computers klein genoeg worden gemaakt om in a te passen wristwatch en wordt aangedreven van a horloge batterij. Personal computers, in diverse vormen, zijn pictogrammen van Informatietijdperk en zijn wat de meeste mensen van als „computer“ denken; nochtans, is de gemeenschappelijkste vorm van computer in gebruik vandaag ingebedde computer. De ingebedde computers zijn kleine, eenvoudige apparaten die worden gebruikt om andere apparaten te controleren - bijvoorbeeld, kunnen zij in machines worden gevonden die uitstrekken zich van vechters vliegtuigen aan industriële robots, digitale camera's, en het speelgoed van kinderen.
De capaciteit om lijsten van geroepen instructies op te slaan en uit te voeren programma's maakt computers uiterst veelzijdig en onderscheidt hen van calculators. Thesis kerk-Turing is een wiskundige verklaring van deze veelzijdigheid: om het even welke computer met een bepaald minimumvermogen kan, in principe de zelfde taken uitvoeren die een andere computer kan uitvoeren. Daarom computers met vermogen en ingewikkeldheid die zich van dat van a uitstrekken persoonlijke digitale medewerker aan a supercomputer zijn allen bekwaam om de zelfde computertaken uit te voeren gegeven genoeg tijd en opslagcapaciteit.
Inhoud |
Het is moeilijk om elk apparaat als vroegste computer te identificeren, gedeeltelijk omdat de term „computer“ aan variërende interpretaties in tijd onderworpen is geweest. Oorspronkelijk, verwees de term „computer“ naar een persoon die numerieke berekeningen uitvoerde (a menselijke computer), vaak met de hulp van a mechanisch het berekenen apparaat.
De geschiedenis van de moderne computer begint met twee afzonderlijke technologieën - dat van geautomatiseerde berekening en dat van programmability.
De voorbeelden van vroege mechanische het berekenen apparaten omvatten abacus, rekenliniaal en betwistbaar astrolabe en Het mechanisme van Antikythera (wat V.CHR. van ongeveer 150-100 dateert). Het eind van Midden Leeftijden zag een re-invigoration van Europese wiskunde en techniek, en Wilhelm Schickard'het s 1623 apparaat was eerste van een aantal mechanische calculators die door Europese ingenieurs worden geconstrueerd. Nochtans, paste geen van die apparaten de moderne definitie van een computer omdat zij niet konden worden geprogrammeerd.
Held van Alexandrië (c. ADVERTENTIE 10 - 70) gebouwd een mechanisch theater dat een spel uitvoerde dat 10 minuten duurt en door een complex systeem van kabels in werking werd gesteld en trommelt dat zou kunnen worden beschouwd als een middel om te beslissen welke delen van het mechanisme uitvoerden welke acties - en wanneer.[3] Dit is de essentie van programmability. In 1801, Joseph Marie Jacquard maakte een verbetering aan textiel weefgetouw dat gebruikte een reeks van geslagen document kaarten als malplaatje om zijn weefgetouw toe te staan om ingewikkelde patronen automatisch te weven. Het resulterende weefgetouw van de Jacquard was een belangrijke stap in de ontwikkeling van computers omdat het gebruik van geslagen kaarten om geweven patronen te bepalen kan als vroeg worden bekeken, alhoewel worden beperkt, vorm van programmability.
Het was de fusie van automatische berekening met programmability die de eerste herkenbare computers produceerde. In 1837, Charles Babbage was de eerste om van een volledig programmeerbare mechanische computer een beeld te vormen en te ontwerpen die hij „Riep Analytische Motor".[4] wegens beperkte financiën, en een onvermogen om zich tegen het oplappen met het ontwerp te verzetten, Babbage nooit bouwde eigenlijk zijn Analytische Motor.
Geautomatiseerde gegevens op grote schaal - de verwerking van geslagen kaarten werd uitgevoerd voor De V.S. Telling in 1890 door het tabelleren machines langs ontworpen Herman Hollerith en vervaardigd door Het Tabelleren van de gegevensverwerking het Bedrijf van de Opname, wat later werd IBM. Tegen het eind van de 19de eeuw waren een aantal technologieën die later in de totstandbrenging van praktische computers nuttig zouden blijken begonnen te verschijnen: geslagen kaart, De algebra van Boole, vacuüm buis (thermionic klep) en telex.
Tijdens de eerste helft van de 20ste eeuw, werden vele wetenschappelijke gegevensverwerkingsbehoeften voldaan aan door meer en meer verfijnd analoge computers, wat directe mechanisch gebruikte of elektro model van het probleem als basis voor berekening. Nochtans, waren deze niet programmeerbaar en hadden over het algemeen de veelzijdigheid en de nauwkeurigheid van moderne digitale computers niet.
| Naam | Eerste operationeel | Het systeem van het cijfer | Het mechanisme van de gegevensverwerking | Programmering | Volledige Turing |
|---|---|---|---|---|---|
| Zuse Z3 (Duitsland) | Mei 1941 | Binair | Elektromechanisch | Programma-gecontroleerd door geslagen film voorraad | Ja (1998) |
| Atanasoff-bes Computer (De V.S.) | De zomer van 1941 | Binair | Elektronisch | Niet programmeerbaar-enig doel | Nr |
| Colossus (het UK) | December 1943 | Binair | Elektronisch | Programma-gecontroleerd door flardkabels en schakelaars | Nr |
| Harvard Mark I - IBM ASCC (De V.S.) | 1944 | Decimaal | Elektromechanisch | Programma-gecontroleerd door kanaal 24 geslagen ponsband (maar geen voorwaardelijke tak) | Ja (1998) |
| ENIAC (De V.S.) | November 1945 | Decimaal | Elektronisch | Programma-gecontroleerd door flardkabels en schakelaars | Ja |
| De Kleinschalige Experimentele Machine van Manchester (het UK) | Juni 1948 | Binair | Elektronisch | Op:slaan-programma in De kathodestraalbuisgeheugen van Williams | Ja |
| Gewijzigde ENIAC (De V.S.) | September 1948 | Decimaal | Elektronisch | Programma-gecontroleerd door flardkabels en schakelaars plus een primitief read-only opgeslagen programmeringsmechanisme dat de Lijsten van de Functie gebruikt als programma ROM | Ja |
| EDSAC (het UK) | Mei 1949 | Binair | Elektronisch | Op:slaan-programma in kwik het geheugen van de vertragingslijn | Ja |
| Manchester Mark I (het UK) | Oktober 1949 | Binair | Elektronisch | De kathodestraalbuisgeheugen van Williams en magnetische trommel geheugen | Ja |
| CSIRAC (Australië) | November 1949 | Binair | Elektronisch | Op:slaan-programma in kwik het geheugen van de vertragingslijn | Ja |
Een successie van regelmatig krachtigere en flexibele gegevensverwerkingsapparaten werd geconstrueerd in de jaren '30 en jaren '40, geleidelijk aan de toevoegend de belangrijkste eigenschappen die in moderne computers worden gezien. Het gebruik van digitale langs grotendeels uitgevonden elektronika ( Claude Shannon in 1937) en flexibelere programmability waren essentieel belangrijke stappen, maar definiëren van één punt langs deze weg als „eerste digitale elektronische computer“ is moeilijk (Shannon 1940). De opmerkelijke verwezenlijkingen omvatten:
Verscheidene ontwikkelaars die van ENIAC, zijn gebreken erkennen, kwamen met een veel flexibeler en elegant ontwerp op de proppen, dat om als kwam worden gekend opgeslagen programmaarchitectuur of von Neumann architectuur. Dit ontwerp werd eerst formeel langs beschreven John von Neumann in het document „Eerste Ontwerp van een Rapport over EDVAC„, gepubliceerd in 1945. Een aantal projecten om computers te ontwikkelen die op de opgeslagen programmaarchitectuur worden gebaseerd die rond dit keer, eerste is begonnen hiervan die binnen worden voltooid Groot-Brittannië. De eerste om te zijn het aangetoonde werken was De Kleinschalige Experimentele Machine van Manchester (SSEM) of „Baby“. Nochtans, EDSAC, voltooide een jaar na SSEM, was misschien de eerste praktische implementatie van het opgeslagen programmaontwerp. Binnenkort daarna, de machine die oorspronkelijk door von Neumann's document wordt beschrevenEDVAC- werd voltooid maar zag geen full-time gebruik voor een extra twee jaar.
Bijna voeren alle moderne computers één of andere vorm van de opgeslagen programmaarchitectuur uit, die tot het maakt de enige trek waardoor het woord „computer“ nu wordt bepaald. Door deze norm, zouden vele vroegere apparaten niet meer genoemd worden computers door de definitie van vandaag, maar gewoonlijk aan als dusdanig in hun historische context doorverwezen. Terwijl de technologieën die in computers worden gebruikt dramatisch sinds de eerste elektronische, voor algemeen gebruik computers van de jaren '40 zijn veranderd, gebruik het meest nog von Neumann architectuur. Het ontwerp maakte tot de universele computer een praktische werkelijkheid.
Vacuüm buis- de gebaseerde computers waren in gebruik door de jaren '50. De vacuüm buizen werden grotendeels langs vervangen in de jaren '60 transistor- gebaseerde computers. Wanneer vergeleken met buizen, zijn de transistors kleiner, sneller, goedkoper, gebruiken minder macht, en zijn betrouwbaarder. In de jaren '70, geïntegreerde schakeling technologie en de verdere verwezenlijking van microprocessors, zoals Intel 4004, veroorzaakte een andere generatie van verminderde grootte en kosten, en een andere generatie van verhoogde snelheid en betrouwbaarheid. Door de jaren '80, de computers klein en voldoende goedkoop werden om eenvoudige mechanische controles in binnenlandse toestellen zoals te vervangen wasmachines. De ook getuigde jaren '80 huiscomputers en nu alomtegenwoordig personal computer. Met de evolutie van Internet, worden de personal computers zo gemeenschappelijk zoals televisie en telefoon in het huishouden.
De het bepalen eigenschap van moderne computers die hen van alle andere machines onderscheidt is dat zij kunnen zijn geprogrammeerd. D.w.z. dat een lijst van instructies ( programma) kan aan de computer worden gegeven en het zal hen opslaan en zal hen uit op een gegeven moment in de toekomst dragen.
In de meeste gevallen, zijn de computerinstructies eenvoudig: voeg één aantal aan een andere toe, beweeg sommige gegevens van één plaats aan een andere, verzend een bericht naar één of ander extern apparaat, enz. Deze instructies worden gelezen van de computer geheugen en over het algemeen worden uitgevoerd (uitgevoerd) in de orde werden zij gegeven. Nochtans, zijn er gewoonlijk gespecialiseerde instructies om de computer te vertellen om vooruit of achteruit aan één of andere andere plaats in het programma te springen en te blijven daar uitvoeren van. Deze worden genoemd „sprong“ instructies (of takken). Voorts kunnen de spronginstructies worden gemaakt te gebeuren voorwaardelijk zodat de verschillende reeksen instructies afhankelijk van het resultaat van één of andere vorige berekening of één of andere externe gebeurtenis kunnen worden gebruikt. Velen computers direct steun subroutines door een type van sprong te verstrekken dat de plaats „herinnert“ sprong het van en een andere instructie om op de instructie terug te komen volgt dat die spronginstructie.
Uitvoering van het programma zou met het lezen van een boek kunnen worden vergeleken. Terwijl een persoon normaal elke woord en lijn de één na de ander zal lezen, kunnen zij af en toe terug naar een vroegere plaats in de tekst springen of secties overslaan die niet van belang zijn. Op dezelfde manier kan een computer soms teruggaan en de instructies in één of andere sectie van het programma steeds opnieuw herhalen tot één of andere interne voorwaarde met. is. Dit wordt genoemd stroom van controle binnen het programma en het is wat de computer toestaat om taken zonder menselijke interventie herhaaldelijk uit te voeren.
Betrekkelijk, een persoon die a gebruikt zak calculator kan een fundamentele rekenkundige handeling uitvoeren zoals het toevoegen van twee aantallen met enkel een paar knooppersen. Maar alle aantallen van 1 tot 1.000 zou samen toevoegen duizenden knooppersen en heel wat tijd-met een dichtbijgelegen zekerheid van het maken van een fout nemen. Enerzijds, kan een computer worden geprogrammeerd om dit met enkel een paar eenvoudige instructies te doen. Bijvoorbeeld:
mov #0, som ; vastgestelde som aan mov 0 #1, num ; reeks num aan 1 lijn: voeg toe num, som ; voeg toe num aan som toevoeg #1, num ; voeg 1 aan num toe cmp num, #1000; vergelijk num bij ble 1000 lijn ; als num <= 1000, aan „lijn“ halt teruggaan ; eind van programma. einde het lopen
Eens verteld om dit programma in werking te stellen, zal de computer de herhaalde toevoegingstaak zonder verdere menselijke interventie uitvoeren. Het zal bijna nooit een fout maken en een moderne PC kan de taak in ongeveer millionth van een seconde voltooien.[6]
Nochtans, kunnen de computers voor zich in de betekenis dat „denken niet“ zij precies problemen op de manier slechts oplossen zij aan geprogrammeerd zijn. Een intelligente mens geconfronteerd met de bovengenoemde toevoegingstaak spoedig kunnen zou realiseren dat in plaats van eigenlijk het optellen van alle aantallen men de vergelijking kan eenvoudig gebruiken
en kom bij het correcte antwoord (500.500) met weinig werk aan.[7] Met andere woorden, computerprogramma om de aantallen één voor één op te tellen zoals in het voorbeeld hierboven precies dat ongeacht efficiency of alternatieve oplossingen zou doen.
Praktisch gezien, a computerprogramma van dozijn instructies overal zou kunnen omvatten aan vele miljoenen instructies voor iets als a tekstverwerker of a Web browser. Een typische moderne computer kan miljarden instructies uitvoeren elke seconde en bijna een fout over jaren van verrichting nooit maken.
De grote computerprogramma's kunnen teams van nemen computer programmeurs de te schrijven jaren en de waarschijnlijkheid van het volledige programma dat volledig op de bedoelde manier heeft geschreven zijn onwaarschijnlijk. De fouten in computerprogramma's worden geroepen insecten. Soms zijn de insecten goedaardig en beïnvloeden niet het nut van het programma, in andere gevallen zouden zij het programma kunnen veroorzaken volledig om te ontbreken (neerstorting), in nog andere gevallen kunnen er subtiele problemen zijn. Soms kunnen de anders goedaardige insecten voor kwaadwillige bedoeling worden gebruikt, die tot a leidt de veiligheid exploiteert. De insecten zijn gewoonlijk niet de fout van de computer. Aangezien de computers slechts de instructies uitvoeren worden zij gegeven, zijn de insecten bijna altijd het resultaat van programmeursfout of een onoplettendheid die in het ontwerp van het programma wordt gemaakt.[8]
In de meeste computers, worden de individuele instructies opgeslagen zoals machine code met elke instructie die een uniek aantal wordt gegeven (zijn verrichtingscode of opcode voor plotseling). Het bevel zou om twee aantallen toe te voegen samen één opcode hebben, zou het bevel om hen te vermenigvuldigen een verschillende opcode etc. hebben. De eenvoudigste computers kunnen om het even welk van een handvol verschillende instructies uitvoeren; de complexere computers hebben honderden om van-elk met een unieke numerieke code te kiezen. Aangezien het geheugen van de computer aantallen kan opslaan, kan het de instructiecodes ook opslaan. Dit leidt tot het belangrijke feit dat de volledige programma's (die enkel lijsten van instructies) zijn als lijsten van aantallen en zelf kunnen worden vertegenwoordigd binnen de computer kunnen worden gemanipuleerd enkel alsof zij numerieke gegevens waren. Het fundamentele concept het opslaan van programma's in het geheugen van de computer naast de gegevens die zij hebben gewerkt op is de essentie van von Neumann, of opgeslagen programma, architectuur. In sommige gevallen, zou een computer wat of elk van zijn programma in geheugen kunnen opslaan dat van de gegevens afzonderlijk wordt gehouden het op werkt. Dit wordt genoemd De architectuur van Harvard na Harvard Mark I computer. De Modern von Neumann computers tonen binnen sommige trekken van de architectuur van Harvard in hun ontwerpen, zoals De geheime voorgeheugens van cpu.
Terwijl het mogelijk is om computerprogramma's als lange lijsten van aantallen te schrijven (machine taal) en deze techniek werd gebruikt met vele vroege computers,[9] het is uiterst vervelend om, vooral voor ingewikkelde programma's dit in de praktijk te doen. In plaats daarvan, kan elke basisinstructie een korte naam worden gegeven die van zijn functie aan herinneren-a indicatief en gemakkelijk is mnemonic zoals ADD, SUB, MULT of SPRONG. Deze mnemonics is collectief gekend als computer assembleertaal. Omzettend programma's die in assembleertaal worden geschreven in iets kan de computer eigenlijk begrijpen (machinetaal) gewoonlijk wordt gedaan door een computerprogramma genoemd een assembleur. De talen van de machine en de assembleertalen die hen vertegenwoordigen (collectief genoemd lage programmeertalen) neig uniek aan een bepaald type van computer te zijn. Bijvoorbeeld, De architectuur van het WAPEN computer (zoals kan in a worden gevonden PDA of a handbediend videospelletje) kan de machinetaal van begrijpen niet Intel Pentium of AMD Athlon 64 computer die in a zou kunnen zijn PC.[10]
Niettemin aanzienlijk gemakkelijker dan in machinetaal, het schrijven lange programma's in assembleertaal is vaak moeilijk en naar voren gebogen fout. Daarom worden de meeste ingewikkelde programma's geschreven in meer samenvatting programmeertalen op hoog niveau dat de behoeften van kunnen uitdrukken computer programmeur meer gemakshalve (en daardoor vermindert de hulp programmeursfout). De hogere programmeertalen worden gewoonlijk „gecompileerd“ in machinetaal (of soms in assembleertaal en dan in machinetaal) gebruikend een ander computerprogramma genoemd a compiler.[11] Aangezien de hogere programmeertalen meer samenvatting dan assembleertaal zijn, is het mogelijk om verschillende compilers te gebruiken om het zelfde hogere programmeertaalprogramma in de machinetaal van vele verschillende types van computer te vertalen. Dit maakt deel uit middelen waardoor de software zoals videospelletjes beschikbaar voor verschillende computerarchitectuur zoals personal computers en kan divers worden gemaakt videospelletje consoles.
De grote taak zich te ontwikkelen om software de systemen is een immense intellectuele inspanning. Het produceren van software met een aanvaardbaar hoge betrouwbaarheid op een voorspelbare programma en een begroting is historisch een grote uitdaging gebleken te zijn; de academische en professionele discipline van softwaretechnologie concentraten specifiek op dit probleem.
Veronderstel een computer wordt aangewend om a te drijven verkeers licht. Een eenvoudig opgeslagen programma zou kunnen zeggen:
Met deze reeks instructies, zou de computer voortdurend het licht door groen, geel rood cirkelen, en terug naar rood opnieuw tot verteld ophouden lopend het programma.
Nochtans, veronderstel er eenvoudige on/off zijn schakelaar verbonden met de computer die bedoeld om is worden gebruikt om het lichte flitsrood te maken terwijl één of andere onderhoudshandeling wordt uitgevoerd. Het programma zou de computer dan kunnen instrueren:
Op deze wijze, stelt de computer of steeds weer de instructies van nummer (2) (11) of zijn het lopen in werking de instructies van (11) neer (16) steeds weer, afhankelijk van de positie van de schakelaar.[12]
Een algemeen doelcomputer heeft vier belangrijke secties: rekenkunde en logicaeenheid (ALU), controle eenheid, geheugen, en de input en uitvoersystemen (collectief de genoemd I/O). Deze delen worden langs onderling verbonden bussen, vaak gemaakt van groepen draden.
De controleeenheid, ALU, de registers, en basisI/O (en vaak andere hardware die nauw met deze wordt verbonden) zijn collectief genoemd geworden a centrale verwerkingseenheid (Cpu). Vroege Cpu werd samengesteld uit vele afzonderlijke componenten maar sinds de medio-jaren '70 is Cpu typisch geconstrueerd op enig geïntegreerde schakeling oproepen a microprocessor.
De controleeenheid (vaak genoemd een controlesysteem of een centraal controlemechanisme) leidt de diverse componenten van een computer. Het leest en interpreteert (decodeert) instructies één voor één in het programma. Het controlesysteem decodeert elke instructie en verandert het in een reeks controlesignalen die de andere delen van de computer in werking stellen.[13] De systemen van de controle in geavanceerde computers kunnen de orde van sommige instructies veranderen om prestaties te verbeteren.
Een zeer belangrijke component gemeenschappelijk voor alle Cpu is programma teller, een speciale geheugencel (a register) dat houdt spoor waarmoet worden gelezen van de plaats in geheugen de volgende instructie van.[14]
De functie van het controlesysteem is als volgen-nota dat dit een vereenvoudigde beschrijving is, en sommige van deze stappen kunnen gelijktijdig of in een verschillende orde afhankelijk van het type van cpu worden uitgevoerd:
Sinds het programma is de teller (conceptueel) enkel een andere reeks geheugencellen, kan het door berekeningen worden veranderd die in ALU worden gedaan. Het toevoegen van 100 aan de programmateller zou veroorzaken dat de volgende instructie worden gelezen van een plaats 100 verder plaatsen onderaan het programma. De instructies die de programmateller wijzigen zijn vaak genoemd geworden „sprongen“ en staan voor lijnen (instructies die door de computer) worden herhaald en vaak voorwaardelijke instructieuitvoering toe (beide voorbeelden van controle stroom).
Het is merkbaar dat de opeenvolging van verrichtingen dat de controleeenheid door een instructie gaat verwerken op zichzelf als een kort computerprogramma is - en inderdaad, in wat meer complexe ontwerpen van cpu, daar is een andere nog kleinere computer genoemd a microsequencer dat stelt a in werking microcode programma dat elk van deze gebeurtenissen om veroorzaakt te gebeuren.
ALU kan twee klassen van verrichtingen uitvoeren: rekenkunde en logica.
De reeks rekenkundige verrichtingen dat steunen een de bijzondere ALU tot het toevoegen en het aftrekken of zouden kunnen het vermenigvuldigen omvatten zich of het verdelen kunnen worden beperkt, trigonometrie functies (sinus, cosinus, enz.) en vierkante wortels. Sommigen kunnen slechts op gehele aantallen werken (gehelen) terwijl anderen gebruiken drijvend punt om te vertegenwoordigen echte aantallen- alhoewel met beperkte precisie. Nochtans, om het even welke computer die enkel de eenvoudigste handelingen kan uitvoeren kan worden geprogrammeerd om de complexere verrichtingen in eenvoudige stappen op te splitsen die het kan uitvoeren. Daarom kan om het even welke computer worden geprogrammeerd om om het even welke rekenkunde uit te voeren verrichting-hoewel het meer tijd zal vergen dit te doen als zijn ALU direct niet de verrichting steunt. Een ALU kan terugkeren aantallen ook vergelijken en de waarheidswaarden van Boole is (waar of vals) afhankelijk van of men gelijk is aan, groter dan of minder dan andere („64 groter dan 65? “).
De verrichtingen van de logica impliceren De logica van Boole: EN, OF, XOR en NIET. Deze kunnen nuttig zijn allebei voor ingewikkeld creëren voorwaardelijke verklaringen en verwerking de logica van Boole.
Superscalar de computers bevatten veelvoudige ALUs zodat zij verscheidene instructies kunnen tezelfdertijd verwerken. De bewerkers van de grafiek en computers met SIMD en MIMD de eigenschappen verstrekken vaak ALUs die rekenkunde kan uitvoeren vectoren en matrijzen.
Het geheugen van een computer kan als een lijst van cellen worden bekeken waarin de aantallen kunnen worden geplaatst of worden gelezen. Elke cel heeft een genummerd „adres“ en kan één enkel aantal opslaan. De computer kan worden geïnstrueerd „zette aantal 123 in de genummerde cel 1357“ of „het aantal toevoegen dat in cel 1357 aan het aantal dat in cel 2468 is is en het antwoord in cel 1595“ zet. De informatie die in geheugen wordt opgeslagen kan praktisch om het even wat vertegenwoordigen. De brieven, aantallen, zelfs computerinstructies kunnen in geheugen met gelijk gemak worden geplaatst. Aangezien cpu niet tussen verschillende soorten informatie onderscheidt, het aan de software is betekenis aan wat te geven het geheugen als niets dan reeks aantallen ziet.
In bijna alle moderne computers, wordt elke geheugencel opgezet aan opslag binaire aantallen in groepen van acht beetjes (geroepen a byte). Elke byte kan 256 verschillende aantallen vertegenwoordigen; of van 0 tot 255 of -128 tot +127. Om grotere aantallen op te slaan, kunnen verscheidene opeenvolgende bytes worden gebruikt (typisch, twee, vier of acht). Wanneer de negatieve aantallen worden vereist, worden zij gewoonlijk binnen opgeslagen de aanvulling van twee aantekening. Andere regelingen zijn mogelijk, maar gewoonlijk niet buiten gespecialiseerde toepassingen of historische contexten gezien. Een computer kan om het even welk soort informatie in geheugen opslaan zolang het op de een of andere manier in numerieke vorm kan worden vertegenwoordigd. De moderne computers hebben miljarden of zelfs triljoenen bytes van geheugen.
Cpu bevat een speciale reeks geroepen geheugencellen registers dat kan worden gelezen en worden geschreven aan sneller dan het hoofdgeheugengebied. Er zijn typisch tussen twee honderd registers afhankelijk van het type van cpu. De registers worden gebruikt voor de het vaakst nodig gegevensonderdelen vermijden moetend tot hoofdgeheugen toegang hebben telkens als het gegeven wordt vereist. Aangezien het gegeven constant wordt gewerkt aan, verhoogt het verminderen van de behoefte om tot hoofdgeheugen (dat vaak langzaam in vergelijking met de eenheden van ALU en van de controle) is toegang te hebben zeer de snelheid van de computer.
Komt het hoofdgeheugen van de computer in twee belangrijkste verscheidenheden: directe toeganggeheugen of RAM en read-only geheugen of ROM. De RAM kan aan wanneer worden gelezen en worden geschreven cpu het beveelt, maar ROM wordt voorgeladen met gegevens en software die nooit de veranderingen, zodat cpu van het kunnen slechts lezen. ROM wordt typisch gebruikt om de van de start computer aanvankelijke instructies op te slaan. In het algemeen, wordt de inhoud van RAM gewist wanneer de stroom aan de computer wordt afgesloten terwijl ROM zijn gegevens voor onbepaalde tijd behoudt. In een PC, bevat ROM een gespecialiseerd programma genoemd BIOS dat bewerkt het laden van de computer werkend systeem van de harde schijfaandrijving in RAM wanneer de computer of het terugstellen wordt aangezet. In ingebedde computers, wat vaak schijf geen aandrijving hebben, kan alle software die wordt vereist om de taak uit te voeren in ROM worden opgeslagen. De software die in ROM wordt opgeslagen wordt vaak geroepen ingebouwde programmatuur omdat het notionally meer als hardware dan software is. Het geheugen van de flits vertroebelt het onderscheid tussen ROM en RAM door het behouden van gegevens wanneer uitgezet maar het zijn rewritable als RAM. Nochtans, is het flitsgeheugen typisch veel langzamer dan conventionele ROM en RAM zodat is zijn gebruik beperkt tot toepassingen waar de hoge snelheden niet worden vereist.[15]
In verfijndere computers kunnen er zijn één of meer RAM voorgeheugens welke langzamer zijn dan registers maar sneller dan hoofdgeheugen. Over het algemeen worden de computers met dit soort geheim voorgeheugen ontworpen om vaak nodig gegevens in het geheime voorgeheugen automatisch, vaak zonder de behoefte aan enige interventie te bewegen over het deel van de programmeur.
I/O is het middel waardoor een computer informatie van de buitenwereld ontvangt en resultaten achter verzendt. De apparaten die input of output aan de computer verstrekken worden geroepen randapparatuur. Op typisch personal computer, omvat de randapparatuur inputmechanismen zoals het toetsenbord en muis, en uitvoersystemen zoals vertoning en printer. De aandrijving van de harde schijf, floppy diskaandrijving en optische schijfaandrijving dien zoals zowel ingevoerd als uitvoersystemen. Het voorzien van een netwerk van de computer is een andere vorm van I/o.
Vaak, zijn I/O apparaten complexe computers in hun eigen recht met hun eigen cpu en geheugen. A grafiek verwerkingseenheid vijftig of meer uiterst kleine computers zou kunnen bevatten die de berekeningen noodzakelijk uitvoeren te tonen 3D grafiek[nodig citaat]. Modern bureaucomputers bevat vele kleinere computers die belangrijkste cpu bij het uitvoeren van I/o. helpen.
Terwijl een computer kan worden bekeken zoals in werking stellend één gigantisch programma dat in zijn hoofdgeheugen wordt opgeslagen, in sommige systemen is het noodzakelijk om de verschijning te geven van gelijktijdig het runnen van verscheidene programma's. Dit wordt bereikt door het hebben van de computerschakelaar snel tussen beurtelings het runnen van elk programma. betekent door die dit is met een speciaal signaal genoemd wordt gedaan onderbreek welke de computer kan periodiek veroorzaken ophouden uitvoerend instructies waar het in plaats daarvan was en iets anders doet. Door te herinneren waar het voorafgaand aan uitvoerde onderbreek, kan de computer op die taak later terugkomen. Als verscheidene programma's „tezelfdertijd“ lopen, dan onderbreek generator zou kunnen honderden veroorzaken onderbreekt per seconde, elke keer veroorzakend een programmaschakelaar. Aangezien de moderne computers sneller typisch instructies verscheidene grootteordes dan menselijke waarneming uitvoeren, kan het blijken dat vele programma's tezelfdertijd lopen alhoewel slechts men ooit in om het even welk bepaald moment uitvoert. Deze methode van multitasking wordt soms genoemd „time-sharing“ aangezien elk programma een „plak“ van tijd beurtelings wordt toegewezen.
Vóór de era van goedkope computers, moest het principegebruik voor multitasking vele mensen toestaan om de zelfde computer te delen.
Schijnbaar, zou multitasking een computer veroorzaken die tussen verscheidene programma's schakelt langzamer te lopen - in rechtstreekse verhouding tot het aantal programma's loopt het. Nochtans, brengen de meeste programma's veel van hun tijd door die op langzame input-output apparaten wacht hun taken te voltooien. Als een programma op de gebruiker om op de muis wacht te klikken of op een sleutel op het toetsenbord te duwen, dan zal het geen „tijdplak“ tot de gebeurtenis nemen het op is voorgekomen wacht. Dit bevrijdt omhoog tijd voor andere programma's uit te voeren zodat vele programma's tezelfdertijd zonder onaanvaardbaar snelheidsverlies kunnen worden in werking gesteld.
Sommige computers kunnen hun werk tussen één of meerdere afzonderlijke Cpu verdelen, die tot een multiverwerkingsconfiguratie leiden. Traditioneel, werd deze techniek gebruikt slechts in grote en krachtige computers zoals supercomputers, centrale verwerkingseenheids computers en servers. Nochtans, multiverwerker en multi-core (veelvoudige Cpu op één enkele geïntegreerde schakeling) de persoonlijke en laptop computers zijn wijd beschikbaar geworden en begonnen verhoogd gebruik in laag-eindmarkten te zien dientengevolge.
De supercomputers hebben in het bijzonder vaak hoogst unieke architectuur die beduidend van de basis op:slaan-programmaarchitectuur en van algemeen doelcomputers verschilt.[16] Zij kenmerken vaak duizenden Cpu, verbindt de aangepaste hoge snelheid, en gespecialiseerde gegevensverwerkingshardware onderling. Dergelijke ontwerpen neigen nuttig slechts voor gespecialiseerde taken te zijn toe te schrijven aan de grote schaal van programmaorganisatie die wordt vereist om de meeste beschikbare middelen meteen met succes te gebruiken. De supercomputers zien gewoonlijk gebruik in op grote schaal simulatie, grafiek het teruggeven, en cryptografie toepassingen, evenals met andere zogenaamd „embarrassingly parallel„taken.
De computers zijn gebruikt om informatie tussen veelvoudige plaatsen sinds de jaren '50 te coördineren. De V.S. militairen SALIE het systeem was het eerste voorbeeld op grote schaal van zulk een systeem, dat tot een aantal commerciële systemen voor speciale doeleinden als leidde Sabre.
In de jaren '70, begonnen de computeringenieurs bij onderzoekinstellingen in heel de Verenigde Staten hun computers met elkaar te verbinden samen gebruikend telecommunicatietechnologie. Deze inspanning werd gefinancierd door ARPA (nu DARPA), en computer netwerk dat het werd genoemd produceerde ARPANET. De technologieën die Arpanet mogelijke uitgespreid en geëvolueerdg maakten. Op tijd, spreidde het netwerk voorbij academische en militaire instellingen uit en werd gekend als Internet. De totstandkoming van voorzien van een netwerk impliceerde een herdefiniëring van de aard en de grenzen van de computer. Systemen en toepassingen van de computer werden de werkende gewijzigd om de capaciteit te omvatten om tot de middelen van andere computers op het netwerk, zoals perifere apparaten, opgeslagen informatie, en dergelijke te definiëren en toegang te hebben, als uitbreidingen van de middelen van een individuele computer. Aanvankelijk waren deze faciliteiten beschikbaar hoofdzakelijk aan mensen die in high-tech milieu's, maar in de jaren '90 werken de verspreiding van toepassingen als e-mail en World Wide Web, gecombineerd met de ontwikkeling van goedkope, snelle voorzien van een netwerktechnologieën als Ethernet en ADSL het voorzien van een netwerk van de zaagcomputer wordt bijna alomtegenwoordig. In feite, phenomenally groeit het aantal computers die genetwerkt zijn. Een zeer groot deel van personal computers verbind regelmatig met Internet om informatie mee te delen en te ontvangen. „Draadloos“ voorzien van een netwerk dat, vaak gebruikt mobiele telefoon de netwerken, heeft betekend het voorzien van een netwerk zelfs in mobiele gegevensverwerkingsmilieu's meer en meer alomtegenwoordig wordt.
De termijn hardware behandelt elk van die delen van een computer die tastbare voorwerpen zijn. De kringen, de vertoningen, de machtslevering, de kabels, de toetsenborden, de printers en de muizen zijn al hardware.
| Perifeer apparaat (Input-output) | Input | Muis, Toetsenbord, Bedieningshendel, De scanner van het beeld |
| Output | Monitor, Printer | |
| Allebei | Floppy diskaandrijving, Harde schijf, Optische schijf aandrijving, Telex | |
| De bussen van de computer | Op korte termijn | Rs-232, SCSI, PCI, USB |
| Lange waaier (Het voorzien van een netwerk van de computer) | Ethernet, ATM, FDDI |
Software verwijst naar delen van de computer die geen materiële vorm, zoals programma's, gegevens, protocollen, enz. hebben. Wanneer de software in hardware wordt opgeslagen die gemakkelijk niet kan worden gewijzigd (zoals BIOS ROM in Het compatibele systeem van PC van IBM), wordt het soms „ingebouwde programmatuur“ genoemd om erop te wijzen dat het ergens in een onzeker gebied tussen hardware en software valt.
De programmeertalen verstrekken diverse manieren om programma's te specificeren voor in werking te stellen computers. In tegenstelling tot natuurlijke talen, worden de programmeertalen ontworpen om geen ambiguïteit toe te laten en beknopt te zijn. Zij zijn zuiver geschreven talen en zijn vaak moeilijk hardop te lezen. Zij zijn over het algemeen één van beiden vertaald in machine taal door a compiler of assembleur alvorens wordt gelopen, of direct vertaald bij runtime door tolk. Soms worden de programma's uitgevoerd door een hybride methode van de twee technieken. Er zijn duizenden van verschillend programmerend taal-wat bedoeld als algemeen doel, anderen nuttig slechts voor hoogst gespecialiseerde toepassingen.
| Lijsten van programmeertalen | Chronologie van programmeertalen, Categorische lijst van programmeertalen, De lijst van Generational van programmeertalen, Alfabetische lijst van programmeertalen, Niet-Engels-gebaseerde programmeertalen |
| Algemeen gebruikt Assembleertalen | WAPEN, MIPS, x86 |
| Algemeen gebruikt Hogere programmeertalen | BASIC, C, C++, C#, COBOL, Fortran, Java, Lisp, Pascal |
| Algemeen gebruikt De talen van Scripting | Het manuscript van Bourne, JavaScript, Python, Robijn, PHP, Perl |
Aangezien het gebruik van computers in heel de maatschappij heeft uitgespreid, is er een stijgend aantal carrières die computers impliceren. Na het thema van hardware, software en ingebouwde programmatuur, zijn de hersenen van mensen die in de industrie werken irreverently soms gekend als wetware of „meatware“.
| op hardwarebetrekking hebbend | Elektrotechniek, De techniek van de elektronika, De techniek van de computer, Telecommunicatie techniek, Optische techniek, De techniek van Nanoscale |
| op softwarebetrekking hebbend | De wetenschap van de computer, Human-computer interactie, Informatietechnologie, Softwaretechnologie, Wetenschappelijke gegevensverwerking, Het ontwerp van het Web, Desktop publishing |
De behoefte aan computers heeft om kuit geschoten informatie goed samen te werken en te kunnen ruilen de behoefte aan vele normenorganisaties, clubs en maatschappijen van zowel een formele als informele aard.
| De groepen van normen | ANSI, CEI, IEEE, IETF, ISO, W3C |
| De professionele Maatschappijen | ACM, Speciale Belangengroepen ACM, IET, IFIP |
| Vrij/Open bron software groepen | De vrije Stichting van de Software, De Stichting van Mozilla, De Stichting van de Software van Apache |
|
Custom Search
|
© Copyright 2011 WorldLingo. Alle rechten voorbehouden.