مقــدمـــة :
الكثير
من المبرمجين المبتدئين الذين يودون تعلم لغة الاسمبلي أو حتى اساسيات الهندسة
العكسية يعانون من هذه العقبة الكبيرة فأنظمة العد الغير إنسانية ( أنظمة الحاسب الآلي ) كنظام العد الثنائي
والست عشري تختلف كلياً عن نظام العد العشري ولدراسة أي من مبادئ البرمجة بلغة
المجمع ( الاسمبلي ) أو حتى علوم الهندسة العكسية لابد لك من أن تتعلم أساسيات نظم
العد وسوف نقوم بدراسة موجزة عن أنظمة العد وطرق التحويل فيما بينها وللعلم فإن أي
استخدام لحاسبة برمجية سيفي بالغرض ولا حاجة لأن نطيل البحث في موضع العمليات
الرياضية لكل نوع من أنظمة العد وسنكتفي بالشرح ومن ثم طرق التحويل فيما بينها
قبل
الدخول في موضوع أنظمة العد لابد لنا من معرفة وحــدات التخــزين في الحاســب الآلــي
لأنها مهمة لنا في هذا البحث
وحدات
التخزين للحاسب الآلي :
إن
الوسائط المتعددة المرتبطة بالحاسب الآلي تمتلك مجموعة من وحدات التخزين بمختلف
أشكالها ( الذاكرة – القرص الصلب – مسجلات المعالج – القرص المرن – القرص الليزري –
الذاكرة المخبئة داخل وحدات المعالجة ) والكثير من الوسائط الأخرى التي لا يسعنا
ذكرها جميعاً وطبعاً وحدات التشغيل هذه تمتلك نظام مساحة تخزين عالمي يبدأ من أصغر
جزء ويسمى Bite
ويمثل رقم واحد واحتمالين إما واحد أو صفر مروراً بالبايت Byte والكلمة Word وصولاً إلى أحجام ضخمة جداً ولا زالت هذه الوحدات في تزايد وطبعاً
فإن ما يهمنا الآن هي الاحجام الصغيرة من وحدات التخزين هذه كونها متداخلة في علوم
الهندسة العكسية أو لغة الاسمبلي فالأحجام الكبيرة لوحدات التخزين لا تدرس إلا
للطلاب الراغبين في معرفة أجزاء التخزين العالية المساحة مثل القرص الصلب والتي
تصل إلى آلاف الميجات والأقراص المضغوطة الخ.... إذاً ماهي هذه الوحدات تابع معنا:
القسم
الأول هو البت Bite
:
يعتبر
البت أصغر وحدة قياس في مجال أحجام البيانات التي تأخذ حيز داخل وسائط التخزين
ويمثل البيت رقم واحد فقط لا غير واحتمالين لا ثالث لهما إما الصفر أو الواحد وهذه
الأعداد تتعامل مباشرة مع الآلة دون الحاجة إلى مفسر كما هو الحالة في لغات
البرمجة وهذان العدادان يشيران إلى تشغيل الدارة أو إيقافها (On-Off) أو يشيران إلى الشطرين البرمجيين المشهورين صح أو خطأ ( True-false ) الموجودان في معظم لغات البرمجة طبعا تشكل
أربع أرقام مع بعضها البعض يسمى في وحدات التخزين باسم Nibbles وهي الوحدة التي تلي البت في صغر الحجم لاحظ المثال التالي :
الخانات
المتكونة من أربع أرقام تسمى Nibbles لاحظ هذه خمسة أمثلة مختلفة
1001-1101-1011-1000-1110
أما
عندما نشير إلى عدد واحد من هذه الأرقام فإن نسميه Bite
طبعاً
كل ما زادت الخانات زاد حجم البيانات التي تحجزها على وسيط التخزين وكل ما تشكلت
الخانة من مجموعة أكبر من الأرقام الثنائية تغير قيمة البيانات التي تمثلها طبعاً
هذا أمر طبيعي بكل الأحوال فالحاسوب يتعامل مع أحجام التخزين وفق سلسلة معتمدة
عالمياً تبدء برقم مع البت واربع ارقام مع النبلز و ثمانية أرقام مع البايت وستة
عشر مع الكلمة لاحظ أن الأعداد تتضاعف مع كل تدرج في وحدات التخزين لذلك لا يوجد
وحدة تخزين فيما بينها على سبيل مثال وحدة تمثل خمسة أرقام أو حتى تسع أرقام لذلك
وجب التنبيه انظر للجدول وشاهد كيفية التدرج في وحدات التخزين
البت Bite
|
يمثل رقم واحد
|
1
|
النبلز Nibbles
|
يمثل اربع ارقام ثنائية
|
1011
|
البايت Byte
|
يمثل ثمانية ارقام
|
11101110
|
الكلمة Word
|
يمثل ستة عشر رقم
|
10011100-10101110
|
القسم
الثاني هو البايت Byte:
طبعاً
بدون أي شك يعتبر البايت من أكثر الوحدات شهرة وقد ظهرت للمرة الأولى مع معالجات 80-x86 أي أن أصغر وحدة يتم
اخالها إلى ذاكرة الحاسوب ليتم معالجتها هي البايت أي 8 بت في معالجات x86 ففي حالة كنت مستخدم قديم للحاسبات فلابد من إنك
قد تعرفت على هذه الوحدة وخاصة من خلال الاقراص المرنة الصغيرة الحجم طبعاً بما أن
البايت يتألف من ثمانية أرقام (بتات) في نظام العد الثنائي فإن ترقيم خانات هذا النظام يبدأ بالرقم صفر إلى
السبعة
0
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
البت
صفر إلى البت الثالث يسمى برتبة البت الدنيا Low
Order Bit والبت من سبعة الى اربعة يسمى برتبة البت
العليا High Order Bit مما يجعلها مقسومة إلى
وحدتي Nibbles
التي تتألف من اربع بتات طبعا عدد الاحتمالات في البايت يصل إلى 256 احتمال ( نطاق
الاحتمالات يبدأ من 0إلى 255 بالنسبة للأعداد التي لا
تحوي على إشارة أما نطاق الاحتمالات بالنسبة للأعداد التي تحوي على إشارة فيبدأ من
-128
الى 127 ) وهذا مختلف عما هو موجود
في الوحدة السابقة البت التي تكتفي باحتمال واحد حيث يتم تمثيله رياضيا ً 28 وتأتي أهمية هذه الوحدة التخزينية من كونها قادرة على التعامل مع شيفرة
Ascii
الشهيرة المتعلقة بالحروف الابجدية وكذلك قدرت البايت في التعامل مع الكثير من
البيانات الأخرى كالمقاطعات على سبيل المثال كون النطاق الواسع من الاحتمالات التي
تقدمه كما أشرنا سابقاً إضافة إلى قدرته على التعامل مع المتغيرات والتي لها دور
كبير في عالم البرمجيات كونها اعتمدت كخزان للقيم العددية والرقمية فيما بعد في كل
لغات البرمجة العليا والدنيا حيث يمكن كتابة المتغير التالي مع هذا النوع من وحدات
التخزين ( byteVar: byte;
) وهذا كان غير ممكن سابقاً
القسم
الثالث هو الكلمة Word :
عندما
نتكلم عن هذه الوحدة فعلينا أن نعرف بأن هذه الوحدة أكبر حجماً من سابقتها وتأخذ
حيز من الأرقام يصل إلى 16
رقم أي بت والتمثيل بالنظام الثنائي دائماً تخلق هذه الوحدة مقارنة بسابقتها
مجالاُ واسعاُ من الاحتمالات وللعلم كل ما ازداد نطاق الاحتمالات ازدادت القوة في
تعامل النظام مع البيانات من حيث الامان ( لاحظ أن معالجات 64 بت تمتلك قدرة كبيرة من الأمان مقارنة مع المنصات الأقدم 32بت و
16 بت ) يكون عدد خانات الكلمة على الشكل
التالي :
0
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
10
|
11
|
12
|
13
|
14
|
15
|
نلاحظ
من المثال السابق أن هذه الوحدة تتألف من 2byte كل بايت يمثل ثمانية أرقام كما هو ظاهر معنا
أرقام
البت من صفر إلى البت السابع تسمى برتبة البت الدنيا Low
Order Bite أما الأرقام من الخمسة عشر إلى ثمانية
رجوعاً إلى الخلف هي أرقام تسمى برتبة البت العليا High
Order Bite وقد قمن بتميزيها بالألوان حتى تعرف الفرق
بينها طبعا كل اربع بتات تمثل Nibble كما ذكرنا سابقاً أما بالنسبة لعدد الاحتمالات التي يقدمها هذا
النوع من الأنظمة فيصل إلى (65536)
احتمال يتم تمثيله رياضياً بالعدد اثنان مضروباً بست عشرة 216 طبعاً بالنسبة لنطاق الارقام بدون إشارة فإن
الاعداد تبدأ في هذا النوع من وحدة التخزين بصفر حتى نصل إلى الرقم 65535 أم الاعداد التي نحوي على إشارة فإن النطاق
يكون بين العددين -32,768
إلى 32,767 طبعاً سمحت هذه الاحتمالات
بظهور ما يعرف بنظام UNICODE والذي
سمح بالتعامل مع المحارف الغير رومانية كالمحارف الأسيوية والمحارف اليونانية
والروسية
طبعاً
هذا النظام سمح بكتابة متغيرات بنظام 16 بت بالنسبة للمبرمجين ومعه ظهرت ما يعرف
بلغات البرمجة العليا مبدئيا التي كتبت تطبيقاتها بهذا المنصة فيما بعد والتي
تدعمها أنظمة تشغيل موجدة إلى هذه اللحظة
القسم
الرابع هو الكلمة المزدوجة DWord:
الكلمة
المزدوجة تتكون من اربع بايتات ومن اسمها يتبين إنها ضعف خانات الكلمة العادية أي
32 بت مقارنة مع 16 بت في وحدة التخزين السابقة Word تحوي الكلمة المزدوجة على عدد كبير من الاحتمالات يصل طبعا إلى 4,294,967,295 وهو عدد هائل من الاحتمالات مقارنة مع أقسام
وحدات التخزين الأخرى ويقع نطاق التعامل مع الاعداد ذات الاشارة بين الرقمين -2,147,483,648..2,147,483,647 بكل الأحوال فإن وحدة التخزين
هذه تمثل نقلة نوعية كسابقتها من أنظمة العد الأخرى لأننا اصبحنا نتكلم الآن عن
الحواسيب الحديثة العهد والتي تتعامل بشكل واسع مع هذا النوع من وحدات القياس
0
|
7
|
15
|
23
|
31
|
طبعا
الارقام من صفر إلى خمسة عشر تسمى برتبة البت الدنيا أما الأرقام من واحد وثلاثين
إلى الرقم ستة عشر نسميها برتبة البت العليا أما بالنسبة للمتغيرات البرمجية فقد
حصلنا على إمكانية أوسع في هذا المجال مع زيادة عدد البتات والذي يعني كتابة متغير
بطول 32
بت
القسم
الرابع وحدات التخزين الأخرى :
نتكلم
في هذا القسم عن الوحدات الأخرى المتبقية في عالم تخزين البيانات الصغيرة الحجم
بشكل سريع والتي تتمثل أولاً بالوحدة التخزينية Quad
Word الكلمة الرباعية والتي تمثل 8Byte أي بالنظام الثنائي 64
بت هذا النوع من الوحدات لايزال يعتمد في مسجلات الحاسب الآلي من نوع 64 بت أو في
نمط عمل انواع من ذواكر الحاسوب بشكل علمي أصبحنا نتكلم الآن على نطاق واسع جداً
من الاحتمالات فنحن الآن نتكلم عن 18,446,744,073,709,551,615
لاحظ معي كمية الأرقام التي يعجز الكثيرين عن كتابتها أو حتى قراءتها الوحدة
التخزينية التي تليها تسمى Paragraph
والآن أصبحنا نتكلم عن 16 بايت و 128
بت ومجال احتمال أوسع من سابقه وبهذا ننهي دراستنا لوحدات التخزين الصغيرة الحجم
والتي تلعب دور كبير إلى وقتنا هذا في طريقة تخزين بيانات بسرعة ودقة كبيرة وكل
ذلك سيتم ذكره لاحقاً
اســم الوحدة
|
عـــدد البتــــات
|
الاحتمـــالات
|
البايت
|
البت Bite
|
1
|
2
|
0
|
البايت Byte
|
8
|
256
|
1
|
الكلمة WORD
|
16
|
65536
|
2
|
الكلمة المزدوجة DWORD
|
32
|
4,294,967,295
|
4
|
الكلمة الرباعية QWORD
|
64
|
18,446,744,073,709,551,615
|
8
|
المقطع Paragraph
|
128
|
عدد ضخم من الاحتمالات
|
16
|
القسم الخامس وحدات التخزين الكبيرة
الحجم :
وهذه الوحدات تعتبر معروفة مقارنة
بسابقتها من وحدات التخزين الأخرى كونها مستخدمة في الأقراص الصلبة والمرنة
والليزرية الوحدات التخزينية الصغيرة الحجم تستخدم في أجزاء معينة من العتاد الصلب
بشكل رئيسي وبحجم ثابت وأحياناً بمعدل نقل ثابت للبيانات كالمسجلات أما الكبيرة
الحجم منها فتستخدم اليوم في الذاكرة والقرص الصلب وغيرها بكل الأحوال سنقوم
بعرضها على شكل جدول صغير حتى لا نطيل دراستها كثيراً كونها لا تدخل كثيراً في
دراستنا لعلوم الهندسة العكسية
الوحدة
|
الرمز
|
حجم التخزين
|
الكيلوبايت
Kilo
Byte
|
KB
|
1024 بايت
|
الميجابايت Mega Byte
|
MB
|
1024 كيلوبايت
|
الجيجابايت Giga Byte
|
GB
|
1024 ميغابايت
|
التيرابايت Terabyte
|
TB
|
1024غيغابايت
|
البيتابايت Petabyte
|
PB
|
1024 تيرابايت
|
بعد
أن قمنا بدراسة وحدات التخزين الصغيرة والكبيرة الحجم يمكنا القيام بدراسة أنظمة
العد للحاسب الآلي وطرق التحويل بين هذه الأنظمة وهذا البحث يعتبر متداخل مع وحدات
التخزين لذلك لابد من فهم كل ما أخذناه سابقاً قبل الشروع للدخول في عالم الأنظمة
العددية
0 التعليقات:
إرسال تعليق