Сағат қисаюы - Clock skew

Сағат қисаюы (кейде аталады уақыттың ауытқуы) бұл құбылыс синхронды сандық жүйелер (сияқты компьютер сол көздерден алынған жүйелер) сағат сигналы әр түрлі келеді компоненттер әр түрлі уақытта. Кез-келген екі сағаттың көрсеткіштері арасындағы лездік айырмашылық олардың қисаюы деп аталады.

Көптеген цифрлық тізбектердің жұмысы а синхрондалады мерзімді сигнал тізбектегі құрылғылардың реттілігі мен жылдамдығын белгілейтін «сағат» деп аталады. Бұл сағат бір көзден тізбектің барлық жад элементтеріне таратылады, мысалы болуы мүмкін тіркеушілер немесе резеңке шәркелер. Шеткі регистрлерді қолданатын тізбекте сағат жиегі немесе белгі регистрге келген кезде регистр регистр кірісін регистрдің шығысына береді, және бұл жаңа шығу мәндері арқылы өтеді комбинациялық логика келесі сағат белгісі үшін регистр кірістеріндегі мәндерді қамтамасыз ету. Ең дұрысы, әрбір жад элементіне енгізу уақыттың соңғы мәніне жетіп, келесі тізбектің тұтастығына жетеді, осылайша бүкіл тізбектің жұмысын дәл болжауға болады. Жүйенің жұмыс жасауының максималды жылдамдығы физикалық құрамның, температураның және жол ұзындығының айырмашылығына байланысты тізбектің әртүрлі элементтері арасында болатын дисперсияны ескеруі керек.

Синхронды тізбекте екі регистр немесе флип-флоптар, егер оларды логикалық жол байланыстыратын болса, «дәйекті іргелес» деп аталады. Екі дәйекті іргелес регистр берілген Rмен және Р.j межелі жерге сағат жету уақытымен және бастапқы регистрдің сағаттық түйреуіштерімен T-ге теңCмен және Т.Cj сәйкесінше сағаттың қисаюын келесідей анықтауға болады: Тқисаю i, j = TCмен - ТCj.

Схеманы жобалауда

Сағаттың қисаюы әртүрлі себептерден туындауы мүмкін, мысалы, сымдардың өзара байланысының ұзындығы, температураның өзгеруі, аралық құрылғылардың өзгеруі, сыйымдылық муфтасы, материалдың кемшіліктері және сағатты қолданатын құрылғылардың сағаттық кірістеріндегі кіріс сыйымдылығының айырмашылықтары. Тізбектің сағаттық жылдамдығы жоғарылаған сайын, уақыт өте маңызды бола бастайды және егер схема дұрыс жұмыс істейтін болса, аз өзгеріске жол берілуі мүмкін.

Сағаттың қисаюының екі түрі бар: теріс қисықтық және позитивті қисаю. Оң қисаю қабылдағыш регистр сағат сигналын жіберуші регистрге қарағанда ерте алған кезде пайда болады. Теріс ауытқу керісінше: таратқыш регистр сағат регулярын қабылдағыш регистрден ерте алады. Нөлдік сағат бұрышы дегеніміз - сағат тілінің жіберу және қабылдау регистріне бір уақытта келуі. [1]

Зиянды қисаю

Сағаттың қисаюынан болатын бұзушылықтың екі түрі бар. Бір мәселе сағаттың бір регистрден екіншісіне өту жолынан гөрі баяу жүруінен туындайды - мәліметтердің екі регистрге бір сағаттық белгі бойынша енуіне мүмкіндік беру немесе мүмкін берілген уақыттың тұтастығын бұзу. Мұны а деп атайды бұзушылықты ұстау өйткені алдыңғы деректер тағайындалған флип-флопта уақытты дұрыс ұстап тұру үшін жеткілікті ұзақ сақталмайды. Тағы бір мәселе, егер тағайындау флип-флопы флип-флоптан гөрі сағатты қабылдайтын болса, онда деректер дабылында флип-флопқа келесі сағаттарға дейін жету үшін онша аз уақыт бар. Егер ол орындалмаса, а қондырғының бұзылуы пайда болады, себебі жаңа деректер келесі сағат белгісі келгенге дейін орнатылмаған және тұрақты болған. Ұстауды бұзу қондырғының бұзылуына қарағанда едәуір ауыр, себебі оны уақыт кезеңін ұлғайту арқылы түзетуге болмайды. Оң және теріс бұрылыстар орнатуға кері әсерін тигізбейді және уақыт шектеулерін ұстап тұрады (төмендегі теңсіздіктерді қараңыз).

Пайдалы қиғаштық

Сағат қисаюы сонымен қатар тізбек дұрыс жұмыс істейтін жергілікті уақытты азайту арқылы тізбекке пайдалы болады. Жолмен байланыстырылған әрбір бастапқы регистр және тағайындалған регистр үшін келесі теңсіздіктер орындалуы керек:

қайда

  • Т сағат периоды,
  • обл бастапқы регистрдің Q кідірісіне дейінгі сағаты,
  • көзден межеге дейін ең ұзақ кідіріспен жүретін жол,
  • Дж дірілдің жоғарғы шегі,
  • S болып табылады орнату уақыты тағайындалған тіркелімнің
  • көзден межелі регистрлерге қарай сағаттың қисаюын бейнелейді,
  • көзден межеге дейін ең қысқа кідіріспен өтетін жол,
  • H тағайындалған тіркелімнің күту уақыты,
  • - бұл межелі регистрге қарай қисықтық, және
  • - бұл бастапқы регистрдің қисаюы.

Сағаттың позитивті қисаюы қондырғы бұзушылықтарын жою үшін жақсы, бірақ бұзушылықтарды тудыруы мүмкін. Сағаттың теріс қисаюы кідірісті бұзудан сақтануы мүмкін, бірақ орнатудың бұзылуына әкелуі мүмкін.

Жоғарыда келтірілген теңсіздіктерде жалғыз параметр, Дж, есепке алу үшін қолданылады дірілдеу. Бұл параметр an болуы керек жоғарғы шекара барлық бастапқы регистр / тағайындау регистрі жұптарындағы джиттердің айырмашылығы үшін. Алайда, егер сағаттық тарату желісінің құрылымы белгілі болса, әр түрлі бастапқы регистр / тағайындау регистрінің жұптары әр түрлі джиттер параметрлеріне ие болуы мүмкін, ал орнатудың шектелу мәнінен айырмашылығы, ұстап тұрудың шектелуі үшін басқа дірілдеу мәні қолданылуы мүмкін. Мысалы, егер бастапқы регистр мен бару регистрі өздерінің сигналдарын жалпы жақын сағаттан алса буфер, бұл шектеулерге байланысты діріл өте аз болуы мүмкін, өйткені сағат сигналының кез-келген ауытқуы екі регистрге бірдей әсер етеді. Сол мысал үшін, орнатудың шектелуіне байланысты дірілдеу ұстау шектеуіне қарағанда үлкенірек болуы керек, өйткені діріл сағат тіліне қарай өзгеруі мүмкін. Егер бастапқы регистр өзінің сағаттық сигналын тағайындау регистрін беретін жапырақ буферінен алыс орналасқан сағаттық тарату желісінің парақтық буферінен алса, онда екі регистрге дейінгі әр түрлі сағаттық жолдарды есепке алу үшін дірілдің байланысы үлкенірек болуы керек болуы мүмкін, олар әртүрлі шу көздерін біріктіруі мүмкін.

Сурет 1. Нөлдік қисаюдың қауіптері. FF2 -> FF3 жолы кідірісті бұза отырып жұмыс істемейді, егер FF3-ке дейін қосымша сағат кідірісі, мысалы, сағат дірілі пайда болса.
Cурет 2. FF2 күзетшілерінің FF2 -> FF3 траекториясындағы ұстаудың бұзылуына қарсы сағат кірісіне енгізілген аз уақыттық кідіріс және сонымен қатар FF1 -> FF2 жолының төменгі тактикалық периодта жұмыс істеуіне мүмкіндік береді. Бұл қасақана қисаю схемасы 1-суреттегі нөлдік қисаю тізбегіне қарағанда қауіпсіз әрі жылдам.

