Yaddaş və onun növləri

Kompüter proqramları verilənlərdən və instruksiyalardan iba­rət olur. Verilənlər – proqramın predmeti olan informa­si­ya­dır. Məsələn, əgər sizin kompüter proqramının istifa­də­çi­si­nə qrup­da 600- dən yuxarı bal toplayan tələbələrin siyahısı la­zım­­dır­sa, onda verilən olaraq onların orta balları ilə eyni olan bü­tün tələbələrin siyahısı götürülə bilər.

Kompüter proqramının instruksiya və verilənləri proq­ra­mın iş­ləməsi üçün kompüterin yaddaşında yerləşməlidir. Kom­­pü­ter­də yaddaşın üç əsas növü var:

1) Mərkəzi prosessor(MP);

2) Operativ yaddaş(ixtiyari girişli yaddaş, RAM);

3) Daimi yaddaş.

Prosessor – kompüterin beynidir və onun sürəti nə qədər yük­sək olarsa, kompüter bir o qədər tez işləyir. Kompüter əmə­liy­­yatlarını koordinasiya etməkdən savayı, prosessor keş-yad­da­­­şa da malikdir. Prosessorun keş–yaddaşı reqistr ad­lanan seq­­­mentə malikdir. Bu yaddaş tez-tez istifadə olunan ins­truk­si­ya və verilənlərin saxlanması üçün lazımdır.

Prosessor keş-yaddaşa çox tez müraciət edə bilər, lakin onun tu­tumu çox kiçik olur. Deməli, qalan instruksiya və proq­­ramlar baş­qa yerdə yerləşməlidirlər.

Operativ yaddaş – ixtiyari girişli yaddaşdır və ya operativ yad­dasaxlama qurğusudur (OYQ). Kompüterdə bu yaddaş nə qə­dər çox olarsa, onda eyni zamanda daha çox proqram bu­rax­­maq olar və onlar daha tez işləyərlər.

Prosessor operativ yaddaşa da keş yaddaş kimi çox tez mü­ra­ciət edə bilər. Bununla belə operativ yaddaşın həcmi keş – yad­daşın həcmindən çox böyükdür. Lakin ope­ra­tiv yaddaş da keş-yaddaş kimi müvəqqətidir. Kompüter sön­dürüldükdə bu yaddaşda saxlanılan informasiyalar yox olur.

Nəhayət, kompüterdə çoxlu sayda digər proqramlar da ola bi­­lər (məsələn, elektron poçt, İNTERNET, mətn və s. proq­ram­la­rı, başqa fayllar-məktublar, sazişlər, xəbərlər və s.) ki, onlardan in­di yox başqa vaxtlarda istifadə edilə bilər. Ona görə də yaddaşda keş-yaddaş və ope­rativ yaddaşdan fərqli olan elə di­gər yaddaş sahəsi də la­zım­dır ki, verilənləri daimi sax­la­sın (hət­ta kompüter yenidən yük­ləndikdən və sön­dü­rül­dük­dən son­ra da). Daimi yaddaş (da­imi yaddasaxlama qur­ğu­su) – adə­tən, bərk­ diskdir, lakin bu digər qurğular da ola bilər, CD ROM, DVD ROM, dis­ket­­lər və ya Flash-yaddaş. Lakin nö­vün­dən asılı ol­ma­yaraq da­i­mi yaddaş informasiyanı uzun müddət sax­layır.

Daimi yaddaş qurğusu informasiyanı uzun müddət qo­ru­maq­­­la bərabər, operativ yaddaşa nəzərən təqribən yüz və ya min də­fələrlə böyük həcmə malikdir.

DYQ informasiyanı üzün müddət saxladığından və böyük həc­­­mə malik olduğundan, o həm də proqram və verilənlərin sax­­­lanması üçün də istifadə olunur.

DYQ böyük həcmə malik olmasına və uzun müddətli sax­la­­ma imkanlarına malik olsa da, kompüter proqramı daimi yad­­­daş­­­da yerləşən instruksiyaları yerinə yetirə bilmir. Bu ins­truk­­si­ya­­lar DYQ –dən operativ yaddaşa yüklən­mə­li­dir­lər. Həm də kom­­püter proqramı daimi yaddaşda yerləşən veri­lən­lər­lə əmə­liy­­yat apara bilmir. Bu verilənlər də DYQ –dən operativ yad­da­şa yüklənməlidirlər.

Yaddaşda yer ünvana görə də təyin olunur. Bu ünvanlar 16-lıq say sistemində ifadə olunurlar, məsələn, 0xF7C3. Yad­daşın ünvanı adi küçə ünvanlarında olduğu məntiqlə, yə­ni ardıcıl mo­del­lə həyata keçirilir.

 

100

Şəkil 3.1.Yaddaşın ünvanının ardıcıllığı

Yaddaşın hər bir ünvanında saxlanan informasiya bayt ad­la­nır. Qeyd edək ki, kompüter bitlərdə fikirləşsə də 0 və 1 bit öl­çülü informasiyanı emal edə bilmir. Kompüterin emal edə biləcəyi ən kiçik informasiya vahidi bayt və ya 8 bitdir. De­mə­li, hər bir ünvan 1 bayta qədər informasiya (sıfır və bir­lər­dən ibarət olan 8 rəqəm ardıcıllığı) qoruya bilər.

 

