Չէ քչություն չի անի որովհետև ռեգիստրները նախատեսված են ընթացիկ ինստրուկցիայի կատարման համար այլ ոչ թե ծրագրի կողմից անընդհատ օգտագործման համար։ Ամեն մի փոքր գործողությունից հետո ռեգիստրները այլ ձև կօգտագործվեն։ Մյուս կողմից CPU-ն որպես էդպիսին ծրագրի առկայության մասին տեղյակ էլ չի։ CPU ի հիմնական խնդիրը զուտ ինստրուկցիայի կատարումնա, հետևություն մի ինստրուկցիայի կատարման ընթացքում ռեգիստրների քանակությունը խնդիր չկ առաջացնի
իսկ CPU ինչպես է իմանում ,թե ինֆորմացիան RAM -ի կոնկրետ որ հասցեում է գրված,որ ինքն դիմում է ?? Եթե հասցեներ բաժանողը RAM -ն է: CPU ռեգիստրի մեջ կա այդ ինֆորմացիան,եթե այո,ապա ինչպես է այնտեղ հայտնվել:CPU արտադրողը չէր կարող այդ հասցեն իմանալ,ու ինստրուկցիաների մեջ գրել ու տեղադրել ռեգիստրում:Կբացատրեք խնդրում եմ?
Բարև Ձեզ Ինֆորմացիայի տեսանկյունից տարբերություն կա։ Եթե խոսքը գնում է տվյալի մասին, ապա CPU-ն, իրեն հետաքրքրող տվյալի արժեքը գտնելու համար, օգտվում է այն հասցեից, որը նշված է ինստրուկցիայի կոդի մեջ։ Ցանկացած ինստրուկցիա բացի գործողություն ցույց տալուց, պետք է նաև ինֆորմացիա արտահայտի, թե որտեղ են գտնվում այն տվյալները, որոնց հետ պետք է գործողությունը տեղի ունենա։ Քանի որ CPU-ի մեկ միջուկը ժամանակի ցանկացած պահի կարող է միայն մեկ ինստրուկցիա կատարել, հետևություն. այդ ինստրուկցիան ցույց կտա անհրաժեշտ տվյալների հասցեն։ Եթե խոսքը գնա արդեն ինստրուկցիայի կոդի մասին, ապա CPU-ի մեջ կա IP (instruction pointer) անունով ռեգիստր, որի նպատակն է պլատֆորմի շրջանակներում բոլոր ինստրուկցիաներից՝ հերթականությամբ հաջորդ կատարման ենթակա ինստրուկցիայի հիշողության հասցեն պահելու համար։ Մասնավորապես, IP-ի հետ աշխատանքը ավտոմատացված է տեղի ունենում CPU-ի կողմից, այսինքն IP-ի արժեքը ինչ-որ ձևով անընդհատ ավտոմատ փոխվում է ինստրուկցիայի կատարման ժամանակ, այնպես որ այն պահի իր մեջ կատարվողին հաջորդող ինստրուկցիայի հասցեն։ Արդեն քո կողմից ակտիվացրած ծրագրի առաջին ինստրուկցիայի հասցեն IP-ի մեջ տեղադրվում է OS-ի (operating system) կողմից։ Մյուս կողմից RAM-ը տրամադրում է պարզապես ֆիզիկական հիշողություն («հոսանքի պահպանման վայր»), որը ոչ մի գործողություն չի կարող կատարել, հետևություն. այն երբեք չի կարող CPU -ին փոխանցել որոշակի հասցե, եթե իհարկե CPU-ն ինստրուկցիայի կատարման ընթացքում RAM-ին այդ նպատակով չդիմի։
Շատ լավ եք բացատրում, ես հիյացաց եմ, որ մեր օրերում այսպիսի կրթական համալիրներ կան և այսպիսի խելացի և բանիմաց մասնագետներ։
Շնորհակալություն
Ծրագրավորում սովորելու համար ի՞նչ համակարգիչ գնել և ի՞նչ պարամետրերով,
Նախապես շնորհակալություն
Բռավո Հայկ ջան
շատ լավն էր ապրես 👍
👍
Եթե էդ ռեգիստրները մոտ 100 հատ են ու ամեն մեկը 4-8 բայթ ա տալիս, մեծ ծրագիր գրելուց էդ քչություն չի անելու ? Շնորհակալ եմ նման բովանդակ դասերի համար ։
Չէ քչություն չի անի որովհետև ռեգիստրները նախատեսված են ընթացիկ ինստրուկցիայի կատարման համար այլ ոչ թե ծրագրի կողմից անընդհատ օգտագործման համար։ Ամեն մի փոքր գործողությունից հետո ռեգիստրները այլ ձև կօգտագործվեն։ Մյուս կողմից CPU-ն որպես էդպիսին ծրագրի առկայության մասին տեղյակ էլ չի։ CPU ի հիմնական խնդիրը զուտ ինստրուկցիայի կատարումնա, հետևություն մի ինստրուկցիայի կատարման ընթացքում ռեգիստրների քանակությունը խնդիր չկ առաջացնի
👍👍👍👍👍👍👍👍👍👍👍👍👍👍
իսկ CPU ինչպես է իմանում ,թե ինֆորմացիան RAM -ի կոնկրետ որ հասցեում է գրված,որ ինքն դիմում է ?? Եթե հասցեներ բաժանողը RAM -ն է: CPU ռեգիստրի մեջ կա այդ ինֆորմացիան,եթե այո,ապա ինչպես է այնտեղ հայտնվել:CPU արտադրողը չէր կարող այդ հասցեն իմանալ,ու ինստրուկցիաների մեջ գրել ու տեղադրել ռեգիստրում:Կբացատրեք խնդրում եմ?
Բարև Ձեզ
Ինֆորմացիայի տեսանկյունից տարբերություն կա։ Եթե խոսքը գնում է տվյալի մասին, ապա CPU-ն, իրեն հետաքրքրող տվյալի արժեքը գտնելու համար, օգտվում է այն հասցեից, որը նշված է ինստրուկցիայի կոդի մեջ։ Ցանկացած ինստրուկցիա բացի գործողություն ցույց տալուց, պետք է նաև ինֆորմացիա արտահայտի, թե որտեղ են գտնվում այն տվյալները, որոնց հետ պետք է գործողությունը տեղի ունենա։
Քանի որ CPU-ի մեկ միջուկը ժամանակի ցանկացած պահի կարող է միայն մեկ ինստրուկցիա կատարել, հետևություն. այդ ինստրուկցիան ցույց կտա անհրաժեշտ տվյալների հասցեն։
Եթե խոսքը գնա արդեն ինստրուկցիայի կոդի մասին, ապա CPU-ի մեջ կա IP (instruction pointer) անունով ռեգիստր, որի նպատակն է պլատֆորմի շրջանակներում բոլոր ինստրուկցիաներից՝ հերթականությամբ հաջորդ կատարման ենթակա ինստրուկցիայի հիշողության հասցեն պահելու համար։ Մասնավորապես, IP-ի հետ աշխատանքը ավտոմատացված է տեղի ունենում CPU-ի կողմից, այսինքն IP-ի արժեքը ինչ-որ ձևով անընդհատ ավտոմատ փոխվում է ինստրուկցիայի կատարման ժամանակ, այնպես որ այն պահի իր մեջ կատարվողին հաջորդող ինստրուկցիայի հասցեն։ Արդեն քո կողմից ակտիվացրած ծրագրի առաջին ինստրուկցիայի հասցեն IP-ի մեջ տեղադրվում է OS-ի (operating system) կողմից։
Մյուս կողմից RAM-ը տրամադրում է պարզապես ֆիզիկական հիշողություն («հոսանքի պահպանման վայր»), որը ոչ մի գործողություն չի կարող կատարել, հետևություն. այն երբեք չի կարող CPU -ին փոխանցել որոշակի հասցե, եթե իհարկե CPU-ն ինստրուկցիայի կատարման ընթացքում RAM-ին այդ նպատակով չդիմի։
@@PicsartAcademy շնորհակալ եմ 👍շատ💪
Բան չունեմ ասելու Ընտիր տասավանդում ա հայկը։ Բայց տղեք էս որ թիվն ա ի՞նչ գրատախտակ, ինչ կավիճով ծրագրավորում բացատրել
Լավ ծրագրավորողի մոտ երևակայությունը պետքա լավը լինի։ Ու սենց դաս տալը իմ կարծիքով նաև բերումա նրան, որ ուսանողի երևակայությունը ուժեղանա։
Կավիճով հաճելի է ավելի
@@ftokrtoras5593 Ծրագրավորումը որոշակի գործողություններ ավելի արագ ու օպտիմալ անելում մասին է։ Բայց մյուս կողմից հասկանում եմ որ դե հիմա էտ ա։
@@userfromworld Ես դեմ չեմ նախասիրության հարց է։ Պարզապես դասախոսին մեղքս տվեց