วันอังคารที่ 9 กรกฎาคม พ.ศ. 2556

บิตตรวจสอบ (Parity Bit) & Moore's law



^_^ บิตตรวจสอบ (Parity  Bit) ^_^

บิตตรวจสอบ (Parity bit)  

               บิตภาวะคู่หรือคี่หมายถึง บิตที่เพิ่มขึ้นมาเพื่อตรวจสอบความผิดพลาดในการส่งข้อมูล ถ้าเป็น 1 ก็เรียกว่า ภาวะคี่ ถ้าเป็น 0 ก็เป็น ภาวะคู่แม้ว่าเลขฐานสองที่ใช้ในคอมพิวเตอร์มีอัตราความผิดพลาดต่ำ เพราะมีค่าความเป็นไปได้เพียง 0 หรือ 1 เท่านั้น แต่ก็อาจจะเกิดข้อบกพร่องขึ้นได้ภายในหน่อยความจำ ดังนั้น บิตตรวจสอบ จึงเป็นบิตที่เพิ่มเติมเข้ามาต่อท้ายอีก 1 บิต ซึ่งถือเป็นบิตพิเศษที่ใช้สำหรับตรวจสอบความแม่นยำและความถูกต้องของข้อมูลที่จะถูกจัดเก็บลงไปในคอมพิวเตอร์ 

 สำหรับบิตตรวจสอบ จะมีวิธีการตรวจสอบอยู่ 2 วิธีด้วยกันคือ            

            1.การตรวจสอบบิตภาวะคู่ (Event Parity)  
       
            2.การตรวจสอบบิตภาวะคี่ ( Odd Parity )

-----------------------------------------------------------------------

+_+ Moore's law +_+

Moore's law คืออะไร

                กฏของมัวร์ หรือ Moore's   law  คือ กฏที่อธิบายแนวโน้มของการพัฒนาฮาร์ดแวร์ของคอมพิวเตอร์ในระยะยาว มีความว่า จํานวนทรานซิสเตอร์ที่สามารถบรรจุลงในชิพจะเพิ่มขึ้นเป็นสองเท่า ในทุกๆสองปี  Gordon E. Moore ผู้ก่อตั้ง Intel  ซึ้งได้อธิบายแนวโน้มไว้ในรายงานของเขาในปี 1965 จึงพบว่ากฎนี้แม่นยํา อาจเกิดขึ้นเนื่องจาก อุตสาหกรรม semiconductor  นํากฎนี้ไปเป็นเป้าหมายในการวางแผน พัฒนาอุตสาหกรรมได้ moore's law เป็น ปริมาณของทรานซิสเตอร์บนวงจรรวมจำนวนของ ทรานซิสเตอร์ ต่อตารางนิ้วบน แผงวงจรรวม มีสองเท่าทุกปีตั้งแต่วงจรรวมถูกคิดค้น Moore predicted that this trend would continue for the foreseeable future. มัวร์ที่คาดการณ์ว่าแนวโน้มจะดำเนินต่อไปในอนาคตอันใกล้ ในปีถัดไป, การก้าวชะลอตัวลงเล็กน้อย แต่ความหนาแน่นของข้อมูลได้เท่าประมาณทุก 18 เดือน

                   กอร์ดอน มัวร์ เป็นผู้ร่วมก่อตั้งบริษัทอินเทล ได้ใช้หลักการสังเกตตั้งกฎของมัวร์ (Moore’s law) ขึ้น  ซึ่งเขาบันทึกไว้ว่า ปริมาณของทรานซิสเตอร์บนวงจรรวม



