ಶನಿವಾರ, ಆಗಸ್ಟ್ 24, 2013

ಸಿಂಪಲ್ ಲಾಜಿಕ್, ಕಾಂಪ್ಲೆಕ್ಸ್ ಕೆಲಸ!

ಟಿ. ಜಿ. ಶ್ರೀನಿಧಿ

ಕಂಪ್ಯೂಟರುಗಳು ಹತ್ತಾರು ಬಗೆಯ ಕೆಲಸಗಳನ್ನು ಸಮರ್ಥವಾಗಿ ಮಾಡಬಲ್ಲವು ಎನ್ನುವುದು ನಮಗೆ ಗೊತ್ತೇ ಇದೆ. ಅವುಗಳಿಗೆ ನಮ್ಮ ಭಾಷೆ ಅರ್ಥವಾಗುವುದಿಲ್ಲ ಎನ್ನುವುದೂ ಗೊತ್ತು; ನಾವು ಹೇಳಿದ್ದು ಕಂಪ್ಯೂಟರಿಗೆ ಗೊತ್ತಾಗುವುದು ಅದೆಲ್ಲ ದ್ವಿಮಾನ ಪದ್ಧತಿಯ ಅಂಕಿಗಳಾಗಿ ಬದಲಾದಾಗ ಮಾತ್ರವೇ ತಾನೆ!

ಆದರೆ ಇಲ್ಲಿ ಇನ್ನಷ್ಟು ವಿಷಯಗಳೂ ಇವೆ - ಮೊದಲಿಗೆ ನಾವು ಹೇಳಿದ್ದು ಕಂಪ್ಯೂಟರಿಗೆ ಅರ್ಥವಾಗುವ ರೂಪಕ್ಕೆ ಬದಲಾಗಬೇಕು, ಹಾಗೆ ಬದಲಾದ ಮೇಲೆ ನಮಗೆ ಉತ್ತರ ಸಿಗಬೇಕೆಂದರೆ ಬೇರೆಬೇರೆ ಲೆಕ್ಕಾಚಾರಗಳು ಆಗಬೇಕು, ಲೆಕ್ಕಾಚಾರವೆಲ್ಲ ಆದಮೇಲೆ ಬಂದ ಫಲಿತಾಂಶ ಒಂದುಕಡೆ ಉಳಿದುಕೊಂಡು ನಮಗೆ ಬೇಕಾದಾಗ ಬೇಕಾದ ರೂಪದಲ್ಲಿ ಸಿಗಬೇಕು.

ಕಂಪ್ಯೂಟರಿನಲ್ಲಿ ಇಷ್ಟೆಲ್ಲ ಕೆಲಸಗಳು ಆಗುವುದು ಹೇಗೆ? ಹಣಕಾಸಿನ ಲೆಕ್ಕಾಚಾರ ಮಾಡುವುದಿರಲಿ, ಚೆಸ್‌ನಂತಹ ಆಟಗಳನ್ನು ಆಡುವುದೇ ಇರಲಿ - ಕಂಪ್ಯೂಟರಿನಂತಹ ನಿರ್ಜೀವ ವಸ್ತುವಿಗೆ ಇದೆಲ್ಲ ಹೇಗೆ ಸಾಧ್ಯವಾಗುತ್ತದೆ?

ಕಂಪ್ಯೂಟರಿನಲ್ಲೊಂದು ಚಿಪ್ ಇರುತ್ತದೆ, ಅದು ಈ ಕೆಲಸಗಳನ್ನೆಲ್ಲ ಮಾಡುತ್ತದೆ ಎನ್ನುವುದು ಈ ಪ್ರಶ್ನೆಗೆ ದೊರಕುವ ಅತ್ಯಂತ ಸಾಮಾನ್ಯ ಉತ್ತರ ಇರಬೇಕು. ಆದರೆ ಈ ಉತ್ತರವೂ ಪರಿಪೂರ್ಣವಲ್ಲ. ಸಿಲಿಕಾನ್‌ನಿಂದಲೋ ಮತ್ತೊಂದರಿಂದಲೋ ತಯಾರಾದ ಸಣ್ಣದೊಂದು ಬಿಲ್ಲೆ ಇಷ್ಟೆಲ್ಲ ಕೆಲಸ ಮಾಡುವುದು ಹೇಗೆ?

