Кіріспе

Жабдықтық жад операциялары

Есептеу техникасында, дәстүрлі түрде цикл ұрлау – процессорға кедергі келтірмей компьютерлік жадқа (RAM) немесе шинаға кіру әдісі. Бұл тікелей жадқа кіруге (DMA) ұқсас, себебі I/O контроллерлері CPU араласуынсыз RAM-ды оқи алады немесе жаза алады. CPU немесе шина уақытын тиімді пайдалану, егер сыртқы құрылғылар CPU-ның ағымдағы жұмысына тікелей қатыспайтын жадқа қол жеткізе алса және кез келген мүмкін CPU қақтығыстарынан бұрын операцияларды аяқтаса, CPU-дың толық жылдамдықпен, кез келген кешігусіз жұмыс істеуіне мүмкіндік береді. Цикл ұрлау ескі платформаларда, ең алдымен жадқа қол жеткізу уақытын анықтау үшін күрделі жүйелерді қолданған суперкомпьютерлерде, содан кейін микрокомпьютерлерде, перифериялық құрылғылар және дисплей драйверлері үшін кең таралған. Қазіргі заманғы платформаларда осы әдісті іске асыру қиын, себебі әртүрлі жылдамдықпен жұмыс істейтін жадтың бірнеше қабаттары бар, ал қол жеткізу көбінесе жад басқару блогы арқылы жүзеге асырылады. Егер функционалдылық қажет болса, заманауи жүйелер көбінесе екі портты RAM-ды пайдаланады, бұл екі жүйеге де қол жеткізуге мүмкіндік береді, бірақ бұл әдетте қымбатқа түседі. Ескі сілтемелерде бұл термин дәстүрлі DMA жүйелерін сипаттау үшін де қолданылады, онда жад беру кезінде CPU тоқтатылады. Бұл жағдайда құрылғы процессордан циклдерді ұрлайды, сондықтан бұл қазіргі қолданысқа кері мағына береді. IBM System/360 және System/370 кіші модельдерінде басқару сақтағышы процессор архитектурасы және арна архитектурасы үшін микрокодты қамтиды. Арнаға қызмет көрсету қажет болған кезде, аппараттық жабдық арнаның микрокодын іске қосу үшін процессордың микрокодынан циклдерді ұрлайды.

Ортақ іске асыру

Кейбір процессорлар цикл ұрлауға мүмкіндік беру үшін немесе кем дегенде оны оңай қолдауға арналған. Бұл Motorola 6800 және MOS 6502 жүйелері үшін, себебі CPU-ның жадқа тек әр екінші сағат циклында ғана қол жеткізуін қамтамасыз ететін дизайн ерекшелігі болды. CPU сағатынан екі есе жылдам жұмыс істейтін жадты (RAM) пайдалану, екінші жүйеге CPU-лардың арасындағы кірулерді әр екінші сағат циклында уақыттап араластыруға мүмкіндік берді. Бұл негізгі жадты фреймбуфер ретінде пайдалана отырып, дисплейді жаңарту үшін кеңінен қолданылды. 1970-ші жылдардың соңындағы стандартты жад 2 МГц жылдамдықта жұмыс істеді, сондықтан көптеген машиналарда 1 МГц шамасында жұмыс істейтін процессор болды. BBC Micro 4 МГц жадты қамтамасыз етті, бұл оның процессорын 2 МГц жылдамдықпен жұмыс істеуге мүмкіндік берді. Тағы бір кең таралған шешім – нұсқауларды деректерден бөлек сақтау үшін, немесе деректердің бірнеше жиынтығын сақтайтын жеке жад банктерін пайдалану. Мұндай жағдайларда I/O жүйелері процессор басқа банкты пайдаланып жатқанда өз деректеріне қол жеткізе алады. Мысалы, Zilog Z80 процессордың M1 желісі процессор нұсқауларды оқып жатқанын көрсетеді; егер бұл нұсқаулар басқа банкте немесе, көбінесе, ROM-да болса, I/O жүйелері процессорға кедергі келтірмей жадқа (RAM) кіре алады.

Қазіргі заманғы сәулет

Циклді ұрлау заманауи жүйелерде көптеген факторларға байланысты жүзеге асыру қиын, мысалы, құбырлы өңдеу, онда алдын ала жүктеу және параллель элементтер жадқа үнемі қол жеткізіп тұрады, жадқа қол жеткізу үшін болжамды бос уақытты азайтады. DMA – сыртқы құрылғылардың RAM-ға кіруінің жалғыз ресми және сенімді әдісі. Бұл термин қазіргі компьютерлік архитектурада (66 100 МГц-тен жоғары) сирек қолданылады, себебі әртүрлі сыртқы шиналар мен контроллерлер әртүрлі жылдамдықпен жұмыс істейді, ал процессордың ішкі операциялары енді I/O шина операцияларымен тығыз байланысты емес.