دنحوه ي ذخيره سازي انواع داده ها در حافظه
 

  در زندگي روزمره با انواع مختلف داده از قبيل اعداد ، حروف ، تصوير ، صوت و . . . سروكار داريم ؛ براي مثال اگر بخواهيم فردي دو عدد 2 و 3 را با هم جمع كند ممكن است بگوييم " لطفا اعداد 2 و 3 را با هم جمع كنيد و جواب آن را بر روي يك ورق كاغذ بنويسيد " اما رايانه يك وسيله ي الكتريكي است و نمي تواند مستقيما درخواست ما را پردازش كند . قبل از اين كه رايانه بتواند عملي را انجام دهد ، لازم است درخواست ما از صورتي كه براي ما قابل فهم است به صورتي كه براي رايانه قابل فهم باشد و بتواند به صورت الكتريكي پردازش كند ، تبديل شود . بديهي است براي انجام اين كار بايد از يك روش كدگذاري استفاده كنيم .

  همه ي ما طي روز بدون آن كه فكر كنيم از چندين سيستم كدگذاري مختلف استفاده مي كنيم (جالب است بدانيم ، غالبا از مطالبي كه در كودكي آموخته ايم بدون فكر كردن استفاده مي كنيم ) . برخي از سيستم هاي كدگذاري كه معمولا به كار مي بريم عبارت اند از :

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

  نكته ي مهم ديگر اين است كه رايانه يك وسيله ي الكتريكي است . شايد بنيادي ترين بياني كه مي توان درباره ي الكتريسيته داشت اين باشد كه داراي دو حالت فيزيكي قطع يا وصل ( خاموش يا روشن ) است . در واقع در بسياري از وسايل ، از حالت دوگانه استفاده مي شود ؛ براي مثال يك كليد برق مي تواند خاموش يا روشن باشد . يك مدار الكتريكي ممكن است باز يا بسته باشد . يك نقطه از يك نوار مغناطيسي ممكن است داراي بار مثبت يا منفي باشد . در نتيجه ، در رايانه از سيستم دودويي ( binary ) براي نمايش داده استفاده مي شود .

  سيستم اعداد دهدهي كه همه ي ما با آن آشنا هستيم و از ديرباز مورد استفاده ي بشر بوده است ( شايد به دليل اين كه انسان داراي 10 انگشت در دستان خود است و از آن ها براي انجام محاسبات استفاده مي كرده است ) داراي 10 رقم است (1،2،3،4،5،6،7،8،9،0) . سيستم دودويي داراي دو رقم 0 و1 است . در اين سيستم به هر0 يا 1 يك بيت ( مخفف عدد باينري ) گفته مي شود . در يك وسيله ي الكتريكي مانند رايانه ، 0 مي تواند با قطع بودن الكتريسيته و 1 با وصل شدن آن نشان داده شود .

  حال سؤالي در اينجا مطرح مي شود : " چگونه مي توان انواع مختلف داده را كه با آن سروكار داريم با استفاده از سيستم دودويي كدگذاري كرد ؟ " در ابتدا بايد به تفاوت نمايش خارجي و داخلي داده و اطلاعات توجه داشته باشيم . نمايش خارجي همان روش معمول انسان براي نمايش داده و اطلاعات است كه در روي صفحه نمايش ظاهر مي شود ، توسط چاپگر چاپ مي شود يا توسط صفحه كليد وارد سيستم مي شود . نمايش داخلي همان روش مورد استفاده در پردازنده است كه براي ذخيره ي داده و اطلاعات در حافظه ي دستگاه به كار مي رود ( شكل 1 ) .

شكل 1- نمايش خارجي و داخلي

