مقالات

5.4: وظائف قابلة للتمثيل وبرامج الكمبيوتر


سنبحث في هذا القسم في العلاقة بين الوظائف القابلة للتمثيل وبرامج الكمبيوتر. ستكون مناقشتنا غير رسمية إلى حد ما وستعتمد على حدسك حول أجهزة الكمبيوتر والحسابات.

أحد الأسباب التي تجعلنا نكون غير رسميين إلى حد ما عند مناقشة الحساب هو أن فكرة الحساب غامضة إلى حد ما. في منتصف الثلاثينيات من القرن الماضي ، طور العديد من علماء الرياضيات بنيات نظرية حاولت التقاط فكرة دالة قابلة للحساب. تعد وظائف Kurt Gödel العودية (تسمى الآن غالبًا الوظائف الحسابية) ، وآلات Turing of Alan Turing ، و Alonzo Church's ( lambda ) - حساب التفاضل والتكامل ثلاثة من أشهر نماذج الحوسبة.

أحد الأسباب التي تجعل علماء الرياضيات يقبلون هذه التركيبات الشكلية باعتبارها نموذجًا دقيقًا للمفهوم البديهي للحساب هو أن جميع النظائر الرسمية للحساب التي تم اقتراحها قد ثبت أنها متكافئة ، وكل منها مكافئ أيضًا لمفهوم القابلية للتمثيل التي حددناها في القسم الأخير. وبالتالي ، من المعروف أن الوظيفة قابلة للحساب إذا وفقط إذا كانت متكررة عامة إذا وفقط إذا كانت قابلة للحساب ( lambda ). من المعروف أيضًا أن هذه المفاهيم الرسمية تعادل فكرة أن الوظيفة قابلة للحساب على جهاز كمبيوتر ، حيث سنقول أن الوظيفة (f ) قابلة للحساب على جهاز كمبيوتر مثالي إذا كان هناك برنامج كمبيوتر (P ) ) بحيث إذا تم تشغيل البرنامج (P ) بإدخال (n ) ، فسوف يتسبب البرنامج في إخراج الكمبيوتر (f left (n right) ) والتوقف.

وهكذا يكون الوضع على هذا النحو: من ناحية ، لدينا فكرة بديهية عما يعنيه أن تكون الوظيفة قابلة للحساب بشكل فعال. من ناحية أخرى ، لدينا عدد كبير من النماذج الرسمية للحساب ، كل منها معروف بأنه مكافئ لجميع النماذج الأخرى:

[ start {array} {c || c} text {Intuitive Notion} & text {Formal Models} hline hline & text {وظيفة قابلة للتمثيل} & text {Computable function} text {الوظيفة القابلة للحساب} & lambda- text {الوظيفة القابلة للحساب} & text {Turing-computable function} & text {Computer-computable function} & vdots end {array} ]

فلماذا نقول أن فكرة الحساب غامضة؟ على الرغم من أن جميع ملفات تيار التعريفات متكافئة ، لكل ما نعرفه أنه قد يكون هناك تعريف جديد للحساب الذي ستأتي به الليلة على بيرة. سيكون هذا التعريف الجديد صحيحًا بشكل حدسي ، بمعنى أن الأشخاص الذين يسمعون تعريفك يوافقون على أنه التعريف "الصحيح" لما يعنيه أن يحسب الشخص شيئًا ما ، ولكن تعريفك قد يكون جيدًا ليس تكون مكافئة للتعريفات الحالية. سيكون هذا تطورًا هائلاً وسيمنح علماء المنطق وعلماء الكمبيوتر الكثير ليفكروا فيه لسنوات قادمة.

سوف تدخل التاريخ كشخص لامع يتمتع بنظرة ثاقبة في طريقة عمل العقل البشري!

ستربح الكثير من الجوائز وستكون ثريًا ومشهورًا!

حسنًا ، نحن نعترف بذلك. ليس غني. فقط مشهور.

حسنا. ربما ليست مشهورة. ولكن على الأقل معروف جيدًا في دوائر المنطق وعلوم الكمبيوتر.

ولكن حتى تحصل على هذه البيرة ، سيتعين علينا مواكبة الوضع الحالي ، حيث لدينا العديد من التعريفات المتكافئة التي يبدو أنها تناسب فهمنا الحالي للكلمة حساب. لذا فإن فكرتنا حول ما يشكل حسابًا غير دقيقة ، على الرغم من وجود دقة بمعنى أن الكثير من الناس قد فكروا في ما يجب أن يكون عليه التعريف ، وقد تم إثبات كل تعريف تم اقتراحه حتى الآن (على وجه التحديد) يعادل كل تعريف آخر تم اقتراحه.

أطروحة الكنيسة هي ببساطة تعبير عن الاعتقاد بأن النماذج الرسمية للحساب تمثل بدقة الفكرة البديهية لوظيفة قابلة للحساب. سوف نذكر الأطروحة من حيث القابلية للتمثيل ، حيث كنا نعمل مع وظائف قابلة للتمثيل ومجموعات قابلة للتمثيل.

أطروحة الكنيسة

الدالة الإجمالية (f ) قابلة للحساب إذا وفقط إذا كانت (f ) قابلة للتمثيل.

الآن من المهم أن نفهم أن أطروحة الكنيسة هي "أطروحة" مقابل "نظرية" وأنها لن تكون أبدًا نظرية. كمحاولة لربط مفهوم بديهي (قابلية الحساب) ومفهوم رسمي (قابلية التمثيل) ، فإنه ليس من النوع الذي يمكن أي وقت مضى يمكن إثباتها. تتطلب البراهين تعريفات رسمية ، وإذا كتبنا تعريفًا رسميًا للوظيفة القابلة للحساب ، فسنكون قد خربنا معنى الأطروحة.

لإضافة طبقة أخرى إلى هذه المناقشة ، ضع في اعتبارك الوظيفة (f ) التي تعين لكل رقم طبيعي جذره التربيعي الطبيعي ، إذا كان له واحد. سنقول أن (f left (n right) ) لم يتم تعريفه إذا لم يكن (n ) مربعًا. لذلك لم يتم تعريف (f left (9 right) = 3 ) و (f left (10 right) ). يبدو أن هذه الوظيفة الجزئية قابلة للحساب ، وفي الواقع ، إليك بعض الرموز الزائفة التي من شأنها حساب قيم الإخراج لـ (f ):

لنكون أكثر دقة ، سنقول أن الوظيفة الجزئية (f: A subseteq mathbb {N} rightarrow mathbb {N} ) هي محسوب إذا كانت هناك خوارزمية أو عملية حسابية تقوم بأحد الإجراءات التالية بالضبط ، نظرًا للإدخال (n in mathbb {N} ):

  • إذا تم تعريف (f left (n right) ) ، فإن الخوارزمية تحسب القيمة الصحيحة لـ (f left (n right) ) والمخرجات (f left (n right) ) و ثم توقف
  • إذا لم يتم تعريف (f left (n right) ) ، تعمل الخوارزمية إلى الأبد دون توقف.

لذلك إذا كانت الوظيفة (f ) كاملة وقابلة للحساب ، فهناك خوارزمية ستحسب (f left (n right) ) لأي إدخال (n ) ، ولكن إذا كان (g ) جزئية وقابلة للحساب ، ستتوقف خوارزمية (g ) عند تعريف (g left (n right) ) ، لكنها ستعمل إلى الأبد إذا لم يكن (g left (n right) ) غير ذلك معرف.

سنقول أن المجموعة (S subseteq mathbb {N} ) قابلة للحساب إذا كانت وظيفتها المميزة ، ( chi_S ) ، قابلة للحساب. (راجع التمرين 5 في القسم 5.3 للتعرف على تعريف ( chi_S ).)

نظرًا لأن دراسة الحساب تؤدي بشكل طبيعي إلى التحقيق في الوظائف الجزئية ، غالبًا ما يتم ذكر أطروحة تشيرش من حيث الوظائف الجزئية:

أطروحة الكنيسة

يمكن حساب الوظيفة الجزئية (f ) إذا وفقط إذا كان (f ) قابلاً للتمثيل بشكل ضعيف.

يكمن الرابط بين صيغتي أطروحة الكنيسة في الاقتراح 5.3.6. باستخدام هذا الاقتراح ، من السهل أن نرى أن الإصدار الوظيفي الكلي لأطروحة تشيرش يتبع مباشرة من إصدار الوظيفة الجزئية.

للحصول على مثال على نوع السؤال الذي يمكن معالجته بالتفكير في المجموعات والوظائف القابلة للحساب ، ضع في اعتبارك ما يلي:

يمكن توسيع فئة المجموعات القابلة للحساب من ( mathbb {N} ) من خلال النظر في مجموعة المجموعات بحيث يوجد برنامج كمبيوتر يخبرك ما إذا كان الرقم عنصرًا في المجموعة ، ولكنه لا يحتوي لفعل أي شيء على الإطلاق إذا لم يكن الرقم عنصرًا في المجموعة. بشكل غير رسمي ، يُقال أن المجموعة (A subseteq mathbb {N} ) هي شبه قابلة للحساب إذا كان هناك برنامج كمبيوتر (P ) بحيث إذا (a in A ) ، يقوم البرنامج (P ) بإرجاع 0 على الإدخال (a ) ، وإذا (a notin A ) ، البرنامج (P ) لا يتوقف عند إعطاء المدخلات (أ ). يمكنك التحقق من أن هذا يعادل القول بأن الوظيفة الجزئية ( overet { smallsmile} { chi} _A: A rightarrow mathbb {N} ) التي تأخذ القيمة 0 لكل عنصر في المجال الخاص بها هي محسوب.

إذا قبلنا أطروحة الكنيسة ، فمن السهل الجدال بأن المجموعة (A ) قابلة للتمثيل إذا وفقط إذا كان كلا من (A ) و ( mathbb {N} - A ) شبه قابلة للحساب ، كما أنت طُلب منك القيام به في التمرين 6. توفر التمارين الأخرى قدرًا أكبر من الممارسة قليلاً في العمل مع مجموعات شبه قابلة للحساب.

تعد دراسة الوظائف الحسابية مجالًا مهمًا للمنطق الرياضي ، وتؤكد على العلاقة بين المنطق وعلوم الكمبيوتر. الفصل 7 مكرس لتقديم مقدمة للوظائف الحسابية التي تؤدي إلى إثبات نظرية عدم اكتمال Gödel. في هذا الإعداد ، يرقى بيان نظرية عدم الاكتمال إلى العبارة القائلة بأن مجموعة الجمل التي يمكن إثباتها من - ( Sigma ) ، حيث ( Sigma ) هو امتداد لـ (N ) أي يمكن تحديده وصحيحه - ( mathfrak {N} ) ، هي مجموعة شبه قابلة للحساب وغير قابلة للحساب. وبالتالي هناك فرق كبير بين مجموعة المجموعات المحسوبة ومجموعة المجموعات شبه المحسوبة. نص آخر يركز على الحوسبة في معالجتها لنظرية جوديل هو [كيسلر وروبن 96].

فهل أطروحة الكنيسة صحيحة؟ يمكننا القول أن جميع الأدلة حتى الآن تشير إلى أن أطروحة الكنيسة صحيحة ، لكننا نخشى أن يكون هذا هو كل اليقين الذي يمكننا الحصول عليه في هذه النقطة. لدينا أكثر من 70 عامًا من الخبرة منذ بيان الأطروحة ، وأكثر من 3000 عام منذ أن بدأنا وظائف الحوسبة ، ولكن هذا يعتبر فقط دليلاً قصصياً. ومع ذلك ، فإن معظم ، إن لم يكن كل ، المجتمع الرياضي يقبل تحديد "القابل للحساب" مع "القابل للتمثيل" ، وبالتالي يقبل المجتمع أطروحة الكنيسة باعتبارها أحد بنود الإيمان.

تمارين

  1. قمنا بتعريف الدوال القابلة للحساب والمجموعات شبه القابلة للحساب في هذا القسم ، لكن التعريفات لم يتم وضعها في المجموعة الخاصة بها ولم يتم إعطاء أرقام خيالية ، مثل "التعريف 5.4.2". لماذا لم نجعل التعريفات تبدو رسمية بهذا الشكل؟
  2. باستخدام أطروحة الكنيسة ، أظهر أن (A subseteq mathbb {N} ) يمكن حسابه إذا وفقط إذا كان (A ) قابلاً للتمثيل. ثم بيِّن أن (A ) شبه قابل للحساب إذا وفقط إذا كان (A ) قابلاً للتمثيل بشكل ضعيف.
  3. (أ) أظهر أن (A subseteq mathbb {N} ) شبه قابل للحساب إذا وفقط إذا كان (A ) قابلاً للإدراج ، حيث تكون المجموعة يسرد إذا كان هناك برنامج كمبيوتر (L ) بحيث يقوم (L ) بطباعة عناصر (A ) بترتيب أو بآخر.
    (ب) يكون إظهار (A subseteq mathbb {N} ) قابلاً للحساب إذا وفقط إذا كان (A ) قابلاً للإدراج بترتيب تصاعدي.
  4. افترض أن (A subseteq mathbb {N} ) لانهائي وشبه قابل للحساب وأظهر أن هناك مجموعة لا نهائية (B subseteq A ) بحيث يمكن حساب (B ).
  5. أظهر أن (A subseteq mathbb {N} ) شبه قابل للحساب إذا وفقط إذا كان هناك صيغة ( Sigma ) - ( phi left (x right) ) مثل ( phi ) يعرف (A ).
  6. استخدم أطروحة الكنيسة لتوضيح أن المجموعة (A ) يمكن تمثيلها إذا وفقط إذا كان كل من (A ) و ( mathbb {N} - A ) شبه قابلة للحساب. [اقتراح: افترض أولاً أن (A ) قابل للتمثيل. هذا الاتجاه سهل. بالنسبة للاتجاه الآخر ، فإن الافتراض يضمن وجود برنامجين. فكر في كتابة برنامج جديد يدير هذين البرنامجين بالترادف - أولاً تقوم بتشغيل برنامج واحد لمدة دقيقة ، ثم تقوم بتشغيل البرنامج الثاني لمدة دقيقة ....]

تطوير البرامج باستخدام إرلانج - قواعد البرمجة والاتفاقيات

هذا وصف لقواعد البرمجة وتقديم المشورة لكيفية كتابة الأنظمة باستخدام Erlang.

ملاحظة: هذه الوثيقة هي وثيقة أولية وليست كاملة.

لم يتم توثيق متطلبات استخدام نظام & quotBase System & quot الخاص بـ EBC هنا ، ولكن يجب اتباعها في مرحلة تصميم مبكرة جدًا إذا كان سيتم استخدام & quot نظام القاعدة & quot. تم توثيق هذه المتطلبات في 1/10268-AND 10406 ​​Uen & quotMAP - Start and Error Recovery & quot.


الجزء 1: أفضل برامج تحرير الفيديو لنظام التشغيل Windows / Mac [سهل جدًا للمبتدئين]

تعد برامج تحرير الفيديو المجانية إما بسيطة للغاية بحيث لا تلبي المتطلبات أو تكون صعبة للغاية لفهم سير العمل. على سبيل المثال ، قد يفتقر بعضها إلى ميزات تحرير الصوت وتصحيح الألوان. أوصي بشدة بتجربة محرر الفيديو Wondershare Filmora ، الذي أدى إلى تحسن كبير في الأداء العام ، مما يجعل المنتج أسرع وأكثر قوة ، وينقل تجربة تحرير المستخدم إلى مستوى جديد.

إنه مثالي لمساعدة المبتدئين والمستخدمين المتوسطين على إنشاء مقاطع فيديو أنيقة من خلال توفير واجهة مستخدم سهلة الاستخدام وتأثيرات مدمجة.

تحميل آمن

تحميل آمن

يمكنك العثور على المزيد من مقاطع الفيديو التعليمية حول كيفية استخدام Filmora على قناة YouTube الرسمية.

لماذا يجب عليك استخدام Wondershare Filmora على جهاز الكمبيوتر Window10 / 8/7؟

  • يدعم تنسيقات مختلفة ، بما في ذلك MP4 و AVI و MOV و AVCHD و MKV.
  • يمكّنك من الاقتصاص والتشذيب والقص والتقسيم والجمع في بضع نقرات.
  • تأثيرات فيديو متنوعة من الدرجة الأولى ، بما في ذلك عناصر الحركة والعناوين المتحركة والموسيقى الخالية من حقوق الملكية والانتقالات.
  • يجعل اللقطات تبدو مثل فيلم هوليوود باستخدام أدوات ضبط الألوان.
  • يتقن الصوت من خلال الإطارات الرئيسية للصوت ، وإزالة الضوضاء الخلفية ، وموازن الصوت.
  • ممتاز لمقاطع فيديو كاميرا GoPro / Action Cam مع عناصر تحكم دقيقة في السرعة وتثبيت الفيديو وتصحيح عدسة عين السمكة.
  • يحافظ العرض في الوقت الفعلي على سلاسة تجربة التحرير ، حتى إذا كنت تعمل باستخدام لقطات بدقة 4K.
  • يقوم بنسخ الفيديو على قرص DVD أو تحميله على YouTube ، أو نقله إلى أي أجهزة محمولة شائعة.

كيفية تحرير مقاطع الفيديو باستخدام Wondershare Filmora [3 خطوات]


استيراد ملفات الوسائط

قم باستيراد ملفات الوسائط من جهاز الكمبيوتر أو الكاميرات والهواتف الذكية ، ثم قم بالسحب والإفلات مباشرة إلى البرنامج.


تحرير الفيديو الخاص بك

