Rəqəmsal hesablama sistemlərinin öyrənilməsində abstraksiya səviyyələri.

H.Cavid
Pragmatech
Published in
3 min readJul 29, 2020

Rəqəmsal sistemlərin, yəni işləyərkən bir və sıfırdan ibarət iki gərginlik səviyyəsini istifadə edən sistemlərin qurulması aşağıdakı mərhələlərə ayirılır:

1.Ən sadə rəqəmsal məntiq elementlər olan ventillərin (digital logic gates) qurulur. (Ventillər- girişdə müəyyən “bir və sıfır” kombinasiyasını götürür və çıxışda digər “bir və sıfır” kombinasiyasına çevirirlər.)

2.Sadə məntiq elementləri(ventilləri) birləşdirərək daha mürəkkəb modullar (məs: summator (cəmləyici), yaddaş blokları və s.) əldə olunur.

3. Sonra Assembler proqramlaşdırma dilində (mikroprosessorun “ana” dili) bu modulları əlaqələndirən proqramlar (maşın kodarı) yazılır.

4. Sadə məntiqi elementlərini, mürəkkəb modulları və maşın kodarını birlikdə cəmləyərək tam funksional mikroprosessor yığılır.

Belə çox səviyyəli mürəkkəb sistemi idarə etmək (və öyrənmək) üçün sistematik bir yanaşma tələb olunur. Müasir rəqəmsal sistemlər milyonlarla (milyardlarla) tranzistordan qurulub. İnsan beyni, sistemin hər bir tranzistorundakı hər bir elektronun hərəkətini izah edən tənliklər tərtib edib, bu tənliklər sistemini həll etməklə bu cür sistemlərin davranışını təxmin edə bilmir. Uğurlu bir mikroprosessor hazılamaq və həddindən artıq məlumatlar mürəkkəbliyini sadə başa düşüb və idarə etmək üçün bu işə sistematematik yanaşmaq lazımdır.

Sistemin mürəkkəbliyini sadə idarə etməyin əsas prinsipi –abstraksiya prinsipisir. Abstraksiya -müəyyən səviyyədə (vəziyyətdə) sistemi (necə işlədiyini) başa düşmək üçün bu səviyyədə vacib olmayan elementlərin nəzərdən atılması kimi başa düşülməlidir. İstənilən sistemə müxtəlif səviyyəli abstraksiyalardan baxıla bilər.

Rəqəmsal hesablama sistemlərinin abstraksiya sxemi.

1.Fizika abstraksiya səviyyəsi- ən aşağı abstraksiya səviyyəsində yerləşir və elektronların hərəkətini öyrənir. Elektronların davranışı kvant mexanikası və Maksvell tənliklər sistemi ilə təsvir edilmişdir.

2. Qurğular (devices) abstraksiya səviyyəsi.

Baxacağımız müasir elektron sistemlər tranzistorlar (əvvəllər elektron lampalar idi) adlanan yarımkeçirici qurğulardan (devices) ibarətdir. Hər bir belə qurğu digər oxşar qurğu ilə əlaqə nöqtələri (kontaktlar) var. Bu nöqtələri kontakt adlandıracağıq (İngilis ədəbiyyatında terminal terminindən istifadə olunur). Hər bir elektron qurğu cərəyan və gərginlik arasındakı zamandan asılılığı izah edən mücərrəd bir riyazi model ilə ifadə oluna bilər. Bu yanaşma o deməkdir ki, sistemi qurğular səviyyəsində nəzərdən keçirsək, bu sistemin ayrı-ayrı qurğuları içərisində olan elektronların davranışına məhəl qoymamaq olar.

3. Analoq sxemlər (dövrələr) abstraksiya səviyyəsi.

Abstraksiyanın növbəti səviyyəsi, yarımkeçirici qurğuların (tranzistor) birləşərək əmələ gətirdikləri analoq sxemlərdir ki, bu sxemlər də funksional komponentlər əmələ gətirirlər (məs: gücləndiricilər, filterlər). Analoq dövrəsinin giriş və çıxışındakı gərginlik kəsilməz dəyişir.

4. Rəqəmsal sxemlər abstraksiya səviyyəsi.

