VGA (անգլերեն Video Graphics Array) կամ ՎԳԶ (Վիդեո գրաֆիկական զանգված), բաղադրիչ վիդեո ինտերֆեյս, որն օգտագործվում է մոնիտորներում և վիդեո ադապտերներում։ Թողարկվել է IBM-ի կողմից 1987 թվականին PS/2 Model 50 և ավելի բարձր համակարգիչների համար[1]։

VGA վիդեո ադապտերը, ի տարբերություն նախորդ IBM վիդեո ադապտերների (MDA, CGA, EGA), օգտագործում է անալոգային ազդանշան գունային տեղեկատվությունը փոխանցելու համար։ Անալոգային ազդանշանի անցումը պայմանավորված էր մալուխում լարերի քանակը կրճատելու անհրաժեշտությամբ։ Նաև անալոգային ազդանշանը հնարավորություն տվեց օգտագործել VGA մոնիտորներ հետագա վիդեո ադապտերներով, որոնք կարող են ավելի շատ գույներ ցուցադրել[2]։

VGA-ի պաշտոնական իրավահաջորդը IBM XGA ստանդարտն էր, բայց իրականում այն փոխարինվել է տարբեր VGA ընդլայնումներով, որոնք հայտնի են որպես «Super VGA» (SVGA)։ VGA տերմինը նաև օգտագործվում է 15-փին VGA միակցիչին վերաբերելու համար՝ տարբեր լուծումներով անալոգային վիդեո ազդանշաններ փոխանցելու համար։

VGA վիդեո ադապտերների ճարտարապետությունԽմբագրել

VGA-ն (ինչպես նաև EGA-ն) բաղկացած է հետևյալ հիմնական ենթահամակարգերից («հաջորդականացնող» բառը, որը կոչվում է ռեգիստրների մի շարք՝ տեսահիշողության հարթակներ մուտքը վերահսկելու համար).

  • Գրաֆիկական կարգավորիչ (Graphics Controller), որի միջոցով տվյալները փոխանակվում են կենտրոնական պրոցեսորի և տեսահիշողության միջև։ Այն ունի փոխանցվող տվյալների վրա բիթային գործողություններ կատարելու հնարավորություն։
  • Վիդեո հիշողություն (Display Memory), որը պարունակում է մոնիտորի էկրանին ցուցադրվող տվյալները։ 256 կԲ DRAM-ը բաժանված է չորս 64 կԲ գունային շերտերի։
  • Սերիալիզատոր (Serializer կամ Sequencer) - փոխակերպում է վիդեո հիշողության տվյալները բիթային հոսքի, որը փոխանցվում է հատկանիշի վերահսկիչին[3]։
  • Հատկանիշների վերահսկիչ - Օգտագործում է գունապնակ՝ մուտքային տվյալները գունային արժեքների փոխակերպելու համար։
  • Սինքրոնիզատոր (Sequencer) - վերահսկում է վիդեո ադապտերի ժամանակի պարամետրերը և փոխում է գունային շերտերը։
  • CRT Controller (ԷՃՍ-ի վերահսկիչ) - առաջացնում է ժամացույցի ազդանշաններ CRT[4][5]-ի համար։

Ի տարբերություն CGA-ի և EGA-ի, հիմնական ենթահամակարգերը տեղակայված են մեկ չիպի մեջ, ինչը թույլ է տալիս նվազեցնել վիդեո ադապտերի չափը (EGA-ն ներդրվել է նաև մեկ չիպի մեջ, համենայն դեպս դրա թայվանական ոչ օրիգինալ կլոններում)։ PS/2 համակարգիչներում VGA վիդեո ադապտերը ինտեգրված է մայր տախտակի մեջ[2]։

Տարբերությունները EGA-իցԽմբագրել

