Mitä hyötyä korjaustiedostosta on laskennassa?

Paras vastaus

Kuvittele suuri tietokoneohjelma, esimerkiksi 100 Mt pitkä tiedosto.

Kuvittele nyt pieni korjaus, esimerkiksi korjaus, joka muuttaa vain muutaman tavun näissä 100 Mt: ssä.

100 Mt: n ohjelmatiedoston korvaaminen on kaistanleveyden tuhlausta. Lataaminen kestää kauan ja vie paljon tilaa tarpeettomasti.

Sen sijaan voit antaa pienen ohjelman, jonka ainoa tarkoitus on löytää alkuperäinen 100 Mt tiedosto asiakkaan tietokoneelta ja sitten muuta niitä muutamia tavuja, jotka muodostavat korjauksen. Tämä olisi korjaustiedosto.

Sanaa ”korjaustiedosto” käytetään tietysti nykyään melko epävirallisesti kuvaamaan ohjelmiston pieniä uudelleenjulkaisuja, muodosta riippumatta. uudelleenjulkaisu kestää; se voi olla korjaustiedoston muodossa, kuten edellä kuvailin, tai se voi olla vain joukko korvaavia tiedostoja tai jopa uusi asennuspaketti, sitä kutsutaan silti usein ”korjaukseksi”, jos tarkoitus Paketin paketti on vain korjata muutama vika tai toteuttaa muita pieniä muutoksia.

Vastaus

No, alimmalla tasolla tietokoneen siru on tehty transistoreista. Nämä ovat TINY piitä, joissa on tahallisia epäpuhtauksia, jotta ne kykenevät toimimaan pieninä kytkiminä.

Transistorit rakennetaan piireihin lisäämällä kerroksen pieniä johtoja niiden liittämiseksi.

Transistorit on rakennettu ”logiikkaportteihin”, jotka voivat tehdä hyvin yksinkertaisia ​​loogisia toimintoja:

  • JA – jos molemmat läsnä ovat kaksi tulosignaalia, luo lähtösignaali.
  • TAI – jos jompikumpi tai molemmat tulosignaalista ovat läsnä, luo lähtösignaali.
  • XOR – jos vain yksi tulosignaaleista on läsnä, mutta ei toista, luo lähdön.
  • EI – jolla on vain yksi tulo – ja tuottaa lähdön vain, jos tulossa ei ole signaalia.

Kukin näistä logiikkaporteista on vain pari transistoria.

Loogiset portit voidaan sitten koota tekemään sellaisia ​​asioita kuin ”varvastossut”, joilla on yksi tosi / väärä arvo ja jotka muistavat sen – tai ”yhden bitin lisäykset”, jotka voivat lisätä kaksi binäärilukua yhteen ja tuottaa tuloksen ja bitti.

Käytössä e-bittiset summaimet voidaan yhdistää piireiksi, jotka voivat lisätä kaksi suurempaa lukua yhteen (tai vähentää ne käyttämällä temppua nimeltä ”kahden komplementtiaritmeettinen”).

Voimme myös rakentaa asioita, joita kutsutaan ”siirtäjiksi”, jotka moninkertaista luku kahdella, neljällä, kahdeksalla, kuudellatoista jne.

Joukko varvastossuja voidaan koota rakentamaan piirilohko, johon mahtuu koko numero – ja joukko NÄITÄ palasia voi tehdä RAM-muistilohkon, johon mahtuu monia, monia numeroita.

Näistä summain- ja vaihtolohkoista voit rakentaa piirejä, jotka kertovat ja jakavat … ja niistä voimme tehdä piirejä, jotka laskevat esimerkiksi sinit ja kosinit sekä neliön juuret. Voimme myös tehdä piirejä, jotka vertailevat kahta lukua vähentämällä yhden toisesta ja nähdä, onko tulos positiivinen, nolla vai negatiivinen.

