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

moore 's law

 กฎของมัวร์ 

 กฎของมัวร์เป็นคำที่คอมพิวเตอร์ที่เกิดขึ้นรอบ 1970; ฉบับง่ายนี้รัฐกฎหมายที่ความเร็วในการประมวลผลหรือพลังการประมวลผลโดยรวมของเครื่องคอมพิวเตอร์จะเป็นสองเท่าทุกสองปี ตรวจสอบอย่างรวดเร็วในหมู่ช่างใน บริษัท คอมพิวเตอร์ที่แตกต่างกันแสดงให้เห็นว่าคำว่าไม่เป็นที่นิยมมาก แต่การปกครองยังคงเป็นที่ยอมรับ
จะทำลายลงกฎหมายให้ดียิ่งขึ้นก็เฉพาะตามที่ระบุว่าจำนวนของทรานซิสเตอร์บน CPU ราคาไม่แพงจะเป็นสองเท่าทุกสองปี (ซึ่งเป็นหลักเดียวกับที่ระบุไว้ก่อน) แต่ 'ทรานซิสเตอร์มากขึ้นถูกต้องมากขึ้น
cpu 2 Moores Law
ซีพียู
ถ้าคุณมองไปที่ความเร็วในการประมวลผลจากปี 1970 ถึง 2009 และอีกครั้งในปี 2010, หนึ่งอาจคิดว่ากฎหมายได้ก้าวมาถึงขีด จำกัด หรือใกล้ขีด จำกัด ในปี 1970 ความเร็วในการประมวลผลที่แตกต่างกันตั้งแต่ 740 KHz ไป 8MHz; สังเกตว่า 740 KHz ซึ่งเป็นกิโลเฮิร์ตซ์ - ในขณะที่ 8 MHz ซึ่งเป็นเมกะเฮิร์ตซ์เป็น
จาก 2000 - 2009 มีไม่ได้จริงๆมากของความเร็วแตกต่างกันในขณะที่ช่วงความเร็วจาก 1.3 GHz ถึง 2.8 GHz ซึ่งแสดงให้เห็นว่าความเร็วที่ไ​​ด้แทบจะไม่เป็นสองเท่าในช่วง 10 ปี นี้เป็นเพราะเรากำลังมองหาด้วยความเร็วและไม่ได้จำนวนทรานซิสเตอร์; ในปี 2000 จำนวนของทรานซิสเตอร์ใน CPU หมายเลข 37500000 ในขณะที่ในปี 2009 จำนวนขึ้นไปโดดเด่น 904000000; นี้เป็นเหตุผลที่มันเป็นความแม่นยำมากขึ้นไป ใช้กฎหมายเพื่อทรานซิสเตอร์กว่าเพื่อเพิ่มความเร็ว
ที่มีทั้งหมดพูดคุยของทรานซิสเตอร์นี้ผู้ใช้ช่างหรือคอมพิวเตอร์เฉลี่ยอาจจะไม่เข้าใจสิ่งที่หมายถึงตัวเลข; วิธีที่ง่ายที่จะอธิบายก็คือซีพียูก่อนหน้านี้ในตลาดมีความเร็วเดียวหรือคะแนนความถี่ในขณะที่รูปแบบใหม่มีคะแนนซึ่งหมายถึง มากกว่าหนึ่ง CPU
gordon moore 263x300 Moores Law
กอร์ดอนมัวร์อี
หากคุณได้ซื้อคอมพิวเตอร์เมื่อเร็ว ๆ นี้คุณอาจจะมีความคิดของสิ่งนี้หมายถึงการเป็นพนักงานขายอาจจะขายคุณในสิ่งมหัศจรรย์ของมัลติคอร์ซีพียู ในตัวอย่างดังกล่าวข้างต้นด้วยความเร็วเกินกว่าจำนวนมากของปีไประหว่าง 1.3 และ 2.8 ซึ่งเป็นคู่แทบจะไม่ แต่สิ่งที่จะต้องเก็บไว้ในใจก็คือ 2.8 เป็นแกนรูปสี่เหลี่ยมในขณะที่ 1.3 เป็นหลักเดียว ซึ่งหมายความว่าอำนาจที่แท้จริงของ 2.8 จะพบถ้าคุณคูณด้วยสี่ - ที่จะให้คุณมหันต์ 11.2 ซึ่งเป็นหนทางไกลจาก 1.3
เนื่องจากอัตราที่รวดเร็วว่าเทคโนโลยีได้เติบโตขึ้นในไม่กี่ปีที่ผ่านมาส่วนใหญ่ช่างเทคนิคคอมพิวเตอร์ที่คุณพูดคุยกับ - ว่าพวกเขาเคยได้ยินจากกฎของมัวร์หรือจะไม่บอกคุณว่าความเร็วของ CPU สองในแต่ละปี แม้ว่ากฎของมัวร์ได้กล่าวทุกสองปีนี้เพิ่มขึ้นอย่างรวดเร็วในการผลิตเทคโนโลยีได้ลดระยะเวลาในใจของช่างเทคนิคและผู้ใช้เหมือนกัน
ข้อ จำกัด ที่มีอยู่ก็คือทรานซิสเตอร์ครั้งเดียวที่สามารถสร้างขึ้นมีขนาดเล็กเป็นอนุภาคอะตอมแล้วจะไม่มีห้องพักมากขึ้นสำหรับการเจริญเติบโตในตลาดซีพียูที่ความเร็วในการมีความกังวล



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

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

                                                                    
                                                                       รหัส ASCII


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


            ประวัติ  รหัสแอสกีมีใช้ในระบบคอมพิวเตอร์ และเครื่องมือสื่อสารแบบดิจิทัลต่างๆ พัฒนาขึ้นโดยคณะกรรมการ 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 ตัวแรกส่วนใหญ่จะยังคงเหมือนกันแทบทุกโคดเพจ มีส่วนน้อยที่เปลี่ยนแค่บางอักขระ

 ASCII เป็นรูปแบบปกติของไฟล์ข้อความ (text file) ในคอมพิวเตอร์ และอินเตอร์เน็ต ในไฟล์ ASCII อักษรแต่ละตัว ตัวเลข หรืออักษรพิเศษ จะได้รับการแสดงด้วยตัวเลขฐานสอง ซึ่งสามารถใช้ระบุตัวอักษรได้ 128 ตัว

          ระบบ ปฏิบัติการ UNIX และ DOS   (ยกเว้น Windows NT) ใช้ ASCII สำหรับไฟล์ข้อความ ระบบ Windows NT ใช้รหัสแบบใหม่ คือ Unicode ในระบบ IBM 390 ใช้รหัส 8 หลัก เรียกว่า extended binary-decimal interchange code โปรแกรมแปลงยินยอมให้ระบบปฏิบัติที่แตกต่างกันแปลงไฟล์จากรหัสหนึ่งเป็น อีกรหัสหนึ่ง
  