ಈ ಪ್ರಶ್ನೆಗೆ ಪರಿಪೂರ್ಣವಾದ ಉತ್ತರ ತಿಳಿದುಕೊಳ್ಳಬೇಕಾದರೆ ನಾವು ಬೂಲಿಯನ್ ಲಾಜಿಕ್ ಪರಿಚಯ ಮಾಡಿಕೊಳ್ಳಬೇಕು. ಜಾರ್ಜ್ ಬೂಲ್ ಎಂಬಾತ ೧೯ನೇ ಶತಮಾನದಲ್ಲಿ ರೂಪಿಸಿದ ಈ ತರ್ಕ ಮೇಲ್ನೋಟಕ್ಕೆ ಅತ್ಯಂತ ಸರಳವಾಗಿ ಕಂಡರೂ ಕಂಪ್ಯೂಟರ್ ವಿಜ್ಞಾನದಲ್ಲಿ ಅನೇಕ ಅದ್ಭುತಗಳನ್ನು ಸಾಧ್ಯವಾಗಿಸುತ್ತದೆ.

ಬೂಲಿಯನ್ ತರ್ಕದ ಅತ್ಯಂತ ಸರಳ ಭಾಗಗಳೆಂದರೆ 'ಲಾಜಿಕ್ ಗೇಟ್'ಗಳು. ನಾಟ್ (NOT), ಆಂಡ್ (AND) ಮತ್ತು ಆರ್ (OR) ಎಂಬ ಕೇವಲ ಮೂರು ಲಾಜಿಕ್ ಗೇಟ್‌ಗಳು ಕಂಪ್ಯೂಟರ್ ವಿಜ್ಞಾನದ ತಳಹದಿಯಾಗಿ ಕೆಲಸಮಾಡುತ್ತವೆ ಎಂದರೂ ಉತ್ಪ್ರೇಕ್ಷೆಯಾಗಲಿಕ್ಕಿಲ್ಲ.

ತಮ್ಮ ಮೂಲ ರೂಪದಲ್ಲಿ ಈ ಗೇಟ್‌ಗಳು ಮಾಡುವ ಕೆಲಸವೂ ಅಷ್ಟೇನೂ ಕಷ್ಟದ್ದಾಗಿ ತೋರುವುದಿಲ್ಲ:

ನಾಟ್ ಗೇಟ್‌ಗೆ ದ್ವಿಮಾನ ಪದ್ಧತಿಯ ಒಂದು ಅಂಕಿಯನ್ನು - ೦ ಅಥವಾ ೧, ಒಂದು 'ಬಿಟ್' - ಊಡಿಸಿದರೆ (ಇನ್‌ಪುಟ್) ಅದು ಆ ಬಿಟ್‌ನ ವಿರುದ್ಧ ರೂಪವನ್ನು ಉತ್ತರವಾಗಿ (ಔಟ್‌ಪುಟ್) ಕೊಡುತ್ತದೆ. ಅಂದರೆ ೦ ಎಂಬ ಇನ್‌ಪುಟ್‌ಗೆ ಪ್ರತಿಯಾಗಿ ಇದು ೧ ಎಂಬ ಔಟ್‌ಪುಟ್ ಕೊಡುತ್ತದೆ. ಅಷ್ಟೆ!

ಆಂಡ್ ಗೇಟ್ ಇದೆಯಲ್ಲ, ಅದು ಎರಡು ಬಿಟ್‌ಗಳನ್ನು ಇನ್‌ಪುಟ್ ಆಗಿ ಸ್ವೀಕರಿಸುತ್ತದೆ, ಮತ್ತು ಆ ಎರಡೂ ಬಿಟ್‌ಗಳು ೧ ಆಗಿದ್ದರೆ ಮಾತ್ರ ೧ ಎನ್ನುವ ಔಟ್‌ಪುಟ್ ಕೊಡುತ್ತದೆ. ೦ ೦, ೦ ೧ ಅಥವಾ ೧ ೦ ಎನ್ನುವ ಯಾವ ಜೋಡಿಯನ್ನು ಈ ಗೇಟ್‌ಗೆ ಊಡಿಸಿದರೂ ನಮಗೆ ದೊರಕುವ ಉತ್ತರ ೦ ಎಂದೇ.

