Логикалық мекенжай мен физикалық мекенжай арасындағы негізгі айырмашылық мынада: процессор бағдарламаны орындау кезінде логикалық мекенжайды жасайды, ал физикалық мекенжай жад бөлігіндегі орын болып табылады.
Қарапайым тілмен айтқанда, процессор логикалық мекенжайды немесе виртуалды мекенжайды жасайды. Жұмыс істеп тұрған бағдарлама тұрғысынан элемент логикалық адреспен берілген мекенжайда орналасқан сияқты. Жад блогы физикалық мекенжайды бақылайды. Сонымен қатар, ол негізгі жадтағы белгілі бір жад ұяшығына деректер шинасы арқылы қол жеткізуге мүмкіндік береді.
Логикалық мекенжай дегеніміз не?
CPU логикалық мекенжайды жасайды. Жұмыс істеп тұрған бағдарлама тұрғысынан элемент логикалық адреспен берілген мекенжайда орналасқан сияқты. Компьютерде жұмыс істейтін қолданбалы бағдарламалар физикалық мекенжайларды көрмейді. Олар әрқашан логикалық мекенжайлар арқылы жұмыс істейді. Логикалық мекенжай кеңістігі - бұл бағдарлама генерациялайтын логикалық адрестер жиынтығы. Логикалық адрестерді қолданбас бұрын физикалық адрестермен салыстыру қажет. Аппараттық құрылғының жадты басқару блогы (MMU) бұл салыстыру процесін өңдейді.
MMU карталау схемалары
MMU бірнеше карталау схемаларын орындайды. Ең қарапайым салыстыру схемасында көшіру регистріндегі мән қолданбалы бағдарламалар шығарған әрбір логикалық адреске оларды жадқа жібермес бұрын қосылады. Сондай-ақ, картаны құрудың басқа да күрделі әдістері бар. Мекенжайды байланыстыру (яғни жад мекенжайларына нұсқаулар мен деректерді бөлу) үш түрлі уақытта болуы мүмкін.
01-сурет: логикалық және физикалық мекенжай
Біріншіден, егер нақты жад орындары алдын ала белгілі болса, бұл компиляция уақытында орын алуы мүмкін және бұл компиляция уақытында абсолютті кодты жасайды. Жад орындары алдын ала белгісіз болса, бұл жүктеу кезінде де орын алуы мүмкін. Бұл үшін компиляция уақытында қайта орналасатын кодты жасау керек. Сонымен қатар, мекенжайды байланыстыру орындалу уақытында орын алуы мүмкін. Бұл мекенжайды салыстыру үшін аппараттық қолдауды қажет етеді. Компиляция уақытында және жүктеу уақытында адресті байланыстыру, логикалық және физикалық адрестер бірдей. Бірақ бұл процедура орындалу уақытында мекенжайды байланыстыру кезінде басқаша болады.
Физикалық мекенжай дегеніміз не?
Жад құрылғысы физикалық мекенжайды немесе нақты мекенжайды бақылайды. Ол деректер шинасына негізгі жадтағы белгілі бір жад ұяшығына қол жеткізуге мүмкіндік береді. MMU логикалық мекенжайды физикалық мекенжаймен салыстырады. Мысалы, логикалық мекенжайға орын ауыстыру регистрін (тізілімдегі мән y деп есептейік) қосатын ең қарапайым салыстыру схемасын пайдалана отырып, 0-ден х-ге дейінгі логикалық мекенжай диапазоны y-ден x+ дейінгі физикалық мекенжайлар ауқымымен салыстырылады. ж.
Сонымен қатар, бұл бағдарламаның физикалық мекенжай кеңістігі деп те аталады. Қолдану үшін барлық логикалық мекенжайларды физикалық мекенжайлармен салыстыру қажет.
Логикалық мекенжай мен физикалық мекенжайдың айырмашылығы неде?
Логикалық мекенжай және физикалық мекенжай |
|
Логикалық мекенжай – орындалатын қолданба бағдарламасы тұрғысынан элемент орналасқан болып көрінетін мекенжай. | Физикалық мекенжай – деректер шинасына негізгі жадтың белгілі бір сақтау ұяшығына немесе I салыстырылған жад регистріне қол жеткізу үшін мекенжай шинасы схемасында екілік сан түрінде берілген жад мекенжайы. /O құрылғысы. |
Көріну | |
Пайдаланушы бағдарламаның логикалық мекенжайын көре алады. | Пайдаланушы бағдарламаның физикалық мекенжайын көре алмайды. |
Жасау әдісі | |
CPU логикалық мекенжайды жасайды. | MMU физикалық мекенжайды есептейді. |
Арнайы мүмкіндіктер | |
Пайдаланушы физикалық мекенжайға кіру үшін логикалық мекенжайды пайдалана алады. | Пайдаланушы физикалық мекенжайға тікелей қол жеткізе алмайды. |
Қорытынды – логикалық мекенжай және физикалық мекенжай
Логикалық мекенжай мен физикалық мекенжай арасындағы айырмашылық мынада: процессор бағдарлама орындалған кезде логикалық мекенжайды жасайды, ал физикалық мекенжай жад бөлігіндегі орын болып табылады. MMU оларды қолданар алдында барлық логикалық мекенжайларды физикалық мекенжайлармен салыстыру қажет. Физикалық және логикалық мекенжайлар компиляция уақыты мен жүктеу уақыты мекенжайын байланыстыруды пайдаланған кезде бірдей, бірақ орындалу уақыты мекенжайын байланыстыруды пайдаланған кезде олар әр түрлі болады.