Qiymət

   

Yaddaşın ünvanı

 

Şəkil 3.2.Bayt qiymətlərlə yaddaşın ünvanları ardıcıllığı

3.2. Standart tip verilənlərin ölçüsü

Proqramlaşdırma dillərinin çoxunda proqramçının tip tə­yin et­­məsinə icazə verilir. Məsələn, C dilində strukturlar, C++ dilində də siniflər proqramçı tərəfindən tə­yin­ olu­nan də­­yişən tipidir.

C/C++dilində istifadə olunan hər bir dəyişən tipi göstə­ril­mək­lə elan olunmalıdır. Lakin tiplərin çevrilməsi məna­sın­daC/C++dili digər tiplərə nəzərən daha az ciddidir.

Dəyişən – yaddaş oblastı ilə əlaqəli olan addır, bu oblast də­­yi­­­şənin qiymətini çoxaltmaq üçün ayrılmışdır. Elan dəyi­şə­nin adı və onun tipinin göstərilməsini nəzərdə tutur. C di­lin­də də əvvəldən təyin olunmuş 11 ədəd dəyişən tipi vardır. Bu dəyişən tiplərindən 8 -i tam (integer types) dəyişənlər üçün, qa­lan 3-ü isə həqiqi (floating types) dəyişənlər üçün nəzərdə tutulmuşdur.

C/C++dilində həm işarəli, həm də işarəsiz dəyişənlər is­ti­­fadə olunur. Onlar eyni yaddaş həcmləri tutsalar da, müx­tə­lif diapazonlu ədədlərdir.

 

Cədvəl 3.1.

Verilənlərin tipi Yadda- şın həc­­mi (bayt) Mümkün minimal qiymət mümkün maksimal qiymət
signed char unsigned char signed short unsigned short signed int unsigned int signed long unsigned long -128 -32768 -32768 -2147483648
float double long double 3.4E-38 1.7E-308 3.4E-4932 3.4E+32 1.7E+308 1.1E+4932

Əsas standart tip verilənlər bunlardır: tam, həqiqi, sim­vol.­

Bütün tam tiplər - char, short, int və long - susmaya görə işa­­­rəli olurlar, ancaq onları işarəsiz də elan etmək olar (bu vaxt onlar öz işarəli analoqlarının tutduğu qədər yaddaş tuta­caq­­lar), belə ki, onlar sıfır da daxil olmaqla yalnız bütün müs­bət qiy­mət­ləri ifadə edəcəklər. Buna görə də onlar 2 də­fə­ çox müsbət qiy­mətlər ifadə edə bilərlər.

Əgər hər hansı hesabi əməliyyat zamanı nəticə elan olu­nan tip üçün mümkün maksimal qiyməti aşırsa, onda tam­­­qiymətli dəyişənlərin qiyməti sıfırlaşdırılır.

C/C++dilində məntiqi tip - Boolean adlı (məntiqi doğ­ru ya da yalan qiymətlərini alan) tip yoxdur, lakin tam qiy­mət­lər məntiqi tip kimi verilən ifadələrdə doğru və yalan qiy­mətləri ifa­­də edə bilərlər. Bu vaxt sıfır qiymət yalan, sıfır ol­ma­yan isə doğ­runu göstərir.

Sürüşkən vergüllü verilən tiplər (həqiqi) onluq ədəd­ və ya­ eks­ponensial formada ola bilərlər. Məsələn,

double d1=2.35;

double d2=2.0E-5;

3.3. Dəyişənlərin elan olunması

 

Programlaşdırma dillərinin çoxunda dəyişənlər isti­fadə edil­məzdən əvvəl proqramda tanıdılır, yəni elan olu­nur­lar. C di­lində elan əməliyyatı, yaddaşda bir yer ayrıl­ma­sı­na sə­bəb­ olur­sa, bu əməliyyata təyinetmə (definition) deyi­lir. Hər tə­yin etmə əmə­liy­yatı eyni zamanda bir elan əməliy­ya­tıdır, amma hər elan əməliyyatı bir təyinetmə olmaya bilər. Başqa cür­ desək, təyin­et­mə obyekt yaradan bir elan əməliyyatıdır.

C dilində bir dəyişəni elan etməzdən əvvəl istifadə et­­mək­ səhv (error) yaranmasına gətirib çıxarır.

C/C++ proqramlaşdırma dilində elan əməliyyatı aşağı­da­kı­ şəkildə edilir :

<tip> <dəyişənin adı> <;>

Burada nöqtəli vergül işarəsi operatorun sonu əlamətini bil­di­rir. C/C++ də bütün ifadələr nöqtəli vergül ilə bir-bir­lə­rin­dən ay­rılırlar.

tip ifadə edən açar sözlər, C/C++ dilinin qabaqcadan tə­yin­ olun­­muş dəyişən tiplərinə bağlı açar sözlərdir. Bu söz­lə­ri­ elan sin­­taksisində istifadə edərək, daha əvvəl öyrənmiş ol­du­ğu­muz 11 dəyişən tip növünün hansından dəyişən təyin et­mək istə­di­yi­mi­zi bildirmiş oluruq. C/C++ dilində tə­yin­et­mə­ əməliyyatında istifadə edilə biləcək açar sözlər bun­lardır: