Кіріспе

Әр түрлі жолдардан келетін уақыт сигналдарының үйлесімсіздігі. Сағат қисығы (кейде уақыт қисығы деп аталады) – синхронды цифрлық схема жүйелерінде (мысалы, компьютер жүйелерінде) бір көзден шыққан сағаттық сигналдың, қақпалар немесе, одан да жетілген жартылай өткізгіш технологиясында, сым сигналдарының таралу кешігуіне байланысты әр түрлі компоненттерге әр түрлі уақытта жететін құбылыс. Кез келген екі сағаттың көрсеткіштері арасындағы лездегі айырмашылық олардың қисығы деп аталады. Көптеген цифрлық схемалардың жұмысы "сағат" деп аталатын периодтық сигналмен синхрондалады, ол схемадағы құрылғылардың тізбегі мен жылдамдығын анықтайды. Бұл сағат бір көзден схеманың барлық жад элементтеріне таратылады, мысалы, регистрлер немесе триггерлер. Шегінен иелік ететін регистрлерді пайдаланатын схемада, сағат шегі немесе импульсі регистрге жеткенде, регистр кіретін деректерді шығысқа ауыстырады, ал осы жаңа шығыс мәндері келесі сағат импульсіне арналған регистр кірісіне мәндерді беру үшін комбинациялық логика арқылы өтеді. Идеалды жағдайда, әр жад элементіне кіретін дерек келесі сағат импульсіне дейін соңғы мәніне жетеді, осылайша схеманың әрекетін дәл болжауға болады. Жүйенің жұмыс істейтін ең жоғары жылдамдығы схеманың әртүрлі элементтері арасындағы физикалық құрамы, температурасы және жол ұзындығының айырмашылықтарынан туындайтын ауытқуларды ескеруі керек. Синхронды схемада, егер логикалық жол екі регистрді немесе триггерді байланыстырса, олар "тізбек бойынша іргелес" деп аталады. Екі тізбек бойынша іргелес Ri және Rj регистрлерін қарастыра отырып, бастапқы және мақсатты регистрлердегі сағаттың келу уақыты TCi және TCj-ге тең болса, сағат қисығы былай анықталады: .

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

Сағат ауытқуы сымдардың өзара байланысының ұзындығы, температураның өзгеруі, аралық құрылғылардың вариациясы, сыйымдылықтық байланыс, материалдың ақаулары және сағатты пайдаланатын құрылғылардың сағат кірісіндегі кіріс сыйымдылығының айырмашылығы сияқты көптеген факторлардың салдарынан туындауы мүмкін. Схеманың сағат жиілігі артаған сайын, уақытталғандық маңыздырақ болады және схеманың дұрыс жұмыс істеуі үшін аз ғана ауытқуларға жол берілмейді. Сағат ауытқуының екі түрі бар: оң ауытқу және теріс ауытқу. Оң ауытқу, қабылдаушы тіркегі сағат импульсін жіберуші тіркегіден кейін алатын жағдайда пайда болады. Теріс ауытқу керісінше: жіберуші тіркегі сағат импульсін қабылдаушы тіркегіден кейін алады. Нөлдік сағат ауытқуы – сағат импульсінің жіберуші және қабылдаушы тіркегіне бір уақытта келуін білдіреді.

Зиянды қисық

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

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

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

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

Сағат ауытқуының себепті жоғары жылдамдықтарда немесе ұзақ қашықтықта тізбектік интерфейстер (мысалы, Serial Attached SCSI немесе USB) параллель интерфейстерден (мысалы, параллель SCSI) басым болады.