براي ديدن تصوير بزرگتر بر روي آن کليک کنيد.

  روش كدگذاري اعداد:

  به طور كلي ، دو روش متفاوت براي نمايش دودويي اعداد در رايانه وجود دارد كه يكي از آن ها براي اعداد صحيح و ديگري براي اعدا اعشاري يا اعداد با مميز شناور ( Floating – point ) به كار مي روند . بزرگي و كوچكي اعداد قابل نمايش در رايانه بستگي به تعداد بيتي دارد كه به آن عدد اختصاص داده شده است . تعداد بيت هر عدد، متناسب با نوع عدد و نرم افزار مورد استفاده متفاوت است و ممكن است 8 ، 16 ، 32 ، 64 يا حتي بيشتر باشد .

  روش كدگذاري متن :

  به طور كلي عناصر سازنده ي يك متن عبارت اند از : حروف الفبا ( مثلا در انگليسي حروف بزرگ و كوچك ) ، علايم سجاوندي ( . ، ؛ ! ؟ " و ... ) ، ارقام ( 0 ، 1 ، 2 ، 3 ، 4 ، 5 ، 6 ، 7 ، 8 ، 9 ) ، نمادهاي عملياتي ( + ، - ، * ، / و ... ) برخي علايم ( @ , $ , = , < , > و ... ). فاصله و حروف كنترلي (خط بعد، صفحه ي بعد و ...) حال براي كدگذاري يك متن لازم است نمايش تمام عناصر فوق امكان پذير باشد. مي دانيم با در كنار هم قرار دادن چند بيت مي توان تركيبات مختلفي ايجاد كرد؛ مثلا براي يك بيت تعداد تركيبات موجود 2 ، براي دو بيت 4، و براي سه بيت 8 است. مشخص است كه تعداد تركيبات موجود براي n بيت از طريق رابطه يn 2 به دست مي آيد. حال اگر از 8 بيت (يك بايت) استفاده كنيم، مي توانيم 256 تركيب مختلف بسازيم كه هريك مي تواند نشان دهنده ي يك عضو خاص باشد؛ به عبارت ديگر با قرار دادن چند بيت و ايجاد تركيبات خاص مي توانيم عناصر سازنده ي متن را كدگذاري كنيم.

  برخي از روش هاي كدگذاري مرسوم عبارتند از :

     ASCII (اَسكي) : يك روش كدگذاري 8 بيتي است كه در ريزرايانه ها مورد استفاده قرار مي گيرد (شكل 2).
    - EBCDIC (به صورت اِب – سي – ديك تلفظ مي شود): يك روش كدگذاري 8 بيتي است كه در رايانه هاي بزرگ كاربرد دارد (شكل 2).

شكل 2- روش هاي كدگذاري ASCII و EBCDIC

براي ديدن تصوير بزرگتر بر روي آن کليک کنيد.

    يوني كد : يك روش كدگذاري 16 بيتي است كه براي كدگذاري حروف زبان هايي چون چيني و ژاپني كه داراي حروف زيادي هستند به كار مي رود.

  زماني كه يكي از كليدهاي صفحه كليد را فشار مي دهيد، كاراكتر مربوطه به يك سري از پالس هاي الكترونيكي تبديل مي شود كه براي سيستم قابل تشخيص نيست؛ براي مثال اگر حرف A را فشار دهيد يك سيگنال الكترونيكي به واحد سيستم ارسال مي شود كه در آنجا تبديل به كد ASCII ، 01000001 مي شود(شكل 1) .

  روش كدگذاري تصوير و صوت :

  تصاوير گرافيكي و همچنين صوت وصداي ديجيتال شده را نيز مي توان با استفاده از 0 و 1 كدگذاري كرد. براي درك ساده از نحوه ي نمايش تصوير، يك صفحه ي شطرنجي مانند يك كاغذ ميليمتري را در نظر بگيريد. فرض كنيد هر ضلع يك ماتريس داراي 10 مربع (جمعا 100 مربع) باشد. براي ترسيم حروف اول نام خود، برخي از اين مربع ها را سياه كنيد (شكل 3). سپس خواهيد ديد برخي از مربع هاي اين مجموعه ي 100 تايي، سياه وبرخي ديگر سفيد هستند. (در اينجا منظور حرف A است.) حال اگر بخواهيد تمام ماتريس 10*10 را در رايانه ذخيره كنيد، براي هر مربع يا نقطه، نياز به يك بيت داريد. مقدار بيت براي يك مربع سياه شده، 1 و براي يك مربع سفيد، 0 خواهد بود.در نهايت تمام ماتريس به صورت مقادير متوالي از بيت ها در حافظه ي رايانه ذخيره مي شود.

شكل 3- نحوه ي تشكيل تصوير حرف A

  حال اگر اندازه ي اين ماتريس را چندين هزار نقطه يا مربع افزايش دهيد، وضوح تصوير بسيار بهتر خواهد شد. به هركدام از اين نقطه ها يك پيكسل مي گويند. پس پيكسل ها در واقع اجزاي سازنده ي تصوير هستند و در تصويري با وضوح 350*640 (يعني 640 رديف و در هر رديف 350 پيكسل)، تعداد آن ها به 224000 مي رسد. تصوير در رايانه به صورت ركوردي از بيت هايي كه 1(سياه) و 0(سفيد) هستند، نگه داشته مي شود.

  حال اگر براي نمايش هرپيكسل از بيش از يك بيت (مثلا 4، 8، 16 يا 24 بيت) استفاده كنيم، هر پيكسل مي تواتند يك رنگ از مجموع 16، 256، 65000 يا چندين ميليون رنگ را داشته باشد. براي مثال اگر براي نمايش هر پيكسل از يك بايت (8 بيت) استفاده كنيم، مي توان به هر پيكسل يك تركيب از 256 تركيب مختلف را نسبت داد كه مي تواند نشان دهنده ي يك رنگ به خصوص از بين 256 رنگ مختلف باشد.

شكل 4- نمايش تصوير با تعداد رنگ هاي مختلف

  روش ذخيره سازي صوت در رايانه كاملا شبيه به ضبط صوت ديجيتال ، بر روي CD هاي صوتي است. تمام صوت ها، از جمله موسيقي و صداي انسان داراي شكل فيزيكي موج صوتي هستند كه با واحد هرتز يا كيلوهرتز اندازه گيري مي شوند. وقتي صوت ساخته مي شود، رايانه از موج صوتي مربوطه نمونه برداري مي كند( شكل5 ).سپس نمونه هاي برداشته شده براي ساخت تقريبي صوت اصلي دركنار يكديگر قرار مي گيرند.هرقدر تعداد نمونه ها در ثانيه ( مثلا 22000 يا 44000 ) بيشتر باشد، صوت ساخته شده به صورت اصلي نزديك تر و شبيه تر است ( شكل 6 ). نمونه هاي گرفته شده در واقع تصاويرعددي دامنه ي موج در لحظات مختلف هستند و در نتيجه به راحتي به اعداد دودويي تبديل و در حافظه ي رايانه ذخيره مي شوند.

  ورودي آنالوگ (صوت)

  اندازه نمونه 8 بيت

  خروجي ديجيتال (نمونه ها)

  سرعت نمونه برداري

شكل 5- نمونه گيري از يك موج آنالوگ

  در زمان پخش، يك وسيله ي توليد صوت ( Synthesizer ) با استفاده از اطلاعات ديجيتال ذخيره شده ( نمونه ها ) ، صوت خروجي را با كيفيت قابل قبول توليد مي كند.

شكل 6- توليد صوت اوليه با استفاده از اطلاعات ديجيتال

براي ديدن تصوير بزرگتر بر روي آن کليک کنيد.

  
  منبع:كتاب راهنماي معلم مباني علم رايانه
  
back
طراحي شده توسط مرکز خدمات کامپيوتري دفتر برنامه ريزي و تاليف کتب درسي