Selittäisikö joku rautalangasta miten 1 ja 0 numerot toimivat tietokonekoodaamisessa?
Miten joku kone voi tajuta että 1 ja 0 tarkoittaa mitä tarkoittaa?
Kommentit (84)
Hei me koodataan.
Ymmärtääkseni paremmin tietokoneen toiminta, räpsyttelin valoa pois ja päälle puolisen tuntia, kunnes sain viallisesta koskettimesta sähköiskun ja valaistuin.
Mun oma koodikieli.
Jos mä oon ykkönen ja te nollia, niin.....
1000101110011001100=haistakaa hitusvinkula.
Kaikki tietokoneen toiminnot on koodattu muisti alueeseen johonkin tiettyyn bittiosoitteeseen?
Onko tuo termi oikea edes mitä kysyn?
Vierailija kirjoitti:
Vierailija kirjoitti:
Mitkä on ensimmäiset asiat mitkä tietokoneelle kerrotaan koodaamalla? Kerrotaanko sille ensin, että olet tietokone?
Käyttöjärjestelmä kertoo mistä muistiosoitteesta löytyy ensimmäinen rivi suoritettavaa koodia.
Eikä kerro, vaan raudan reset vektori. Ihme datanomeja täällä kertoilemassa puuta heinää.
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
1=kyllä ja 0=ei. Minkä tahansa asian saa selitettyä tarpeeksi monella kyllä ei kysymyksellä. Esim. Onko kyseessä eläin 1, onko kyseessä kissa 0, onko kyseessä koira 1.
Miksi kissa = 0 ja koira = 1 ?
No nämä tiedot tallennetaan muuttujiin, joista pienin on tavun mittainen, eli 8 kappaletta ykkösiä ja nollia peräkkäin tavalla voidaan esittää kokonaislukuna arvot 0...255.
0= 0000 0000
1 = 0000 0001
2= 0000 0010
255 = 1111 1111Nyt voi esittää erirotuisia kissoja ja koiria 255 vaihtoehtoa.
0= ei mitään
1=kissa
2=koira
3=ajokoira
jne...Google haulla 2 ei tule yhtään koira vastausta
En tajua
😆
Samuel Morse keksi aikoinaan lennättimen (1844). Sen aikaiset tekniikkanörtit alkoivat heti innolla opetella morsettamaan. Sitten Bell keksi puhelimen...
Sama juttu tietokoneissa. 1900-luvun lopun tekniikkanörtit opettelivat innolla koodaamaan eri tietokonekielillä omia ohjelmiaan. Sittem Google perusti GooglePlay-sovelluskaupan...
Voisiko nää numerot olla vaikka 5 ja 8? Jos ei niin miksi ei?
Vierailija kirjoitti:
Voisiko nää numerot olla vaikka 5 ja 8? Jos ei niin miksi ei?
Etkö ole vieläkään ymmärtänyt? Tietokone ymmärtää vain numerot 0 ja 1.
Vierailija kirjoitti:
Kaikki tietokoneen toiminnot on koodattu muisti alueeseen johonkin tiettyyn bittiosoitteeseen?
Onko tuo termi oikea edes mitä kysyn?
Kyllä, mutta systeemi on aikojen saatossa kehittynyt aika paljon monimutkaisemmaksi.
CPU lukee toimintaohjeet (=ohjelmakoodin) muistista. Koodi on konekieltä johon on ihmistä varten kehitetty apuohjelma joka tulkkaa numerot ihmiselle paremmin ymmärrettävään muotoon, tätä kutsutaan assembly-kieleksi. Assembly on siis yksi yhteen konekielen kanssa, mutta jotkut numerot vaan näytetään sanoina, jotka ihmisen on helpompi ymmärtää.
Muistia on taas kahdenlaista, pysyvää ja sellaista joka säilyttää arvonsa vain kun virrat ovat päällä. CPU pystyy usein näkemään vain tämän muistin(RAM) joka ei säilytä arvoaan kun virrat katkaistaan. Kun tietokone käynnistetään niin pysyvästä muistista ladataan ohjelma RAM-muistiin, josta CPU alkaa ajamaan koodia.
Ylläkerrotut ovat edelleen äärimmäisiä yksinkertaistuksia, nykyään systeemit ovat vielä todella paljon monimutkaisempia. On esim MMU(memory managemen unit), joka on rautalohko joka mäppää erilaisia osoitteita toisiin osoitteisiin. MMU:n avulla voidaan esim ajaa pienessä RAM muistissa isoa ohjelmaa on deman paging -menetelmällä, tai eristää eri ohjelmia(appseja) siten etteivät ne näe toistensa muistiin, jolloinka koko tietokone ei mene sekaisin vaikka joku ohjelma tekisikin jotain laitonta.
1 ja 0 on binääriesitys luvuista, tietokone osaa tehdä niillä laskutoimituksia ja tehdä erilaisia toimintoja sen mukaisesti kun se ymmärtää niitä. Koko tietokoneen toiminta on sitten hieman monimutkaisempi selittää. Kone rakentuu suorittimesta, muistista ja syöttö ja tulostuslaitteista, kuten näppäimistö ja näyttö. Eli kone on määritelty ennalta tekemään tietyn käskyn mukaan tehtäviä, käsky on tuo binääriesitys, joka on siis käytännössä lukuarvo. Suoritin ymmärtää käyttää näitä muita osia käskyjen mukaan, esim. käsky 000111 on vaikka tulosta näytölle ja sen perään annetaan vaikka arvot 001,001 ja 010 jotka olisivat esim. Piirrä näytölle xy kohtaan harmaa piste. Suurin osa näistä toiminnoista on ns. rekistereitä, jotka toteuttavat omalla tunnisteellaan eli käskyllä toiminnan. Suoritin taas tekee ohjelmakoodin mukaan toiminnat ja laskutoimitukset.
Vierailija kirjoitti:
Voisiko nää numerot olla vaikka 5 ja 8? Jos ei niin miksi ei?
Joo voi olla, kunhan ne on binäärimuodossa, eli 5 = 101 ja 8 = 1000
Binäärimuoto eli 0 tai 1 on kai hyväksi havaittu tapa, koska analogisia tietokoneita on joskus ollut. Myös televisio on ollut analoginen ja radio on vielä tänäkin päivänä. Jokainen voi nyt miettiä, oliko se analoginen televisio parempi. Ei ainakaan nykytekniikalla, vaikka teoriassa analoginen tietomäärä on valtava, mutta samalla erittäin vaikea todentaa kokonaan.
Ei kuitenkaan välttämättä tarkoita, että jos ihminen kykenee ajattelemaan muutakin kuin 0 tai 1, että aivomme toimisivat samoin. Voi yhtälailla muodostaa tuon ajatuksen vain 0 tai 1 periaatteella tai no aivomme taitaa olla ainakin kvanttitietokoneen tasoinen, mutta eri tehtäviin muodostunut.
Minusta 0 tai 1 samanaikaisesti kuulostaa hullulta, johon kvanttitietokone perustuu. Siinä on jotain mitä emme tiedä. Jotain mitä emme voi vielä havaita. Vähän samanlaista kuin 2D-maailmassa elävä voisi havaita 3D-maailmaa. Kyllä sitä voi havaita, mutta kummallisella tavalla.
Mutta siis tuo 0 tai 1 on sovittu. Kyse on vain kahdesta toisistaan nykytekniikalla riittävän vahvasti erotettavissa olevista tiloista, jolla voidaan käsitellä tietoa. Atomien rakenne lopulta määrää, mitä voimme tehdä eli täysin mielivaltaista järjestelmää ei voi rakentaa ainakaan tehokkaaksi.
Kun 0 ja 1 käyttö on sovittu, sitten voidaan sopia että esim. ensimmäiset 0 tai 1 tarkoittaa jotakin ja niitä seuraavat 0 tai 1 tarkoittaa jotain muuta riippuen oliko aikaisemmin 0 tai 1
Siksi on olemassa suoraan epäsopivia ohjelmia erilaisiin tietokoneisiin, koska 0 ja 1 merkitykset vaihtelevat. Ei ole päästy yksimielisyyteen ja ei se kyllä ole edes mahdollista, jos haluaa rakentaa erilaisen tietokoneen, joka olisi parempi jossain ja vastaavasti huonompi jossain.
En tajua näistä vastauksista paljon mitään, vaikka olen ikäni käyttänyt tietokoneita, kouluaikoina osasin tehdä tehtäviä kahdellakin eri ohjelmointikielellä ja äo:ni on harvinaisen korkea.
Pitää lähteä ihan perusteista. Jos haluaisin nyt rakentaa tyhjästä itse jonkinlaisen tietokoneen, niin miten se tapahtuu? Mistä aloitan? Ilman tätä tietoa on mahdoton oikeasti tajuta tätä. Voi vain luulla tajuavansa.
Ei ap.
Vierailija kirjoitti:
Samuel Morse keksi aikoinaan lennättimen (1844). Sen aikaiset tekniikkanörtit alkoivat heti innolla opetella morsettamaan. Sitten Bell keksi puhelimen...
Sama juttu tietokoneissa. 1900-luvun lopun tekniikkanörtit opettelivat innolla koodaamaan eri tietokonekielillä omia ohjelmiaan. Sittem Google perusti GooglePlay-sovelluskaupan...
Ja sitten onkin ihan sama mitä koodaat, sillä ohjelmaasi ei kukaan kumminkaan löydä sen muun turhan saastan seasta sieltä.
Vierailija kirjoitti:
En tajua näistä vastauksista paljon mitään, vaikka olen ikäni käyttänyt tietokoneita, kouluaikoina osasin tehdä tehtäviä kahdellakin eri ohjelmointikielellä ja äo:ni on harvinaisen korkea.
Pitää lähteä ihan perusteista. Jos haluaisin nyt rakentaa tyhjästä itse jonkinlaisen tietokoneen, niin miten se tapahtuu? Mistä aloitan? Ilman tätä tietoa on mahdoton oikeasti tajuta tätä. Voi vain luulla tajuavansa.
Ei ap.
Tutustu vaikka Von Neumann tietokoneen arkkitehtuuriin, sen kun opettelee niin helpottaa kummasti ymmärtämistä. Itse aloitin urani tietojenkäsittelyn perusteista ja toteuttanutkin oman prosessorin äänenkäsittelyyn, kun taustalla oli jo 10v kokemus laiteläheisestä ohjelmoinnista. Eli perusteiden opettelua ja binäärilukujen pyörittelyä paperilla, niin siitä se pikkuhiljaa lähtee avautumaan.
Vierailija kirjoitti:
Ahaa. Nyt ymmärrän jotenkin. Kiitos 😀.
Ap
Kone ei ymmärrä ykkösiä ja nollia. Ihminen ymmärtää ne, ja ihmiselle ne ovat helpompia käsitteitä kuin sähkövirta ja ei-sähkövirtaa.
Vierailija kirjoitti:
En tajua näistä vastauksista paljon mitään, vaikka olen ikäni käyttänyt tietokoneita, kouluaikoina osasin tehdä tehtäviä kahdellakin eri ohjelmointikielellä ja äo:ni on harvinaisen korkea.
Pitää lähteä ihan perusteista. Jos haluaisin nyt rakentaa tyhjästä itse jonkinlaisen tietokoneen, niin miten se tapahtuu? Mistä aloitan? Ilman tätä tietoa on mahdoton oikeasti tajuta tätä. Voi vain luulla tajuavansa.
Ei ap.
Tyhjästä ei voi rakentaa oikein mitään. Määrittele ensin mitä komponentteja sinulla on käytettävänä tietokoneesi rakentamiseen.
Vierailija kirjoitti:
Vierailija kirjoitti:
En tajua näistä vastauksista paljon mitään, vaikka olen ikäni käyttänyt tietokoneita, kouluaikoina osasin tehdä tehtäviä kahdellakin eri ohjelmointikielellä ja äo:ni on harvinaisen korkea.
Pitää lähteä ihan perusteista. Jos haluaisin nyt rakentaa tyhjästä itse jonkinlaisen tietokoneen, niin miten se tapahtuu? Mistä aloitan? Ilman tätä tietoa on mahdoton oikeasti tajuta tätä. Voi vain luulla tajuavansa.
Ei ap.
Tutustu vaikka Von Neumann tietokoneen arkkitehtuuriin, sen kun opettelee niin helpottaa kummasti ymmärtämistä. Itse aloitin urani tietojenkäsittelyn perusteista ja toteuttanutkin oman prosessorin äänenkäsittelyyn, kun taustalla oli jo 10v kokemus laiteläheisestä ohjelmoinnista. Eli perusteiden opettelua ja binäärilukujen pyörittelyä paperilla, niin siitä se pikkuhiljaa lähtee avautumaan.
jäikö prossusi simu-asteelle, teitkö siitä FPGA-version vai kuinka sille kävi?
t. ohis
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
En tajua näistä vastauksista paljon mitään, vaikka olen ikäni käyttänyt tietokoneita, kouluaikoina osasin tehdä tehtäviä kahdellakin eri ohjelmointikielellä ja äo:ni on harvinaisen korkea.
Pitää lähteä ihan perusteista. Jos haluaisin nyt rakentaa tyhjästä itse jonkinlaisen tietokoneen, niin miten se tapahtuu? Mistä aloitan? Ilman tätä tietoa on mahdoton oikeasti tajuta tätä. Voi vain luulla tajuavansa.
Ei ap.
Tutustu vaikka Von Neumann tietokoneen arkkitehtuuriin, sen kun opettelee niin helpottaa kummasti ymmärtämistä. Itse aloitin urani tietojenkäsittelyn perusteista ja toteuttanutkin oman prosessorin äänenkäsittelyyn, kun taustalla oli jo 10v kokemus laiteläheisestä ohjelmoinnista. Eli perusteiden opettelua ja binäärilukujen pyörittelyä paperilla, niin siitä se pikkuhiljaa lähtee avautumaan.
jäikö prossusi simu-asteelle, teitkö siitä FPGA-version vai kuinka sille kävi?
t. ohis
Tein FPGA version, se on vielä käytössä omissa tuotteissa, missä tarvitaan useamman äänikanavan käsittelyä reaaliajassa.
Vierailija kirjoitti:
Vierailija kirjoitti:
En tajua näistä vastauksista paljon mitään, vaikka olen ikäni käyttänyt tietokoneita, kouluaikoina osasin tehdä tehtäviä kahdellakin eri ohjelmointikielellä ja äo:ni on harvinaisen korkea.
Pitää lähteä ihan perusteista. Jos haluaisin nyt rakentaa tyhjästä itse jonkinlaisen tietokoneen, niin miten se tapahtuu? Mistä aloitan? Ilman tätä tietoa on mahdoton oikeasti tajuta tätä. Voi vain luulla tajuavansa.
Ei ap.
Tutustu vaikka Von Neumann tietokoneen arkkitehtuuriin, sen kun opettelee niin helpottaa kummasti ymmärtämistä. Itse aloitin urani tietojenkäsittelyn perusteista ja toteuttanutkin oman prosessorin äänenkäsittelyyn, kun taustalla oli jo 10v kokemus laiteläheisestä ohjelmoinnista. Eli perusteiden opettelua ja binäärilukujen pyörittelyä paperilla, niin siitä se pikkuhiljaa lähtee avautumaan.
Kiitos, kokeilen googlata.
Tekniikan inssi olen. Ohjelmointia oli noin 3 tai 4 opintopistettä, opettaja surkea. Koodin ei tarvinnut toimia, kunhan koodattiin.....
Eikä siellä mitään syvällistä tietokoneen toiminnasta kerrottu, vähän epäilen, ettei opettaja olisi osannut selittää. Tässä ketjussa hyvin selitettyjä esimerkkejä, kiitos!