กฎของมัวร์ (Moore's Law)   

            ในปี .. 2490 วิลเลียมชอคเลย์และกลุ่มเพื่อนนักวิจัยที่สถาบัน เบลแล็ป ได้คิดค้นสิ่งที่สำคัญและเป็นประโยชน์ต่อชาวโลกมาก เป็นการเริ่มต้นก้าวเข้าสู่ยุคอิเล็กทรอนิคส์ที่เรียกว่า โซลิดสเตทเขาได้ตั้งชื่อสิ่งทีประดิษฐ์ขึ้นมาว่า "ทรานซิสเตอร์" แนวคิดในขณะนั้นต้องการควบคุมการไหลของกระแสไฟฟ้า ซึ่งสามารถทำได้ดีด้วยหลอดสูญญากาศแต่หลอดมี ขนาดใหญ่เทอะทะใช้กำลังงานไฟฟ้ามากทรานซิสเตอร์จึงเป็นอุปกรณ์ที่นำมาแทนหลอดสูญญากาศได้เป็นอย่างดีทำให้เกิดอุตสาหกรรมสาร กึ่งตัวนำตามมา และก้าวหน้าขึ้นเป็นลำดับ


             .. 2508 อุตสาหกรรมผลิตอุปกรณ์สารกึ่งตัวได้แพร่หลาย มีบริษัทผู้ผลิตทรานซิสเตอร์จำนวนมากการประยุกต์ใช้งานวงจรอิเล็กทรอนิกส์  กว้างขวางขึ้น มีการนำมาใช้ในเครื่องจักร อุปกรณ์ต่าง ตั้งแต่ของใช้ในบ้าน จึงถึงในโรงงานอุตสาหกรรม

             การสร้างทรานซิสเตอร์มีพัฒนาการมาอย่างต่อเนื่อง บริษัท แฟร์ซายด์ เซมิคอนดัคเตอร์เป็นบริษัทแรกที่เริ่มใช้เทคโนโลยีการผลิต ทรานซิสเตอร์แบบ    planar หรือเจือสารเข้าทางแนวราบ เทคโนโลยีแบบของการสร้างไอซีในเวลาต่อมา จากหลักฐาน พบว่า บริษัทแฟร์ซายด์ได้ผลิตพลาน่าทรานซิสเตอร์ตั้งแต่ประมาณปี .. 2502 และบริษัทเท็กซัสอินสตรูเมนต์ได้ผลิตไอซีได้ในเวลาต่อมา และกอร์ดอนมัวร์กล่าวไว้ว่า จุดเริ่มต้นของกฎของมัวร์เริ่มต้นจากการเริ่มมีพลาน่าทรานซิสเตอร์
        
               คําว่า กฎของมัวร์นั้นถูกเรียกโดยศาสตราจารย์   Caltech   นามว่า    Carver Mead
ซึ่งกล่าวว่าจํานวนทรานซิสเตอร์จะเพิ่มขึ้นเป็นสองเท่าในทุกๆหนึ่งปี ในช่วงปี 1965  ต่อมามัวร์จึงได้
เปลี่ยนรูปกฎ เพิ่ขึ้นสองเท่าในทุกๆสองปี ในปี 1975





วันอาทิตย์ที่ 7 กรกฎาคม พ.ศ. 2556

รหัสแทนข้อมูล รหัส ASCII และ รหัส Unicode


รหัส ASCII และ รหัส Unicode




ASCII
         เดิมการแทนรหัสฐานสองด้วยพยัญชนะในภาษาต่างๆเป็นการกำหนดกันเอง ขึ้นอยู่กับว่า ใครพัฒนาขึ้นมาทำให้การส่งผ่านข้อมูลระหว่างเครื่องคอมพิวเตอร์ต่างชนิดไม่สามารถส่งผ่านกันได้  เพราะใช้รหัสในเลขฐานสองไม่เหมือนกัน ดังนั้นเพื่อที่จะให้สื่อสารกันได้ จึงจำเป็นต้องมีการกำหนดมาตรฐานของรหัสขึ้น สำหรับภาษาอังกฤษ เรียกว่า รหัสแอสกี้ (American Standard Code Interchange,ASCII)

รหัสที่เป็นมาตรฐาน คือ รหัส ASCII             
          American Standard Code For Information Interchange (ASCII) อ่านว่า แอส-กี้ เป็นรหัสที่พัฒนาขึ้นโดยสถาบันมาตรฐานแห่งชาติสหรัฐอเมริกา (American National Standard Institute: ANSI อ่านว่า แอน-ซาย) เรียกว่า ASCII Code ซึ่งเป็นที่นิยมในกลุ่มผู้สร้างเครื่องคอมพิวเตอร์ทั่วไป รหัสนี้ได้มาจากรหัสขององค์กรมาตรฐานระหว่างประเทศ (International Standardization Organization: ISO) ขนาด 7 บิท ซึ่งสามารถสร้างรหัสที่แตกต่างกันได้ถึง 128 รหัส (ตั้งแต่ 000 0000 ถึง 111 1111) โดยกำหนดให้ 32 รหัสแรกเป็น 000 0000 ถึง 001 1111 ทำหน้าที่เป็นสั่งควบคุม เช่น รหัส 000 1010 แทนการเลื่อนบรรทัด (Line Feed)ในเครื่องพิมพ์ เป็นต้น และอีก 96 รหัสถัดไป (32-95) ใช้แทนอักษรและสัญลักษณ์พิเศษอื่น รหัส ASCII ใช้วิธีการกำหนดการแทนรหัสเป็นเลขฐานสิบ ทำให้ง่ายต่อการจำและใช้งาน นอกจากนั้นยังสามารถเขียนมนรูปของเลขฐานสิบหกได้ด้วย ดังนั้น ASCII Code จึงเป็นรหัสที่เขียนได้ 3 แบบ เช่นอักษร A สามารถแทนเป็นรหัสได้ดังนี้
สัญลักษณ์
เลขฐานสิบ
เลขฐานสอง
เลขฐานสิบหก
A
65
100 0001
4 1
รหัส ASCII สามารถใช้แทนข้อมูลอักขระและคำสั่งได้มากขึ้น และมีการขยายเป็นรหัสแบบ 8 บิท

ตารางรหัส ASCII แทนตัวอักษร


















วิธีการอ่านค่าจากตารางแอสกี

1. ชี้ตรงตัวอักษรที่ต้องการแทนรหัส เช่น ก
2. อ่านค่ารหัสในตารางแนวตั้งตรงตำแหน่ง b7 b6 b5 และ b4 ค่าที่ได้ คือ 1010
3. อ่านค่ารหัสในตารางแนวนอนตรงตำแหน่ง b3 b2 b1 และ b0 ค่าที่ได้ คือ 0001
4. ดังนั้นรหัสแทนข้อมูลของตัวอักษร ก คือ 1010 0001

***************************************************************

Unicode

        ยูนิโค๊ด คือ รหัสคอมพิวเตอร์ใช้แทนตัวอักขระ สามารถใช้แทน ตัวอักษร,ตัวเลข,สัญลักษณ์ต่างๆ ได้มากกว่ารหัสแบบเก่าอย่าง  ASCII ซึ่งเก็บตัวอักษรได้สูงสุดเพียง 256 ตัว(รูปแบบ) โดย Unicdoe รุ่นปัจจุบันสามารถเก็บตัวอักษรได้ถึง 34,168 ตัวจากภาษาทั้งหมดทั่วโลก 24 ภาษา โดยไม่สนใจว่าเป็นแพลตฟอร์มใด ไม่ขึ้นกับโปรแกรมใด หรือภาษาใด unicode ได้ถูกนำไปใช้โดยผู้นำในอุตสาหกรรม 
เช่น Apple, HP, IBM, Microsoft, Unix ฯลฯ และเป็นแนวทางอย่างเป็นทางการในการทำ ISO /IEC 10646 ดังนั้น Unicode จึงถือเป็นมาตรฐานในการกำหนดรหัส สำหรับทุกตัวอักษร ทุกอักขระ  unicode ทำให้ข้อมูลสามารถเคลื่อนย้ายไปมาในหลายๆ ระบบ ข้ามแพลตฟอร์มไปมา หรือข้ามโปรแกรมได้อย่างสะดวก โดยไร้ข้อจำกัด Unicode ต่างจาก ASCII คือ ASCII เก็บ byte เดียว แต่ Unicode เก็บ 2 byte ซึ่งข้อมูล 2 byte เก็บข้อมูลได้มากมายมหาศาล สามารถเก็บข้อมูลได้มากมายหลายภาษาในโลก 
อย่างภาษาไทยก็อยู่ใน Unicode นี้ด้วยเหมือนกัน ดังนั้นรหัสภาษาไทยเอาไปเปิดในภาษาจีน ก็ยังเป็นภาษาไทยอยู่ ไม่ออกมาเป็นภาษาจีน เพราะว่ามี code ตายตัวอยู่ว่า code นี้จองไว้สำหรับภาษาไทย แล้ว code ตรงช่วงนั้นเป็นภาษาจีน ตรงโน่นเป็นภาษาญี่ปุ่น จะไม่ใช้ที่ซ้ำกัน เป็นต้น

Unicode คืออะไร ยูนิโค๊ด คือ รหัสคอมพิวเตอร์ ซึ่งใช้แทนตัวอักษร ตัวเลข และ สัญลักษณ์ต่างๆ
ตัวอย่าง Unicode


***************************************************************
CHATNARONG WONGMANEESUP

แทนด้วยรหัส ASCII  ดังนี้

0100  0011   C
0100  1000   H
0100  0001   A
0101  0100   T
0100  1110   N
0100  0001   A
0101  0010   R
0100  1111   O
0100  1110   N
0100  0111   G
0100  0000  SPACE
0101  0111   W
0100  1111   O
0100  1110   N
0100  0111   G
0100  1101   M
0100  0001   A
0100  1110   N
0100  0101   E
0100  0101   E
0101  0011   S
0101  0101   U
0101  0000   P
ใช้พื้นที่จัดเก็บจำนวน 23 byte


แทนด้วยรหัส ASCII  ดังนี้

010000110100100001000001010101000100111001000001010100100100111101001110010001110101011101001111010001110010001110100110101000001010011100100010101000101010100110101010101010000

ใช้พื้นที่จัดเก็บจำนวน 177 bit  22 byte



ขอบคุณครับ 
THANK YOU