ಆರ್ ಗೇಟ್ ಕೆಲಸಮಾಡುವ ವಿಧಾನ ಆಂಡ್ ಗೇಟ್‌ಗಿಂತ ಕೊಂಚವೇ ಭಿನ್ನ. ಇದೂ ಎರಡು ಬಿಟ್‌ಗಳನ್ನು ಇನ್‌ಪುಟ್ ಆಗಿ ಸ್ವೀಕರಿಸುತ್ತದೆ; ಆದರೆ ನಾವು ಊಡಿಸುವ ಯಾವುದೇ ಒಂದು ಬಿಟ್ ೧ ಆಗಿದ್ದರೂ (೦ ೧, ೧ ೦ ಅಥವಾ ೧ ೧) ಉತ್ತರ ೧ ಎಂದೇ ದೊರಕುತ್ತದೆ. ಎರಡೂ ಇನ್‌ಪುಟ್‌ಗಳು ೦ ಆಗಿದ್ದಾಗ ಮಾತ್ರವೇ ಉತ್ತರವೂ ೦ ಆಗಿರುತ್ತದೆ.

ಈ ಮೂರು ಸರಳ ಗೇಟ್‌ಗಳನ್ನೇ ಬಳಸಿ ಕೊಂಚ ಭಿನ್ನವಾಗಿ ಕೆಲಸಮಾಡುವ ಇನ್ನೂ ಕೆಲ ಗೇಟ್‌ಗಳನ್ನು ರೂಪಿಸಿಕೊಳ್ಳಬಹುದು. ಆಂಡ್ ಹಾಗೂ ಆರ್ ಗೇಟ್‌ಗಳ ಔಟ್‌ಪುಟ್ ಅನ್ನು ನಾಟ್ ಗೇಟ್ ಮೂಲಕ ಹಾಯಿಸಿದರೆ (ಉತ್ತರದ ೦ಯನ್ನು ೧ ಆಗಿ ಹಾಗೂ ೧ ಅನ್ನು ೦ಯಾಗಿ ಬದಲಿಸಿದರೆ) ನ್ಯಾಂಡ್ (NAND) ಹಾಗೂ ನಾರ್ (NOR) ಗೇಟ್‌ಗಳು ಸೃಷ್ಟಿಯಾಗುತ್ತವೆ. ಭಿನ್ನ ಇನ್‌ಪುಟ್‌ಗಳಿದ್ದಾಗ (೦ ೧ ಅಥವಾ ೧ ೦) ಮಾತ್ರ ೧ ಎಂಬ ಉತ್ತರ ಕೊಡುವ ಎಕ್ಸ್‌ಆರ್ (XOR) ಹಾಗೂ ಸಮಾನ ಇನ್‌ಪುಟ್‌ಗಳಿದ್ದಾಗ (೦ ೦ ಅಥವಾ ೧ ೧) ಮಾತ್ರ ೧ ಎಂಬ ಉತ್ತರ ಕೊಡುವ ಎಕ್ಸ್‌ನಾರ್ (XNOR) ಗೇಟ್‌ಗಳೂ ಇವೆ.

ಇಷ್ಟೆಲ್ಲ ಗೇಟ್‌ಗಳಿರುವುದೇನೋ ಸರಿ, ಆದರೆ ಅವೆಲ್ಲ ಕಂಪ್ಯೂಟರ್ ಪ್ರಪಂಚದಲ್ಲಿ ಬಳಕೆಯಾಗುವುದು ಹೇಗೆ? ಮುಂದಿನವಾರ ನೋಡೋಣ.

ಆಗಸ್ಟ್ ೨೩, ೨೦೧೩ರ ಉದಯವಾಣಿಯಲ್ಲಿ ಪ್ರಕಟವಾದ ಲೇಖನ

ಕಾಮೆಂಟ್‌ಗಳಿಲ್ಲ:

badge