Analoq sxemlərdən fərqli olaraq, rəqəmsal sxemlər sayılan məntiq ventillərı iki ciddi məhdud diskret gərginlik səviyyəsini istifadə edirlər . Bu diskret səviyyələrdən biri məntiqi sıfır, digəri məntiqi vahiddir. Rəqəmsal məntiq sxemlərinə and, or, not və s. ventillərini göstərmək olar.

5.Məntiqi abstraksiya səviyyəsi

Bura sadə rəqəmsal sxemlərdən (ventillər) yığılmış mürəkkəb məntiq sxemlərı aiddir. (məs: summator, yaddaş blokları və s.).

6. Mikroarxitektura abstraksiya səviyyəsi

Abstraksiyanın mikroarxitektura səviyyəsi və ya sadəcə mikroarxitektura abstraksiyanın məntiqiarxitektura səviyyələrini birləşdirir. Mikroarxitektura, müəyyən bir arxitektura tərəfindən təyin olunan əmrləri yerinə yetirmək üçün hazırlanmış məntiqi bloklardakı ən sadə rəqəmsal elementlərin birləşməsidir.

7. Arxitektura (memarlıq) abstraksiya səviyyəsi

Abstraksiyanın arxitektura səviyyəsi, proqramçı baxımından kompüterin təsviridir. Məsələn, əksər fərdi kompüterlərin (PC) mikroprosessorları tərəfindən istifadə olunan Intel x86 arxitekturası proqramçı tərəfindən istifadə edilə bilən təlimatlar və registerlər dəsti (dəyişənlərin müvəqqəti saxlanması üçün yaddaş) ilə müəyyən edilir. Vahid bir arxitektura, qiymət, performans və enerji istehlakının fərqli nisbətləri olan mikroarxitekturaların müxtəlif variantlarından istifadə etməklə həyata keçirilə bilər və bu nisbət çox vaxt bu üç amil arasındakı tarazlıq olaraq seçilir. Məsələn, Intel Core i7, Intel 80486 və AMD Athlon prosessorları eyni x86 arxitekturasından istifadə edirlər, lakin üç fərqli mikroarxitektur həllərdən istifadə etməklə hazırlanırlar.

8. Əməliyyat sistemi abstraksiya səviyyəsi.

Əməliyyat sistemi sərt diskə giriş və ya yaddaş idarəetmə kimi aşağı səviyyəli əməliyyatları idarə edir.

9.Proqram təminatı abstraksiya səviyyəsi.

Proqram təminatı istifadəçinin konkret tapşırıqlarını həll etmək üçün əməliyyat sisteminin mənbələrindən istifadə edir.

Əhəmiyyətsiz detallarını nəzərə almayan abstraktlıqla yanaşı, rəqəmsal sistem tərtibçiləri sistemin mürəkkəbliyini idarə etmək üçün (sadələşdirmək üçün) daha üç əsas prinsipdən istifadə edirlər: iyerarxiya prinsipi, modulluq prinsipi və müntəzəmlik prinsipi. Bu prinsiplər həm proqram təminatına, həm də kompüter sistemlərinin aparatına aiddir.

1. İyerarxiya prinsipi sistemin ayrıca modullara bölünən və sonra hər bir modulun fraqmentlərə bölünən olmasını tələb edir. Bu prinsipə əsasən fraqmentlərin davranışını asan başa düşülür və sistem sadələşir.

2. Modulluq prinsipi sistemdəki hər bir modulun dəqiq müəyyən edilmiş bir funksionallığa və interfeysə sahib olmasını və sistemin digər modullarına asanlıqla qoşulmasını (gözlənilməz təsirlər olmadan) tələb edir.

3. Müntəzəmlik prinsipi sistemin fərqli modullarının dizaynında oxşarlıq (единообразия) olmağı tələb edir. Məsələn enerji təchizatı funksiyasını yerinə yetirən qida bloku müxtəlif sxemlərdə istifadə edilə bilər. Ümumi təyinatlı bu qida bloku yeni bir sistemin qurulduqda lazım olan modulların sayını dəfələrlə azaldır.

Mənbələr:

https://www.csd.uoc.gr/~hy109/resources/abstraction.pdf

https://medium.com/@twitu/a-dive-down-the-levels-of-abstraction-227c96c7933c

https://en.wikipedia.org/wiki/Abstraction_(computer_science)

--

--