يمكنك اقتصاص مقاطع الفيديو أو تدويرها أو تقسيمها أو قصها بسهولة على المخطط الزمني. ثم أضف التأثيرات والفلاتر لإثراء الفيديو الخاص بك.


وفر واستمتع

احفظ الفيديو الخاص بك بتنسيقات مختلفة ، أو قم بتحميله على YouTube و Vimeo والنسخ على DVD والمزيد

يوجد أدناه برنامج تعليمي سريع حول كيفية استخدام Filmora على Windows لتحرير مقطع فيديو. يمكنك تنزيل الإصدار التجريبي المجاني من Filmora للبدء الآن.

تحميل آمن

تحميل آمن


أنواع البرامج المختلفة

عادة ، هناك تصنيفان رئيسيان للبرامج ، وهما برنامج النظام وبرامج التطبيقات.

1. برنامج النظام

يساعد برنامج النظام المستخدم والأجهزة على العمل والتفاعل مع بعضهما البعض. في الأساس ، هو برنامج لإدارة سلوك أجهزة الكمبيوتر لتوفير الوظائف الأساسية التي يطلبها المستخدم. بكلمات بسيطة ، يمكننا القول أن برنامج النظام هو وسيط أو طبقة وسطى بين المستخدم والجهاز. تفرض برامج الكمبيوتر هذه نظامًا أساسيًا أو بيئة تعمل بها البرامج الأخرى. وهذا هو سبب أهمية برامج النظام في إدارة نظام الكمبيوتر بالكامل. عند تشغيل الكمبيوتر لأول مرة ، يتم تهيئة برنامج النظام وتحميله في ذاكرة النظام. يعمل برنامج النظام في الخلفية ولا يستخدمه المستخدمون النهائيون. هذا هو السبب في أن برامج النظام تُعرف أيضًا باسم & lsquolow-level software & rsquo.

  • نظام التشغيل: إنه أبرز مثال على برامج النظام. إنها مجموعة من البرامج التي تتعامل مع الموارد وتقدم خدمات عامة للتطبيقات الأخرى التي تعمل عليها. على الرغم من اختلاف كل نظام تشغيل ، إلا أن معظمهم يوفر واجهة مستخدم رسومية يمكن للمستخدم من خلالها إدارة الملفات والمجلدات وتنفيذ مهام أخرى. يتطلب كل جهاز ، سواء كان سطح مكتب أو كمبيوتر محمول أو هاتف محمول ، نظام تشغيل لتوفير الوظائف الأساسية له. يحدد نظام التشغيل بشكل أساسي كيفية تفاعل المستخدم مع النظام ، لذلك يفضل العديد من المستخدمين استخدام نظام تشغيل واحد محدد لأجهزتهم. هناك أنواع مختلفة من أنظمة التشغيل مثل الوقت الحقيقي والمدمج والموزع ومتعدد المستخدمين والمستخدم الفردي والإنترنت والجوال وغيرها الكثير. من المهم مراعاة مواصفات الأجهزة قبل اختيار نظام التشغيل. بعض الأمثلة على أنظمة التشغيل الواردة أدناه:
    • ذكري المظهر
    • CentOS
    • iOS
    • لينكس
    • نظام التشغيل Mac OS
    • مايكروسوفت ويندوز
    • أوبونتو
    • يونكس
    • برامج تشغيل الأجهزة: إنه نوع من البرامج يتحكم في أجهزة معينة متصلة بالنظام. تشمل الأجهزة التي تحتاج إلى برنامج تشغيل للاتصال بنظام ما شاشات العرض وبطاقات الصوت والطابعات والفئران والأقراص الصلبة. علاوة على ذلك ، هناك نوعان من برامج تشغيل الأجهزة: Kernel Device Drivers و User Device Driver. بعض الأمثلة على برامج تشغيل الأجهزة هي:
      • سائق BIOS
      • برامج تشغيل العرض
      • برامج تشغيل اللوحة الأم
      • برامج تشغيل الطابعة
      • برامج تشغيل ROM
      • سائق بطاقة الصوت
      • برامج تشغيل USB
      • برامج تشغيل USB
      • برامج تشغيل VGA
      • برامج تشغيل VGA
      • برامج تشغيل الأجهزة الافتراضية
      • البرامج الثابتة:البرنامج الثابت هو البرنامج الدائم الذي يتم تضمينه في ذاكرة للقراءة فقط. إنها مجموعة من التعليمات مخزنة بشكل دائم على الجهاز. يوفر معلومات أساسية حول كيفية تفاعل الجهاز مع الأجهزة الأخرى. يمكن اعتبار البرامج الثابتة على أنها & lsquosemi-Permanent & rsquo حيث تظل دائمة ما لم يتم تحديثها باستخدام أداة تحديث البرامج الثابتة. بعض الأمثلة على البرامج الثابتة هي:
        • BIOS
        • ملحقات الكمبيوتر
        • تطبيقات المستهلك
        • الأنظمة المضمنة
        • UEFI
        • تعيين تخزين البيانات
        • إدراج رمز المصدر وكذلك تفاصيل البرنامج
        • تقديم تقارير التشخيص
        • تصحيح أخطاء النظام أثناء وقت التشغيل
        • من أمثلة مترجمي لغة البرمجة المترجم الفوري والمترجم والمجمّع.
        • أفاست مكافحة الفيروسات
        • دليل التأليف
        • مكافي انتي فيروس
        • الكمثرى كلنر
        • ريزر كورتيكس
        • مستكشف ملفات Windows
        • برنامج WinRAR
        • برنامج WinZip

        2. برامج التطبيقات

        برامج التطبيقات ، المعروفة أيضًا باسم برامج المستخدم النهائي أو برامج الإنتاجية ، هي برامج تساعد المستخدم في إكمال المهام مثل إجراء البحث عبر الإنترنت ، أو تدوين الملاحظات ، أو ضبط المنبه ، أو تصميم الرسومات ، أو الاحتفاظ بسجل حساب ، أو إجراء العمليات الحسابية أو حتى ممارسة الألعاب . إنها تقع فوق برنامج النظام. على عكس برامج النظام ، يتم استخدامها من قبل المستخدم النهائي وهي محددة في وظائفها أو مهامها وتقوم بالمهمة التي صُممت من أجلها. على سبيل المثال ، المتصفح هو تطبيق مصمم خصيصًا لتصفح الإنترنت أو MS Powerpoint هو تطبيق يستخدم خصيصًا لتقديم العروض التقديمية. يمكن أيضًا الإشارة إلى برامج التطبيقات أو التطبيقات ببساطة على أنها برامج غير أساسية لأن متطلباتها ذاتية للغاية ولا يؤثر غيابها على عمل النظام. جميع التطبيقات التي نراها على هواتفنا المحمولة هي أيضًا أمثلة على برامج التطبيقات. هناك بعض البرامج المصممة حصريًا لتطوير التطبيقات مثل Meteor و Flutter. هذه أمثلة على برامج التطبيقات أيضًا.

        • معالجات الكلمات: هذه التطبيقات للتوثيق. إلى جانب ذلك ، يساعدني أيضًا في تخزين هذه المستندات وتنسيقها وطباعتها. بعض الأمثلة على معالجات النصوص هي:
          • أبيوورد
          • Apple iWork- الصفحات
          • كوريل ووردبيرفكت
          • مستندات جوجل
          • مايكروسوفت اوفيس
          • برامج قواعد البيانات: يستخدم هذا البرنامج لإنشاء قاعدة بيانات وإدارتها. يُعرف أيضًا باسم نظام إدارة قواعد البيانات أو DBMS. يساعدون في تنظيم البيانات. بعض الأمثلة على نظم إدارة قواعد البيانات هي:
            • مجز أو مقلمة
            • ديسيبل
            • برنامج FileMaker
            • FoxPro
            • الوصول MS
            • MySQL
            • برامج الوسائط المتعددة: إنه البرنامج القادر على تشغيل أو إنشاء أو تسجيل الصور أو ملفات الصوت أو الفيديو. يتم استخدامها لتحرير الفيديو والرسوم المتحركة والرسومات وتحرير الصور ، ومن أمثلة برامج الوسائط المتعددة:
              • أدوبي فوتوشوب
              • إنكسكيب
              • ميديا ​​قرد
              • بيكاسا
              • مشغل الميديا ​​VLC
              • ويندوز ميديا ​​بلاير
              • ويندوز موفي ميكر
              • برامج التعليم والمراجع: تم تصميم هذه الأنواع من البرامج خصيصًا لتسهيل التعلم في موضوع معين. هناك أنواع مختلفة من البرامج التعليمية التي تندرج تحت هذه الفئة. ويطلق عليهم أيضًا اسم برامج أكاديمية. بعض الأمثلة هي:
                • رسم دلتا
                • برنامج GCompris
                • عناوين Jumpstart
                • KidPix
                • MindPlay
                • تكس دهان
                • برامج الرسومات: كما يوحي الاسم ، فقد تم تصميم برامج الرسومات للعمل مع الرسومات لأنها تساعد المستخدم على تحرير أو إجراء تغييرات في البيانات أو الصور المرئية. وهي تتألف من برامج تحرير الصور وبرامج التوضيح. بعض الأمثلة هي:
                  • أدوبي فوتوشوب
                  • أوتوديسك مايا
                  • الخلاط
                  • كارارا
                  • كوريل درو
                  • جيمب
                  • مودو
                  • بينت شوب برو
                  • متصفحات الانترنت: تستخدم هذه التطبيقات لتصفح الإنترنت. إنها تساعد المستخدم في تحديد موقع البيانات واستردادها عبر الويب. بعض الأمثلة على متصفحات الويب هي:
                    • جوجل كروم
                    • متصفح الانترنت
                    • مايكروسوفت ايدج
                    • موزيلا فايرفوكس
                    • أوبرا
                    • سفاري
                    • متصفح UC

                    بخلاف ذلك ، تقع جميع البرامج التي تخدم غرضًا محددًا ضمن فئة برامج التطبيقات.

                    ومع ذلك ، يوجد تصنيف آخر للبرنامج. يمكن أيضًا تصنيف البرنامج بناءً على مدى توفره وقابليته للمشاركة.

                    هذا التصنيف على النحو المبين أدناه:

                    1. مجانية

                    • قارئ أدوبي
                    • الجرأة
                    • إيمغبورن
                    • ريكوفا
                    • سكايب
                    • عارض الفريق
                    • ياهو مسنجر

                    2. كومبيوتري

                    3. المصدر المفتوح

                    • خادم ويب اباتشي
                    • مجموعة مترجم جنو
                    • موودل
                    • موزيلا فايرفوكس
                    • ثندربيرد

                    4. البرمجيات

                    تُعرف أيضًا باسم البرامج المغلقة المصدر. عادةً ما يتم دفع هذه الأنواع من التطبيقات ولها حقوق ملكية فكرية أو براءات اختراع على شفرة المصدر. استخدام هذه المقيد مقيد للغاية وعادة ، يتم الحفاظ على شفرة المصدر والحفاظ عليها كسرية.


                    5.4: وظائف قابلة للتمثيل وبرامج الكمبيوتر

                    واجبات القراءة وتمارين

                    تتكون أجهزة الكمبيوتر من برامج وأجهزة. في فصول البرمجة السابقة ، درسنا كيف يمكن استخدام البرامج عالية المستوى لتشغيل أجهزة الكمبيوتر. في هذه الدورة ، نركز على تطوير الأجهزة ، ونوضح كيف أنها تدعم تنفيذ البرامج على مستوى منخفض.

                    1.1.1. نظرة عامة على الدورة وأهدافها

                  • خمسة مكونات للكمبيوتر - الذاكرة ، ومسرح البيانات ، والتحكم ، والمدخلات ، والمخرجات ، والتي تُستخدم في آلات الحوسبة الرقمية الحديثة.

                  • يمكن أن تكون البيانات أي شيء - أعداد صحيحة ، فاصلة عائمة ، أحرف ، تيار بت. يتم تحديد القيم الفعلية واستخدام البيانات من خلال البرنامج (البرنامج) الذي يعمل على الكمبيوتر.

                  • برنامج مخزّن - يمكن اعتبار التعليمات الموجودة في الذاكرة بمثابة بيانات. يمكن الوصول إليها بشكل عشوائي أو متسلسل ، ويمكن إدخالها أو إخراجها (قراءة أو كتابة داخل وخارج ، على التوالي) لزيادة استخدام الذاكرة.

                  • مبدأ الموقع - في شريحة زمنية معينة (صغيرة) ، تتم معظم عمليات إدخال / إخراج الذاكرة في مجموعة صغيرة من العناوين. تدعم ظاهرة الموقع الجدولة والتنبؤ بوصول الذاكرة ، مما يمكّن الأجهزة مثل ذاكرات التخزين المؤقت من العمل بكفاءة.

                  • التوازي - يمكن للعديد من المعالجات العمل معًا بكفاءة لحل مشكلة ما ، مما يؤدي إلى زيادة الأداء وتقليل وقت التنفيذ.

                  • التركيب - يسمح لنا ببناء أنظمة معقدة من خلال البدء أولاً بمكونات صغيرة ، ثم بناء مكونات أكبر من المكونات الأصغر.

                  • التجريد - يدعم تسمية ووصف كائنات النظام المعقدة منخفضة المستوى ذات التركيبات عالية المستوى التي يسهل على البشر فهمها.

                  • التجميع مقابل الترجمة الفورية - مشكلة أساسية عند التفكير في تطبيق لغة الكمبيوتر واستخدامها. يستخدم التجميع برنامجًا لإنتاج تعليمات برمجية قابلة للتنفيذ مباشرة يمكن تحسينها للتشغيل على جهاز معين. يحاول التفسير تنفيذ التعليمات البرمجية المصدر عن طريق ترجمتها إلى تعليمات برمجية قابلة للتنفيذ قبل التنفيذ مباشرة. نظرًا لصعوبة أداء التحسينات بشكل ديناميكي ، يميل أداء النظام المنخفض إلى النتيجة.

                  • مبادئ ومزالق قياس الأداء - تعرف على ما تقيسه ، وأين وكيف تقيسه ، ومتى يكون قياس معين (أو مقياس) مفيدًا ، ولماذا يعمل مقياس معين (أو لا يعمل) في موقف معين.

                  • 1.1.2. نظرة عامة على الدورة وأهدافها

                • التجريد والتكنولوجيا - الفصل الأول

                • قياس الأداء - الفصل 2

                • بنية مجموعة التعليمات - الفصل 3

                • الحساب وتصميم ALU - الفصل 4

                • تصميم وتنفيذ وحدة المعالجة المركزية - الفصل الخامس

                • خطوط الأنابيب لزيادة الأداء - الفصل 6

                • الذاكرة: ذاكرة التخزين المؤقت ، الرئيسية ، الافتراضية - الفصل السابع

                • أجهزة وبروتوكولات الإدخال / الإخراج - الفصل 8

                • 1.1.3. الأصول والتاريخ

                  في هذا القسم ، نقدم لمحة موجزة عن تاريخ الكمبيوتر. يمكن العثور على معلومات إضافية على رابط The Digital Century.

                  في هذه الحقبة التاريخية ، تم تطوير أجهزة الكمبيوتر لأول مرة من قبل المصريين ، الذين كانوا يمتلكون ساعات العداد والظل. في عصر ما قبل الصناعة ، تم تطوير الآلات الحاسبة الميكانيكية بواسطة باسكال ولايبنيز. خلال الثورة الصناعية ، تم تصور أجهزة الكمبيوتر الميكانيكية ، وتم تصميم أجزاء من هذه الآلات بواسطة تشارلز باباج. لم يتم إنشاء أجهزة الكمبيوتر هذه في مجملها ، بسبب الحجم والوزن ومتطلبات الطاقة التي لا يمكن أن تفي بها تكنولوجيا اليوم. يتم تقديم نظرة عامة مثيرة للاهتمام عن أجهزة الكمبيوتر الميكانيكية المبكرة في هذا الرابط.

                  مع اكتشاف الكهرباء ، تم تطوير آلات الجدولة الإلكترونية من قبل هيرمان هوليريث ، الذي اشترى شركته توماس واتسون ، مؤسس شركة International Business Machines Corporation. خلال عشرينيات وثلاثينيات القرن الماضي ، قامت شركة IBM بتسويق مجموعة متنوعة من آلات الجدولة التي تعمل بواسطة لوحات المفاتيح المكهربة ولديها مجموعة متنوعة من الطابعات. على الرغم من أن هذا النوع من الأجهزة غير متطور ، إلا أنه ساعد مجتمع الأعمال على التعود على فكرة المخزون بمساعدة الآلة ، وكشوف المرتبات ، والشحن. بالإضافة إلى ذلك ، تم تعديل الأجهزة التي طورتها شركة IBM لاستخدامها في أجهزة الكمبيوتر القديمة. وبالتالي ، يمكن القول إن عصر آلات الجدولة الكهروميكانيكية قد أعد المجتمع من بعض النواحي لظهور أجهزة الكمبيوتر الرقمية.

                  أدى ظهور الحرب العالمية الثانية إلى زيادة الطلب على حسابات أكثر دقة. تم توظيف غرف مليئة بالبشر في حساب مسارات المدفعية ، وكانت النتيجة خطأ غير مقبول. تم تنفيذ مجموعة متنوعة من المشاريع البحثية في مجال الحوسبة في جامعة برينستون وجامعة هارفارد وجامعة بنسلفانيا. نتج عن ذلك أجهزة كمبيوتر بحجم الغرفة مثل Mark-I عبر Mark-IV و ENIAC ، وكلها تستخدم أنابيب مفرغة. كانت آلات الأنابيب المفرغة خاطئة (الأنابيب محترقة أو تنجرف استجابتها بشكل متكرر) ، وتستهلك طاقة كبيرة ، وبطيئة (أقل من 10000 مضاعف صحيح في الثانية) ، وصعبة البرمجة ، ولكنها وفرت قاعدة اختبار مفيدة لمفاهيم الكمبيوتر الأساسية.

                  بعد الحرب العالمية الثانية ، كان مجتمع الأعمال بطيئًا في قبول أجهزة الكمبيوتر بسبب تكلفتها وحجمها ووزنها واستهلاكها للطاقة وتكلفة صيانتها (بما في ذلك رواتب المبرمجين). ومع ذلك ، مولت وزارة الدفاع أبحاث الكمبيوتر خلال السنوات الأولى من الحرب الباردة ، والتي نتج عنها الجيل الثاني من أجهزة الكمبيوتر. استخدمت هذه الآلات الترانزستورات بدلاً من الأنابيب المفرغة ، وكانت أصغر حجمًا وأقل استهلاكًا للطاقة وأسهل في الاستخدام. أصبحت الشركات التجارية أكثر اهتمامًا بالحوسبة ، وبدأت شركة IBM في تصنيع أجهزة الكمبيوتر التجارية والعلمية (4000 و 7000 سلسلة ، على التوالي).

                  في الستينيات ، تم دمج الترانزستورات أولاً في لوحات الدوائر الصغيرة ، ثم تم حفرها على رقائق تسمى الدوائر المتكاملة. كانت هذه أصغر بكثير من دوائر الكمبيوتر من الجيل الثاني ، ومن المتوقع أن تستهلك طاقة أقل ، وتشغل مساحة أقل ، وكان من السهل إصلاحها (أو استبدالها). في الستينيات ، كانت العديد من شركات الإلكترونيات تعمل في مجال الأعمال التي لم تعد تصنع أجهزة كمبيوتر رقمية اليوم - جنرال إلكتريك و RCA و Honeywell و Burroughs ، على سبيل المثال لا الحصر. كان نظام IBM / 360 هو أول كمبيوتر للأغراض العامة يدعم كلاً من العمليات الحسابية التجارية والعلمية ، ولديه عدد من ميزات نظام التشغيل التي كانت جديدة في يومه ، بما في ذلك التوافق التصاعدي للبرامج ، وإمكانية برمجة نظام التشغيل من خلال (مروع) لغة تسمى OS / JCL ، بالإضافة إلى دعم العديد من لغات البرمجة.

                  شهدت السبعينيات ظهور دوائر متكاملة أسرع بكثير وأكثر قدرة ، مما جعل أجهزة الكمبيوتر أصغر حجمًا وأسرع. كان نظام IBM / 370 هو سلسلة الحاسبات المركزية في تلك الحقبة ، لكنه واجه تحديات من خلال هياكل مماثلة ، مثل تلك التي أنتجتها شركة أحمدال. في السبعينيات ، ظهر اتجاهان مهمان بالإضافة إلى الحوسبة المركزية. أولاً ، تم تطوير الكمبيوتر العملاق إلى حد كبير بفضل جهود Seymour Cray ، الذي كان رائدًا في مجال الحوسبة عالية الأداء في الستينيات باستخدام CDC6600 الذي طوره لشركة Control Data Corporation. ثانيًا ، تم تطوير الكمبيوتر المصغر بواسطة شركة Digital Equipment Corporation (DEC) ، والتي كانت سلسلة آلات PDP الخاصة بها أول كمبيوتر للأغراض العامة يمكن للجامعات الصغيرة أو مختبرات البحث تحمله. الاتجاه الثالث الذي لم يلاحظه أحد تقريبًا هو الظهور التدريجي لأجهزة الكمبيوتر الشخصية ، والتي كانت في البداية مجالًا للهواة. من هذه البدايات المبكرة جاء Apple-II ، أول كمبيوتر شخصي عملي في العالم ميسور التكلفة ويمكن تشغيله ببعض الطرق مثل أسلافه الأكبر (حاسب مركزي أو كمبيوتر صغير).

                  في الثمانينيات من القرن الماضي ، أفسحت الدوائر المتكاملة المجال لتكنولوجيا الدوائر المتكاملة (VLSI) واسعة النطاق جدًا ، والتي جمعت في النهاية ملايين الترانزستورات في شريحة واحدة. يشتمل هذا على الجيل الرابع من تكنولوجيا آلات الحوسبة. ونتيجة لذلك ، أصبحت أجهزة الكمبيوتر الشخصية أصغر حجمًا وأسرع ، مما شكل تحديًا للكمبيوتر الصغير. مكّن استخدام تقنية VLSI شركات مثل DEC من التنافس مع سوق الأجهزة المركزية من خلال تطوير أجهزة كمبيوتر فائقة الصغر. على جانب الكمبيوتر الشخصي في السوق ، قدمت شركة IBM IBM / PC في عام 1980 ، مما أحدث ثورة في سطح المكتب من خلال توفير بنية مشتركة مفتوحة. ترأس زميل شاب ، جمع بين الأفكار من نظام تشغيل VMS الخاص بشركة DEC ونظام التشغيل UNIX الناشئ ، شركة تم اختيارها لكتابة أول نظام تشغيل للكمبيوتر الشخصي القابل للتوسيع - MS-DOS. الباقي ، كما يقولون ، هو التاريخ - صعد بيل جيتس ومايكروسوفت مع شركة IBM ومطور المعالجات الخاصة بها Intel ليصبحا اللاعبين المهيمنين في صناعة بمليارات الدولارات ، والتي طغت في النهاية على سوق الحواسيب المركزية وأرسلت الحواسيب الصغيرة والحواسيب الفائقة والحواسيب الصغيرة إلى سلة مهملات التاريخ (لجميع التطبيقات باستثناء معظم التطبيقات المخصصة للغاية).

                  شهدت التسعينيات ظهور الحوسبة الموزعة أو الشبكية واستمرار انتشار أجهزة الكمبيوتر الشخصية. تطور آخر في التسعينيات كان الحوسبة المتنقلة ، والتي يمكن أن تصبح النموذج السائد للحوسبة الشخصية في العقد الأول من الألفية الجديدة. على واجهة الكمبيوتر العملاق ، تم تطوير الآلات المتوازية بشكل كبير لتصبح أكثر عملية ، وأسهل في البرمجة ، وصغيرة بما يكفي لجامعة متوسطة الحجم لشرائها لأغراض البحث أو التدريس. تستمر تكنولوجيا الكمبيوتر الموازية في النمو ، مدعومة جزئيًا بمكونات الدوائر المتكاملة الأصغر باستمرار والبرامج الأكثر سهولة في الاستخدام. تستمر التكنولوجيا الموزعة في الانتشار في كل من الحوسبة والاتصالات. لقد وحدت الإنترنت وشبكة الويب العالمية هذه النماذج لتصبح المنصات المهيمنة لنشر المعرفة المحوسب.

                  إذا كنت ترغب في قراءة المزيد ، فتحقق من موقع Hitmill History of Computers. للقيام برحلة شاملة عبر تاريخ الكمبيوتر ، قم بزيارة متحف تاريخ الكمبيوتر.

                  1.2 نظرة عامة على تجريدات الكمبيوتر

              • نظام التشغيل - يوفر واجهة ملائمة بين (أ) المستخدم وبرنامج التطبيق الخاص به ، و (ب) الأجهزة (تسمى أحيانًا الجهاز المكشوف).

              • المجمع - يترجم لغة التجميع ، وهي نوع بدائي من لغة البرمجة ، إلى كود الآلة ، وهو عبارة عن دفق من الآحاد والأصفار.

              • بنية مجموعة التعليمات (ISA) - واجهات البرنامج (المذكورة أعلاه) مع الأجهزة (المدرجة أدناه) ، وتوفر دعمًا للبرمجة.

              • المعالج والذاكرة ونظام الإدخال / الإخراج - تدعم هذه المكونات تنفيذ تعليمات كود الجهاز المعبر عنها من حيث ISA.

              • Datapath and Control - يوفر تجريدًا مناسبًا لتوصيل المعالج والذاكرة ونظام الإدخال / الإخراج والتحكم في وظائفهم بكفاءة.

            • الإدخال - يوفر البيانات ومعلومات البرنامج

            • Datapath - يتوسط I / O

            • التحكم - يطبق التحكم في الحساب والاتصال أو عمليات الإدخال / الإخراج

            • الذاكرة - تخزين واسترجاع البرامج أو البيانات

            • الإخراج - نتيجة تشغيل البرنامج على المعالج باستخدام الإدخال
            • 1.2 نظرة عامة على تجريدات الكمبيوتر

              واجبات القراءة وتمارين

              تساعدنا التجريدات في التعبير عن المفاهيم غير الملموسة في التمثيلات المرئية التي يمكن التلاعب بها. على سبيل المثال ، هيكل البيانات هو تجريد ينظم المفاهيم أو الأرقام في تمثيل منظم ومفهوم يمكن معالجته بواسطة برنامج كمبيوتر. يوضح الشكل 1.2 وجهة نظر أخرى لنظام الكمبيوتر ، والذي يتكون من مستويات مختلفة من اللغة ووسائل ترجمة هذه اللغات إلى لغات ذات مستوى أدنى. أخيرًا ، يتم تحميل البرنامج الدقيق على الجهاز.

              1.2.1. وجهات نظر مجردة مختلفة

          • المستوى 5 - اللغة الموجهة نحو المشكلة - يوفر واجهة ومحرك تطبيقات مناسبين يساعد المستخدم على تحقيق نتائج خاصة بمنطقة تطبيق معينة. على سبيل المثال ، يتم استخدام Microsoft Word لإنشاء المستندات أو تحريرها ، و Excel لجداول البيانات المحاسبية ، وما إلى ذلك. وعادة ما تكون اللغة في هذا المستوى عبارة عن سلسلة من ضربات المفاتيح أو لغة برمجة نصية عالية المستوى. في تصميم البرامج ، تعتبر اللغة لغة برمجة عالية المستوى مثل C أو C ++ أو Java.

          • المستوى 4 - لغة التجميع - التجميع هي لغة مفصلة للغاية تساعد مبرمج الأنظمة أو مصمم البرامج على نقل المعلومات في بنية الكمبيوتر بطريقة محددة للغاية. على سبيل المثال ، تتم كتابة العديد من المجمعين (البرامج التي تترجم لغة البرمجة إلى لغة تشبه التجميع) بلغة التجميع. ميزة لغة التجميع هي السرعة والقوة في الوصول إلى الميزات المختلفة للجهاز.

          • المستوى 3 - آلة نظام التشغيل - توفر واجهة ملائمة بين لغة التجميع وتجريد مجموعة تعليمات بنية الأجهزة. تحتوي أنظمة التشغيل بشكل عام على العديد من المكتبات التي تساعد مطور البرامج أو المبرمج على الاتصال بوظائف النظام ذات المستوى الأدنى (مثل الإدخال / الإخراج ، وتخصيص الذاكرة ، وما إلى ذلك) بطريقة منظمة.

          • المستوى 2 - هندسة مجموعة التعليمات (ISA) - أحد أهم أجزاء الكمبيوتر هو الواجهة بين البرنامج ذي المستوى الأدنى والأجهزة. يتضمن ISA أي شيء يستخدمه المبرمجون لجعل برنامج لغة الآلة الثنائية يعمل بشكل صحيح ، بما في ذلك التعليمات ، I / O ، إلخ. تسهل ISA تصميم الوظائف بشكل مستقل عن الأجهزة.

          • المستوى 1 - المستوى المعماري الدقيق - التعليمات الدقيقة هي تعليمات تحكم منخفضة المستوى تحدد مجموعة إشارات التحكم في مسار البيانات التي تنطبق على حالة معينة من آلة الحوسبة. تشتمل التعليمات الدقيقة ، جنبًا إلى جنب مع تسلسلها ، على البنية الدقيقة ، والغرض منها هو التعبير بشكل صارم ومتسق عن التحكم في الدوائر المنطقية التي تتألف منها أجهزة الكمبيوتر. يسمى تصميم عنصر التحكم هذا من حيث البرنامج الذي ينفذ تعليمات الآلة من حيث التعليمات الدقيقة البسيطة باسم البرمجة الدقيقة.

          • المستوى 0 - المنطق الرقمي - تسمى الدائرة التي تقوم بتشغيل الكمبيوتر الرقمي بالمنطق. يتم التعبير عن جميع عمليات الكمبيوتر الرقمي من حيث وظائف الآحاد والأصفار ، على سبيل المثال ، و / أو ، وليس الوظائف. سنراجع وظائف المنطق هذه في القسم 1.4.

          • الشكل 1.3. عرض معمم لمستويات التجريد في أنظمة الكمبيوتر ، مقتبس من [Maf01].

            يؤدي هذا إلى وجهة النظر التطبيقية التالية ، حيث يتم تحديد نطاق هذه الدورة باللون الأحمر.

            الشكل 1.4. عرض آخر لمستويات التجريد في أنظمة الكمبيوتر ، مقتبس من [Maf01].

            1.2.2. RISC مقابل CISC

        • الأكبر هو الأفضل!

        • اجعل الأجهزة "ذكية" (وبالتالي معقدة) قدر الإمكان.

        • إذا كان لديك هندسة معمارية مترامية الأطراف ، فلا بأس بذلك. سيحدد مصنعو الأجهزة ما يجب فعله بتصميمك.

        • لا تقلق بشأن ما إذا كان تصميم النظام مقسمًا بدقة إلى طبقات أم لا. (سيكون بحر كبير من البوابات المنطقية على ما يرام حتى نكتشف شيئًا آخر يعمل.)

        • عندما يفشل جزء صغير ، يموت النظام بأكمله ولن نعرف السبب أبدًا. هذا جيد - فقط قم ببناء شريحة وحدة معالجة مركزية أخرى من الألف إلى الياء. ربما هذا واحد سيعمل بشكل أفضل.
      • الصغير جميل.

      • حافظ على الأجهزة بسيطة وغبية (فلسفة تصميم KISS).

      • يجب أن يعمل مصممو الأجهزة والبرامج معًا لجعل الهندسة المعمارية بسيطة ونمطية.

      • قسّم تصميم النظام بدقة إلى طبقات ، كما هو موضح في الشكلين 1.2 و 1.3. بعد ذلك ، خذ الغالبية العظمى من الوظائف التي يطبقها CISC في الأجهزة ، وضعها في البرنامج (باستخدام تحويلات المترجم) بدلاً من ذلك.

      • اجعل الجهاز والمجمع قويين ، بحيث يمكن للنظام بأكمله أن يعمل بشكل موثوق.
      • 1.2.3. ملخص المفهوم

    • الخطوة 1. - الدوائر المنطقية المجردة (البرمجة القائمة على لوحة التوصيل)

    • الخطوة 2. - التحكم في الهندسة المعمارية الدقيقة (برمجة لغة الآلة)

    • الخطوة 3. - نظام التشغيل (دفعة -> برمجة متعددة -> مشاركة الوقت -> التوازي)

    • الخطوة 4. - البنى المعقدة (مجمعات للغات عالية المستوى ، على سبيل المثال ، FORTRAN ، COBOL -> Pascal -> C -> C ++ -> Java)

    • الخطوة 5. - تطوير واجهة الأجهزة / البرامج (ISA -> CISC -> RISC)

    • 1.3 نظرة عامة على اتجاهات تكنولوجيا الكمبيوتر

      واجبات القراءة وتمارين

      في القسم 1.1 ، لخصنا بإيجاز كيف تطورت التكنولوجيا من دوائر الأنبوب المفرغ إلى تقنيات VLSI الحديثة. كانت القدرة على وضع المزيد من البوابات المنطقية لكل وحدة مساحة هي الدافع الأساسي لزيادة الذاكرة وسعة المعالج وأدائه بشكل كبير. وقد اتبع هذا التطور عدة اتجاهات مهمة نناقشها في هذا القسم على النحو التالي.

      1.3.1. سعة الذاكرة

      تضاعفت سعة الذاكرة تقريبًا كل 1.5 عام منذ أوائل السبعينيات. قبل ذلك ، لم يتم تنفيذ الذاكرة في الدوائر المتكاملة ، ولكنها كانت تتكون من صفائف من النوى المغناطيسية الدقيقة المتشابكة معًا على شبكة من الأسلاك الدقيقة. وبالتالي ، فإن أصل المصطلح core لوصف الذاكرة الرئيسية للكمبيوتر. يوضح الشكل 1.5 اتجاه سعة الذاكرة ، ويوضح كيف زادت كثافة بوابة الذاكرة من 1 ميجابايت (Mbit) لكل شريحة في عام 1986 إلى 256 ميجابت لكل شريحة في عام 2000. وبحلول عام 2004 ، من المتوقع أن تصل إلى 1 جيجابت لكل شريحة.

      الشكل 1.5. زيادة هائلة في سعة الذاكرة كدالة للوقت منذ أوائل السبعينيات ، مقتبس من [Maf01].

      جعلت الزيادة في سعة الذاكرة وأداء المعالج (القسم 1.3.3) من الممكن ترحيل تطبيقات الحواسيب العملاقة مثل تحسين الصور المعقد ونمذجة العناصر المحدودة والتنبؤ بالطقس إلى أجهزة الكمبيوتر المكتبية. ومع ذلك ، قد لا يكون معدل الزيادة هذا مستدامًا على أساس غير محدد ، كما تمت مناقشته في القسم 1.3.4.

      1.3.2. سعة المعالج

      تضاعف عدد الترانزستورات لكل شريحة تقريبًا كل 1.5 عام منذ أوائل السبعينيات ، عندما أصبحت الدوائر المتكاملة متاحة. هذا التأثير يسمى قانون مور. يوضح الشكل 1.6 هذا الاتجاه ، ويوضح كيف زاد حجم الرقاقة من أقل من 2000 ترانزستور في عام 1970 إلى أكثر من 15 مليون ترانزستور في عام 2000.بحلول عام 2003 ، من المتوقع أن يصل هذا إلى 60 مليون ترانزستور لكل رقاقة.

      الشكل 1.6. زيادة هائلة في سعة المعالج كدالة زمنية منذ أوائل السبعينيات (قانون مور) ، مقتبس من [Maf01].

      جعلت الزيادة في سعة المعالج من الممكن زيادة سرعة دوائر المعالج ، خاصة لعمليات المنطق الحسابي. على سبيل المثال ، تختلف منطقة الرقاقة (وتسمى أيضًا العقارات) التي تتطلبها دائرة مضاعفة مكونة من رقم N تقريبًا مثل N 2. وبالتالي ، إذا تضاعفت مساحة المعالج كل 1.5 سنة ، فإن زيادة سرعة المضاعف الممكنة بهذه التكنولوجيا يمكن أن تزيد بمعامل 2 1/2 = 1.414 مرة كل 1.5 سنة. نرى هذا ينعكس في زيادات الأداء الموضحة في القسم التالي.

      1.3.3. أداء المعالج

      من أجل قياس أداء المعالج ، نستخدم وحدات معايير SPEC. تم إنشاء مجموعة معايير تقييم أداء النظام (SPEC) في عام 1989 لتوفير مجموعة متسقة من المعايير الواقعية لتقييم أداء وحدة المعالجة المركزية. تتضمن مجموعة معايير SPEC95 الألعاب ، ومحاكي الأجهزة ، وضغط الملفات وإلغاء الضغط ، وتطبيقات مثل محاكاة فيزياء الكم ، وحلول مشاكل ديناميكيات السوائل ، وما إلى ذلك. في الشكل 1.7 ، نعرض الزيادة في أداء المعالج كدالة لمجموعة معايير SPEC92 ، المدرجة في تحليل Gee et al. لأداء ذاكرة التخزين المؤقت. (ذاكرة التخزين المؤقت هي نوع من الذاكرة السريعة سنناقشها لاحقًا في هذه الدورة.)

      الشكل 1.7. زيادة هائلة في أداء المعالج كدالة زمنية منذ أوائل السبعينيات ، مقتبس من [Maf01].

      جعلت الزيادة في أداء المعالج من الممكن نقل تطبيقات العالم الحقيقي إلى منصات الكمبيوتر (على سبيل المثال ، معماريات Pentium و Apple G4 PC). قلنا في القسم السابق أن سرعة المضاعف يمكن أن تزيد 1.414 مرة كل 1.5 سنة. فلماذا يظهر المنحنى في الشكل 1.7 زيادة في سعة المعالج 1.54 مرة في السنة؟ ضع في اعتبارك أنه على الرغم من أن مضاعف الرقم N المذكور سابقًا يتطلب مساحة متناسبة مع N 2 ، إلا أن هناك العديد من العمليات التي تحتاج فقط إلى منطقة تتناسب مع N. يعتمد مزيج هذه التطبيقات والعمليات التي تستخدمها بشكل كبير على التطبيقات التي يتم تشغيلها على الحاسوب. ومن ثم ، فإن استخدام مجموعة معيارية مثل SPEC92 أو SPEC95 (تمت مناقشته في الكتاب المدرسي) ، لتوفير مزيج متسق من العمليات عبر جميع الأنظمة الأساسية وسيناريوهات الاختبار.

      1.3.4. الحدود المادية لسعة الكمبيوتر وأدائه

      1.3.5. أنواع الأبنية

      هناك ثلاث طرق رئيسية لتوصيل المكونات في الكمبيوتر ، تسمى معماريات فون نيومان ، والحافلة ، والمعالجات المتعددة. نلخص كل من هؤلاء ، على النحو التالي.

      1.3.5.1. فون نيومان للهندسة المعمارية. أوضح جون فون نيومان أول بنية كمبيوتر عملية مخزنة (مخطط لتوصيل مكونات الكمبيوتر) في منتصف الأربعينيات. وهي تتألف من خمسة مكونات كلاسيكية (الإدخال ، والمخرجات ، والمعالج ، والذاكرة ، ومسرح البيانات). المعالج مقسم إلى وحدة منطق حسابي (ALU) ووحدة تحكم ، وهي طريقة تنظيم مستمرة حتى الوقت الحاضر. داخل المعالج ، يتوسط مسار بيانات ALU في نقل البيانات للحساب. السجلات عبارة عن وحدات ذاكرة سريعة من / يمكن قراءة / كتابة البيانات منها لدعم حساب التدفق ، كما هو موضح في الشكل 1.8. داخل ALU ، يدعم المركب الإضافة الفعالة أو الزيادة في القيم المقابلة للمتغيرات مثل مؤشرات الحلقة.

      الشكل 1.8. رسم تخطيطي لعمارة فون نيومان ، مقتبس من [Maf01].

      تتميز بنية von Neumann بعيب كبير - تعتمد سرعتها على النطاق الترددي أو معدل نقل مسار البيانات بين المعالج والذاكرة. وهذا ما يسمى عنق الزجاجة فون نيومان.

      1.3.5.2. هندسة الحافلات. هناك العديد من الحيوانات (على سبيل المثال ، قطة أو كلب) التي تتدلى أعضائها الداخلية من العمود الفقري والتي تصادف أنها أفقية. يتم تنظيم أجهزة الكمبيوتر القائمة على الحافلات على هذا النحو - ترتبط المعالجات والذاكرة بحافلة العمود الفقري التي تعمل بمثابة "طريق سريع" للبيانات أو التعليمات للتنقل بين المعالجات والذاكرة. من الناحية العملية ، تحتوي بنية الحافلة على نفس مكونات بنية فون نيومان ، لكنها مرتبة على طول الحافلة ، كما هو موضح في الشكل 1.9.

      الشكل 1.9. رسم تخطيطي لمعمارية الحافلة ، مقتبس من [Maf01].

      من حيث المبدأ ، يحل كمبيوتر الحافلة مشكلة عنق الزجاجة فون نيومان باستخدام حافلة سريعة. من الناحية العملية ، نادرًا ما يكون الناقل سريعًا بما يكفي لدعم الإدخال / الإخراج للحالة الشائعة (90 بالمائة من التطبيقات العملية) ، ويمكن تقليل إنتاجية الناقل بشكل كبير في ظل كميات كبيرة من البيانات. يوضح الشكل 1.10 تخطيط المكونات في جهاز كمبيوتر حديث ، وهو مثال مفيد لمعمارية الناقل.

      الشكل 1.10. رسم تخطيطي لمعمارية ناقل الكمبيوتر ، مقتبس من [Maf01].

      في الشكل 1.10 ، لاحظ أن هناك حافلات متعددة - يتوسط ناقل PCI في نقل البيانات على نطاق واسع بين المكونات الخارجية ، كما يفعل ناقل ISA. يتم استخدام ناقل SCSI لتوصيل الأجهزة الطرفية المتسلسلة مثل محركات الأقراص والماسح الضوئي وما إلى ذلك. يتم التغلب جزئيًا على عنق زجاجة فون نيومان من خلال استخدام ناقل سريع جدًا ، يسمى ناقل الذاكرة ، لتوصيل وحدة المعالجة المركزية والذاكرة وناقل PCI .

      لسوء الحظ ، هناك قيود مادية على عدد المكونات التي يمكن تعبئتها في مساحة معينة في جهاز von Neumann (أو أي كمبيوتر آخر ، لهذه المسألة). يحد النطاق الترددي للحافلة من نموذج الحساب المتسلسل المتأصل في بنية فون نيومان إلى سرعات غير مجدية للتطبيقات العلمية كثيفة الحوسبة. نتيجة لذلك ، تم تطوير معماريات متعددة المعالجات لمعالجة مثل هذه المشاكل ، كما هو موضح في القسم التالي.

      1.3.5.3. متعدد المعالجات أو العمارة المتوازية. تذكر القول المأثور ، "العديد من الأيدي تجعل العمل أقل." في أجهزة الكمبيوتر ، يؤدي استخدام العديد من المعالجات معًا إلى تقليل مقدار الوقت المطلوب لأداء عمل حل مشكلة معينة. نظرًا لنسبة الإدخال / الإخراج والتوجيه ، فإن هذه الكفاءة هي دون الخطية في عدد المعالجات. بمعنى ، إذا كانت W (N) [أو T (N)] تشير إلى العمل [أو الوقت لأداء العمل] المرتبط بمعالجات N ، فإن العلاقات التالية تبقى عمليًا:

      W (N) T (1) / N.

      المعادلة الأولى تعني أن العمل الذي تؤديه معالجات N تعمل على مهمة ، حيث يقوم كل معالج بتنفيذ العمل W (1) [عمل معالج واحد في نموذج حساب تسلسلي] ، سيكون أقل قليلاً من N مرة W (1). لاحظ أننا نستخدم "& lt" بدلاً من "Figure1.11-MultiprocArch.gif">

      الشكل 1.11. رسم تخطيطي لبنية المعالجات المتعددة ، حيث تشترك كل وحدة معالجة مركزية في وحدة ذاكرة متصلة بناقل مشترك - مقتبس من [Maf01].

      يوضح الشكل 1.11 بشكل تخطيطي بنية بسيطة متعددة المعالجات بأربع وحدات معالجة مركزية ، والتي تشترك في وحدة ذاكرة متصلة بوحدات المعالجة المركزية عبر ناقل مشترك. هذه بنية بسيطة مفيدة لحل أنواع محددة من المشكلات التي تتطلب عمليات حسابية مكثفة. ومع ذلك ، إذا حاولت حل مشاكل كثيفة البيانات في مثل هذه البنية ، فستواجه عنق زجاجة فون نيومان الذي يحاول قراءة وكتابة كمية كبيرة من البيانات من وإلى الذاكرة المشتركة.

      الشكل 1.12. رسم تخطيطي لبنية المعالجات المتعددة مع الذاكرة المشتركة ، حيث لكل وحدة CPU أيضًا ذاكرة محلية سريعة خاصة بها - مقتبسة من [Maf01].

      للمساعدة في حل مشكلة التنازع على الناقل المتأصل في المعالجات المتعددة للذاكرة المشتركة ، طور علماء الكمبيوتر نموذجًا مختلطًا للمعالجة المتوازية ، حيث تحتوي وحدات المعالجة المركزية على ذاكرة محلية صغيرة وسريعة جدًا تتواصل مع وحدة المعالجة المركزية عبر حافلة قصيرة وسريعة جدًا. نظرًا لقصر الحافلة ، هناك عدد أقل من مشاكل المعاوقة ويمكن زيادة عرض النطاق الترددي للحافلة. يؤدي هذا إلى ترحيل عنق الزجاجة von Neumann بالقرب من وحدة المعالجة المركزية ، ويخفف بعض المتطلبات على الذاكرة المشتركة. تعتبر معماريات الذاكرة المحلية مفيدة للمشكلات التي لها موقع بيانات ، حيث (1) يمكن لكل وحدة معالجة مركزية حل جزء من مشكلة في جزء من بيانات المشكلة ، و (2) هناك حاجة قليلة لتبادل البيانات بين المعالجات.

      نوع خاص من المعالجات المتعددة يسمى المعالج الموزع ، حيث يتم توصيل وحدات المعالجة المركزية الفردية (تسمى خوادم الحوسبة) بخوادم التخزين عن طريق الشبكة. يمكنك جعل متعدد المعالجات مخططًا تخطيطيًا في الشكل 1.12 في جهاز كمبيوتر موزع عن طريق استبدال شبكة الناقل التي تربط وحدات المعالجة المركزية ببعضها البعض وبالذاكرة المشتركة.

      بعد أن قمنا بجولة عالية المستوى من خلال اتجاهات تكنولوجيا الكمبيوتر ، نقوم بعد ذلك بفحص التكنولوجيا منخفضة المستوى التي تجعل هذه الآلات تعمل ، أي المنطق الرقمي.

      1.4 تصميم المنطق الرقمي

      واجبات القراءة وتمارين

      المنطق الرقمي هو الأجهزة التي تنفذ وظائف الجبر البولي ، والتي هي ، و ، وليس ، بالإضافة إلى مجموعات من هذه الوظائف. تُستخدم عمليات الجبر المنطقي على نطاق واسع في الحوسبة ، وتشكل الأساس للغالبية العظمى من العمليات الحسابية ، كما سنرى لاحقًا في هذه الدورة.

      نبدأ هذا القسم بمناقشة المعاملات والعمليات التي تتكون منها الجبر البولي ، ثم نوضح كيف يتم تنفيذ هذه العمليات المنطقية في الأجهزة الرقمية البسيطة.

      1.4.1. نظرية العمليات المنطقية

      يُطلق على نوع المنطق الذي نستخدمه في الحوسبة عمومًا المنطق الرسمي ، وهو أحد الأسس الثلاثة للرياضيات. (القاعدتان الأخريان هما نظرية القياس والمعالجة الجبرية.) يُطلق على نوع المنطق الرسمي الذي سنستخدمه في هذه الدورة اسم المنطق المنطقي أو الجبر البولي (المصطلحات قابلة للتبادل). هناك أنواع أخرى من المنطق الرسمي ، مثل منطق الفاصل (يُطلق عليه غالبًا المنطق الضبابي) ، لكننا لن نأخذها في الاعتبار في هذه الدورة.

      تعريف. الجبر هو مجموعة A = (F ، O) تحتوي على مجموعة من القيم F ومجموعة من العمليات O على هذه القيم.

      مثال. يحتوي جبر الأعداد الحقيقية على عمليات مثل الجمع والضرب والقسمة ، مع تحديد المعاملات من الأعداد الحقيقية R.

      تعريف. يحتوي الجبر المنطقي B = (<0،1>، O) على مجموعة من العمليات O تسمى منطقية أو منطقية وغير منطقية وما إلى ذلك ، والتي تعمل على أرقام في المجموعة <0،1> (أي ، تعمل على صفر (خانات) أو واحد (ق).

      مثال: منطقي غير - دالة not تعكس قيمة مدخلاتها. وبالتالي ، 0 = ليس (1) و 1 = ليس (0). نظرًا لأن الوظيفة not لها إدخال واحد فقط ، فإنها تسمى عملية أحادية.

      مثال: منطقي و - تأخذ الدالة and التابع الحد الأدنى من مدخليها. وهكذا ، 0 = و (0،0) = و (0،1) = و (1،0). ومع ذلك ، 1 = و (1،1). نظرًا لأن الدالة and تحتوي على مدخلين ، فإنها تسمى عملية ثنائية. (هذا الاستخدام لكلمة "ثنائي" مشابه لاستدعاء المجموعة <0،1> "الأرقام الثنائية" ، نظرًا لوجود رقمين فقط في المجموعة.)

      مثال: منطقي أو - تأخذ الدالة أو الدالة الحد الأقصى من مدخليها. وهكذا ، 0 = أو (0،0) ، مع 1 = أو (0،1) = أو (1،0) = أو (1،1).

      من المهم ملاحظة أنه يمكن بناء جميع العمليات المنطقية من لا و. في دورة الرياضيات المنفصلة (COT3100 في UF / CISE) ، سترى (أو رأيت) كيفية القيام بذلك. في الوقت الحالي ، من المفيد قبول هذا التأكيد والمتابعة.

      سننظر بعد ذلك في كيفية تمثيل المنطق الرقمي في شكل جداول الحقيقة والرموز الرسومية المستخدمة في مخططات الدوائر. في القسم 1.4.3 ، سنناقش كيف يمكن تنفيذ المنطق الرقمي في الأجهزة.

      1.4.2. تمثيلات المنطق الرقمي

      عندما نعمل باستخدام المنطق الرقمي ، من السهل وصف وظيفة جهاز المنطق من حيث جدول الحقيقة.

      تعريف. جدول الحقيقة هو تمثيل جدولي لعملية منطقية تحدد العملية بالكامل.

      الملاحظة. العملية المنطقية ذات المدخلات N سيكون لها 2 N من المدخلات في جدول الحقيقة الخاص بها. إذا كانت العملية تحتوي على العديد من المدخلات ، فيمكن تمثيل جدول الحقيقة الخاص بها بشكل مضغوط من خلال سرد الإدخالات التي تحتوي على مخرجات غير صفرية فقط.

      هناك أيضًا مجموعة متنوعة من الرموز الرسومية المستخدمة مع وظائف المنطق الرقمي. في الشكل 1.13 ، نعرض رموز كل من و وكذلك أو البوابات ، مع تمثيلات جدول الحقيقة الخاصة بهم. إذا قمنا بتمثيل جداول الحقيقة هذه بشكل مضغوط ، فسيكون للعملية and صف واحد فقط في جدول الحقيقة الخاص بها ، وهو [1 1 1].

      التمرين الذاتي. كم عدد الصفوف الموجودة في التمثيل المضغوط لجدول الحقيقة أو العملية ، وما هي هذه الصفوف؟

      الشكل 1.13. الرموز الرسومية وجداول الحقيقة للبوابات المنطقية التي تنفذ وكذلك أو عمليات ، مقتبسة من [Maf01].

      يتم تمثيل البوابة غير بيانياً كما هو موضح في الشكل 1.14 أ. من خلال إلحاق دائرة بمخرج رمز البوابة ، يمكننا تمثيل تأثير وضع ليس بوابة بعد البوابة التي يمثلها الرمز. على سبيل المثال ، يتم عكس خرج البوابة والبوابة بواسطة البوابة غير لتشكيل البوابة nand ، كما هو موضح في الشكل 1.14 ب. يظهر موقف مشابه للبوابة في الشكل 1.14 ج. لاحظ أن جدول الحقيقة للعملية nand يحتوي على ثلاثة إدخالات غير صفرية ، بينما يحتوي جدول الحقيقة للعملية and على إدخال واحد غير صفري. يوجد شرط متماثل للعملية أو.

      الشكل 1.14. الرموز الرسومية وجداول الحقيقة للبوابات المنطقية السلبية التي تنفذ (أ) لا ، (ب) ناند ، (ج) ولا عمليات - مقتبسة من [Maf01].

      في القسم التالي ، نناقش كيفية تنفيذ هذه البوابات الأساسية في الدوائر الإلكترونية.

      1.4.3. تنفيذ دارة المنطق الرقمي

      في عام 1947 ، طور العلماء في مختبرات بيل الترانزستور ، وهو عنصر دائرة تختلف موصليةته باختلاف الجهد المطبق. ميزة الترانزستور هي أنه يمكن استخدام تيار إدخال صغير نسبيًا للتحكم في تيار إمداد طاقة أكبر بكثير. المفهوم العام الذي ينطوي عليه تشغيل الترانزستور مشابه لمفهوم الأنبوب المفرغ (تذكر مناقشتنا لأجهزة الكمبيوتر من الجيل الأول) ، ولكنه يتطلب طاقة ومساحة أقل بكثير. أيضًا ، يمكن أن يتغير الترانزستور الحالة بسرعة أكبر بكثير من الأنبوب المفرغ - كما يُقال أحيانًا في الهندسة الكهربائية ، فإن الترانزستور لديه تردد تحويل أعلى.

      1.4.3.1. نموذج بسيط لبوابة لا ترانزستور. يوضح الشكل 1.15 مخططًا للترانزستور الذي ينفذ المنطق السلبي. لاحظ أن جهد إمداد المجمع V cc موجب ، ويتدفق التيار من مصدر الطاقة هذا عبر المقاوم الحالي المحدد ، والذي يكون رمزه هو الخط المسنن أسفل V cc. تم تصميم المقاوم لمنع تلف تقاطع الترانزستور ، وهو دقيق. (يتكون هذا التقاطع من العديد من المواد شبه الموصلة الموضوعة على رقاقة صغيرة من السيليكون أو الجرمانيوم تسمى الركيزة. كما ناقشنا في القسم 1.3 ، أبعاد الميزات المحفورة في الركيزة حاليًا بترتيب 0.2 ميكرون ، لذلك لا تأخذ الكثير من التيار الزائد لإحداث قوس كهربائي عبر هذه الميزات ، مما يجعل الترانزستور عديم الفائدة.)

      يتم تطبيق جهد التحكم (كما هو موضح في الشكل 1.15 كإشارة دخل أ) على قاعدة الترانزستور. إذا كانت A = 0 ، فإن موصلية الترانزستور منخفضة ، ولا يتم تأريض التيار من المجمع عند الباعث. يؤدي هذا إلى وجود فرق الجهد بين الباعث (على الأرض) والمجمع (عند V cc). بشكل متماثل ، عندما يكون A = 1 (أي جهد أعلى بكثير من الصفر) ، يتم تحسين موصلية الترانزستور ، ويتم تأريض V cc. ينتج عن هذا انخفاضًا ضئيلًا في الجهد أو لا يحدث أي انخفاض في الجهد عبر تقاطع المجمع-الباعث ، ويكون الناتج عند المجمع صفرًا فعليًا. عندما يتم أخذ خرج الترانزستور من المجمع (كما هو موضح في الشكل 1.15) ، فإن هذين الشرطين يتسببان في عدم تنفيذ العملية.

      الشكل 1.15. تنفيذ ترانزستور لبوابة NOT ، مقتبس من [Maf01].

      1.4.3.2. حلبة بوابة NAND. يتم تنفيذ البوابة nand باستخدام مبدأ التشغيل للدارة غير الموضحة في الشكل 15. كما هو موضح في الشكل 1.16 ، إذا كان لكل من الترانزستورات مدخلات عالية (A = 1 و B = 1) ، فإن كلا الترانزستورات تجري ، و V cc مؤرض. ينتج عن هذا انخفاضًا طفيفًا أو معدومًا في الجهد من مصدر الجهد إلى الأرض ، ويحدث جهد شبه الصفر (قيمة صفرية منطقية) عند خرج البوابة. يؤدي هذا إلى إدخال ناتج صفر في جدول الحقيقة الخاص بالبوابة nand ، كما هو موضح مرة أخرى في الشكل 1.16 لأغراض التحقق.

      إذا كان أحد المدخلات (أو كلاهما) لدائرة nand الموضحة في الشكل 1.16 منخفضة ، فإن الترانزستورين معًا لا يشكلان مسارًا موصلًا ، وهناك انخفاض كبير في الجهد (منطقي) عند خرج البوابة. هذا ينفذ الإدخالات غير الصفرية لجدول الحقيقة الخاص بـ nand gate.

      الشكل 1.16. تنفيذ ترانزستور لبوابة NAND ، مقتبس من [Maf01].

      1.4.3.3. حلبة بوابة NOR. يتم تنفيذ البوابة ولا باستخدام مبدأ التشغيل للدارة غير الموضحة في الشكل 15. كما هو موضح في الشكل 17 ، إذا كان لكل من الترانزستورات دخل منخفض (A = 0 و B = 0) ، فإن كلا الترانزستورات لا تعمل ، و لا يمكن تأريض سم مكعب. ينتج عن هذا انخفاضًا كبيرًا في الجهد من مصدر الجهد إلى الأرض ، وتحدث قيمة منطقية واحدة عند خرج البوابة. هذا ينفذ الإدخال الوحيد للإخراج الأحادي في جدول الحقيقة الخاص بالبوابة ، كما هو موضح مرة أخرى في الشكل 17 لأغراض التحقق.

      على العكس من ذلك ، إذا كان أحد (أو كلاهما) مدخل (مدخلات) الدائرة nand الموضحة في الشكل 1.16 مرتفعًا ، فإن إما (كلا) الترانزستور (كلاهما) يشكل مسارًا موصلًا يؤسس لـ V cc ، مما يؤدي إلى عدم وجود انخفاض كبير في الجهد ( الصفر المنطقي) عند خرج البوابة. هذا ينفذ الإدخالات الصفرية لجدول الحقيقة أو البوابة.

      الشكل 1.17. تنفيذ ترانزستور لبوابة NOR ، مقتبس من [Maf01].

      غالبًا ما تحتوي الدوائر المتكاملة على بوابات متعددة في حزمة واحدة مضمنة. على سبيل المثال ، يظهر تخطيط الدائرة المتكاملة الرباعية والبوابة في الشكل 1.18. لاحظ أن الفتحة الموجودة في مادة تغليف الدائرة ، الموضحة على الجانب الأيسر من IC ، تساعد في توجيه مستخدم IC إلى نظام ترتيب الدبوس. يعد كل دبوس إدخال وإخراج بوابة nand فريدًا ، مع دبوس لجهد الإمداد المشترك V cc ، ودبوس آخر للأرضية المشتركة.

      الشكل 1.18. مثال على رسم تخطيطي لدائرة متكاملة رباعية الناند وبوابة ، مقتبس من [Maf01].

      ندرس بعد ذلك كيف يمكن استخدام قوانين الجبر المنطقي لإنشاء تصميمات لدارات منطقية أكثر تعقيدًا.

      1.4.4. دوائر منطقية أكثر تعقيدًا

      في هذا القسم ، نقدم عدة أمثلة لكيفية تصميم الدوائر المنطقية المعقدة من المعادلات التي تمثل وظائف الدائرة ، أو من جداول الحقيقة.

      1.4.4.1. قوانين الجبر البولي. يحتوي كل نوع من أنواع المنطق الرسمي على قواعد لمعالجة العمليات والمعاملات. في الجبر المنطقي ، تسري القواعد التالية:

      افتراض. دع B = <0،1> ، حيث p ، q ، r B و x ، y ، z R. سوف يستمر هذا الافتراض للمناقشة اللاحقة.

      هوية. في الحساب باستخدام الأعداد الحقيقية ، x & # 183 1 = x و x + 0 = x. في المنطق ، البيانات المماثلة هي

      هيمنة. في الحساب مع الأعداد الحقيقية ، x & # 183 0 = 0. التناظرية المنطقية هي

      العاطفة. يمكن استخدام هذه الخاصية للتبسيط و / أو العمليات ، أي

      نفي مزدوج. في الحساب ، - (- س) = س. في المنطق ،

      التبادلية. في الحساب ، يكون الجمع والضرب تبادليًا ، أي x + y = y + x و x & # 183 y = y & # 183 x.في المنطق ، لدينا صيغ مماثلة:

      p أو q q أو p
      p و q q و p.

      الترابطية. في الحساب ، تعتبر عمليات الجمع والضرب ترابطية ، أي (x + y) + z = x + (y + z) و (x & # 183 y) & # 183 z = x & # 183 (y & # 183 z) . في المنطق ، لدينا الصيغ المماثلة:

      (p أو q) أو r p أو (q أو r)
      (p و q) و r p و (q و r).

      التوزيعية. في الحساب ، يوزع الضرب على الجمع. في المنطق ، لدينا موقف مشابه:

      p و (q أو r) (p و q) أو (p و r)
      p أو (q و r) (p أو q) و (p أو r).

      قوانين DeMorgan. يتم دعم التلاعب بالبيانات المنطقية بشكل كبير من خلال قوانين DeMorgan ، التي تصف خاصية تشبه التوزيع:

      لا (p أو q) لا (p) ولا (q)
      لا (p و q) لا (p) أو لا (q).

      1.4.4.2. معادلة الدائرة. باستخدام المعادلات السابقة ، وخاصة قوانين DeMorgan ، من الممكن تحويل شكل دائرة واحدة (على سبيل المثال ، ولا منطق) إلى شكل آخر (على سبيل المثال ، منطق nand). هنا ، ولا المنطق يستخدم ولا بوابات ، وبشكل متماثل لمنطق nand.

      الشكل 1.19. مثال على رسم تخطيطي لدائرة متكاملة رباعية الناند وبوابة ، مقتبس من [Maf01].

      على سبيل المثال ، يوضح الشكل 1.19 دائرة تخرج واحدة عندما يكون كل من المدخلات A و C واحدًا ، أو عندما يكون كل من A و B واحدًا ، وتخرج صفرًا بخلاف ذلك. لاحظ أن الدائرة اليسرى لها نفس جدول الحقيقة مثل الدائرة اليمنى. لاحظ أيضًا أنه يمكن إعادة كتابة معادلة الدائرة للدائرة اليسرى (AC + AB) باستخدام قانون التوزيع (من القسم 1.4.4.1) لإنتاج A (C + B) ، وهي معادلة الدائرة اليمنى . هنا ، يعني المصطلح AC (A و C) ، ويعني المصطلح C + B (C أو B).

      تستخدم التحولات المنطقية بشكل أساسي لتقليل الدوائر. على سبيل المثال ، لاحظ أن الدائرة اليمنى في الشكل 1.19 لها بوابتان فقط ، بينما الدائرة اليسرى تستخدم ثلاثة بوابات. هذا لأن التعبير AC + AB يتطلب ثلاث عمليات (عمليتان وواحدة أو) ، بينما يتطلب التعبير A (C + B) عمليتين (واحدة وواحدة أو).

      1.4.4.3. دائرة تصويت الأغلبية. بالنظر إلى N المدخلات a 1 ، a 2 ،. أ N ، تنتج وظيفة تصويت الأغلبية واحدة عندما تكون N / 2 أو أكثر من المدخلات عبارة عن واحد ، وصفر بخلاف ذلك. (إذا كانت N فردية ، فسيتم تقريب N / 2 إلى أقرب عدد صحيح.) يوضح الشكل 1.20 دائرة منطقية تنفذ وظيفة تصويت الأغلبية لثلاثة مدخلات. لاحظ أن المدخلات A و B و C ونفيها (ممثلة بشريط أعلى كل متغير) موجودة في الحافلات (خطوط عمودية) ، ثم يتم دمجها لتشكيل المصطلحات الأربعة المدرجة في معادلة M. بما في ذلك not gates تستخدم في النفي ، مطلوب ثمانية بوابات لتنفيذ هذه الدائرة. لاحظ ، مع ذلك ، أن كل من البوابات والبوابات لها ثلاثة مدخلات (المقابلة للمتغيرات الثلاثة في كل مصطلح) وأن البوابة أو البوابة التي تنتج خرج الدائرة بها أربعة مدخلات (تقابل الحدود الدنيا الأربعة لمعادلة M).

      الشكل 1.20. مثال على دائرة تصويت الأغلبية ، وجدول الحقيقة الخاص بها ، والمعادلة الحاكمة ، مقتبس من [Maf01].

      1.4.5. المقارنات والمنطق الاندماجي

      تشمل الدوائر المنطقية التوافقية معددات الإرسال ومزيلات تعدد الإرسال والمشفرات وأجهزة فك التشفير والمقارنات. تحتوي الدائرة الاندماجية على العديد من المدخلات ومخرج واحد (أو أحيانًا أكثر من واحد). يتم تحديد خرج (مخرجات) الدائرة الاندماجية بشكل فريد من خلال المدخلات. لا تحتوي الدوائر التوافقية على عناصر ذاكرة. سنبدأ مناقشتنا للدوائر التوافقية بمثال بسيط للمقارن ، ثم ننتقل إلى المضاعف ومفكك التشفير.

      1.4.5.1. المقارن. غالبًا ما يكون من المفيد تحديد ما إذا كان هناك عاملان متساويان أم لا ، وهو ما يسمى المقارنة. تظهر دائرة المنطق الرقمي التي تحدد ما إذا كانت معاملتان من أربع بتات A = (A 0 ، A 1 ، A 2 ، A 3) و B = (B 0 ، B 1 ، B 2 ، B 3) متساوية أم لا. الشكل 1.20. تعتمد الخوارزمية التي تنفذها الدائرة على مفهوم الحصرية أو العملية (وتسمى أيضًا عملية xor) ، والتي يتم إنشاؤها في بوابة xor.

      تشبه وظيفة xor الدالة الشاملة ، أو باستثناء أنه عندما يكون كلا المدخلين مرتفعين ، يكون ناتج xor صفرًا ، كما هو موضح في جداول الحقيقة التالية:

      بعد تطبيق عملية xor على كل بت من A و B (نسمي هذه المعالجة ثنائية البت) ، يتم تشغيل مخرجات xor بواسطة إدخال رباعي أو بوابة. وبالتالي ، إذا كان أي من البتات مختلفًا ، فسيعيد جزء أو جزء من بوابة no واحدًا ، ولن يُرجع جزء not من بوابة no صفرًا. إذا كانت A 0 = B 0 و A 1 = B 1 و A 2 = B 2 و A 3 = B 3 ، عندها ستفرض بوابة no أو العملية على مخرجات بوابات xor (والتي ستكون جميعها واحدة) لتنتج واحد ، والذي سوف ينعكس عند خرج أو بوابة لإعطاء صفر.

      الشكل 1.21. مثال على حلبة المقارنة ، مقتبس من [Maf01].

      1.4.5.2. معدد. يحتوي معدد الإرسال n على إشارات تحكم و 2 n مدخلات (تسمى أحيانًا خطوط البيانات). الغرض من معدد الإرسال هو استخدام إشارات التحكم لتحديد أي من المدخلات سيتم توجيهه إلى خرج المضاعف. وبالتالي ، فإن معدد الإرسال هو نوع من أجهزة التبديل التي تختار إخراجها من بين مدخلاتها ، بناءً على إشارات التحكم.

      على سبيل المثال ، يوضح الشكل 1.22 معدد إرسال مع n = 2 خطوط تحكم (A ، B) ومدخلات 2 n (D 0 إلى D 3). لاحظ أن العواكس (وليس البوابات) توفر تكملة A و B لبناء الحدود الدنيا للمعادلة الحاكمة للدائرة.

      الشكل 1.22. مثال على حلبة المضاعف ، مقتبس من [Maf01].

      التمرين الذاتي. اكتب المعادلة الحاكمة لمضاعف الإرسال الموضحة في الشكل 1.22. كيف يقارن هذا مع المعادلة الحاكمة لدائرة تصويت الأغلبية الموضحة في الشكل 1.20؟ ما هي الطرق التفصيلية التي تختلف بها هذه الدوائر؟

      1.4.5.3. فك. يمكن اعتبار وحدة فك التشفير بشكل فضفاض نوعًا من المضاعف العكسي ، بدون خطوط التحكم. يحتوي جهاز فك التشفير على مدخلات n و 2 n من المخرجات. يقوم المدخل بفهرسة المخرجات - على سبيل المثال ، إذا كان الإدخال 000 ، فسيكون الناتج D 0 مرتفعًا. إذا كان الإدخال 001 ، (أو 010) ، فسيكون الناتج D 1 (على التوالي. D 2) مرتفعًا ، وهكذا دواليك.

      على سبيل المثال ، يوضح الشكل 1.23 وحدة فك ترميز مع n = 3 مدخلات (A ، B ، C) و 2 n = 8 مخرجات (D 0 إلى D 7). كما هو الحال في دارة مُضاعِف الإرسال ، توفر المحولات مكملات الإدخال لتكوين minterms للمعادلة الحاكمة للدائرة.

      الشكل 1.23. مثال على حلبة فك التشفير ، مقتبس من [Maf01].

      التمرين الذاتي. اكتب المعادلة الحاكمة لوحدة فك التشفير الموضحة في الشكل 1.23. كيف يقارن هذا مع المعادلة التي تحكم معدد الإرسال الموضح في الشكل 1.22؟ ما هي الطرق التفصيلية التي تختلف بها هذه الدوائر؟ (تلميح: فكر في minterms والتكامل وقوانين DeMorgan.)

      وبالتالي ، يمكن استخدام أجهزة فك التشفير لتحديد كائن واحد من عدد كبير من الكائنات المفهرسة ، بالنظر إلى التمثيل المنطقي لفهرس هذا الكائن عند إدخال وحدة فك التشفير. على سبيل المثال ، إذا كان كل مخرج من وحدة فك التشفير يتحكم في مرحل يقوم بتبديل الجهد من خلال قيمة مقاومة مختلفة ، فمن الممكن بناء مفكك تشفير n-to-2 n الذي يحول إشارة إدخال n -bit إلى جهد تناظري يتراوح من صفر إلى 2 ن وحدة. ومع ذلك ، يمكن أن تصبح الدوائر الخاصة بـ n كبيرة مانعة ، لذلك فإن هذه التقنية ذات أهمية تربوية فقط.

      1.4.6. مصفوفات المنطق القابلة للبرمجة

      من الواضح أن الدوائر مثل تلك الموضحة في القسم 1.4.5 يمكن أن تصبح معقدة للغاية وكبيرة ومستهلكة للطاقة إذا تم تنفيذها على لوحة دائرة بها العديد من الشرائح التي تحتوي على أنواع مختلفة من البوابات المنطقية. وبالتالي ، من المنطقي أن نسأل كيف يمكننا وضع دائرة رقمية معقدة على شريحة. هناك طريقتان للقيام بذلك. أولاً ، يمكن أن تكون الدائرة مصنعة حسب الطلب ، وهو أمر مكلف للغاية ، خاصة للكميات الصغيرة. ثانيًا ، يمكن للمرء استخدام المنطق القابل للبرمجة ، والذي يوفر العديد من أنواع البوابات المختلفة على شريحة ، مع شبكة قابلة للبرمجة من الوصلات البينية بين البوابات. يحتوي المنطق القابل للبرمجة على دعم برمجي واسع النطاق ، لذلك من السهل نسبيًا (باستخدام أدوات التصميم الحديثة) تصميم دائرة ، وتقليلها إلى مخطط منطقي (رسم تخطيطي للاتصال ومعلمات العناصر المنطقية في الدائرة) ، ثم استخدام الكمبيوتر لبرمجة جهاز منطقي خاص يسمى PLA (مصفوفة منطقية قابلة للبرمجة).

      في الشكل 1.24 ، نوضح دائرة PLA بسيطة. يسمى هذا النوع من الدوائر بالمنطق ثنائي المستوى لأن هناك مستويين من المعالجة (أي ، وبوابات في المستوى 1 ، أو بوابات في المستوى 2).

      التمرين الذاتي. ما هما مستويي المعالجة في الدوائر الموضحين في القسم 1.4.5؟

      في الممارسة العملية ، يتم تصنيع الأجهزة المنطقية القابلة للبرمجة في مجموعة متنوعة من تكوينات البوابة وشبكات الاتصال وكثافات البوابة. أحد أكثر أنواع PLAs أهمية يسمى FPGA ، لمصفوفة البوابة القابلة للبرمجة الميدانية. تمثل FPGAs طريقة جديدة لتصميم المرحلية المخصصة. على عكس Gate Arrys التقليدية ، يمكن تصميم FPGAs وبرمجتها بواسطة مستخدم الكمبيوتر (على سبيل المثال ، مصمم الأجهزة) ، وتمثل مرحلة متقدمة من التطور من الأجهزة المنطقية القابلة للبرمجة (PLD). تعتبر FPGAs مفيدة لأنها تتمتع بكثافة بوابة أعلى بكثير من PLAs أو PLDs ، وتوفر قدرًا أكبر من المرونة. FPGAs مفيدة للنماذج الأولية السريعة ، خاصة للدوائر الكبيرة أو المعقدة. يمكن وصف التصميمات باستخدام (أ) أدوات التخطيط التخطيطي ، (ب) التوليف من نموذج لغة وصف الأجهزة ، أو (ج) أدوات التوليف اللغوية عالية المستوى.

      الشكل 1.24. مثال على مصفوفة منطقية قابلة للبرمجة ، مقتبس من [Maf01].

      الدائرة الموضحة في الشكل 1.24 عبارة عن دائرة ارتباط منصهر. لبرمجة هذه الدائرة ، يقوم جهاز البرمجة الذي يحركه البرنامج فقط بتطبيق جهد كبير على الدائرة المفتوحة (أو "النفخ") لكل من الصمامات (الصناديق الصغيرة في الشكل 1.24) التي تتحكم في الوصول إلى مدخل معين لبوابة معينة. على سبيل المثال ، إذا تم تفجير المصهر عند تقاطع خرج البوابة رقم 1 و / أو إدخال البوابة رقم 5 ، فلا يمكن أن يكون ناتج البوابة وإخراجها مدخلاً لذلك أو البوابة.

      هناك ورقة على الويب حول تصميم المصفوفات المنطقية القابلة للبرمجة الديناميكية عالية السرعة والمنخفضة الطاقة والتي تعتبر مفيدة للقراءة المتقدمة في هذا المجال الموضعي المثير للاهتمام.

      نناقش بعد ذلك الدوائر المنطقية المسجلة.

      1.4.7. المنطق المتزامن

      حتى الآن ، نظرنا فقط في الدوائر المنطقية غير المتزامنة ، التي يُسمح فيها لنبضات الإدخال بالانتشار عبر الدائرة بسرعتها الخاصة. هذا مقبول للتصميمات المنطقية البسيطة ، لكن له عيبًا هو أن المرء يحتاج إلى الانتظار لفترة قصيرة (غير محددة إلى حد ما في العادة) حتى يستقر خرج الدائرة. في التطبيقات ذات الأهمية الزمنية التي تتطلب دقة التوقيت ، لا ينتج عن النهج غير المتزامن لتصميم الدوائر وتنفيذها دائمًا نتائج مفيدة ، بسبب عدم التحديد في وقت استقرار الإخراج.

      ولمعالجة هذه المشكلة ، تم تطوير دارات منطقية متزامنة يتوسط انتقالها من حالة إلى أخرى بواسطة نبضة الساعة. (يمكن التفكير في ذلك مثل الأشخاص في فرقة موسيقية يلعبون في الوقت المناسب للموصل.) الغالبية العظمى من الدوائر المنطقية تستخدم ميزة تسجيل الوقت المشغل بالحافة ، مما يعني أن الحالة تتغير في الدائرة (على سبيل المثال ، من State Element 1 إلى State Element 2) في الشكل 1.25 أ) يحدث فقط عندما تتغير نبضة الساعة من صفر إلى قيمة واحدة.

      الشكل 1.25. تغيرات الحالة في الدوائر المنطقية: (أ) حالة التغييرات المنطقية المتزامنة على نبضة الساعة الرائدة (انتقال 0-1) ، و (ب) المنطق غير المتزامن لا يتطلب ساعة لتغيير الحالة - مقتبس من [Maf01].

      لفهم المنطق المتزامن بشكل أفضل ، وهو الشكل السائد في الحوسبة الرقمية ، ندرس بعد ذلك كيفية عمل الساعة. نناقش بعد ذلك المزالج ودوائر التخزين مثل المزالج ذات الساعة والمتخبط.

      1.4.7.1. مبادئ الساعة. عندما نفكر في ساعة رقمية ، تتبادر إلى الذهن صورة جهاز رقمي لعرض الوقت. ومع ذلك ، في المنطق الرقمي ، تعتبر الساعة في الحقيقة مذبذبًا دقيقًا للغاية يغير ناتجها من صفر إلى واحد ، ثم تعود إلى الصفر بطريقة منتظمة يمكن التنبؤ بها.

      على سبيل المثال ، في الشكل 1.26 ، تتكون الساعة من مذبذب يكون خرجه عتبة لتكوين قطار من النبضات المستطيلة ، تسمى موجة مربعة. يتم قياس فترة الساعة من انتقال واحد 0-1 إلى الانتقال التالي 0-1. تؤدي إضافة جهاز تأخير بعد خرج الساعة إلى تأخر طور بين إشارات الساعة C1 و C2.

      الشكل 1.26. مثال على خرج الساعة ، مع نبضات ساعة متناظرة (A) وغير متماثلة (B و C) ، مقتبسة من [Maf01].

      ضمن دورة الساعة ، هناك الوقت الذي تكون فيه النبضة عالية (t H) والوقت الذي تكون فيه منخفضة (t L). إذا كان t H لا يساوي t L ضمن خطأ قياس صغير ، فإننا نقول إن نبض الساعة غير متماثل. ينطبق هذا المصطلح أيضًا على نبضة متغيرة الطور ، كما هو موضح في الإشارة B من الشكل 1.26.

      إذا كانت t H & lt t L ضمن خطأ قياس صغير ، فإننا نقول إن دورة عمل النبض أقل من دورة واحدة. تظهر هذه الحالة في الشكل 1.26 ، بالنسبة لإشارة الساعة المسمى C. إذا كانت t H & gt t L ضمن خطأ قياس صغير ، فإننا نقول إن دورة عمل النبض أكبر من واحدة.

      1.4.7.2. مزلاج SR. في وقت مبكر من ممارسة الحوسبة ، كان من المستحسن تخزين القليل في جهاز ذاكرة صغير. نظرًا لأن أجهزة التخزين الوحيدة القابلة للاستخدام كانت المرحلات (جهاز كهروميكانيكي) وخطوط التأخير التي تستخدم معدن الزئبق (الرمز الكيميائي Hg) ، فقد تقرر تكييف المنطق غير المتزامن القائم على الترحيل (بطيء جدًا) لإنتاج عنصر تخزين يمكنه الاحتفاظ بواحد قليلا.

      الشكل 1.27. حالتا مزلاج SR ، مقتبسة من [Maf01].

      يوضح الشكل 1.27 نسخة حديثة من هذا المفهوم ، تسمى SR Latch ، والتي يتم تنفيذها في ولا منطق. (باستخدام قوانين DeMorgan ، من الممكن تنفيذ ذلك في منطق nand.) عندما يكون إدخال Set مرتفعًا ويكون إدخال إعادة التعيين منخفضًا ، تظهر نتائج الحالة 1 ، وعلى العكس من الحالة 0. وهكذا ، فإن المجموعة (إعادة التعيين) تضع 1 ( 0) القيمة عند الخرج Q. ليس من الصعب رؤية أن وضع هذه الدائرة بعد مذبذب يمكن أن ينتج نبضات الساعة الموضحة في الشكل 1.26.

      التمرين الذاتي. قم باشتقاق جداول الحقيقة للحالة 0 والحالة 1 لمزلاج SR الموضح في الشكل 1.27.

      1.4.7.3. المزالج المسجلة. المشاكل مع SR Latch غير المتزامن الموضحة في الشكل 1.27 هي (أ) يمكن تنشيط مدخلات S و R في أي وقت ، و (ب) تسوية الدائرة للحصول على قيمة خرجها تحدث فورًا بعد توفير إشارات S أو R . يتم تصحيح هذا الموقف في مزلاج SR على مدار الساعة في الشكل 1.28 ، حيث يتم استخدام بوابتين مع ساعة لدفع مزلاج SR بالشكل 1.27.

      تعمل الدائرة بنفس طريقة مزلاج SR ، مع الاستثناءات المهمة التالية. أولاً ، إذا كانت S أو R واحدة ، وكانت قيمة الساعة صفرًا ، فإن ناتج البوابات هي صفر. إذا كانت S أو R تساوي واحدًا ، وكانت الساعة عالية ، فسيتم تمرير قيم S و R إلى مدخل مزلاج SR ، ولكن فقط عندما تكون الساعة عالية. وهذا يعطي وقت المزلاج t H للاستقرار (انظر القسم 1.4.7.1). إذا كانت S أو R تساوي صفرًا ، فلا يهم قيمة الساعة - فالمدخلات في SR Latch تظل صفرية.

      الشكل 1.28. مزلاج SR على مدار الساعة ، مقتبس من [Maf01].

      التمرين الذاتي. (1) قم باشتقاق جدول الحقيقة للمدخل المسجل على مدار الساعة لمزلاج SR في الشكل 1.28 ، باستخدام منطق البوابة ، كما هو موضح. (2) إثبات (باستخدام جداول الحقيقة) كيف يمكن أو لا يمكن تطبيق هذا ولا منطق.

      تتمثل مشكلة مزلاج SR الذي تم تسجيله على مدار الساعة في أنه يحتوي على مدخلين ، ولهما تكوين محظور. وبالتحديد ، لا يمكن للمرء أن يطبق كلاً من S = 1 و R = 1 على الدائرة في وقت واحد - لن يعرف أي حالة يدخلها! يتم حل هذه المشكلة باستخدام مزلاج D Clocked ، وهو اختلاف بسيط في مزلاج SR الذي تم ضبطه على مدار الساعة.

      كما هو مبين في الشكل 1.29 ، لا يضيف المزلاج D بوابة أو عاكسًا إلى مدخل مزلاج SR الذي يعمل على مدار الساعة ، بحيث يكون للمدخلات "S" و "R" قيم معاكسة دائمًا. من أجل تجنب الالتباس مع مزلاج SR ، يُطلق على الإدخال اسم D. يتم تطبيق نبض الساعة على الإدخال ، كما كان الحال مع مزلاج SR.

      الشكل 1.29. مزلاج D Clocked ، مقتبس من [Maf01].

      كما هو مبين في الشكل 1.29 ، فإن المزلاج D له سلوك التوقيت التالي (من إشارات D و C و Q أسفل دائرة المزلاج). إشارة D هي المدخلات (البيانات) ، C هي الساعة ، و Q هي الخرج. عندما ترتفع D (انتقال 0-1) ، لا يحدث شيء للمزلاج حتى يرتفع C. (إذا كان D منخفضًا بحلول الوقت الذي يرتفع فيه C ، فإن المزلاج لا يغير حالته.)

      إذا كانت D عالية وارتفعت C ، فإن المزلاج يتغير حالته. هناك تأخير طفيف من الوقت الذي ترتفع فيه C إلى الوقت الذي ترتفع فيه Q ، وهو ما يسمى بتأخير الانتشار (دالة لنوع المنطق المستخدم ، وتقنية تصنيع أشباه الموصلات ، وأطوال الأسلاك ، وما إلى ذلك) عندما تنخفض C ، سواء كان D مرتفعًا أم لا ، يظل خرج المزلاج (Q) مرتفعًا. هذه هي وظيفة ذاكرة مزلاج SR التي ناقشناها سابقًا. ومع ذلك ، إذا كانت D منخفضة ، فعندئذٍ إذا ارتفعت C (انتقال 0-1) ، تنخفض Q بعد حدوث تأخير الانتشار. وبالتالي ، فإن المزلاج D يخزن فقط إدخالًا أحاديًا (D = 1) لفترة زمنية تساوي فترة الساعة. يمكن التحقق من ذلك من خلال فحص مخطط التوقيت في الشكل 1.29.

      1.4.7.4. فليب فلوب D. من أجل جعل مزلاج D يخزن قيمة طوال الحالة العالية للساعة ، من الضروري إنشاء دائرة أكثر تعقيدًا باستخدام مزلاج D ، والذي نسميه D flip-flop. تمت تسمية flip-flop بهذا الاسم لأنه يمكن تبديله ذهابًا وإيابًا بين حالتين (Q = 0 و Q = 1) عن طريق تغيير D. يتكون D flip-flop من مزلاج D وعاكس ، كما هو موضح في الشكل 1.30

      الشكل 1.30. التقليب D مع مخطط التوقيت ، مقتبس من [Maf01].

      في الشكل 1.30 ، يتميز D flip-flop بسلوك التوقيت التالي (يتم تحديده من إشارات D و C و Q أسفل دائرة المزلاج). عندما ترتفع D (انتقال 0-1) ، لا يحدث شيء للمزلاج حتى يرتفع C. (إذا كانت D منخفضة بحلول الوقت الذي ترتفع فيه C ، فإن المزلاج لا يتغير حالته.) عند الحافة الخلفية لنبض الساعة (الانتقال من 1 إلى 0) ، يرتفع Q إذا كان منخفضًا في السابق. إذا كانت Q عالية سابقًا ، فلن يحدث شيء لـ Q. عندما تنخفض D ، لا يحدث شيء لـ Q حتى تنخفض نبضات الساعة. ثم بعد تأخير الانتشار ، تنخفض Q.

      هناك فترتان زمنيتان حرجتان مرتبطتان بـ D flip-flop. وقت الإعداد هو الوقت المطلوب للحفاظ على ارتفاع D ، من أجل انتظار الحافة الخلفية لنبض الساعة. وقت الانتظار هو الوقت المطلوب للضغط على D مرتفعًا بعد الإعداد ، لضمان بقاء Q مرتفعًا.

      التمرين الذاتي. (1) قم باشتقاق جدول الحقيقة لكل حالة من حالات الإدخال الأربعة لـ D flip-flop كما هو موضح في الشكل 1.30. تلميح: يتم تحديد حالات الإدخال بواسطة قيم D و C (على سبيل المثال ، الحالة 0: D = 0 ، C = 0-> 0 الحالة 2: D = 0 ، C = 0 -> 1 إلخ.)

      1.5 تقييم أداء الحاسوب

      عندما نتحدث عن أداء الكمبيوتر ، نحتاج إلى النظر في المشكلات التالية:

      طريقة تقييم الأداء - بأي مقاييس سيتم تقييم الأداء؟ هل سيكون التقييم محليًا بالنسبة لجزء معين من أجهزة الكمبيوتر ، أم عالميًا (على سبيل المثال ، عبر جميع وحدات الأجهزة والبرامج)؟ ماذا سيكون مزيج التعليمات؟

      حدود التقييم - ما هي أوجه القصور في كل طريقة أو مقياس لتقييم الأداء؟ من أين تنشأ هذه القيود ، ولماذا؟ ما الذي يمكن عمله لتحسين هذه القيود؟

      المقاييس - ما هي المقاييس الرسمية التي يجب استخدامها لتقييم الأداء؟ سرعة؟ الوقت المستخدم في الحساب؟ مساحة الذاكرة المطلوبة؟

      معادلة أداء المعالج - كيف سيتم وصف أداء المعالج رياضيًا؟ هل تصور المعادلة المعلمات الفعلية ذات الأهمية العملية ، أم أن النموذج الحسابي الموصوف بواسطة المعادلة لا يتطابق مع بنية المعالجة قيد الاختبار؟

      تقارير تقييم الأداء - ما هي طرق التحليل والعرض المستخدمة لتقييم البيانات؟ هل تم تسوية البيانات إلى نتيجة أو معلمة معيارية معينة؟ هل التطبيع يتم بطريقة جسدية ذات مغزى؟

      ندرس كل من هذه القضايا ، على النحو التالي.

      1.5.1. تقييم الأداء

      يعتمد تقييم أداء الكمبيوتر بشكل أساسي على الإنتاجية ووقت الاستجابة. الإنتاجية هي عدد بتات البيانات التي تتم معالجتها ، أو عدد العمليات التي يتم إجراؤها ، في فترة زمنية معينة. على سبيل المثال ، نقول أن المعالج لديه سرعة نقل تبلغ N ميغا بايت / ثانية (ميغا بايت في الثانية). فيما يتعلق بوقت تنفيذ البرنامج على المعالج X ، نقول ذلك

      الأداء X = 1 / وقت التنفيذ X

      وللمعالجين X و Y ،

      الأداء النسبي = الأداء X / الأداء ص

      على سبيل المثال ، في المعادلة السابقة ، إذا كان المعالج X أسرع من المعالج Y ، فإن وقت التنفيذ X & lt وقت التنفيذ Y (جميع الأشياء الأخرى متساوية) ، لذا فإن الأداء النسبي & lt 1. وهذا يعني أيضًا زيادة إنتاجية X فيما يتعلق بـ Y .

      المفهوم الرئيسي. نتيجة لذلك ، نريد تحسين الأداء من خلال زيادة الأداء ، مما يعني تقليل وقت التنفيذ. في الممارسة العملية ، يمكن القيام بذلك عن طريق (أ) تقليل وقت الاستجابة ، أو (ب) إضافة المزيد من المعالجات إلى النظام (بشرط أن تتم إدارة الإدخال / الإخراج بكفاءة).

      1.5.2. قياس الأداء

      يحتوي البرنامج الذي يتم تنفيذه أو تم تنفيذه على المكونات التالية:

      Wall-Clock Time - الوقت الذي يستغرقه تنفيذ برنامجك (عادةً ، بالثواني) ، من وقت استدعائه إلى وقت اكتماله. يتم قياس هذا الوقت وفقًا لمعيار التوقيت العالمي ، لذلك نسميه وفقًا لكائن مشترك مثل ساعة الحائط. وهذا ما يسمى أيضًا بالوقت المنقضي.

      وقت وحدة المعالجة المركزية - يتكون من وقت وحدة المعالجة المركزية للمستخدم (الوقت المستغرق في حساب البرنامج) ، ووقت وحدة المعالجة المركزية للنظام (الوقت الذي يقضيه نظام التشغيل في دعم البرنامج).

      I / O Time - الوقت الذي تقضيه في قراءة البيانات وكتابتها من / إلى الذاكرة.

      يمكننا قياس وقت تنفيذ البرنامج باستخدام أمر UNIX time. على سبيل المثال ، دعنا ندخل وقت أمر UNIX du في الدليل الجذر للفرد (والذي يمكن الوصول إليه عبر الأمر cd. عندما جربت هذا على شجرة الدليل (الكبيرة) ، حصلت على النتيجة التالية:

      هذه الأرقام الأربعة لها المعنى التالي:

      وقت وحدة المعالجة المركزية للمستخدم = 0.21 ثانية ، الرقم الأول (0.21u).

      وقت وحدة المعالجة المركزية للنظام = 1.54 ثانية ، الرقم الثاني (1.54 ثانية).

      الوقت المنقضي = 24.49 ثانية ، الرقم الثالث (0: 24.49).

      لاحظ أن النسبة المئوية لنشاط وحدة المعالجة المركزية يتم حسابها على النحو التالي:

        الخطوة 1. أضف أوقات وحدة المعالجة المركزية للمستخدم والنظام للحصول على إجمالي وقت وحدة المعالجة المركزية (على سبيل المثال ، 1.75 ثانية = 0.21 ثانية + 1.54 ثانية).

      الخطوة 2. قسّم إجمالي وقت وحدة المعالجة المركزية على الوقت المنقضي (على سبيل المثال ، 0.071 = 1.75 ثانية / 24.49 ثانية).

      يتم حساب الوقت الآخر على النحو التالي:

        الخطوة 1. أضف أوقات وحدة المعالجة المركزية للمستخدم والنظام للحصول على إجمالي وقت وحدة المعالجة المركزية (على سبيل المثال ، 1.75 ثانية = 0.21 ثانية + 1.54 ثانية).

      بالنظر إلى طريقة قياس الوقت ، وحساب أوقات مختلفة (على سبيل المثال ، CPU ، أخرى) من مقاييس الوقت هذه ، يمكننا الآن مناقشة نموذج بسيط للحساب لقياس أداء وحدة المعالجة المركزية.

      1.5.3. معادلة أداء وحدة المعالجة المركزية

      من أجل قياس أداء وحدة المعالجة المركزية بطريقة واقعية ماديًا ، نحتاج إلى نموذج حسابي. في أبسط الحالات ، نبدأ بعدد دورات وحدة المعالجة المركزية ، المحددة على النحو التالي:

      حيث تشير IC إلى عدد التعليمات (عدد التعليمات لكل برنامج) ، وتشير CPI إلى متوسط ​​الدورات لكل تعليمة.

      بالنظر إلى وقت دورة وحدة المعالجة المركزية t cyc أو معدل الساعة BW clk ، يمكننا التعبير عن وقت وحدة المعالجة المركزية على النحو التالي:

      يعبر باترسون وهينيسي [Pat98] عن هذا على النحو التالي

      بالوحدات المحددة لكل متغير.

      إذا كانت هناك أنواع أو فئات مختلفة من التعليمات في برنامج معين ، فإن المعادلة السابقة لـ N cyc ليست تقديرًا دقيقًا ، لأن CPI يمكن أن يتأثر بمزيج التعليمات (nimber من كل نوع من التعليمات التي تحدث في البرنامج) . وبالتالي ، فإننا نستخدم المعادلة التالية لتحديد عدد الدورات التي يتم تكبدها عند تنفيذ البرنامج بدقة أكبر:

      حيث نفترض أن هناك فئات من التعليمات. يتم الحصول على التوزيع التكراري للتعليمات ، والذي يتكون من (IC 1 ، IC 2 ،. IC n) ، من خلال تقنية تسمى التنميط التنفيذي ، والتي تدعمها مجموعة متنوعة من أدوات البرمجيات التجارية. يتم تحديد عدد الدورات لكل نوع من التعليمات من تحليل تصميم معالج معين ، والتحقق من صحته من خلال قياس الأداء.

      مثال 1. لتوضيح الفائدة العملية لهذه القياسات ، دعنا نفترض أن أحد البرامج يعمل في 10 ثوانٍ على معالج بمعدل ساعة 400 ميجاهرتز. نريد بناء جهاز كمبيوتر جديد يمكنه تشغيل البرنامج في 6 ثوانٍ عن طريق زيادة تردد الساعة إلى X MHz. والنتيجة المؤسفة هي أن متوسط ​​CPI سيكون 1.2 مرة أعلى في المعالج الجديد. إليك كيفية تعيين المشكلة لتحديد معدل الساعة الجديد X:

      ينتج عن حل المعادلة X = 800 MHz. وبالتالي ، نرى أن مضاعفة معدل الساعة لا يضاعف بالضرورة سرعة المعالج ، لأن هناك متغيرات أخرى (مثل CPI أو مزيج التعليمات) يمكن أن تتأثر ، كما هو موضح أدناه.

      مثال 2. الآن سننظر في تأثير مزيج التعليمات. افترض أن البيانات التالية صحيحة:

      س: ما هو تسلسل الكود الذي سيكون أسرع - رقم 1 أم رقم 2؟

      ج: التسلسل الذي يتضمن أقل عدد من الدورات يكون أسرع. باستخدام المعادلة السابقة لـ N cyc ، نرى أن عدد الدورات لتسلسل الكود 1 و 2 مُعطى بواسطة:

      N cyc (Seq.1) = (2 & # 183 1) + (1 & # 183 2) + (2 & # 183 3) = 10 دورات
      N cyc (Seq.2) = (4 & # 183 1) + (1 & # 183 2) + (1 & # 183 3) = 9 دورات.

      وبالتالي ، فإن تسلسل الكود رقم 2 أسرع ، لأنه يتطلب 9 دورات ، مقابل 10 دورات لتسلسل الكود رقم 1.

      1.5.4. تقييم الأداء

      في الوضع المثالي ، يكون لدى المرء مجموعة من البرامج التي يُعرف مزيج تعليماتها تمامًا. من خلال تشغيل كل برنامج على معالج ليتم تحليله ، من الممكن تحديد CPI لكل نوع من التعليمات. ومع ذلك ، نادرًا ما تكون الحياة مثالية. وبالتالي ، لدينا الأنواع التالية من برامج قياس الأداء لقياس أداء المعالج وربطه:

      تُستخدم المعايير الاصطناعية لقياس الخصائص المحددة للمعالج بدقة (على سبيل المثال ، أداء الذاكرة I / O ، التسجيل للتسجيل I / O ، سرعة الوظائف الحسابية ، إلخ.) نظرًا لأن برنامج قياس الأداء اصطناعي ، يمكن للمرء وضع أي مجموعة من التعليمات فيه ، والمعيار ليس بالضرورة واقعيًا.

      تعد Toy Benchmarks برامج بسيطة ولكنها واقعية إلى حد ما تساعد المصمم في الحصول على فكرة أولية عن كيفية تصرف المعالج في ظل قيود شبه واقعية. قد تتضمن هذه المهام مثل حل معادلة مصفوفة بسيطة ، وإجراء عملية معالجة صور شبه تافهة ، وما إلى ذلك.

      النواة هي برامج أكثر تفاعلاً تلتقط وظائف برنامج أكبر. على سبيل المثال ، يمكن للمرء استخدام نظام التشغيل kernal للحصول على فكرة عن أداء نظام التشغيل على معالج معين ، بشرط أن يتم تنفيذ kernal بشكل كبير في الممارسة العملية أكثر من البرامج الأخرى في نظام التشغيل.

      من الناحية العملية ، تشمل المعايير الواقعية التطبيقات الهندسية أو العلمية وأدوات تطوير البرامج ومعالجة المعاملات والتطبيقات المكتبية مثل جداول البيانات الكبيرة أو تنسيق مستندات معالجة الكلمات.

      1.5.5. تقرير اداء

      بعد قياس أداء معالج معين ، يقوم المرء بصياغة تقرير اختبار. من أجل جعل تقريرنا دقيقًا وذو مغزى لمصمم الأجهزة ، يجب أن يكون لدينا ثلاثة عناصر على الأقل في التقرير:

      يخبر تكوين الأجهزة / البرامج المصمم ببرامج قياس الأداء التي تم تشغيلها على المعالج قيد الاختبار ، وكيف تم إعداد المعالج (على سبيل المثال ، مقدار الذاكرة ، ومعدل الساعة ، وإصدار المترجم ، وما إلى ذلك)

      توفر شروط عملية التقييم معلومات حول القيود الخاصة على مزيج التعليمات التي يمكن أن تؤثر على استنساخ قياس الأداء.

      على سبيل المثال ، ضع في اعتبارك الأنواع التالية من الوسائل:

      لا يمكن فهم النتائج الطبيعية بسهولة أو مقارنتها بدقة مع المتوسط ​​الحسابي ، لأن متوسط ​​النسب بين سلسلتين من القياسات لا يتطابق مع نسبة متوسطات السلسلة. بدلاً من ذلك ، يجب دمج النتائج الطبيعية مع الوسط الهندسي المستقل عن سلسلة البيانات المستخدمة للتطبيع. وذلك لأن نسبة المتوسطات الهندسية لسلسلتين هي نفسها متوسط ​​النسب بين السلاسل.

      أي ، بالنظر إلى سلسلتين من البيانات و ، حيث i = 1..n ، إذا تم استخدام الوسط الحسابي ، إذن

      بينما ، مع الوسط الهندسي:

      هنا ، البناء يعني قسمة العنصر i من A على العنصر i من B. على سبيل المثال ، إذا = <2،4،6> و = <2،2،3> ، إذن = <2/2, 4/2, 6/3>= <1,2,2>.

      مثال. الآثار العملية لهذه المشكلة موضحة في الجدول التالي:

      هنا ، تعني "التسوية إلى أ" أن البيانات الخاصة بالمعالجات A و B و C مقسمة على بيانات A. في المجموعة الأولى ، يتم تطبيع كل من البرامج P1 و P2 إلى A ، وبالتالي ، الوسيلة الحسابية والهندسية لـ A كلاهما 1.0 (متوسط ​​1.0 و 1.0 هو 1.0). ومع ذلك ، فإن المتوسط ​​الحسابي لـ B هو 5.05 = (10.0 + 0.1) / 2 ، بينما المتوسط ​​الهندسي لـ B هو 1.0 ، بسبب خاصية التسوية المذكورة سابقًا. يتم أيضًا تسوية إجمالي وقت التنفيذ في المجموعة الأولى ، إلى قيمة A ، وهي 1001 = 1000 + 1. وبالتالي ، فإن إجمالي الوقت لـ B = 0.10989 = (100 + 10) / 1001 ، وهو ما يقرب من 0.11.

      التمرين الذاتي. (1) قم باشتقاق كافة المدخلات في الجدول السابق. كن قادرًا على شرح كيفية حساب كل منها. (من المحتمل أن تكون مشكلة مثل هذه عبارة عن سؤال اختبار.)

      1.5.6 الآثار المترتبة على قانون أمدال

      في الستينيات ، اشتق جين أمدال معادلة تعبر عن تناقص العوائد التي يحصل عليها المرء عند محاولة تحسين برنامج كمبيوتر. تم تكييف معادلته بواسطة باترسون وهينيسي ، على النحو التالي:

      هذا يعني أنه كلما قمت بتحسين أداء جزء صغير من برنامج أو معالج ، يصبح الجزء المتبقي (غير المعزز) (1 - f) أصغر تدريجيًا. من أجل الحفاظ على ثبات التسريع S لكل تحسين ، يجب عليك تحسين أداء الجزء المتبقي (1 - f) للحصول على تسريع أكبر بكثير من S.

      مثال. لنفترض أن أحد البرامج يستغرق 10 ثوانٍ لتنفيذه على المعالج P. بعد تحسين وحدة النقطة العائمة (FP) لتصبح أسرع بخمس مرات ، ثم إعادة تثبيتها في P ، يتم رسم السرعة الفعالة في الشكل 1.31 أ. هنا ، يكون التسريع على الإحداثي (المحور العمودي) ويكون جزء التنفيذ المتأثر بـ FP على الإحداثي. ما هو واضح هو أنه من أجل الحصول على تسريع 2.0 ، يجب استخدام FP الجديد حوالي 0.65 (65 بالمائة) من الوقت. في جميع رموز معالجة الصورة أو الإشارة الأكثر توازناً ، فإن هذا أمر غير محتمل.

      الشكل 1.31. قانون أمدال المطبق على تحسين أداء المعالج ، مقتبس من [Maf01].

      يزداد الوضع سوءًا في الشكل 1.31 ب. هنا ، نرى أنه إذا كانت وحدة FP الجديدة تؤثر فقط على 1/2 من تنفيذ البرنامج ، فسنقترب من تسريع 2.0 بشكل مقارب ، بغض النظر عن مدى تحسن أداء وحدة FP. كما هو الحال في الشكل 1.31 أ ، يتم رسم السرعة على الإحداثي ، مع عامل التحسين لوحدة FP على الإحداثي.

      قانون أمدال له آثار مهمة على تصميم الكمبيوتر العملي. وبالتحديد ، إذا كان جزء من وحدة المعالجة المركزية لا يؤثر على تنفيذ البرنامج كثيرًا ، فلا فائدة من تحسين أدائها بشكل كبير. نتيجة لذلك ، نحاول تحسين أوجه القصور الأكثر شيوعًا أولاً. وهذا ما يسمى تعزيز الحالة العامة وينجح ، للأسباب الموضحة في المثال السابق.

      1.6 قياس الأداء

      كما ناقشنا في القسم 1.5 ، فإن المعيار هو برنامج يُستخدم لقياس أداء نظام الكمبيوتر بطريقة موحدة إلى حد ما. نحن نطمح إلى معايير قياسية بسبب الحاجة إلى الواقعية وقابلية التكرار في اختبار الأداء. في الحالة المثالية ، يمكن للمرء اختبار المعالج باستخدام عينة تمثيلية من عبء العمل الحقيقي. في الممارسة العملية ، يميز المرء أولاً مجموعة العمل من البرامج إحصائيًا (على سبيل المثال ، عدد العمليات لكل نوع) ، ثم يحسب الوقت الذي يتطلبه كل برنامج ، بناءً على مجموع المنتج CPI i & # 183 IC i على جميع أنواع التعليمات.

      نعرض بعد ذلك أنواعًا مختلفة من المعايير وكيف تم استخدامها أو استخدامها في الممارسة العملية.

      1.6.1. معيار Linpack

      يعد معيار Linpack مقياسًا قديمًا وراسخًا لأداء وحدة المعالجة المركزية ووحدة المعالجة المركزية (ALU) الذي يقيس الوقت اللازم لحل نظام كثيف من المعادلات الخطية. في FORTRAN ، يشبه Linpack kernal الحلقة التالية:

      هنا ، يشير الحرف "D" الذي يسبق كل متغير إلى معامل الدقة المزدوجة. نتيجة لذلك ، يتحدى معيار Linpack وحدة ALU ووحدة التحكم بشكل أساسي. ومع ذلك ، يتم أيضًا تحدي I / O ، نظرًا لمتطلبات البيانات الكبيرة المرتبطة بالمتجهات DX و DY.

      يحتوي Linpack على التدابير التالية (تسمى أيضًا المقاييس):

        R الذروة - ذروة أداء النظام ، في Gflops

      يمكنك قراءة المزيد حول معيار Linpack على http://www.top500.org/.

      1.6.2. Intel's iCOMP Index 3.0

      مؤشر iCOMP هو متوسط ​​هندسي لمقاييس الأداء النسبية (تذكر من القسم 1.5 كيف تعمل الوسائل الهندسية بشكل جيد مع المقاييس القائمة على النسبة [وتسمى أيضًا كميات قياس النسب]). يحتوي المعيار على مزيج من التعليمات التي من المفترض أن تميز البرامج الحالية والناشئة. يبدو أن معيار iCOMP أكثر ملاءمة مع زيادة استخدام الرسومات ثلاثية الأبعاد والوسائط المتعددة والوصول إلى الإنترنت.

      يحتوي iCOMP 3.0 على التركيبة التالية ، مع تحديد الترجيح بالنسبة المئوية:

        رقم 1،2: الوسائط المتعددة وتطبيقات الإنترنت (25٪)

      يتم الجمع بين النتائج المرجعية الستة السابقة على النحو التالي. دع النسبة BM i / Base_BM i تشير إلى أداء المعيار i-th ، حيث يشير BM إلى أداء الاختبار على معالج اختبار ، ويشير Base_BM إلى تشغيل المعيار على معالج أساسي ، وفي هذه الحالة ، تم تسجيل Pentium II عند 350 ميجا هرتز. يتم حساب معيار iCOMP على النحو التالي:

      حيث تشير P i إلى الأس الموزون الذي يتضمن القوة 1/6 (الجذر) التي تشتمل على العملية الخارجية للمتوسط ​​الهندسي. وبالتالي ، فإن مؤشر iCOMP هو متوسط ​​هندسي مرجح لنسب الأداء الخاصة بالتطبيق.

      1.6.3. معايير SPEC2000

      يتم ترقية معايير شركة تقييم أداء النظام (SPEC) كل 2-3 سنوات ، لمراعاة خصائص البرامج مع تطور تصميمات البرامج. على سبيل المثال ، يميز البرنامج الأحدث وقت التشغيل الأطول والمشكلات الأكبر والتنوع الأكبر في التطبيقات. يحتوي معيار SPEC2000 على مقاييس أساسية ومحسّنة ، تتألف من المتوسط ​​الهندسي لأوقات التنفيذ الطبيعية. الجهاز المرجعي لـ SPEC2000 هو Sun Ultra5_10 (هندسة SPARC 300 ميجا هرتز مع ذاكرة 256 ميجا بايت).

      تتكون مجموعة SPEC2000 الحالية من 12 عددًا صحيحًا و 14 برنامجًا للفاصلة العائمة (FP) ، والتي تقيس وقت الاستجابة والإنتاجية:


      لغة البرمجة C

      لغة C هي لغة برمجة إجرائية. تم تطويره في البداية بواسطة Dennis Ritchie كلغة برمجة نظام لكتابة نظام التشغيل. تشمل الميزات الرئيسية للغة C الوصول المنخفض المستوى إلى الذاكرة ومجموعة بسيطة من الكلمات الرئيسية والأسلوب النظيف ، وهذه الميزات تجعل لغة C مناسبة لبرمجة النظام مثل نظام التشغيل أو تطوير المترجم.

      إعلان المتغير والتعريف والنطاق:

      فئات التخزين:

      الإدخال / الإخراج:

      المعالج:

      المصفوفات والسلاسل:

      بيانات الرقابة:

      Enum، Struct and Union:

      إدارة الذاكرة:

      التعامل مع الملف:

      أسئلة المقابلة اللغوية

      دورات Geeksforgeeks:

      1. دورات تأسيس اللغة [C ++ / JAVA / Python]
      تعلم أي لغة برمجة من البداية وافهم جميع مفاهيمها الأساسية للحصول على أساس برمجة قوي بأسهل طريقة ممكنة بمساعدة الدورات التأسيسية للغة GeeksforGeeks & # 8211 Java Foundation | مؤسسة بايثون | مؤسسة C ++

      2. دروس المهوسون لايف
      احصل على فصول مباشرة عبر الإنترنت تتمحور حول المقابلات حول بنية البيانات والخوارزميات من أي موقع جغرافي لتعلم وإتقان مفاهيم DSA لتعزيز مهاراتك في حل المشكلات والبرمجة ولإجراء مقابلة مع أي شركة قائمة على المنتج & # 8211 Geeks Classes: Live Session

      3. التحضير الكامل للمقابلة
      احصل على جميع احتياجات التحضير للمقابلة في مكان واحد مع دورة كاملة في التحضير للمقابلة يوفر لك جميع العناصر المطلوبة للتحضير لأي شركة قائمة على المنتج أو الخدمة أو شركة ناشئة وبأسعار معقولة.

      4. DSA الذاتي
      ابدأ في تعلم هياكل البيانات والخوارزميات للتحضير للمقابلات مع كبار عمالقة تكنولوجيا المعلومات مثل Microsoft و Amazon و Adobe وما إلى ذلك باستخدام دورة DSA الذاتية حيث ستتعلم وتتقن DSA من المستوى الأساسي إلى المستوى المتقدم وهذا أيضًا وفقًا لسرعتك الخاصة وراحتك.

      5. دورات خاصة بالشركة & # 8211 أمازون ، مايكروسوفت ، TCS & Wipro
      كسر مقابلة أي شركة عملاقة قائمة على المنتج من خلال التحضير بشكل خاص للأسئلة التي تطرحها هذه الشركات عادةً في جولة مقابلة الترميز الخاصة بهم. راجع الدورات التدريبية الخاصة بشركة GeeksforGeeks: سلسلة اختبار Amazon SDE ، إلخ.


      نظرة عامة على الإجراءات والوظائف والحزم

      يوفر Oracle Database XE القدرة على تخزين البرامج في قاعدة البيانات. تتيح هذه الوظيفة كتابة التعليمات البرمجية المطلوبة واختبارها مرة واحدة ثم الوصول إليها من قبل أي تطبيق يتطلب الرمز. تضمن وحدات البرامج المقيمة في قاعدة البيانات أيضًا تطبيق نفس المعالجة على البيانات عند استدعاء الرمز ، مما يجعل تطوير التطبيقات أسهل ويوفر الاتساق بين المطورين.

      يمكنك كتابة برامج مقيمة في قاعدة البيانات في PL / SQL ، ويمكنك استخدام Object Browser لإدارة أنواع المصادر مثل الإجراءات والوظائف والحزم. تتضمن الإجراءات إنشاء وترجمة وإنشاء مرادفات ومنح الامتيازات في وإظهار التبعيات لأنواع المصادر هذه.

      يصف هذا الفصل الأنواع الرئيسية لوحدات البرنامج التي يمكنك إنشاؤها باستخدام PL / SQL: الإجراءات والوظائف والحزم. يتم حفظ الإجراءات والوظائف والحزم وتخزينها في قاعدة البيانات ، ويمكن استخدامها كأجزاء أساسية للتطبيقات.

      للحصول على معلومات حول ميزات لغة PL / SQL ، راجع الفصل 4 ، "استخدام PL / SQL".

      يحتوي هذا القسم على المواضيع التالية:

      الإجراءات والوظائف المخزنة

      يمكن تجميع الإجراءات والوظائف المخزنة (البرامج الفرعية) وتخزينها في Oracle Database XE ، لتكون جاهزة للتنفيذ.بمجرد تجميعه ، يصبح كائن مخطط يعرف باسم الإجراء المخزن أو الوظيفة المخزنة ، والتي يمكن الرجوع إليها أو تسميتها بأي عدد من المرات بواسطة تطبيقات متعددة متصلة بـ Oracle Database XE. يمكن لكل من الإجراءات والوظائف المخزنة قبول المعلمات عند تنفيذها (تسمى). لتنفيذ إجراء أو وظيفة مخزنة ، ما عليك سوى تضمين اسم الكائن الخاص به.

      تسمى الإجراءات والوظائف التي تم إنشاؤها خارج الحزمة البرامج الفرعية المخزنة أو المستقلة. تُعرف الإجراءات والوظائف المحددة داخل الحزمة بالبرامج الفرعية المعبأة. تُعرف الإجراءات والوظائف المتداخلة داخل البرامج الفرعية الأخرى أو داخل كتلة PL / SQL بالبرامج الفرعية المحلية ، والتي لا يمكن الرجوع إليها بواسطة التطبيقات الأخرى ولا توجد إلا داخل الكتلة المُضمنة. للحصول على معلومات حول البرامج الفرعية في كتل PL / SQL ، راجع "استخدام إجراءات ووظائف PL / SQL المحلية في كتل PL / SQL".

      الإجراءات والوظائف المخزنة هي مفتاح التعليمات البرمجية PL / SQL المعيارية والقابلة لإعادة الاستخدام. أينما يمكنك استخدام ملف JAR في Java أو وحدة نمطية في Perl أو مكتبة مشتركة في C ++ أو DLL في Visual Basic ، يمكنك استخدام إجراءات PL / SQL المخزنة والوظائف والحزم المخزنة.

      يمكنك استدعاء الإجراءات أو الوظائف المخزنة من مشغل قاعدة بيانات ، أو برنامج فرعي آخر مخزن ، أو بشكل تفاعلي من SQL Command Line (SQL * Plus). يمكنك أيضًا تكوين خادم ويب بحيث يتم إنشاء HTML لصفحة ويب بواسطة برنامج فرعي مخزن ، مما يجعل من السهل توفير واجهة ويب لإدخال البيانات وإنشاء التقارير.

      يتم تخزين الإجراءات والوظائف في شكل مترجم مضغوط. عند استدعائها ، يتم تحميلها ومعالجتها على الفور. تستفيد البرامج الفرعية من الذاكرة المشتركة ، بحيث يتم تحميل نسخة واحدة فقط من البرنامج الفرعي في الذاكرة ليتم تنفيذها بواسطة مستخدمين متعددين.

      Oracle Database Express Edition 2 Day DBA للحصول على معلومات حول إدارة الذاكرة باستخدام Oracle Database XE

      الحزم

      الحزمة هي كائن مخطط يقوم بتجميع أنواع PL / SQL والمتغيرات والبرامج الفرعية ذات الصلة منطقيًا. تتكون الحزم عادةً من جزأين ، أحدهما مواصفات (تسمى المواصفات) ويكون الجسم أحيانًا غير ضروري. المواصفات هي واجهة الحزمة. يصرح عن الأنواع والمتغيرات والثوابت والاستثناءات والمؤشرات والبرامج الفرعية التي يمكن الرجوع إليها من خارج الحزمة. يحدد الجسم الاستعلامات الخاصة بالمؤشرات ورمز البرامج الفرعية.

      يمكنك التفكير في المواصفات كواجهة والجسم كمربع أسود. يمكنك تصحيح أو تحسين أو استبدال جسم الحزمة دون تغيير مواصفات الحزمة.

      المواصفات تحمل الإعلانات العامة ، والتي تكون مرئية للإجراءات المخزنة وغيرها من التعليمات البرمجية خارج الحزمة. يجب أن تعلن عن البرامج الفرعية في نهاية المواصفات.

      يحتوي جسم الحزمة على تفاصيل التنفيذ والإعلانات الخاصة ، والتي تكون مخفية عن الكود خارج الحزمة. يتبع الجزء التصريحي من جسم الحزمة جزء التهيئة الاختياري ، والذي يحتفظ بالتعليمات التي تهيئ متغيرات الحزمة وتقوم بأي خطوات إعداد أخرى لمرة واحدة.

      التطبيقات التي تستدعي البرامج الفرعية في الحزمة تحتاج فقط إلى معرفة الأسماء والمعلمات من مواصفات الحزمة. يمكنك تغيير تفاصيل التنفيذ داخل نص الحزمة دون التأثير على تطبيقات الاتصال.


      5.4: وظائف قابلة للتمثيل وبرامج الكمبيوتر


      سجل مسابقة اليوم الميداني

      حدث 13 مستعمرة، الذي يمتد من 1 يوليو إلى 7 يوليو ، مدعوم في سجل التيار المتردد (انقر فوق عرض> 13 مستعمرة).

      أهلا بك! شكرا لزيارة موقعنا على برامج راديو الهواة. أصبحت مشغل راديو هاويًا في عام 1976 ، في سن الرابعة عشرة ، وأستمتع بالعديد من جوانب راديو الهواة منذ ذلك الحين. أستمتع بمسابقات العمل ، وإجراء الاتصالات عبر CW والهاتف ، وتجربة الهوائيات والضبط العام حول العصابات. XYL الجميل ، Kimberly ، KA3SEQ ، هو شريكي في جميع المسابقات والبرامج. نشارك أيضًا هواية راديو الهواة مع ابنينا كريستوفر KB3KCN وبرادلي KB3MNE.

      كامتداد لهواية هواة راديو الهواة ، أصبحت مهتمًا ببرمجة الكمبيوتر. كنت أرغب في إنشاء برنامج سهل الاستخدام لمحطتي والذي يؤدي مجموعة متنوعة من الوظائف للمنافسة والتسجيل العام. بدأت في عام 1997 ببرنامج لتسجيل جهات الاتصال خلال مسابقة يانصيب لشهر نوفمبر وشاركته مع هامس محليين. كان البرنامج محبوبًا جدًا ، وبدأت في تلقي طلبات للحصول على برامج إضافية.

      من هذا البرنامج الأول ، نمت مكتبة البرامج لدينا إلى أكثر من 100 تطبيق! سجل هواة الاتصال هو برنامج تسجيل عام سهل الاستخدام يحتوي على العديد من الميزات الرائعة بما في ذلك تتبع جميع الولايات والمقاطعات والبلدان. باقي برامجنا هي تطبيقات سهلة الاستخدام "خاصة بالمسابقة". يمكنك أن ترى ما وصلنا إليه مؤخرًا في صفحة الأخبار والإعلانات الأخيرة.

      نحن سعداء بالاستجابة الإيجابية التي تلقيناها ولا يمكننا أن نشكركم جميعًا بما يكفي على أفكاركم وكلماتكم الرقيقة وتشجيعكم.

      جميع برامجنا مجانية للتجربة وتعمل بكامل طاقتها! الرجاء النقر فوق الروابط أعلاه لتصفح مكتبة البرامج الخاصة بنا ، وتجربة برامجنا ، ووضعها في خطواتها ومعرفة رأيك. نأمل أن تستمتع بهذه البرامج ، وإذا وجدتها مفيدة ، فيرجى إخبار صديق!

      73 ، سكوت وكيمبرلي
      N3FJP و KA3SEQ

      خدمة مجتمع راديو الهواة من خلال المسابقة وبرامج التسجيل العامة منذ عام 1997.

      1 بطرس 3 مقابل 15: كن مستعدًا دائمًا لإعطاء إجابة لكل من يطلب منك إعطاء سبب الأمل الذي لديك. لكن قم بهذا مع الكثير من الرقة و الإحترام.


      يدعم C ++ البرمجة الشيئية ، بما في ذلك الركائز الأربع التالية للتطوير الكينوني:

      هنا برنامج بسيط بلغة C ++

      عندما يتم ترجمة وتنفيذ برنامج C ++ أعلاه ، فإنه سينتج المخرجات التالية:

      لنلقِ نظرة على برنامج مثال آخر لـ C ++.

      هنا هو نموذج تشغيل هذا البرنامج C ++.

      سوف تتعلم كل شيء عن برمجة C ++ ، واحدًا تلو الآخر ، في سلسلة البرامج التعليمية هذه.


      ميزات CICS هي كما يلي & ناقص

      CICS هو نظام تشغيل في حد ذاته ، حيث يدير تخزين المعالج الخاص به ، ولديه مدير مهام خاص به يتعامل مع تنفيذ برامج متعددة ، ويوفر وظائف إدارة الملفات الخاصة به.

      يوفر CICS بيئة عبر الإنترنت في نظام تشغيل دفعي. يتم تنفيذ المهام المقدمة على الفور.

      CICS هي واجهة معالجة معاملات عامة.

      من الممكن أن يكون لديك منطقتان أو أكثر من مناطق CICS في نفس الوقت ، حيث تعمل CICS كوظيفة مجمعة في نظام التشغيل في النهاية الخلفية.