tag:blogger.com,1999:blog-2467724970188645480.post8613179747663659595..comments2023-11-15T11:12:15.983+02:00Comments on T13-d3-m135: Von N.Tiedemieshttp://www.blogger.com/profile/08307419899926184187noreply@blogger.comBlogger5125tag:blogger.com,1999:blog-2467724970188645480.post-21117735546115064662011-08-28T00:07:02.499+03:002011-08-28T00:07:02.499+03:00Useimmat imperatiiviset kielet ovat kyllä kehittyn...Useimmat imperatiiviset kielet ovat kyllä kehittyneet Harvardin arkkitehtuurin rajoitteiden alaisina: tietokoneessa on keskusyksikkö, datamuisti ja ohjelmamuisti. Wrenit tai muut koodikulit näpsyttelevät koneen paneleissa olevia kytkimiä ja langoittavat koneen uusiksi kun ajettava ohjelma vaihtuu.<br /><br />Von Neumannin arkkitehtuurissa ohjelma- ja datamuisti on siis yhdistetty, ohjelma on dataa on ohjelmaa. Yritin vähän vilauttaa arkkitehtuurin hyviä puolia, eli vaikka se, että se mahdollistaa reflektioon perustuvan ohjelmoinnin. Reflektion mukana tulee ohjelmointiparadigman lisäksi kaikkea kivaa, niin kuin jit-käännökset, hotspot-optimoinnit jne.<br /><br />Toinen hyvä puoli, jota Tiedemies näköjään ymmärtää arvostaa, on säännöllisyys ja symmetrisyys. Bitti muistissa on bitti muistissa. Koska bitit ovat bittejä, vanhan kunnon John vonin pullonkaula on pystytty kiertämään luomalla muistihierarkia. Varsinainen keskusmuisti, L1-välimuisti, pyörii samalla nopeudella kuin prosessori. Sitä on yhtä paljon kuin 1960-luvun superkoneessa, 1970-luvun minissä tai 1980-luvun kotimikrossa. Dataa haetaan sitten hitaammin ja isommissa palasissa L2, L3, D"RAM" ja "levyn" flash-muistilta.<br /><br />Toinen tapa kiertää pullonkaula on hajauttaa laskenta useammalle tietokoneelle rinnakkaistamalla ja klusteroimalla.<br /><br />Niin kauan kuin Mooren laki pätee, von N. jyrää. Eilispäivän häkki voidan tehdä tänään geneerisellä raudalla. Tuo Modhan BlueMatter-siru on siitä hyvä esimerkki, poikien on pakko juosta Moorea nopeammin. Ainoa rako menestykseen on toivoa, että Mooren laki lakkaa toimimasta.Kuntsahttps://www.blogger.com/profile/03077142827171300503noreply@blogger.comtag:blogger.com,1999:blog-2467724970188645480.post-82103396860382024402011-08-21T07:16:07.981+03:002011-08-21T07:16:07.981+03:00En ihan ymmärrä Kuntsan kommenttia. Imperatiiviset...En ihan ymmärrä Kuntsan kommenttia. Imperatiiviset kielethän nimenomaan ovat kehittyneet VN arkkitehtuurin rajoitteiden alaisina, tosin abstraktimpaan suuntaan mentäessä yhä vähemmän. <br /><br />Lispin tapaisissa kielissä taas "operationaalinen" taso on funktioteoriassa tai vaikka lambda-kalkyylissä, josta se sitten mäpätään raudalle.<br /><br />Meidän opetuksessamme ei ole mitään partikulaarisia kieliä muutoin kuin esimerkkeinä tietyistä suunnitteluperiaatteista ja niiden ilmentyminä.Tiedemieshttps://www.blogger.com/profile/08307419899926184187noreply@blogger.comtag:blogger.com,1999:blog-2467724970188645480.post-31417354811585485762011-08-20T11:57:27.108+03:002011-08-20T11:57:27.108+03:00Neumannin arkkitehtuuria täysillä hyödyntäviä ohje...Neumannin arkkitehtuuria täysillä hyödyntäviä ohjelmakieliä ei kyllä hirveästi käytetä. Lisp on tietty poikkeus, samoiten sen sukuinen Forth, ja ehkä jotain skriptikieliä voi myös pitää von Neumannin arkkitehtuurin mukaisina. Arkkitehtuuri itsessään on voimakas kuin pangalaktinen kurlauspommi.<br /><br />Vielä pidemmälle menevä abstraktio, jossa piillä olevia transistoreita voidaan käsitellä kuin mitä tahansa muuta dataa tai ohjelmakoodia, olisi kyllä viileä mutta kolea.<br /><br />Mitäs muuten sielläpäin käytetään nyyään ohjelmointikielten periaatteiden opetukseen? Kultainen kolmikko Java/Haskell/Prolog? Mahtuuko mukaan pari Lisp-makroa, voisit näyttää miten Oikeat Miehet™ tekevät koodia periaatteista välittämättä...Kuntsahttps://www.blogger.com/profile/03077142827171300503noreply@blogger.comtag:blogger.com,1999:blog-2467724970188645480.post-68377798657610398582011-08-19T15:36:13.882+03:002011-08-19T15:36:13.882+03:00Kappas, tuli tuo Von Neumannin arkkitehtuuri juuri...Kappas, tuli tuo Von Neumannin arkkitehtuuri juuri tänään tässä uutisessa esille, muutoksia tulossa tähänkin rintamaan siis, vilkaisepas:<br /><br />http://www.hardware.fi/uutiset/artikkeli.cfm/2011/08/18/ibm_kehitti_ihmisen_aivoja_matkivan_sirunIlkkahttps://www.blogger.com/profile/15105820182630064323noreply@blogger.comtag:blogger.com,1999:blog-2467724970188645480.post-86448829310502757862011-08-18T17:52:29.841+03:002011-08-18T17:52:29.841+03:00Uskon, että monissa ohjelmistoissa paradigmamuutos...Uskon, että monissa ohjelmistoissa paradigmamuutos on menossa deklaratiiviseen ohjelmointiin kun laskentatehoa riittää. Ja tämä on ohjelmoijalle sinäänsä mukavaa, koska voi saada enemmän aikaan lyhyemmässä ajassa. Transitiot deklaratiivisempaan paradigmaan vaatii kuitenkin hyvin abstraktia käsitystä ohjelman toiminnasta ja toistuvuudesta.<br /><br />Tämähän tarkoittaa, että ohjelmoijista tulee enemmän suunnittelijiota ja maalareita, ja raskas työ ulkoistetaan tietokonekielille, kääntäjille, tulkeille ja frameworkeille. Tietenkin x86-konekielen tiukimmat viilaukset ja tehokkaimmat algoritmit opetelleet ovat tästä harmissaan, mutta tämä on kehitystä. Aina tosin on sovellusalueita, kuten lyhyitä ja tarkkoja suoritusaikoja vaativat reaaliaikaiset ohjelmistot, missä tälläinen taito on pakollista.<br /><br />Itsekin kun joskus opin Von Neumannin arkkitehtuurista, intuitiosta lähti kysymys, onko tehokkaampi tapa tehdä tietokoneita, koska kyseinen arkkitehtuuri on ollut aika kauan olemassa.<br /><br />Voihan olla, että joku uusi teknologia kuten valopohjaiset logiikkapiirit tekevät muistihauista nykyistä paljon tehokkaampia jolloin arkkitehtuurimuutos ei välttämättä ole tarpeelllista.Arihttps://www.blogger.com/profile/05827770764242875617noreply@blogger.com