VGA-ն բոլորովին նույնն է, ինչ EGA-ն (ներառյալ 16 գույնի ռեժիմով ներտնտեսային վիդեո հիշողությունը և դրան պրոցեսոր մուտք գործելու հաջորդականիչը), բացառությամբ հետևյալի.

  • մոնիտորի (և այլ մոնիտորների) տարբեր միակցիչ և մալուխ, անալոգային, ոչ 2 բիթ մեկ գույնի համար։ Այս միակցիչը և մալուխը չեն փոխվել մոտ 15 տարի (մինչև թվային փաթեթների վրա հիմնված DVI, HDMI և DisplayPort տեխնոլոգիաների հայտնվելը, որոնք եկել են սպառողական վիդեո սարքավորումների աշխարհից) և հետագայում օգտագործվել են շատ ավելի բարձր լուծաչափերով։ Նույնիսկ ստանդարտ VGA մոնիտորները հաճախ կարողանում էին ցուցադրել 800x600 ռեժիմ, երբ օգտագործվում էին ավելի ժամանակակից վիդեո քարտով (ամեն ինչ կախված էր մոնիտորի սկաներների որակից և նման բարձր հաճախականություններով արտադրությունը չխանգարելու կարողությունից)։
  • Ներկապնակում 18-բիթանոց գույները 6-բիթանոցի փոխարեն, նման հարուստ հավաքածուն հնարավորություն տվեց, օրինակ, կիրառել գիշերային, վատ եղանակի, «կախարդված» ռեժիմներ և թարթող գույներ միայն մեկ գունապնակով խաղերում (ինչպես խաղում է. «Վերջնագիր VII»);
  • 256 գունային ռեժիմների առկայությունը, ստանդարտը՝ 320 × 200, չփաստաթղթավորված (իրականում փաստաթղթավորված է VGA սարքավորման փաստաթղթերում, բայց ներառված չէ BIOS-ում և դրա փաստաթղթերում) հնարքները կարող էին ստանալ 320 × 240 (քառակուսի պիքսել, այսպես կոչված, «VGA ռեժիմ -X») և ավելի բարձր;
  • առավելագույնը 16 գունավոր ռեժիմ - 640 × 480 (քառակուսի պիքսել);
  • բոլոր 200 տողանոց գրաֆիկական ռեժիմներում սկան գիծը կրկնվել է 2 անգամ, ինչը տվել է մոնիտորի 400 ֆիզիկական սկան գիծ, ​​ինչը զգալիորեն բարելավում է նկարի որակը նույնիսկ ավելի ցածր ռեժիմներում (սկան գծերի միջև բացեր չկան);
  • Նիշերի գեներատորի բջջի բարձրությունը 16 սկան տող է, ոչ թե 14, ինչպես EGA-ում, որը տվել է նույն 400 սկան տողերը բոլոր տեքստային ռեժիմներում (բացառությամբ EGA նիշերի գեներատորի հետ համատեղելիության ռեժիմների)։ Այսպիսով, VGA-ն միշտ օգտագործում էր 400 սկանավորման գիծ, բացառությամբ երկու հին 16 գույնի ռեժիմների, որտեղ կային 480 և 350։ VGA-X ռեժիմը նաև օգտագործում էր 480 սկան գծեր;
  • բոլոր ռեգիստրները (պալիտրա, հաջորդականություն և այլն) ընթեռնելի են, EGA-ն ուներ մի շարք «միայն գրելու համար» ռեգիստրներ (օրինակ՝ գունապնակ)։

Տեքստի ռեժիմներԽմբագրել

Ստանդարտ տեքստային ռեժիմներում նիշերը ձևավորվում են 9×16 պիքսել բջիջում, հնարավոր է օգտագործել այլ չափերի տառատեսակներ՝ 8-9 պիքսել լայնությամբ և 1-32 փիքսել բարձրությամբ։ Հերոսների չափերն իրենք սովորաբար ավելի փոքր են, քանի որ տարածքի մի մասը ծախսվում է կերպարների միջև բացը ստեղծելու վրա։ BIOS-ում տառաչափի ընտրության ֆունկցիան առանձին է վիդեո ռեժիմի ընտրության գործառույթից, որը թույլ է տալիս օգտագործել ռեժիմների և տառատեսակների տարբեր համակցություններ։ Հնարավոր է բեռնել ութ և միաժամանակ ցուցադրել երկու տարբեր տառատեսակներ[2][6]։

VGA BIOS-ը պահպանում է հետևյալ տեսակի տառատեսակները և գործառույթները՝ դրանք բեռնելու և ակտիվացնելու համար.

  • 8×16 պիքսել (Ստանդարտ VGA տառատեսակ),
  • 8×14 (EGA համատեղելիության համար),
  • 8×8 (CGA համատեղելիության համար)։

Որպես կանոն, այս տառատեսակները համապատասխանում են CP437 ծածկագրի էջին։ Այն նաև աջակցում է տառատեսակների ծրագրային ներբեռնմանը, որոնք կարող են օգտագործվել, օրինակ, ռուսաֆիկացման համար[7]։

Հետևյալ ստանդարտ ռեժիմները մատչելի են.

40×25 նիշ, 16 գույն, թույլտվություն 360×400 պիքսել; 80×25 նիշ, 16 գույն, թույլտվություն 720×400 պիքսել; 80×25 նիշ, մոնոխրոմ, թույլտվություն 720×400 պիքսել[4]։

