Montako olet SINÄ kirjoittanut.

Puhutaan kovalevyjen SATA-2 ajureista sekä grafiikkakiihdyttimistä, MONTAKO OLET ITSE SUUNNITELLUT JA KIRJOITTANUT?
Ilmianna
Jaa

13 Vastausta



Meno suomi24, 0 mutta mitä muuta sä harrastelet kuin kirjoituksesi mukaista paskaa suomi24pätemistä?
Ilmianna
Jaa
Ehkä sä voisit vaikka kirjotella miten sä niitä grafiikka-ajureita koodailet..? Jotain miten homma tapahtuu, mitkä ovat ne perusteet, ne keskeiset asiat "ajurikoodauksessa"? Kun kyse ei ole vain tavallisesta 'windows-softasta', niin mitkä on ne tekijät joista pitää lähteä liikkeelle, kyse on kuitenkin aika matalan tason ohjelmoinnista? Miten sä vaikka lähdet suunnittelemaan noita matalan tason, grafiikka-ajureiden toteutuksia? Miten sä integroit sun ohjelmat järjestelmään, tai siis että kerro toki jotain, minua ainakin kiinnostaa, niin kerro toki lisää???
Kommentoi
Ilmianna
Jaa
2 VASTAUSTA:
Ei siinä grafiikka-ajurissa mitään ihmeellistä ole, että käytännössä tarvitsee tehdä rajapinnalla joka tarjoaa pääsyn raudan lähelle.

Homma kannattaisi määritellä ensiksi jollain korkean tason kielellä ja simuloida. Haskell olisi tähän hyvä, että kirjoittelee funktioita mitä sen pitäisi tarjota. Ainoastaan pieni poikkeus sinne että on joku monadi siellä että piirtää pikseliä. Tuota specificaatiota voidaan käyttää sitten verifioimaan että lopullinen toteutus toimii oikein.

Sitten vaan alkaisi kirjoitella samaa rajapinnalla mikä tarjoaa pääsyn sinne rautaan. Onhan siellä käyttöjärjestelmissä se komponenttirajapinta jutuille missä toimitaan kernelin muistiavaruudessa. Samalla tavalla tekisi niitä funktioita mutta hoitaisi sen C:llä ja optimoi ja korvaa rautakutsuilla juttuja mitä voi.

Sitä voi sitten tehdä verifiointia esim. Isabellea käyttämällä tai muuten kirjoittamalla testipattereita, että optimoitu ajurikikkare toimii speksin mukaisesti.
Kommentoi
Ilmianna
Jaa
Eipä tuollaista oikein tarvitse kun siellä on standardia sekä laitevalmistajien tekemiä ajureita yms. joita käytetään korkeamman tason rajapinnan kautta. Ei siis tarvitse assemblernysvää.
Kommentoi
Ilmianna
Jaa
+Lisää kommentti
No, mä olen aikoinaan motorolan prossulle ohjelmoinut boottisekvenssin uusiksi syystä ettei muisti riittänyt uusien ominaisuuksien tuomiseen muutoin (yliajokoodi).
Ilmianna
Jaa
Itse aikoinaan teininä kirjoittelin assyllä paljonkin, mm. DOS-extenderin (ns protected-mode ajurin) sekä MOD/S3M-moduuleja toistavan soittimen. Nykyään tietokanta-asiantuntijana ei tuo assembler-tuntemus ole niin kovaa valuuttaa, mutta jos tarve tulisi ja palkka pysyisi samana, niin mielellään sitäkin tekisin.
Ilmianna
Jaa
Eipä ollut sata-2 ajureita tai grafiikkakiihdyttimiä niissä IBM:n keskuskoneissa, joille olen viimeksi (viime vuosituhannen puolella) Assemblerilla koodannut.

Nykyään mennään lähinnä C/C /C#/Java -linjalla.
Kommentoi
Ilmianna
Jaa
2 VASTAUSTA:
Ei ollut ei, grafiikkakiihdytin prosessoreita ei ollut edes keksittykään vielä silloin, piti vain ilman mitään dokumentaatiota keksiä ja kirjoittaa in/out komennoilla toimintoja 4-bittisillä väreillä olevalle näytönohjainkortille.

