วันเสาร์ที่ 13 กรกฎาคม พ.ศ. 2556

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

 .......................................................

 

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

รหัสAscll


PARTTIRA YUPRADIT
รหัส                                                              
P = 0101 0000
A = 0100 0001
R = 0101 0010
T = 0101 0100
T = 0101 0100
I = 0100 1001
R = 0101 0001
A = 0100 0001
Space = 0100 0000
Y = 0101 1001 
U =  0101 0101
P =  0101 0000
  R = 0101 0001  
A = 0100 0001
D =  0100 0100
I =  0100 1001
T =  0101 0100

วันจันทร์ที่ 8 กรกฎาคม พ.ศ. 2556

Unicode




            

UNICODE..

ยูนิโคด

            ยูนิโคด (อังกฤษ: Unicode) คือมาตรฐานอุตสาหกรรมที่ช่วยให้คอมพิวเตอร์แสดงผลและจัดการข้อความธรรมดาที่ใช้ในระบบการเขียนของภาษาส่วนใหญ่ในโลกได้อย่างสอดคล้องกัน ยูนิโคดประกอบด้วยรายการอักขระที่แสดงผลได้มากกว่า 100,000 ตัว พัฒนาต่อยอดมาจากมาตรฐานชุดอักขระสากล (Universal Character Set: UCS) และมีการตีพิมพ์ลงในหนังสือ The Unicode Standard เป็นแผนผังรหัสเพื่อใช้เป็นรายการอ้างอิง นอกจากนั้นยังมีการอธิบายวิธีการที่ใช้เข้ารหัสและการนำเสนอมาตรฐานของการเข้ารหัสอักขระอีกจำนวนหนึ่ง การเรียงลำดับอักษร กฎเกณฑ์ของการรวมและการแยกอักขระ รวมไปถึงลำดับการแสดงผลของอักขระสองทิศทาง (เช่นอักษรอาหรับหรืออักษรฮีบรูที่เขียนจากขวาไปซ้าย)

ยูนิโคดคอนซอร์เทียม

              ยูนิโคดคอนซอร์เทียม (Unicode Consortium) ซึ่งเป็นองค์กรไม่แสวงหาผลกำไร เป็นผู้รับผิดชอบในการพัฒนายูนิโคด องค์กรนี้มีจุดมุ่งหมายเกี่ยวกับการแทนที่การเข้ารหัสอักขระที่มีอยู่ด้วยยูนิโคดและมาตรฐานรูปแบบการแปลงยูนิโคด (Unicode Transformation Format: UTF) แต่ก็เป็นที่ยุ่งยากเนื่องจากแผนการที่มีอยู่ถูกจำกัดไว้ด้วยขนาดและขอบเขต ซึ่งอาจไม่รองรับกับสภาพแวดล้อมหลายภาษาในคอมพิวเตอร์
           ความสำเร็จของยูนิโคดคือการรวมรหัสอักขระหลายชนิดให้เป็นหนึ่งเดียว นำไปสู่การใช้งานอย่างกว้างขวางและมีอิทธิพลต่อการแปลภาษาของซอฟต์แวร์คอมพิวเตอร์ นั่นคือโปรแกรมจะสามารถใช้ได้หลายภาษา มาตรฐานนี้มีการนำไปใช้เป็นเทคโนโลยีหลักหลายอย่าง อาทิ เอกซ์เอ็มแอล ภาษาจาวา ดอตเน็ตเฟรมเวิร์ก และระบบปฏิบัติการสมัยใหม่
           ยูนิโคดสามารถนำไปใช้งานได้ด้วยชุดอักขระแบบต่าง ๆ ชุดอักขระที่เป็นที่รู้จักมากที่สุดคือ UTF-8 (ใช้ 1 ไบต์สำหรับอักขระทุกตัวในรหัสแอสกีและมีค่ารหัสเหมือนกับมาตรฐานแอสกี หรือมากกว่านั้นจนถึง 4 ไบต์สำหรับอักขระแบบอื่น) UCS-2 ซึ่งปัจจุบันเลิกใช้แล้ว (ใช้ 2 ไบต์สำหรับอักขระทุกตัว แต่ไม่ครอบคลุมอักขระทั้งหมดในยูนิโคด) และ UTF-16 (เป็นส่วนขยายจาก UCS-2 โดยใช้ 4 ไบต์สำหรับแทนรหัสอักขระที่ขาดไปของ UCS-2)