Թեև VGA տեքստային ռեժիմներում մեկ նիշի տարածությունը 9 պիքսել է, դրանցից միայն 8-ն է սահմանված նիշերի գեներատորի տվյալների մեջ (մեկ բայթ յուրաքանչյուր տողում 8 բիթ); Նիշերի մատրիցայի աջ սյունակի պիքսելները որոշվում են ավտոմատ կերպով՝ դատարկ (0x00-0xAF և 0xE0-0xFF տիրույթի նիշերի համար) կամ նույնը, ինչ 8-րդ սյունակի պիքսելները (0xB0-0xDF տիրույթի կեղծ նիշերի համար) . 8-րդ սյունակի կրկնման ռեժիմը կարող է անջատվել ռեգիստրի միջոցով (ոչ մի կերպ BIOS-ի հարցումով)։ Նաև ռեգիստրների միջոցով հնարավոր եղավ տեքստային ռեժիմը փոխել 9 սյունակից 8 սյունակի նիշերի համար (ճիշտ այնպես, ինչպես գրաֆիկական ռեժիմները մեկ տողում 320/360 կետով), ինչը անհրաժեշտ էր որոշ նոութբուքերի մատրիցների համար։ Այս դեպքում ստանդարտ տառատեսակները սովորաբար կպչում էին իրար, և դուք ստիպված էիք բեռնել ձերը (BIOS-ում ավելի նեղ տառատեսակներ սովորաբար սահմանվում էին վաճառողի կողմից, իսկ ռուսական տառատեսակները բեռնվում էին երրորդ կողմի ծրագրերով, ինչպիսին է KeyRus-ը)։

Օգտագործելով 8x16 ստանդարտից փոքր տառատեսակներ՝ կարող եք ավելացնել տողերի քանակը տեքստային ռեժիմում։ Օրինակ, եթե միացնեք 8x14 տառատեսակը, ապա հասանելի կլինի 28 տող։ 8x8 տառատեսակի ակտիվացումը մեծացնում է տողերի թիվը մինչև 50 (նման է EGA 80x43 ռեժիմին)[8][9]։

Տեքստային ռեժիմներում, նիշ ունեցող յուրաքանչյուր բջիջի համար կարող եք նշել հատկանիշ, որը ցույց է տալիս, թե ինչպես է նիշը ցուցադրվում։ Գոյություն ունեն ատրիբուտների երկու առանձին խմբեր՝ գունային ռեժիմների և մոնոխրոմի համար։

Գունավոր տեքստի ռեժիմի ատրիբուտները թույլ են տալիս ընտրել 16 նիշերի գույներից մեկը, 8 ֆոնային գույներից մեկը և միացնել կամ անջատել թարթումը (թարթում ընտրելու հնարավորությունը կարող է փոխարինվել 16 ֆոնային գույներից մեկը ընտրելու ունակությամբ), որը նույնը, ինչ CGA-ի հնարավորությունները։

Մոնոխրոմ ռեժիմների ատրիբուտները նույնն են, ինչ հասանելի են MDA-ում և թույլ են տալիս միացնել նիշերի պայծառության բարձրացումը, ընդգծել, թարթել, շրջել և դրանց մի քանի համակցություններ[2]։

ԾանոթագրություններԽմբագրել

  1. Wilton, Richard IBM Video Hardware and Firmware // Programmer's Guide to PC and Ps/2 Video Systems. — Microsoft Press, 1987. — С. 544. — ISBN 1-55615-103-9
  2. 2,0 2,1 2,2 Thompson Stephen։ «VGA-sign choices for a new video subsystem»։ IBM Systems Journal (անգլերեն)։ Արխիվացված է օրիգինալից 2011-08-25-ին։ Վերցված է 2006-12-15 
  3. Neal J. D.։ «VGA Sequencer Operation»։ FreeVGA Project (անգլերեն)։ Արխիվացված է օրիգինալից 2011-08-25-ին։ Վերցված է 2007-02-23 
  4. 4,0 4,1 Scott Michael։ «comp.sys.ibm.pc.hardware.video FAQ» (անգլերեն)։ Վերցված է 2007-02-23 
  5. Фролов Александр; Фролов, Григорий։ «Архитектура видеоадаптеров EGA и VGA»։ Программирование видеоадаптеров CGA, EGA и VGA։ Վերցված է 2007-02-23 
  6. Neal J. D.։ «VGA Text Mode Operation»։ FreeVGA Project (անգլերեն)։ Արխիվացված է օրիգինալից 2011-08-25-ին։ Վերցված է 2006-12-15 
  7. Фролов Александр; Фролов, Григорий։ «Приложения»։ Программирование видеоадаптеров CGA, EGA и VGA։ Վերցված է 2007-02-23 
  8. Dnes Walter։ «Nicer console textmodes» (անգլերեն)։ Արխիվացված է օրիգինալից 2003-12-07-ին։ Վերցված է 2007-01-11 
  9. Rollins Dan։ «INT 10H 11H: EGA/VGA Character Generator Functions»։ Tech Help! (անգլերեն)։ Արխիվացված է օրիգինալից 2011-08-25-ին։ Վերցված է 2007-01-11