1 және 2 суреттер сағаттың қисаюы синхронды схемаға пайда әкелетін жағдайды бейнелейді.[2] 1-суреттегі нөлдік қисық сызбада FF1 флип-флоп-FF2-ге ұзақ жол, ал ауысым-регистр жолы сияқты қысқа жол FF2-ден FF3-ке өтеді. FF2 -> FF3 жолы кідірісті бұзу қаупіне жақын: егер FF3 кезінде аздап көп қосымша кідіріс орын алса, бұл FF3-тің D кірісіндегі деректерді FF3-тің Q деңгейіне дейін жеткізгенге дейін жойып жіберуі мүмкін. шығу. Бұл FF2 және FF3 физикалық жағынан бір-біріне жақын болған жағдайда да, егер олардың сағаттық кірістері сағаттық тарату желісінің әр түрлі парақтық буферлерінен алынған болса да орын алуы мүмкін.

2-суретте мәселені қасақана қисаю арқылы қалай шешуге болатындығы көрсетілген. FF2 сағатының кірісінен бұрын қосымша кідіріс пайда болады, содан кейін FF2 -> FF3 жолын ұстау бұзылуынан қауіпсіз орналастырады. Қосымша артықшылық ретінде дәл осы қосымша сағат кідірісі FF1 -> FF2 жолы үшін орнатылған шектеулерді жеңілдетеді. FF1 -> FF2 траекториясы сағаттың нөлдік қисаюы үшін талап етілетін уақыттан аз уақыт аралығында, дұрыс жұмыс істей алады, бұл қосымша кешіктіру буферінің кідірісіне тең мөлшерде болады.

Сағаттың қисаюы туралы әдеттегі қате түсінік - бұл нөлдік сағаттардан гөрі қауіпті немесе сағат тарату желісіндегі кідірістерді дәлірек бақылауды қажет етеді. Алайда дәл 1-суреттің нөлдік контуры дұрыс жұмыс істемеуге жақын - FF2 -> FF3 жұбы үшін оң сағаттық қисаюдың аз мөлшері кідірісті бұзуға әкеледі, ал 2-суреттегі қасақана тізбек күтпеген кідіріске төзімді сағатты бөлудің вариациялары.

Оңтайлы қисаю

Егер жеке регистрлерге сағаттың келу уақыты қондырғыны қанағаттандырып, тізбектің барлық жолдары үшін теңсіздіктерді ұстап тұру кезінде уақыт кезеңін минимизациялау үшін реттелетін айнымалылар ретінде қарастырылса, онда нәтиже Сызықтық бағдарламалау проблема.[3] Бұл сызықтық бағдарламада сағаттық нөлдік қисықтық жай ғана мүмкін болатын нүкте болып табылады - сызықтық бағдарламаның шешімі, әдетте, нөлдік қисықтыққа қол жеткізгеннен аз сағаттық кезеңді береді. Сонымен қатар, нөлдік қисықтық жағдайынан асатын немесе оған тең келетін қауіпсіздік шектеріне сызықтық бағдарламада орнату және ұстап тұру уақыттарын және дірілді тиісті түрде орнату арқылы кепілдік беруге болады.

Осы сызықтық бағдарламаның қарапайым формасының арқасында шешімге келу үшін оңай бағдарламаланған алгоритм қол жетімді.[2]VLSI және FPGA дизайнына арналған CAD жүйелерінің көпшілігінде сағаттық қисықтықты оңтайландыруға арналған қондырғылар бар.

Сағат қисаюы мен сағат дірілі арасындағы шатастық

Сағаттардың кез келген сағат регистріне дейінгі сағат кешігуіндегі статикалық айырмашылықтарға байланысты сағаттың қисаюынан басқа, ешқандай сағат сигналы мүлдем периодты болмайды, сондықтан сағат периоды немесе цикл циклінің уақыты бір компоненттің өзінде өзгеріп отырады және бұл өзгеріс белгілі сағат сияқты дірілдеу. Сағаттың таралу желісінің белгілі бір нүктесінде джиттер уақыттың анықталмауына бірден-бір ықпал етеді.

Шамамен, екі регистр арасындағы уақыттың жалпы белгісіздігін кеңістіктегі сағат қисаюының қосындысы ретінде (сағат көзінен сағат кешігуіндегі кеңістіктік айырмашылықтар) және сағат дірілін (сағаттың периодтылығын білдіретін) талқылау жиі пайдалы. желінің белгілі бір нүктесінде). Өкінішке орай, кеңістіктегі сағаттардың ауытқуы бір циклден екіншісіне өзгеріп отырады, себебі электрмен жабдықтаудың жергілікті уақытқа тәуелділігі, жергілікті температура және шудың басқа сигналдармен байланысы.

