अंकगणित तर्क इकाई की तरह एक सर्किट इनपुट के रूप में संख्या के एक जोड़े को ले जाएगा और एक संख्या को ouptut के रूप में उत्पन्न करेगा। यह गारंटी दे सकता है कि कुछ समय के भीतर, आउटपुट के सभी बिट्स अपने सही अंतिम अवस्था में पहुंच गए होंगे, लेकिन आउटपुट बिट्स के वैध होने के लिए वास्तविक समय विभिन्न कारकों के आधार पर काफी भिन्न हो सकता है।
एक "वैध" इनपुट और एक "वैध" आउटपुट के साथ ALU का निर्माण करना संभव होगा, और निर्दिष्ट करें कि "वैध" इनपुट प्रदान किया जाता है एक संगणना प्रदर्शन करने से पहले पर्याप्त मात्रा में समय के लिए कम है, और डेटा इनपुट में सम्मिलित है "मान्य" इनपुट उच्च होने से पहले वांछित मान, "वैध" आउटपुट उच्च तक नहीं जाएगा जब तक कि आउटपुट बिट वास्तव में सही नहीं होते। इस तरह के डिजाइन को संभवतः पारंपरिक ALU के रूप में लगभग दो बार सर्किटरी की आवश्यकता होगी [मूल रूप से यह ट्रैक रखना होगा कि क्या प्रत्येक बिट "शून्य" होने के लिए या "ज्ञात" एक होने के लिए है; एक बार हर आउटपुट बिट की स्थिति ज्ञात होने के बाद इसका "वैध" आउटपुट सही हो जाएगा]।
चीजों को बदतर बनाने के लिए, सीपीयू के उन हिस्सों को अनुमति देना जो ऐसा करने के लिए तेजी से चलने में सक्षम होंगे, केवल तभी मददगार होगा जब वे धीमी गति से भागों को पकड़ने के लिए खेलने के लिए हर समय इंतजार नहीं कर रहे हों। ऐसा करने के लिए, यह तय करने के लिए तर्क होना चाहिए कि मशीन का कौन सा हिस्सा समय के साथ "आगे" है, और उसके आधार पर कार्रवाई का एक कोर्स चुनें। दुर्भाग्य से, इस तरह का निर्णय इलेक्ट्रॉनिक्स के लिए मज़बूती से बनाने के लिए सबसे कठिन है। विश्वसनीय रूप से यह तय करना कि पहले कौन सी दो घटनाएं हुईं, आम तौर पर केवल आसान है अगर कोई गारंटी दे सकता है कि कोई भी "करीबी कॉल" कभी नहीं होगा। मान लीजिए कि एक मेमोरी सीक्वेंसर प्रोसेसिंग यूनिट # 1 से एक अनुरोध को संभाल रहा है और यूनिट # 1 के बाद एक और अनुरोध लंबित है। यदि यूनिट # 2 # 1 से पहला अनुरोध पूरा होने से पहले एक अनुरोध सबमिट करता है, तो मेमोरी यूनिट को संभालना चाहिए; अन्यथा इसे यूनिट # 1 से अगला अनुरोध संभालना चाहिए। यह एक उचित डिजाइन की तरह प्रतीत होता है, लेकिन यह आश्चर्यजनक रूप से समस्याग्रस्त हो जाता है। समस्या यह है कि यदि समय में कुछ क्षण ऐसा है कि उस पल से पहले प्राप्त एक अनुरोध जिसे तुरंत संसाधित किया जाएगा, और उसके बाद प्राप्त एक अनुरोध को इंतजार करना होगा, यह निर्धारित करने के लिए आवश्यक समय की मात्रा निर्धारित की गई समय सीमा को हराया जाएगा अनुरोध प्राप्त होने और समय सीमा के बीच अंतर के लगभग आनुपातिक रूप से व्युत्क्रमानुपाती है। मेमोरी यूनिट के लिए यह निर्धारित करने के लिए आवश्यक समय कि # 2 के एक अनुरोध ने समय सीमा को एक मादा को हरा दिया, वह उस समय की मात्रा से काफी अधिक हो सकती है जिसे यूनिट # 1 से दूसरे अनुरोध की सेवा के लिए आवश्यक था, लेकिन यूनिट सेवा नहीं कर सकती या तो अनुरोध करें जब तक कि यह तय न हो जाए कि कौन पहले सेवा करेगा।
एक सामान्य घड़ी को चलाने से न केवल यह निर्धारित करने के लिए सर्किट्री की आवश्यकता समाप्त हो जाती है जब एक संगणना का आउटपुट मान्य होता है, यह समय "क्लोज़ कॉल" को भी समाप्त करने की अनुमति देता है। यदि सिस्टम में सब कुछ 100Mhz की घड़ी से चलता है, तो घड़ी की बढ़त के बाद 1ns तक कोई भी प्रतिक्रिया घड़ी में नहीं बदलती है, और घड़ी की बढ़त के जवाब में जो कुछ भी होने वाला है, वह 7ns के भीतर होता है, तो वह सब कुछ जो कुछ होने से पहले होने वाला है विशेष रूप से क्लॉक एज कम से कम 3ns से "जीत" जाएगा, और एक घड़ी की बढ़त के बाद कम से कम 1ns द्वारा "खो" जाने तक सब कुछ नहीं होगा। यह निर्धारित करने से पहले कि घड़ी के पहले या बाद में सिग्नल की संभावना क्या है, जब यह "बंद" नहीं होने की गारंटी है, यह निर्धारित करने की तुलना में बहुत आसान है कि कौन से दो मनमाने ढंग से सिग्नल पहले होते हैं।