ตัวอย่าง รหัสแทนข้อมูลแบบ ASCII

บิตที่
7
6
5
4
3
2
1
0


0
0
1
1
0
1
1
1
แทน 7

0
1
0
0
0
1
1
1
แทน G

0
1
1
0
0
1
1
1
แทน g

0
1
0
0
1
0
1
0
แทน J

0
0
1
0
1
0
1
1
แทน +

        จากหลักการของระบบเลขฐานสอง แต่ละบิตสามารแทนค่าได้ แบบ คือ เลข หรือเลข ถ้าเราเขียนเลขฐานสอง เรียงกัน บิต ในการแทนอักขระ เราจะมีรูปแบบในการแทนอักขระได้ หรือ รุปแบบคือ 00 ,01 ,10 ,11 ดังนั้นในการใช้รหัสแอสกีซึ่งมี บิต ในการแทนอักขระแล้ว เราจะมีรูปแบบที่ใช้แทนถึง 28 หรือ 256 รูปแบบ ซึ่งเมื่อใช้แทนตัวอักษรภาษาอังกฤษแล้ว ยังมีเหลืออยู่ สำนักงานมาตรฐานผลิตภัณฑ์อุตสาหกรรม หรือ สมอ.จึงได้กำหนดรหัสภาษาไทยเพิ่มลงไปเพื่อให้ใช้งานร่วมกัน

  ตัวอย่าง การแทนข้อมูลในเครื่องคอมพิวเตอร์

A
0100 0001
X
0101 1000
B
0100 0010
Y
0101 1001
C
0100 0011
Z
0101 1010
D
0100 0100
0
0011 0000
E
0100 0101
1
0011 0001
F
0100 0110
2
0011 0010
G
0100 0111
3
0011 0011
H
0100 1000
4
0011 0100
I
0100 1001
5
0011 0101
J
0100 1010
6
0011 0110
K
0100 1011
7
0011 0111
L
0100 1100
8
0011 1000
M
0100 1101
9
0011 1001
N
0100 1110
.
0010 1110
O
0100 1111
(
0010 1000
P
0101 0000
+
0010 1011
Q
0101 0001
$
0010 0100
R
0101 0010
*
0010 1010
S
0101 0011
)
0010 1001
T
0101 0100
-
0010 1101
U
0101 0101
/
0010 1111
V
0101 0110
'
0010 1100
W
0101 0111
=
0010 1101


 รหัส UNICODE



           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) คือมาตรฐานอุตสาหกรรมที่ช่วยให้คอมพิวเตอร์แสดงผลและจัดการข้อความธรรมดาที่ใช้ในระบบการเขียนของภาษาส่วนใหญ่ในโลกได้อย่างสอดคล้องกัน ยูนิโคดประกอบด้วยรายการอักขระที่แสดงผลได้มากกว่า 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)


 

                             ชื่อ - นามสกุล ASCII


M          0100  1101
O                0100  1111
N                      0100  1110
T                           0101   0100
 I                                 0100   1001
R                                     0101   0010
A                                              0100   0001
SPACE                                         0100   0000   
S                                                        0101   0011             MONTIRA  SAMMAPASIT
A                                                    0100  0001 
M                                              0100  1101
M                                            0100  1101
A                                        0100   0001
P                                    0101  0000
A                                 0100 0001
S                            0101 0011
I                        0100 1001
T               0101  0100




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