Sitten on olemassa joukko ohjauslogiikkaa – joka voi kertoa näille muille suuret piirinpalat, jotta numero voidaan siirtää RAM-muistin paikasta toiseen – tai lisätä kaksi RAM-muistista otettua numeroa yhteen ja kirjoittaa ne takaisin toiseen paikkaan RAM-muistissa.

Viimeinen vaihe on käyttää numeroa tallennetaan RAM-muistiin kertomaan ohjauslogiikalle, mitä tehdä … Joten se numero on koodi, joka edustaa käskyä tietokoneohjelmassa. Joten ehkä numero 1 tarkoittaa ”siirtää numero paikasta toiseen” ja ”2” tarkoittaa ”lisää kaksi lukua” ja ”3” tarkoittaa ”vertaa kahta lukua”. Jokaisen käskyn suorittamisen jälkeen piiri hakee seuraavan käskyn ja suorittaa sen myös. Jos teet vertailun, voit kertoa, että logiikkalohko alkaa ottaa seuraava ohje muualta.

Tämä on sitten hyvin yksinkertainen – mutta melko käyttökelpoinen tietokone … mutta asiat ovat muuttuneet WILDLYn monimutkaisemmiksi kuin se.

Kun kaikki nämä yhä monimutkaisemmat logiikkapiirit yhdistetään – saatamme päätyä siruun, jossa on yli miljardi pientä transistoria!

Kutsumme sitä ”CPU: ksi ”Siru.

Sitten saamme muut sirut, jotka muodostavat koko tietokoneen – etenkin on olemassa” RAM-siruja ”, jotka tallentavat numeroita aivan kuten kiikamme – mutta käyttämällä tilaa säästävämpää menetelmää . Nämä sirut käyttävät kondensaattoreita transistoreiden sijaan – ja lataamalla kondensaattorin (tai ei) tallenna yksi bitti tietoa vähemmän tilaa kuin kiikku. Nämä RAM-sirut ovat enemmän tai vähemmän vain VAST-kondensaattoreita ja ohjauslogiikkaa. Miljardeja niistä yhdellä sirulla.

Sitten meillä on myös siruja, jotka lähettävät esimerkiksi RAM-palan sisällön näytölle näytön luomiseksi. RAM-muistissa olevat numerot on ryhmitelty kolmen joukoksi, jotka edustavat punaisen, vihreän ja sinisen värin kirkkautta yhdellä pikselillä näytöllä. Miljoonia numeroita käytetään kuvaamaan näkyvää kuvaa – ja tietokone muuttaa näitä värejä jokaisessa pikselissä kirjoittamalla numeroita kyseiseen RAM-muistiin.

Tuloksena oleva kone on monimutkaisin asia, jonka ihmiset ovat tehneet – FAR. Matkapuhelin tai kannettava tietokone saattaa ajaa kohti biljoonaa transistoria ja kondensaattoria.

62-vuotiaana ohjelmistoinsinöörinä – minusta on melko hämmästyttävää, että kaikki tämä on tullut mahdolliseksi elämäni aikana. Kun aloitin tämän, tietokoneet valmistettiin edelleen samalla tavalla – mutta transistori oli jotain tic-tac-mintun kokoista – ja nyt ne ovat pienempiä kuin valon aallonpituus!

Mutta yhtä hämmästyttävää kuin kaikki tämä monimutkaisuus on – mikä minua täysin hämmästyttää, on se, kuinka hullusti luotettava kaikki on.

Autosi on ehkä valmistettu 10000 osasta – joista osa tekee asioita muutama tuhat kertaa sekunnissa. Muutaman vuoden kuluttua (mikä on ehkä muutama tuhat käyttötuntia) jotkut näistä osista menevät pieleen ja ne on vaihdettava.

Tietokoneeni on valmistettu biljoonasta osasta – joista suurin osa tekee asioita muutama miljardi kertaa sekunnissa. Laitteisto toimii täysin moitteettomasti vuosikymmenen ajan – edustaa muutama sata tuhatta käyttötuntia – mutta tuhat miljardia yksittäistä operaatiota – joista jokainen tapahtui virheettömästi.

Tietokoneet ovat todella mahtavia asioita.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *