{"id":1473,"date":"2024-06-06T19:19:46","date_gmt":"2024-06-06T19:19:46","guid":{"rendered":"https:\/\/www.techopedia.com\/pp\/?post_type=definition&p=1473"},"modified":"2024-08-20T13:57:53","modified_gmt":"2024-08-20T13:57:53","slug":"bezposredni-dostep-do-pamieci-dma","status":"publish","type":"definition","link":"https:\/\/www.techopedia.com\/pl\/slowniczek\/bezposredni-dostep-do-pamieci-dma","title":{"rendered":"Bezpo\u015bredni dost\u0119p do pami\u0119ci (DMA)"},"content":{"rendered":"
Bezpo\u015bredni dost\u0119p do pami\u0119ci (DMA) to metoda, kt\u00f3ra umo\u017cliwia urz\u0105dzeniu wej\u015bcia\/wyj\u015bcia (I\/O) wysy\u0142anie lub odbieranie danych bezpo\u015brednio do lub z pami\u0119ci g\u0142\u00f3wnej z pomini\u0119ciem procesora, co ma na celu przyspieszenie operacji na pami\u0119ci.<\/p>\n
Proces ten jest zarz\u0105dzany przez uk\u0142ad znany jako kontroler DMA (DMAC).<\/p>\n
Okre\u015blona cz\u0119\u015b\u0107 pami\u0119ci s\u0142u\u017cy do wysy\u0142ania danych bezpo\u015brednio z urz\u0105dzenia peryferyjnego do p\u0142yty g\u0142\u00f3wnej bez anga\u017cowania mikroprocesora, dzi\u0119ki czemu proces ten nie zak\u0142\u00f3ca og\u00f3lnego dzia\u0142ania komputera.<\/p>\n
W starszych komputerach cztery kana\u0142y DMA mia\u0142y numery 0, 1, 2 i 3. Jednak po wprowadzeniu 16-bitowej magistrali rozszerzaj\u0105cej Industry Standard Architecture (ISA) dodano kana\u0142y 5, 6 i 7.<\/p>\n
ISA by\u0142o standardem magistrali komputerowej dla komputer\u00f3w kompatybilnych z IBM, umo\u017cliwiaj\u0105c urz\u0105dzeniom inicjowanie transakcji (mastering magistrali) z wi\u0119ksz\u0105 pr\u0119dko\u015bci\u0105.<\/p>\n
Kontroler ISA DMA posiada 8 kana\u0142\u00f3w DMA, z kt\u00f3rych ka\u017cdy powi\u0105zany jest z 16-bitowym adresem i rejestrami zliczaj\u0105cymi.<\/p>\n
Od tego czasu ISA zosta\u0142o zast\u0105pione przez karty rozszerze\u0144 AGP (accelerated graphics port) i PCI (peripheral component interconnect), kt\u00f3re s\u0105 znacznie szybsze. Ka\u017cde DMA przesy\u0142a oko\u0142o 2 MB danych na sekund\u0119.<\/p>\n
Narz\u0119dzia zasob\u00f3w systemowych komputera s\u0142u\u017c\u0105 do komunikacji mi\u0119dzy sprz\u0119tem a oprogramowaniem i dziel\u0105 si\u0119 na cztery rodzaje:<\/p>\n
Wszystkie cztery zasoby systemowe zale\u017c\u0105 od okre\u015blonych linii na magistrali. Niekt\u00f3re linie s\u0105 u\u017cywane dla IRQ, niekt\u00f3re dla adres\u00f3w (adresy I\/O i adres pami\u0119ci), a niekt\u00f3re dla kana\u0142\u00f3w DMA.<\/p>\n
Kana\u0142y DMA s\u0142u\u017c\u0105 do przesy\u0142ania danych mi\u0119dzy urz\u0105dzeniem peryferyjnym a pami\u0119ci\u0105 systemow\u0105 bez nara\u017cania procesora na przeci\u0105\u017cenie prac\u0105.<\/p>\n
Bez kana\u0142\u00f3w DMA procesor kopiowa\u0142by ka\u017cdy fragment danych za pomoc\u0105 magistrali peryferyjnej z urz\u0105dzenia I\/O.<\/p>\n
By\u0142oby to problematyczne, poniewa\u017c korzystanie z magistrali peryferyjnej zajmuje CPU podczas procesu odczytu\/zapisu i nie pozwala na wykonywanie innych zada\u0144 do czasu zako\u0144czenia operacji.<\/p>\n
Dzi\u0119ki DMA, CPU mo\u017ce przetwarza\u0107 inne polecenia podczas transferu danych.<\/p>\n
Sam transfer najpierw jest inicjowany przez procesor. Blok danych mo\u017ce by\u0107 przesy\u0142any do i z pami\u0119ci przez DMAC na trzy sposoby:<\/p>\n
Korzystanie z kontrolera DMA mo\u017ce jednak powodowa\u0107 problemy ze sp\u00f3jno\u015bci\u0105 pami\u0119ci podr\u0119cznej.<\/p>\n
Wynika to z faktu, \u017ce dane przechowywane w pami\u0119ci RAM, do kt\u00f3rych dost\u0119p uzyskuje kontroler DMA, mog\u0105 nie by\u0107 aktualizowane poprawnymi danymi z pami\u0119ci podr\u0119cznej, je\u015bli procesor korzysta z pami\u0119ci zewn\u0119trznej.<\/p>\n
Aby rozwi\u0105za\u0107 ten problem, mo\u017cna opr\u00f3\u017cni\u0107 lini\u0119 pami\u0119ci podr\u0119cznej przed rozpocz\u0119ciem wychodz\u0105cych transfer\u00f3w DMA lub wykona\u0107 uniewa\u017cnienie pami\u0119ci podr\u0119cznej w przychodz\u0105cych transferach DMA, gdy zewn\u0119trzne zapisy s\u0105 sygnalizowane do kontrolera pami\u0119ci podr\u0119cznej.<\/p>\n","protected":false},"excerpt":{"rendered":"
Co oznacza bezpo\u015bredni dost\u0119p do pami\u0119ci? Bezpo\u015bredni dost\u0119p do pami\u0119ci (DMA) to metoda, kt\u00f3ra umo\u017cliwia urz\u0105dzeniu wej\u015bcia\/wyj\u015bcia (I\/O) wysy\u0142anie lub odbieranie danych bezpo\u015brednio do lub z pami\u0119ci g\u0142\u00f3wnej z pomini\u0119ciem procesora, co ma na celu przyspieszenie operacji na pami\u0119ci. Proces ten jest zarz\u0105dzany przez uk\u0142ad znany jako kontroler DMA (DMAC). Techopedia wyja\u015bnia czym jest bezpo\u015bredni […]<\/p>\n","protected":false},"author":7813,"featured_media":4458,"comment_status":"open","ping_status":"closed","template":"","format":"standard","meta":{"_acf_changed":false,"_lmt_disableupdate":"","_lmt_disable":"","footnotes":""},"definitioncat":[36],"class_list":["post-1473","definition","type-definition","status-publish","format-standard","has-post-thumbnail","hentry","definitioncat-data-management"],"acf":[],"yoast_head":"\n