Przejdź do zawartości

Hazard (elektronika): Różnice pomiędzy wersjami

Z Wikipedii, wolnej encyklopedii
[wersja przejrzana][wersja przejrzana]
Usunięta treść Dodana treść
lit.
nowa sekcja, przypisy, inne znaczenie
Znacznik: Edytor kodu źródłowego 2017
Linia 1: Linia 1:
[[Plik:Race condition.svg|thumb|200px|Grafika prezentująca hazard statyczny w warunkach niedziałania. Początkowo sygnał A ma wartość 0, w związku z czym wyjście [[bramka NOT|bramki NOT]] ma wartość 1. Gdy sygnał A zmienia się na 1, przez chwilę na wyjściu bramki NOT nadal jest 1, co na wyjściu [[Koniunkcja (logika)|bramki AND]] daje niepożądaną wartość 1.]]
[[Plik:Race condition.svg|thumb|200px|Grafika prezentująca hazard statyczny w warunkach niedziałania. Początkowo sygnał A ma wartość 0, w związku z czym wyjście [[bramka NOT|bramki NOT]] ma wartość 1. Gdy sygnał A zmienia się na 1, przez chwilę na wyjściu bramki NOT nadal jest 1, co na wyjściu [[Koniunkcja (logika)|bramki AND]] daje niepożądaną wartość 1.]]
'''Hazard''' – niekorzystne zjawisko w [[układ cyfrowy|układach cyfrowych]], którego podłożem jest niezerowy [[czas propagacji]] (przenoszenia) sygnałów. Hazardem nazywamy błędne stany na wyjściach układów cyfrowych, powstające w stanach przejściowych (przełączania) w wyniku nieidealnych właściwości używanych elementów. Przyczyną są różnice w wartości sygnału i czasie dotarcia do określonego miejsca układu, w zależności od drogi. Skutki hazardu zależą od samego układu.
'''Hazard''' (''wyścig'') – niekorzystne zjawisko w [[układ cyfrowy|układach cyfrowych]], którego podłożem jest niezerowy [[czas propagacji]] (przenoszenia) sygnałów. Hazardem nazywamy błędne stany na wyjściach układów cyfrowych, powstające w stanach przejściowych (przełączania) w wyniku nieidealnych właściwości używanych elementów. Przyczyną są różnice w wartości sygnału i czasie dotarcia do określonego miejsca układu, w zależności od drogi. Skutki hazardu zależą od samego układu.


Przykładowo teoretycznie jednoczesna zmiana wejść dla [[Koniunkcja (logika)|bramki AND]] z (0,1) na (1,0) może w rzeczywistości skutkować pojawieniem się krótkich impulsów. W rzeczywistości bowiem zmiana dwóch wejść nigdy nie jest jednoczesna i albo dokona się w sekwencji (0,1) – (0,0) – (1,0): brak wspomnianego impulsu, albo (0,1) – (1,1): impuls – (1,0). Hazard może doprowadzić do chwilowego przekłamania pracy automatu lub do powstania trwałego błędu.
Przykładowo teoretycznie jednoczesna zmiana wejść dla [[Koniunkcja (logika)|bramki AND]] z (0,1) na (1,0) może w rzeczywistości skutkować pojawieniem się krótkich impulsów. W rzeczywistości bowiem zmiana dwóch wejść nigdy nie jest jednoczesna i albo dokona się w sekwencji (0,1) – (0,0) – (1,0): brak wspomnianego impulsu, albo (0,1) – (1,1): impuls – (1,0). Hazard może doprowadzić do chwilowego przekłamania pracy automatu lub do powstania trwałego błędu.
Linia 15: Linia 15:


