Legjobb válasz
Képzeljen el egy nagy számítógépes programot, mondjuk egy 100 MB hosszú fájlt.
Most képzeljen el egy kis javítást, mondjuk egy javítást, amely csak néhány bájtot változtat meg abban a 100 MB-ban.
A 100 MB-os programfájl cseréjének kiadása pazarolja a sávszélességet. Hosszú ideig tart a letöltés, és feleslegesen sok helyet használ fel.
Ehelyett kiadhat egy kis programot, amelynek egyetlen célja az eredeti 100 MB-os fájl megkeresése az ügyfél számítógépén, majd változtassa meg azt a néhány bájtot, amely a javítást jelenti. Ez egy javítás lenne.
Természetesen a “javítás” szót manapság meglehetősen informálisan használják a szoftver kisebb mértékű újbóli kiadásának leírására, formától függetlenül. az újbóli kiadás lehet: javítás formájában, amint azt a fentiekben leírtam, vagy lehet csak cserefájlok halmaza, vagy akár új telepítőcsomag, még mindig “javításnak” hívják, ha a cél A csomag csak néhány hiba kijavítására vagy más kisebb változtatások végrehajtására szolgál.
Válasz
Nos, a legalacsonyabb szinten egy tranzisztorokból készül egy számítógépes chip. Ezek TINY szilícium foltok, szándékos szennyeződésekkel, hogy képesek legyenek apró kapcsolóként működni.
A tranzisztorok áramkörökbe épülnek fel egy apró vezetékréteg hozzáadásával, amelyek összekapcsolják őket.
A tranzisztorok olyan „logikai kapukba” vannak beépítve, amelyek nagyon egyszerű logikai műveleteket hajthatnak végre:
- ÉS – ha két bemeneti jel is van, generáljon kimeneti jelet. > VAGY – ha a két bemeneti jel egyike vagy mindkettő jelen van, akkor generáljon kimeneti jelet.
- XOR – ha csak az egyik bemeneti jel van jelen, a másik nem, akkor kimenetet generál.
- NOT – amelynek csak egy bemenete van – és csak akkor generál kimenetet, ha nincs jel a bemeneten.
Az említett logikai kapuk mindegyike csak egy pár tranzisztor.
A logikai kapukat ezután össze lehet állítani, így például „flip flop” -ok, amelyek egyetlen igaz / hamis értéket tartalmaznak és emlékeznek rá – vagy „egy bites összeadók”, amelyek két bináris számjegyet adhatnak össze és kimenetet hozhatnak létre és egy „hordozó” bit.
Be Az e bites összeadók kombinálhatók olyan áramköri darabok készítéséhez, amelyek két nagyobb számot összeadhatnak (vagy kivonhatják őket egy „kettő komplementaritmikusának” nevezett trükk segítségével). szorozzon meg egy számot kettővel, négyzel, nyolcsal, tizenhatsal stb.
Egy csomó papucsot össze lehet állítani, hogy felépítsen egy darab áramkört, amely egy egész számot tárolhat – és egy csomót AZTOK darabjait. képes létrehozni egy olyan RAM memória blokkot, amely sok-sok számot képes tárolni.
Ezekből az összeadó és váltó blokkokból felépíthet olyan áramköröket, amelyek szaporodnak és osztódnak … és ezekből olyan áramköröket készíthetünk, amelyek kiszámítják például: szinuszok és koszinuszok és négyzetgyökek. Készíthetünk olyan áramköröket is, amelyek két számot hasonlítanak össze azzal, hogy kivonjuk az egyiket a másikból, és megnézzük, hogy az eredmény pozitív, nulla vagy negatív-e.
Ezután egy csomó vezérlési logika létezik – amely meg tudja mondani ezeket a másikat nagy áramköri darabok egy szám áthelyezéséhez a RAM egyik helyéről a másikra – vagy ha összeadunk két RAM-ból vett számot, és visszaírjuk őket a RAM másik helyére.
Az utolsó lépés egy szám használata RAM-ban tárolva, hogy megmondja a vezérlési logikának, mit kell tennie … tehát az a szám egy kód, amely egy számítógépes program utasításait jelöli. Tehát talán az „1” szám jelentése „szám áthelyezése egyik helyről a másikra”, a „2” pedig „két szám hozzáadása”, a „3” pedig „két szám összehasonlítása”. Az egyes utasítások végrehajtása után az áramkör lekéri a következő utasítást, és ezt is végrehajtja. Ha összehasonlítást végez, elmondhatja annak a logikai blokknak, hogy kezdje el a következő utasítás máshonnan történő átvételét.
Ez akkor NAGYON egyszerű – de meglehetősen használható számítógép … de a dolgok VILLAMOSAN bonyolultabbá váltak annál.
Ha mindezeket az egyre bonyolultabb logikai áramköröket összekapcsoljuk, akkor egy chipet kapunk, amelynek több mint egymilliárd ilyen apró tranzisztora van!
Ezt hívjuk „CPU-nak”. ”Chip.
Ezután megkapjuk a többi chipet, amelyek az egész számítógépet alkotják – nevezetesen vannak olyan„ RAM chipek ”, amelyek ugyanúgy tárolják a számokat, mint a flip-flop -, de helytakarékosabb módszerrel . Ezek a chipek tranzisztorok helyett kondenzátorokat használnak – és egy kondenzátor feltöltésével (vagy nem) egyetlen bit információt tárolnak kevesebb helyen, mint egy flip-flop. Ezek a RAM chipek nagyjából csak egy kondenzátorok és vezérlési logika VAST-tengere. Több milliárd belőlük egyetlen chipen.
Ezután vannak olyan zsetonjaink is, amelyek olyan dolgokat végeznek, mint például egy darab RAM tartalmának elküldése egy képernyőre, hogy megjelenítést készítsenek. A RAM-ban lévő számok három csoportba vannak csoportosítva, amelyek a piros, zöld és kék színek fényerejét képviselik a képernyőn egyetlen képponton. Számok millióit használják a látott kép leírására – és a számítógép minden pixelnél megváltoztatja ezeket a színeket azáltal, hogy számokat ír be a RAM memóriájába.
A kapott gép a legösszetettebb dolog, amit az emberek készítettek – a FAR által. Lehet, hogy egy mobiltelefon vagy egy laptop billió tranzisztor és kondenzátor felé tolódik.
62 éves szoftvermérnökként – meglehetősen elképesztőnek tartom, hogy mindez életem során lehetővé vált. Amikor elkezdtem ezt csinálni, a számítógépek még mindig ugyanúgy készültek – de a tranzisztor valami tic-tac menta méretű volt -, és most kisebbek, mint a fény hullámhossza!
De olyan csodálatos, mint mindez a bonyolultság – ami engem teljesen megdöbbent, az az, hogy milyen őrülten megbízható az egész.
Az autója valószínűleg 10 000 alkatrészből áll – amelyek közül néhány másodpercenként néhány ezer alkalommal cselekszik. Néhány év múlva (ami talán néhány ezer üzemóra) néhány alkatrész meghibásodik, és ki kell cserélni őket.
A számítógépem egy billió alkatrészből áll – amelyek többsége dolgokat végez másodpercenként néhány milliárdszor. A hardver egy évtizeden át teljesen hibátlanul fog működni – néhány százezer üzemórát jelentve -, de ötmillió egyedi műveletet – amelyek mindegyike hibátlanul történt.