Joitain juttuja ei pysty yksinkertaisesti tekemään ilman assemblyä, erittäin matalan tason juttuja, laitteistoajurit sekä sellaiset jotka pystyvät menemään protected mode -käyttöjärjestelmän alle ottamaan resursseja käyttöön muuttamalla protected mode -käyttöjärjestelmän privilage leveleitä.

Visual BASIC:llakin voisi olla huono kirjoittaa oikein hardware low-level -ohjelmia.
Kommentoi
Ilmianna
Jaa
assemblyonhyvä kirjoitti:
Ei ollut ei, grafiikkakiihdytin prosessoreita ei ollut edes keksittykään vielä silloin, piti vain ilman mitään dokumentaatiota keksiä ja kirjoittaa in/out komennoilla toimintoja 4-bittisillä väreillä olevalle näytönohjainkortille.

Joitain juttuja ei pysty yksinkertaisesti tekemään ilman assemblyä, erittäin matalan tason juttuja, laitteistoajurit sekä sellaiset jotka pystyvät menemään protected mode -käyttöjärjestelmän alle ottamaan resursseja käyttöön muuttamalla protected mode -käyttöjärjestelmän privilage leveleitä.

Visual BASIC:llakin voisi olla huono kirjoittaa oikein hardware low-level -ohjelmia.
Ei siinä grafiikka-ajurissa mitään ihmeellistä ole, että käytännössä tarvitsee tehdä rajapinnalla joka tarjoaa pääsyn raudan lähelle.

Homma kannattaisi määritellä ensiksi jollain korkean tason kielellä ja simuloida. Haskell olisi tähän hyvä, että kirjoittelee funktioita mitä sen pitäisi tarjota. Ainoastaan pieni poikkeus sinne että on joku monadi siellä että piirtää pikseliä. Tuota specificaatiota voidaan käyttää sitten verifioimaan että lopullinen toteutus toimii oikein.

Sitten vaan alkaisi kirjoitella samaa rajapinnalla mikä tarjoaa pääsyn sinne rautaan. Onhan siellä käyttöjärjestelmissä se komponenttirajapinta jutuille missä toimitaan kernelin muistiavaruudessa. Samalla tavalla tekisi niitä funktioita mutta hoitaisi sen C:llä ja optimoi ja korvaa rautakutsuilla juttuja mitä voi.

Sitä voi sitten tehdä verifiointia esim. Isabellea käyttämällä tai muuten kirjoittamalla testipattereita, että optimoitu ajurikikkare toimii speksin mukaisesti.
Kommentoi
Ilmianna
Jaa
+Lisää kommentti
minä olen suunnitellut oman ohjelmoitavan kojeeni ja rakentanut sen ja purkanutkin ja nyt osat keräävät pölyä. TTL-irtologiikalla, ei prosessoria. Sananleveys 16 bittiä, muistia 256 bittiä. Kellotaajuus niin hidas kuin vain käyttäjän sormi nappia painelee. Ei ole grafiikkaa.
Kommentoi
Ilmianna
Jaa
2 VASTAUSTA:
Ja Z80:lle olen kirjoittanut assemblerilla omia ohjelmia.
Kommentoi
Ilmianna
Jaa
Olen minäkin tehnyt Z80-prossalle aikoinaan :)

Muuttuu huomattavan matalalle tasolle todella kirjoittaa tuollaisia ajureita jotka manipuloivat järjestelmän privilege-leveleitäkin, juurikin tuollaisen keskellä olen nyt. IOPL-tasoja käyttöjärjestelmän ohi.

Mulla on tuossa ajurissa vika, koska ei saa käyttöön aivan kaikkia I/O portteja johtuen service-tyyppisestä kutsusta, joka pitää korjata. Esim. System Control Port 92h on sellainen, johon ei riitä oikeudet, mutta hyvin riittää DMA-linjojen lukemiseen, kuten DMA-0 eli muistin päivitys.
Kommentoi
Ilmianna
Jaa
+Lisää kommentti
Nasmilla kirjoitin kerran ohjelman; "Terve Mualima"
Ilmianna
Jaa

Vastaa alkuperäiseen viestiin

Montako olet SINÄ kirjoittanut.

Puhutaan kovalevyjen SATA-2 ajureista sekä grafiikkakiihdyttimistä, MONTAKO OLET ITSE SUUNNITELLUT JA KIRJOITTANUT?

5000 merkkiä jäljellä

Peruuta