Hazard statyczny można wyeliminować już na etapie projektowania układu, jednak realizowane jest to kosztem skomplikowania układu. Eliminacja hazardu statycznego powoduje równoczesną eliminację hazardu dynamicznego. Jedną z metod eliminacji jest wprowadzenie [[taktowanie|taktowania]] do układu i zrealizowanie go w postaci [[układ sekwencyjny#Układy synchroniczne|układu synchronicznego]]. Likwidacja hazardu może polegać również na wprowadzeniu do układu dodatkowej grupy (nie będzie to już wówczas postać minimalna takiej funkcji) zawierającej elementy sąsiadujących ze sobą grup w [[Metoda Karnaugh|tablicy Karnaugha]].
Hazard statyczny można wyeliminować już na etapie projektowania układu, jednak realizowane jest to kosztem skomplikowania układu. Eliminacja hazardu statycznego powoduje równoczesną eliminację hazardu dynamicznego. Jedną z metod eliminacji jest wprowadzenie [[taktowanie|taktowania]] do układu i zrealizowanie go w postaci [[układ sekwencyjny#Układy synchroniczne|układu synchronicznego]]. Likwidacja hazardu może polegać również na wprowadzeniu do układu dodatkowej grupy (nie będzie to już wówczas postać minimalna takiej funkcji) zawierającej elementy sąsiadujących ze sobą grup w [[Metoda Karnaugh|tablicy Karnaugha]].

== Wyścigi w oprogramowaniu ==
Wyścigi mogą występować w [[Obliczenia równoległe|programowaniu współbieżnym]] gdy dwa [[Wątek (informatyka)|wątki]] piszą do współdzielonej pamięci. Wynik działa programu może być losowy i zależy od czasu dostępu do współdzielonego zasobu<ref>{{Cytuj stronę|url=http://www.wmi.uni.wroc.pl/sites/default/files/upload_attach/Pszczolowski.pdf | tytuł=Przegląd metod synchronizacji w jądrach systemów uniksopodobnych oraz implementacja rogatek w systemie operacyjnym Mimiker | data dostępu=2021-009-08 |autor = Julian Pszczołowski}}</ref>


== Zobacz też ==
== Zobacz też ==
Linia 20: Linia 23:
* [[układ sekwencyjny|układ asynchroniczny]]
* [[układ sekwencyjny|układ asynchroniczny]]
* [[układ sekwencyjny|układ synchroniczny]]
* [[układ sekwencyjny|układ synchroniczny]]

== Przypisy ==
{{Przypisy}}


== Bibliografia ==
== Bibliografia ==

Wersja z 11:54, 8 wrz 2021

Grafika prezentująca hazard statyczny w warunkach niedziałania. Początkowo sygnał A ma wartość 0, w związku z czym wyjście bramki NOT ma wartość 1. Gdy sygnał A zmienia się na 1, przez chwilę na wyjściu bramki NOT nadal jest 1, co na wyjściu bramki AND daje niepożądaną wartość 1.

Hazard (wyścig) – niekorzystne zjawisko w układach cyfrowych, którego podłożem jest niezerowy czas propagacji (przenoszenia) sygnałów. Hazardem nazywamy błędne stany na wyjściach układów cyfrowych, powstające w stanach przejściowych (przełączania) w wyniku nieidealnych właściwości używanych elementów. Przyczyną są różnice w wartości sygnału i czasie dotarcia do określonego miejsca układu, w zależności od drogi. Skutki hazardu zależą od samego układu.

Przykładowo teoretycznie jednoczesna zmiana wejść dla bramki AND z (0,1) na (1,0) może w rzeczywistości skutkować pojawieniem się krótkich impulsów. W rzeczywistości bowiem zmiana dwóch wejść nigdy nie jest jednoczesna i albo dokona się w sekwencji (0,1) – (0,0) – (1,0): brak wspomnianego impulsu, albo (0,1) – (1,1): impuls – (1,0). Hazard może doprowadzić do chwilowego przekłamania pracy automatu lub do powstania trwałego błędu.

Rozróżnia się dwa rodzaje hazardu:

  1. hazard statyczny,
  2. hazard dynamiczny.

Hazard statyczny – chwilowa zmiana stanu wyjściowego układu występująca przy zmianie stanu jego wejścia wtedy, gdy wyjście powinno zostać niezmienione. Powstaje na skutek nieidealnych właściwości przełączających układu. Dzielimy go na:

  • Hazard jedynki (hazard statyczny w warunkach działania) – chwilowa zmiana wyjścia 1-0-1 wtedy, gdy wyjście to powinno zostać niezmienione w stanie 1.
  • Hazard zera (hazard statyczny w warunkach niedziałania) – chwilowa zmiana wyjścia 0-1-0 wtedy, gdy wyjście to powinno pozostać niezmienione w stanie 0.

Hazard dynamiczny – kilkukrotna zmiana stanu wyjścia przy zmianie stanu wejścia wtedy, gdy wyjście to powinno zmieniać swój stan tylko jeden raz i w nim pozostać, np. przy zmianie 1-0 następuje zmiana 1-0-1-0, lub przy zmianie 0-1 następuje zmiana 0-1-0-1. Powstaje na skutek nieidealnych właściwości transmisyjnych układu.

Hazard statyczny można wyeliminować już na etapie projektowania układu, jednak realizowane jest to kosztem skomplikowania układu. Eliminacja hazardu statycznego powoduje równoczesną eliminację hazardu dynamicznego. Jedną z metod eliminacji jest wprowadzenie taktowania do układu i zrealizowanie go w postaci układu synchronicznego. Likwidacja hazardu może polegać również na wprowadzeniu do układu dodatkowej grupy (nie będzie to już wówczas postać minimalna takiej funkcji) zawierającej elementy sąsiadujących ze sobą grup w tablicy Karnaugha.

Wyścigi w oprogramowaniu

Wyścigi mogą występować w programowaniu współbieżnym gdy dwa wątki piszą do współdzielonej pamięci. Wynik działa programu może być losowy i zależy od czasu dostępu do współdzielonego zasobu[1]

Zobacz też

Przypisy

Bibliografia

  1. Wojciech Głocki: Układy cyfrowe. Wyd. 2. WSiP, 1998, s. 167-173. ISBN 83-02-06242-1. (pol.).