ข้อจำกัดและปัญหา

                  มีการวิจารณ์ยูนิโคดเกี่ยวกับปัญหาทางเทคนิค และข้อจำกัดต่าง ๆ อย่างไรก็ดี ยูนิโคดได้กลายเป็นวิธีการเข้ารหัสที่ใช้กันมากที่สุดในการทำให้ซอฟต์แวร์และระบบปฏิบัติการใช้ได้หลายภาษาพร้อม ๆ กัน
                  ระบบปฏิบัติการตระกูลวินโดวส์ ได้แก่วินโดวส์เอ็นที, วินโดวส์ 2000 และ วินโดวส์เอกซ์พี ใช้รหัสยูนิโคดแบบ UTF-16 ในการเข้ารหัสข้อความ ระบบปฏิบัติการที่คล้ายกับยูนิกซ์ เช่น GNU/Linux BSD และ Mac OS X ก็ได้นำยูนิโคดแบบ UTF-8 มาใช้ เป็นพื้นฐานของการแทนข้อความที่มีหลายภาษา
                  การรองรับภาษาไทยในยูนิโคด ได้รับการวิพากษ์วิจารณ์เนื่องจากว่าลำดับเรียงตัวอักษรนั้นไม่ถูกต้องตามที่ควรจะเป็น ซึ่งเป็นเพราะว่ายูนิโคดในส่วนภาษาไทยได้อ้างอิงรูปแบบเดิมจาก Thai Industry Standard 620 (TIS-620) ที่มีปัญหานี้เช่นกัน จึงทำให้การเทียบเรียงลำดับยูนิโคดยุ่งยากขึ้น

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

PARITY BIT !!!
            
           แพริตีบิต หรือ บิตภาวะคู่หรือคี่  (อังกฤษ: parity bit) หรืออาจเรียกเพียงแค่ แพริตี หมายถึงบิตที่เพิ่มเข้าไปในข้อมูล โดยไม่จำเป็นว่าจะต้องนำไปต่อท้ายหรือขึ้นต้น เพื่อทำให้แน่ใจว่าบิตที่เป็นค่า 1 ในข้อมูลมีจำนวนเป็นเลขคู่หรือเลขคี่ การใช้แพริตีบิตเป็นวิธีที่ง่ายอย่างหนึ่งในการตรวจจับและแก้ไขความผิดพลาด
แพริตีบิตมีสองชนิดคือ แพริตีบิตคู่ (even parity bit) กับ แพริตีบิตคี่ (odd parity bit) ตามข้อมูลในเลขฐานสอง
  • แพริตีบิตคู่ จะมีค่าเป็น 1 เมื่อจำนวนของเลข 1 ในข้อมูลเป็นจำนวนคี่ (ซึ่งจะทำให้จำนวนเลข 1 ทั้งหมดเป็นจำนวนคู่ เมื่อรวมกับบิตนี้)
  • แพริตีบิตคี่ จะมีค่าเป็น 1 เมื่อจำนวนของเลข 1 ในข้อมูลเป็นจำนวนคู่ (ซึ่งจะทำให้จำนวนเลข 1 ทั้งหมดเป็นจำนวนคี่ เมื่อรวมกับบิตนี้)
โดยแท้จริงแล้ว แพริตีบิตคู่เป็นกรณีพิเศษหนึ่งของการตรวจสอบด้วยส่วนซ้ำซ้อนแบบวน (cyclic redundancy check: CRC) เนื่องจากซีอาร์ซีขนาดหนึ่งบิตถูกสร้างขึ้นจากพหุนาม x + 1
ถ้าแพริตีบิตมีตำแหน่งแต่ไม่มีการใช้ มีสองแนวทางคือกำหนดให้เป็น 0 ตลอดเรียกว่า แพริตีว่าง (space parity) หรือกำหนดให้เป็น 1 ตลอดเรียกว่า แพริตีกำหนด (mark parity)


