Jos sanotaan että sinulla on 478kpl erillistä DMA-autoinit-muistisiirtoja yhtäaikaa menossa...

Anonyymi

Jokainen noista 47kpl DMA-muistisiitrroista eli esim. Grafiikkakiihdyttimen laskuty DMA:n kautta keskusprosessorille, muistissooryt häheltä, ja sitten kaikki erilaiset muiden digitoijien siirrot?

Miten Python-ohjelmointikielellä tallennat välittömästi massamuistille ilman cachea välittömästi, alle millisekunnissa jokaisen noista DMA-muistisiirroista data-tavunkin?

4

137

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Anonyymi

      Käyttäisin assosiatiivisia kontekstiivejä. Ei tarvitse edes huolehtia sulkemisesta kun Python manageroi sen puolestani.

    • Anonyymi

      Käyttöjärjestelmä välissä - et käytännössä mitenkään, koska käyttäjän prosessi voi joutua ajosta pois yllättävän pitkäksikin aikaa. Linuxissa oli aikanaan 100 Hz kernel tick, eli prosessi saattoi vaihtua 100 kertaa sekunnissa. Nykyisin responsiivisissa järjestelmissä tuo voi olla 1000Hz. Aika usein systeemi on kuitenkin tickless eli tuolla ole juurikaan enää merkitystä.
      No, DMA-siirrot ovat sitten keskeytys-ohjattuja esim. scatter-gather patternin kautta toimivia eli kernelillä on taski hoitamassa DMA-siirtojen aloituksia ja lista odottavista siirroista, taski ryhmittelee niitä ja käyttäjällä ei ole oikeastaan mahdollista vaikuttaa kuin alkutietoihin. Voi odottaa siirron valmistumista prosessissa, jonka jälkeen taski ilmoittaa käyttäjäprosessin olevan skeduloitavissa parhaassa tapauksessa uudelleen heti. DMA-siirroissa on yleensä kaksi moodia eli puskurin siirto ja non-stop. non-stop tarkoittaa, että puskuria käytetään uudelleen ts. alue muistista siirretään oheislaitteelle kerta toisensa jälkeen - tällainen on hyvä esim. audion siirrossa äänikortille. Puskurin siirto taas toimii verkkokortin kanssa hyvin eli paketti siirretään verkkokortille.
      Jos siis pitää saada tarkasti haltuun DMA-siirron loppukohta, joutuu kirjoittamaan melko varmasti kernel-ajurikoodia ja mm. opettelemaan em. patternin käytön. Python on melko varmasti väärä tapa lähestyä asiaa, vaikka dataa voikin lähettää DMA-siirtoa tukevalle laitteelle silläkin?

    • Anonyymi

      Paras virheilmoitus minkä joskus saanut: DMA overrun error.... starting designated debugger, flipping to Windows core assembly-code....

      "Warning! You can modify with that Visual C debugger even Windows core, like everything in real running time, but beware: if you change directly running assembly code, code will run for some time, but eventually crash"

      "If it is important to save your data and so... modify running assembly code as you can do" _:D

    • Anonyymi

      Critical error in Direct Memory Access channels, reported by motherboard, even conflict with DMA-0 memory refress timer, what are you doing with your c-code there, Windows CRT-stopped your program running from this critilcal error..

      ... starting Visual C debugger, in assembly...

      JA korjasin tosiaan, tuo debuggeri, VC-debuggeri näytti että vbäärä pointterisi, noh korjasin suoraan näpyttelemällä assembly-koodia jotta toimii sen aikaa tuo ohjelmani :D Jotta se pystyy ottamaan datat ytalteen :_D

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Laitetaas nyt kirjaimet tänne

      kuka kaipaa ja ketä ?
      Ikävä
      93
      8078
    2. Pieni häivähdys sinusta

      Olet niin totinen
      Ikävä
      40
      3862
    3. Lähetä terveisesi kaipaamallesi henkilölle

      Vauva-palstalta tuttua kaipaamista uudessa ympäristössä. Kaipuu jatkukoon 💘
      Ikävä
      102
      1906
    4. Missä olet ollut tänään kaivattuni?

      Ikävä sai yliotteen ❤️ En nähnyt sua tänään söpö mies
      Ikävä
      24
      1340
    5. Taas ryssittiin oikein kunnolla

      r….ä hyökkäsi Viroon sikaili taas ajattelematta yhtään mitään https://www.is.fi/ulkomaat/art-2000011347289.html
      NATO
      32
      1163
    6. Valtimon Haapajärvellä paatti mäni nurin

      Ikävä onnettomuus Haapajärvellä. Vene hörpppi vettä matkalla saaren. Veneessä ol 5 henkilöä, kolme uiskenteli rantaan,
      Nurmes
      31
      1089
    7. Vanha Suola janottaa Iivarilla

      Vanha suola janottaa Siikalatvan kunnanjohtaja Pekka Iivaria. Mies kiertää Kemijärven kyläjuhlia ja kulttuuritapahtumia
      Kemijärvi
      11
      885
    8. Rakastuminenhan on psykoosi

      Ei ihme että olen täysin vailla järkeä sen asian suhteen. Eipä olis aikoinaan arvannut, että tossa se tyyppi menee, jonk
      Ikävä
      53
      847
    9. Olisinko mä voinut käsittää sut väärin

      Nyt mä kelaan päässäni kaikkea meidän välillä tapahtunutta. Jos mä sit kuitenkin tulkitsin sut väärin? Se, miten sä käyt
      Ikävä
      31
      822
    10. Känniläiset veneessä?

      Siinä taas päästiin näyttämään miten tyhmiä känniläiset on. Heh heh "Kaikki osalliset ovat täysi-ikäisiä ja alkoholin v
      Nurmes
      27
      772
    Aihe