Осылайша, регистрлерді әр түрлі жерлерде жіберу мен қабылдаудың әдеттегі жағдайында уақыттың жалпы белгісіздігін кеңістіктік қисаю мен дірілге бөлудің нақты әдісі жоқ. Осылайша, кейбір авторлар кеңістіктегі сағат қисаюы мен сағат дірілінің қосындысын сипаттау үшін сағат қисығы терминін қолданады. Бұл, әрине, екі нүктенің арасындағы сағаттардың циклға қарай өзгеріп отыратынын білдіреді, бұл өте сирек кездесетін қиындық. Көптеген басқа авторлар сағат қисаюы терминін тек сағат уақытының кеңістіктегі өзгеруі үшін пайдаланады және сағаттың дірілдеуі терминін жалпы уақыттың анықталмағандығының қалған бөлігін көрсету үшін қолданады. Бұл әрине, сағаттық джиттер әр компонентте әр түрлі болуы керек дегенді білдіреді, ол сирек талқыланады.

Бақытымызға орай, көптеген жағдайларда кеңістіктегі сағаттың қисаюы циклдан циклге дейін тұрақты болып қалады, осылайша қалған жалпы уақыт белгісіздігін бірыңғай жалпы сағаттық джиттер шамасымен жақындатуға болады.

Желіде

Сияқты желіде ғаламтор, сағаттың қисаюы жиіліктің айырмашылығын сипаттайды (бірінші туынды туралы офсеттік желі ішінде әр түрлі сағаттар).[4] Қажетті желілік операциялар уақыт белгілері Хосттармен салыстыруға болатын сағаттың қисаюы әсер етуі мүмкін. Бірқатар хаттамалар (мысалы: Желілік уақыт хаттамасы ) сағаттың қисаюын азайтуға және тұрақты функцияларды жасауға арналған. Кейбір қосымшалар (мысалы ойын серверлері ) сонымен қатар, сағаттың қисаюына байланысты сенімділік проблемаларын болдырмау үшін өздерінің синхрондау механизмін қолдана алады.

Интерфейстер

Сағаттың қисаюы - бұл жылдамдықта немесе үлкен қашықтықта, сериялық интерфейстерде (мысалы.). Тізбектелген SCSI немесе USB флеш ) параллельді интерфейстерге қарағанда артықшылықты (мысалы, параллель) SCSI ).[дәйексөз қажет ]

Сондай-ақ қараңыз

Әдебиеттер тізімі

  • Фридман, Эби Г. (1995). VLSI тізбектері мен жүйелеріндегі тарату желілері. IEEE Press. ISBN  978-0780310582.
  • Фридман, Эби Г. (мамыр 2001). «Синхронды цифрлы интегралды схемалардағы тарату желілері» (PDF). IEEE материалдары. 89 (5): 665–692. CiteSeerX  10.1.1.7.7824. дои:10.1109/5.929649. Архивтелген түпнұсқа (PDF) 2015-06-01. Алынған 2017-01-09.
  • Там, С., Лимайе, Д.Л. және Десаи, БҰҰ (сәуір, 2004). «130-миллиметрлік Itanium 2 процессорына арналған 6-Мбайттық L3 кэштегі сағаттық генерация және тарату». IEEE қатты күйдегі тізбектер журналы. 39 (4).CS1 maint: авторлар параметрін қолданады (сілтеме)
  1. ^ Фридман, Е. Г. VLSI тізбектеріндегі сағаттардың таралуын жобалау - шолу, 1993 IEEE Халықаралық схемалар мен жүйелер симпозиумы (1475-1478 бб.). IEEE, 1993 ж.
  2. ^ а б Махешвари, Н. және Сапатнатар, С.С., Реттік тізбектерді талдау және оңтайландыру, Клювер, 1999.
  3. ^ Фишберн, Дж.П. (шілде 1990). «Сағат қисаюын оңтайландыру» (PDF). Компьютерлердегі IEEE транзакциялары. 39 (7): 945–951. дои:10.1109/12.55696.
  4. ^ Миллс, Д. «Желілік уақыт хаттамасы (3-нұсқа), спецификация, енгізу және талдау». tools.ietf.org. Алынған 2017-10-30.