هيكلية البيانات
هيكلية البيانات كامل😏 Data structure
الحاسوب هو قلب العمليات الحسابية💻❤️👍
من غير الحاسوب!
لكانت غالبية تخصصات الحواسيب اليوم مجرد فرع آخر من علوم الرياضيات النظرية
حتى تكون محترفا!
عليك أن تتوقف عن النظر إلى الحاسوب بالطريقة التقليدية؛ أنه صندوق أسود ينفذ البرامج بطريقة سحرية!!!
في الحوسبة:
- على كل المتعلمين أن يمتلكوا بعضا من الفهم والتقدير لأنظمة الحاسوب ومكوناتها الوظيفية وخصائصها وأدائها وتفاعلها فيما بينها.
- يحتاج المتعلمون لفهم تركيب الحاسوب بترتيبه ليكونوا قادرين على بناء برنامج يعمل بفعالية أكثر عند تشغيله على الحاسوب بشكل فعلي.
- عند اختيار نظام لاستخدامه، على المتعلمين امتلاك القدرة على فهم الفروقات بين المكونات المختلفة مثل سرعة الساعة لوحدة المعالجة المركزية وحجم الذاكرة.
تكنولوجيا أشباه الموصلات
الترانزستور.
- يستخدم لتنفيذ بعض العمليات المنطقية.
مجموعة ترانزستورات - والتي تمثل عملية منطقية ما- تسمى بوابة.
البوابة: تمثل منطقا أوليا مثل (بوابة AND, بوابة OR).
- باستخدام البوابات المنطقية، نستطيع تنفيذ ملايين العمليات المنطقية التي يسعنا التفكير بها.
ترانزستورات أكثر + تقنية تنفيذ عمليات أفضل = عمليات معالجة أسرع
قانون مور (Moore's law)
1965
جوردن مور
مؤسس شركة intel
ينص قانون مور على أن عدد الترانزستورات لكل إنش مربع على الدارة المدمجة (integrated circuit-IC-) قد تضاعف في كل عام منذ اختراع هذه الشريحة. وتوقع مور استمرار تضاعف عددها في المستقبللكن عملية التضاعف قد تباطأت قليلا.
والسبب أن كثافة الترانزستور تتضاعف كل 18 شهرا، أي كل عام ونصف وبدأت تصبح أصغر حجما وبالتالي بدأت تصل لمرحلة من الثبات في الكثافة والحجم لانه لم يعد هناك إمكانية لجعلها اصغر حجما وبذات مقدار الكثافة او اعلى قليلا.ولهذا بدأ التضاعف الذي تحدث عنه مور يقل ويصل قليلا لمرحلة الثبات.
ترتبط التطورات في مجال الإلكترونيات الرقمية ، مثل انخفاض أسعار المعالجات الدقيقة ، وزيادة سعة الذاكرة (ذاكرة الوصول العشوائي والفلاش) ، وتحسين المستشعرات ، وحتى عدد وحجم البكسل في الكاميرات الرقمية ، بقوة بقانون مور. هذه التغييرات البسيطة في الالكترونيات الرقمية كانت القوة الدافعة لاحداث التغيير الاجتماعي والتقني وتحسين الانتاج ونمو الاقتصاد.
هناك اختلاف في الآراء بين الخبراء. ولكن أغلبهم يتوقع استمرارية صحة قانون مور لعقد أو عقدين آخرين من الزمان.
تطور الحاسوب
كان قانون مور الأساس في التقدم في تكنولوجيا الحاسوب!
جعلت الحواسب من الخيال حقيقة!
ودخلت في صناعات كثيرة منها:
- صناعة المركبات
- صناعة الهواتف
- مشروع الجينوم البشري (Human Genome Project)
- الشبكة العالمية الموسعة (WWW-World Wide Web-)
- محركات البحث(جوجل، فايرفوكس، سفاري، دك دك جو، انترنت اكسبلورر، ...الخ)
"أجهزة الحاسوب اليوم منتشرة بشكل واسع جدا"
تصنيفات الحواسيب
هناك 3 تصنيفات أساسية للحواسيب:
DESKTOP COMPUTERS
الحواسيب المكتبية
- ذات استخدام عام
- حزمة متنوعة من البرمجيات
- أداء جيد
- مناسب لمستخدم واحد وبكلفة منخفضة
SERVER COMPUTERS
حواسيب الخوادم
- مبنية على أساس الشبكات سواء محلية أو عبر الانترنت
- سعتها عالية
- أداؤها عال
- تتنوع في حجمها من الحجم الصغير وحتى حجم قد يصل ارتفاع بناية
EMBEDDEDCOMPUTERS
الحواسيب المدمجة
- الفئة الأكثر انتشارا
- تتواجد على شكل قطع مخبأة داخل النظام أو الجهاز مثل الثلاجات الالكترونية التي تعمل باللمس، العربات الذكية وغيرها
ما بعد البرنامج
التجريد:
الغوص في العمق أكثر واكتشاف معلومات جديدة
- التجريد يزيل التفاصيل الإضافية التي لا داعي لها ما يساعدنا في تقليل درجة التعقيد والتعامل معها بشكل أفضل
الحواسيب قد تكون مختلفة كثيرا عما نتصوره عندما ننظر إليها من درجة العتاد الصلب (Hardware level)!
في الواقع، القطع الصلبة في الحاسوب تتواصل معا فقط عن طريق إرسال إشارات رقمية لبعضها ذات جهد مرتفع أو منخفض، الجهد المرتفع يعبر عنه بالرقم 1 والجهد المنخفض يعبر عنه بالرقم 0 (High/Low Voltage)
المستوى الأول من التجريد:
المرحلة الأولى عبارة عن عملية تصنيف للإشارات : True/False | 1/0 | High/Low
الاعتقاد السائد هو أن اللغة الحقيقية \الفعلية للحاسوب هي أرقام النظام الثنائي (Binary Numbers)
برمجيات التطبيقات
- تكتب بلغات البرمجة العليا
برمجيات النظام
- تحتاج مترجم: يفسر أوامر لغات البرمجة العليا للغة الآلة التي يفهمها الحاسوب
- نظم التشغيل
- آلية التعامل مع المدخلات والمخرجات
- إدارة الذاكرة والتخزين
- ترتيب المهام والمصادر
العتاد الصلب
- المعالج
- الذاكرة
- متحكمات الادخال والاخراج
مستويات الأوامر البرمجية - الأكواد-
- لغة عليا
- لغة التجميع
- لغة العتاد الصلب-Hardware-
اللغة العليا:
- تتكون من كلام وعمليات حسابية
- تسمح بنقل البيانات وبناء برامج فعالة
لغة التجميع
- تمثيل نصي للأوامر البرمجية وهي أقرب للحاسوب من اللغة العليا
لغة العتاد الصلب
- أرقام ثنائية (bits)
- تعليمات وبيانات مشفرة
محتويات الحاسوب
المحتويات الكلاسيكية الخمسة:
- وحدات الإدخال
- وحدات الإخراج
- الذاكرة
- مسار البيانات
- وحدات التحكم
وحدات الإدخال والإخراج
- أجهزة واجهة المستخدم (شاشة عرض، كيبورد، فأرة، ميكروفون، ...)
- محولات الشبكة -Network Adapters- (للتواصل مع الحواسيب الأخرى)
داخل المعالج (CPU)
- مسارات البيانات: يتم من خلالها تنفيذ العمليات على البيانات
- التحكم: يسلسل مسارات البيانات ويجري العمليات عليها
- الذاكرة المؤقتة (cache memore): ذاكرة SRAM صغيرة وسريعة من أجل الوصول الفوري للبيانات
- SRAM:نوع من شرائح الذاكرة يكون أسرع ويتطلب طاقة أقل من الذاكرة الديناميكية.
الذاكرة
متطايرة (Volatile)
- تضيع البيانات والأوامر التي كانت قد خزنتها عند إيقاف تشغيل الجهاز
- DRAM تستخدمها في العادة الذاكرة الرئيسية
- SRAM ذاكرة ترفق بشريحة (Cache, Register,..)
- DRAM أقل كلفة
- SRAM أكثر سرعة
غير متطايرة (Non-Volatile)
- ROM
- القرص الصلب Hard Disk
- (Floppy Disk, Magnetic Tape, CDROM, USB Memory )
فروقات
SRAM | DRAM | |
---|---|---|
الاستخدام | ذاكرة على الشريحة\ On-Chip Memory | مع الذاكرة الرئيسية |
السرعة | أسرع | أبطأ |
التكلفة | مكلفة أكثر | أقل تكلفة |
الشبكات:
- التواصل
- تشارك المصادر
LAN-Local Area Network-(Ethernet)
WAN-Wide Area Network(Internet)
Wireless Network
التجريد
-ISA-Instruction Set Architecture
بنية حزمة الأوامر
- واجهة بين العتاد الصلب وبرمجيات اللغة الدنيا low level software
- تحتوي كل شىء قد يحتاجه المبرمج لجعل أي برنامج بلغة الآلة أو النظام الثنائي أو جهاز يعمل بشكل صحيح بما فيه أجهزة الأدخال والإخراج
التنفيذ:
حزمة الأوامر
حواسيب مختلفة -> حزم أوامر مختلفة ! ولكنها تشترك في الكثير من الامور!
MIPS IS
Microprocessor without Interlocked Pipelined Stages Insruction Set
- لها حصة كبيرة في سوق المالجات المدمجة (سيسكو، سوني، توشيبا، ...)
تدخل في تطبيقات وصناعات الالكترونيات المختلفة: (أدوات الشبكة، أدوات التخزين، الكاميرات، الطابعات، ..)
ذات استخدام نموذجي في الكثير من ISA's بنيات حزم الأوامر (الشكل التجريدي للحاسوب)
تصنيف الأوامر:
- سيل غير رسمي
- يتم التحميل من الذاكرة
- يتم التخزين في الذاكرة
- عمليات منطقية
- AND-OR-EXOR
- Shift-Negation
- عمليات حسابية
- الجمع -الطرح
- الضرب
- مصدران ووجهة واحدة
- add a,b,c:
- نضع رمز وجهة التخزين أولا
- كل عملية يجب أن تحتوي 3 متغيرات فقط لا أكثر ولا أقل
- عمليات فرعية(سيل التحكم)
First Design Principle
Simplicity favors Regularityالبساطة تفضل الانتظام
الانتظام يسهل ويبسط تنفيذ العمليات
البساطة تعطيني أداء عاليا وبكلفة أقلد
Second Design Principle
smaller=fasterكلما صغر الحجم زادت السرعة
كلما زاد عدد الريجيستيرات زاد الـ clock cycle time وقت اللازم للدورة الواحدة.
لا يستخدم أكثر من 32 ريجيستر على اللوحة. والسبب:
1|تعارض مصالح!
المبرمجين يريدون ريجيسترات أكثر لسرعة أكبر في أداء المهام
المصممون- مصمموا الحاسوب- يريدون الحفاظ على وقت الـ clock cycle قصيرا.
2|زيادة عدد الريجسترات يزيد عدد البتس المحجوزة في الـ instruction format
مثال على الـRegister Operands
C code: f=(g+h)-(i+j)
$S0,.......$S4 جميعا تخزن في f,.....,j
Add $t0, $s1, $s2
Add $t1, $s3, $s4
Sub $s0, $t0, $t1
Memory Operands
تعليمات العمليات الحسابية\ المنطقية يجب أن تصدر من الريجيستيرات
انتبه! الحواسيب تملك عدد محدود من الريجيستيرات
البرامج النموذجية تستخدم متغيرات تفوق عدد الريجيستيرات
مثلا المصفوفات الطويلة تخزت في الذاكرة وليس في الريجيستيرات
ومنه، تعليمات نقل البيانات بين الذاكرة والريجيستيرات ضرورية(نحتاج إلى تعليمات لنقل البيانات)
لتطبيق العمليات الحسابية:
تحميل القيم من الذاكرة إلى الريجيستيرات (MIPS Instructions اللازمة لتحميل LW- word -)
تخزين ناتج الريجيستر في الذاكرة (MIPS Instructions اللازمة لتخزين SW- word -)
الذاكرة معنونة بوحدات البايت -byte addressed-
كل عنوان له بايت / 8بت
الـ words تُصفّ في الذاكرة
العنوان يجب أن يكون من مضاعفات الـ 4.
Memory Organization
تنظيم الذاكرة
- عنوان المصفوفة هو مؤشر بداية المصفوفة \ index
- الـ index يعنون بايت واحد من الذاكرة
تعليقات
إرسال تعليق
اترك تعليقا