ประวัติโดยรวม

            แต่เดิม "แพริตีแทร็ก" (parity track) ได้เสนอขึ้นเป็นครั้งแรกพร้อมกับแถบแม่เหล็กสำรองข้อมูลใน ค.ศ. 1951 แพริตีในลักษณะนี้เป็นการตรวจสอบด้วยส่วนซ้ำซ้อนแนวตั้งหรือตามขวาง (transverse redundancy check) ซึ่งกระทำผ่านสัญญาณคู่ขนานหลายสัญญาณไขว้ข้ามกัน สิ่งนี้สามารถผสานได้กับแพริตีที่คำนวณโดยบิตหลายบิตที่ส่งมาจากสัญญาณเดียว นั่นคือการตรวจสอบด้วยส่วนซ้ำซ้อนตามยาว (longitudinal redundancy check) ในบัสคู่ขนาน จะมีหนึ่งบิตเพื่อการตรวจสอบด้วยส่วนซ้ำซ้อนตามยาว ต่อสัญญาณคู่ขนานหนึ่งคู่


การตรวจสอบหาความผิดพลาด

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


การใช้งาน

             การคำนวณแพริตีมีการใช้งานในฮาร์ดแวร์หลายชนิด ไม่ว่าจะใช้เพื่อการดำเนินงานที่เกิดขึ้นซ้ำ ๆ และยุ่งยาก หรือมีไว้เพื่อตรวจหาข้อผิดพลาดอย่างง่าย เนื่องจากมีหลักการคิดที่ไม่ซับซ้อน ตัวอย่างฮาร์ดแวร์เช่น สกัสซีและพีซีไอบัสใช้แพริตีบิตเพื่อตรวจหาความผิดพลาดในการส่งผ่านข้อมูล แคชคำสั่งหลายอย่างในไมโครโพรเซสเซอร์ก็มีการป้องกันด้วยแพริตี เนื่องจากข้อมูลคำสั่งบนแคชเป็นเพียงข้อมูลที่คัดลอกมาจากหน่วยความจำหลัก ซึ่งสามารถลบทิ้งแล้วดึงคำสั่งขึ้นมาใหม่ถ้าพบว่าเกิดข้อผิดพลาดขึ้น
              ในการส่งผ่านข้อมูลแบบอนุกรม รูปแบบปกติจะเป็นข้อมูล 7 บิต แพริตีบิตคู่ 1 บิต และบิตหยุดอีก 1 หรือ 2 บิต รูปแบบนี้สามารถเข้ากันได้อย่างดีกับอักขระแอสกี 7 บิตทุกตัว และสื่อสารเป็นไบต์ขนาด 8 บิตโดยสะดวก รูปแบบอื่น ๆ ก็อาจเป็นไปได้ เช่นข้อมูล 8 บิตกับแพริตีบิตอีก 1 บิต จะทำให้ข้อมูลจริงบนไบต์ขนาด 8 บิตทั้งหมดเลื่อนออกไป
          ในการสื่อสารแบบอนุกรมนี้ แพริตีบิตมักจะถูกสร้างขึ้นและตรวจสอบโดยฮาร์ดแวร์ที่เป็นส่วนต่อประสาน (เช่นยูอาร์ต) และในการรับข้อมูล ผลลัพธ์ที่ได้จะถูกส่งไปยังซีพียู (เช่นเดียวกับระบบปฏิบัติการ) ผ่านทางบิตสถานภาพในเรจิสเตอร์ของฮาร์ดแวร์ส่วนต่อประสานนั้น การกู้คืนข้อผิดพลาดจะกระทำเป็นการส่งผ่านข้อมูลมาอีกครั้ง รายละเอียดของขั้นตอนนั้นถูกควบคุมดูแลโดยซอฟต์แวร์ (เช่นรูทีนไอ/โอของระบบปฏิบัติการ)

แพริตีบล็อก

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

     
              กำหนดให้ข้อมูลที่อยู่ในบล็อก A1 = 00000111, A2 = 00000101, และ A3 = 00000000 ส่วนบล็อก Ap
(แพริตีบล็อก) จะถูกสร้างขึ้นจากข้อมูลใน A1 A2 และ A3 นำมาดำเนินการ XOR ต่อกัน ได้ผลลัพธ์เป็น 00000010 ถ้าหากจานบันทึกหมายเลข 1 เกิดล้มเหลว บล็อก A2 ก็จะไม่สามารถเข้าถึงได้ แต่จะสามารถสร้างข้อมูลเดิมกลับมาได้โดยการทำ XOR บล็อกที่เหลือคือ A1 A3 และ Ap นั่นคือ A2 = A1 XOR A3 XOR Ap = 00000101 ซึ่งเท่ากับข้อมูลในตอนแรก

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

ASCII

...ASCII...

         แอสกี หรือ รหัสมาตรฐานของสหรัฐอเมริกาเพื่อการแลกเปลี่ยนสารสนเทศ (อังกฤษ: ASCII: American Standard Code for Information Interchange) เป็นรหัสอักขระที่ประกอบด้วยอักษรละติน เลขอารบิก เครื่องหมายวรรคตอน และสัญลักษณ์ต่างๆ โดยแต่ละรหัสจะแทนด้วยตัวอักขระหนึ่งตัว เช่น รหัส 65 (เลขฐานสิบ) ใช้แทนอักษรเอ (A) พิมพ์ใหญ่ เป็นต้น

http://upload.wikimedia.org/wikipedia/commons/9/96/Ascii_full.png   ประวัติ!!

        รหัสแอสกีมีใช้ในระบบคอมพิวเตอร์ และเครื่องมือสื่อสารแบบดิจิทัลต่างๆ พัฒนาขึ้นโดยคณะกรรมการ X3 ซึ่งอยู่ภายใต้การดูแลของสมาคมมาตรฐานอเมริกา (American Standards Association) ภายหลังกลายเป็น สถาบันมาตรฐานแห่งชาติอเมริกา (American National Standard Institute : ANSI) ในปี ค.ศ. 1969 โดยเริ่มต้นใช้ครั้งแรกในปี ค.ศ. 1967 ซึ่งมีอักขระทั้งหมด 128 ตัว (7 บิต) 
        โดยจะมี 33 ตัวที่ไม่แสดงผล (unprintable/control character) ซึ่งใช้สำหรับควบคุมการทำงานของคอมพิวเตอร์บางประการ เช่น การขึ้นย่อหน้าใหม่สำหรับการพิมพ์ (CR & LF - carriage return and line feed) การสิ้นสุดการประมวลผลข้อมูลตัวอักษร (ETX - end of text) เป็นต้น และ อีก 95 ตัวที่แสดงผลได้ (printable character) ดังที่ปรากฏตามผังอักขระ (character map) ด้านล่าง
         รหัสแอสกีได้รับการปรับปรุงล่าสุดเมื่อ ค.ศ. 1986 ให้มีอักขระทั้งหมด 256 ตัว (8 บิต) และเรียกใหม่ว่าแอสกีแบบขยาย อักขระที่เพิ่มมา 128 ตัวใช้สำหรับแสดงอักขระเพิ่มเติมในภาษาของแต่ละท้องถิ่นที่ใช้ เช่น ภาษาเยอรมัน ภาษารัสเซีย ฯลฯ โดยจะมีผังอักขระที่แตกต่างกันไปในแต่ละภาษาซึ่งเรียกว่า โคดเพจ (codepage) โดยอักขระ 128 ตัวแรกส่วนใหญ่จะยังคงเหมือนกันแทบทุกโคดเพจ มีส่วนน้อยที่เปลี่ยนแค่บางอักขระ

 

ผังอักขระแอสกีที่ไม่แสดงผล

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

ผังอักขระแอสกีที่แสดงผล