^ ^

ยินดีต้อนรับครับ //** ข้อมูลทั้งหมดนี้ สรุปตามความเข้าใจของผมเอง ใครอ่านไม่เข้าใจกราบขออภัยด้วยครับ หากผมเข้าใจผิด ก็ช่วยติและแนะนำผมด้วยนะครับ**//

วันเสาร์ที่ 10 พฤษภาคม พ.ศ. 2557

Computer 1 bit แบบง่ายๆครับ

โปรเจคชิ้นงานนี้สร้างขึ้นเพื่อเพิ่มความใจในเรื่องของ

Computer Architecture and Organization

 มากยิ่งขึ้น โดยรายละเอียดต่างๆและการทำงานได้อธิบายตาม VDO ด้านล่างนี้ครับ




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


ซึ่งค่าใช้จ่ายอุปกรณ์ทั้งหมดตามด้านล่างครับ

รายการของที่ใช้ในการทำมีดังต่อไปนี้


IC  AND(74LS08)
IC  OR (74LS32)
ตัวต้านทาน 330 ohm
LED
สายไฟแข็ง(เสียบ
Protoboardได้
)

Protoboard
Switch เปิด-ปิด
ปุ่ม กด-เด้ง
74LS155,156 (DEMUX Dual 2 to 4)
74LS83 (ADDER 4 bit)
74LS194(4 bit shift register)

ของทั้งหมดหาซ้อได้จาก

ซื้อที่ร้านชุมพล
Switch เปิด-ปิด     7  ตัว    ตัวละ  7 บาท          =  49 บาท
LED                     5 ตัว    ตัวละ  3 บาท           =  15 บาท
Protoboard          2   อัน    อันละ  145  บาท   =   290
รวม    354   บาท


ซื้อที่ร้านปรีชา อิเลคโทรนิคส์
IC  AND(74LS08)            2 ตัว ตัวละ 12 บาท =  24 บาท
74HC32                                                                                               2 ตัว ตัวละ 15 บาท  =  30  บาท
74LS155(DEMUX Dual 2 to 4)                      2  ตัว ตัวละ  25 บาท = 50 บาท
74LS83 (ADDER 4 bit)                   2 ตัว ตัวละ   25 บาท  =  50 บาท
74HC194                                                                                        2  ตัวละ        30 บาท = 60  บาท


รวม 214  บาท +  ค่าส่ง 50  บาท เป็น   264  บาท


ซื้อที่ บ้านอิเล็กทรอนิกส์

330E ต้วต้านทาน 1/4W 5%  4ตัว รวมราคา 1 บาท
สายไฟเบอร์ 22 สีเขียว สายแข็ง ( เมตร )  6 ตัว รวมราคา 42 บาท
สวิตช์ PCB S2P-665 2 ตัว รวมราคา 7 บาท ราคาของทั้งหมด 50 บาท+ค่าส่ง 55 รวมทั้งหมด 105

รวมราคาทั้งหมด  723  บาท
*หมายเหตุ ทำจริงราคาอาจจะถูกกว่านี้ถ้าซื้อของจากร้านเดียว แต่เนื่องจากร้านบางร้านมีของไม่ครบ เลยทำให้งบบานปลายเพราะแยกซื้อหลายร้าน

#ปัญหา อุปกรณ์บางชิ้นที่ซื้อมาไม่ตรงกับที่ออกแบบไว้เลยต้องแก้ปัญหาเฉพาะหน้าที่ตัวชิ้นงาน เพราะการป้อนค่า CLK ของ ICบางตัวไม่เหมือนกัน

และนี่คือจตัวอย่างภาพของชิ้นงาน




วันเสาร์ที่ 15 กุมภาพันธ์ พ.ศ. 2557

5คำถามที่อยากรู้คำตอบ หรือมักจะถูกถามจากเพื่อน เมื่อจะซื้อคอมพิวเตอร์หรือ smart device ใหม่

1.จะเล่นเกมส์และทำงานด้านกราฟฟิกเอาเครื่องแบบไหนดี PC หรือ โน๊ตบุ๊ค และยี่ห้อไหน ทนสุด?
2.ซื้อยี่ห้อไหนดี?
3.แรมเอาเท่าไหร่ดี ถึงจะไว?
4.ฮาสดิสต้องประมาณเท่าไหร่?
5. Core i3 i5 i7 อันไหนคุ้มกว่ากันถ้าซื้อมาแล้ว

วันเสาร์ที่ 25 มกราคม พ.ศ. 2557

CPU...MIPS && ARM

โปรแกรมที่ใช้จำลอง CPU ในที่นี้ จะป็นของ MIPS กับ ARM นะครับ
ลิ้งดาวโหลด
ARM : http://armsim.cs.uvic.ca
MIPS: http://spimsimulator.sourceforge.net


วันจันทร์ที่ 20 มกราคม พ.ศ. 2557

สรุปเนื้อหาในคาบเรียน#2

ต่อจาก สัปดาห์ที่แล้ว

ยังอยู่ในเรื่องของการ เก็บข้อมูลลงในคอมพิวเตอร์ ซึ่งสัปดาห์นี้มาเจาะมากขึ้น โดยเขียนโปรแกรมช่วยคำนวณตรวจสอบดูว่า เครื่องคอมพิวเตอร์แต่ล่ะเครื่องนั้นเก็บข้อมูลแบบ  Big Endian หรือ Little Endian

ตัวอย่างที่ควิซในห้องเรียน
 จะเก็บ 7.25 ลงในเครื่องคอมพิวเตอร์ 64 bit แบบ  Big Endian และ Little Endian อย่างไร?

จากตารางที่แล้ว การเก็บแบบ 64 bit นั้น มีรายละเอียดดังนี้
Sing =1 bit
Exp = 11 bit 
Singnificant = 52 bit
Bias = 1023 bit

เราจะมาหาค่าของ [Sing] [ Exp] [Singnificant] กัน
ซึ่ง ค่า[Sing] = 0  เพราะ 7.25 เป็นค่าบวก

จากนั้นหาค่า  [ Exp] [Singnificant] 
เริ่มแรกโดยการ ทำ 7.25 ให้อยู่ในรูปฐาน2ก่อน
 จากกระบวนการแปลงเลขของสัปดาห์ที่แล้ว จะได้ว่า

  7.25 = 111.01
จากนั้นทำการเลื่อนจุดไปที่หลังเลขเลข 1 ตามกฏของการเก็บค่าแบบ Mendesa จะได้ดังนี้
จาก 111.01  => 1.1101 x 2^2       //    ^ เป็นเครื่องหมายยกกำลัง    //

เมื่อได้เลขยกกำลังแล้ว จะหาค่า Exp ได้
Exp = 1023+2  = 1025 แล้วแปลง  1025 เป็นฐาน2
1025 = 1000 0000 001
ดังนั้น  [ Exp] = 1000 0000 001

หาค่า  [Singnificant] โดยเอาค่าหลังจุดมา ให้ได้ 52 bit
จาก 1.1101 เราจะเก็บ หลังจุดไป จะได้
1101 0000... ( เพิ่ม 0 ไป 48 ตัว เพราะ 52 - 4 = 48)
เขียนแพคเป็นข้อมูล จะได้

 [Sing] [ Exp] [Singnificant]

[0][1000 0000 001][1101 0...(0 มี 48 ตัว)]

เรียงข้อมูล จะได้ 
0100 0000 0001 1101 0... ( 0 48 ตัว)
ทำเป็น Byte จะได้ดังนี้   // 1 byte = 8 bit//
   0100 0000 = 64
  0001 1101 = 29 
0000 0000 = 0
0000 0000 = 0
0000 0000 = 0
0000 0000 = 0
0000 0000 = 0
0000 0000 = 0

เพราะฉะนั้น ข้อมูลเมื่อเรียงแบบ Big Endian จะได้
64 29 0 0 0 0 0 0

เมื่อเรียงแบบ Little Endian จะได้
0 0 0 0 0 0 29 64

กรณี ได้ข้อมูลมาเป็น 0100 0000 0001 1101 0... ( 0 48 ตัว)
เราก็ทำการคิดย้อนกลับ โดยให้ bit แรก เป็นเครื่องหมาย แล้วbit ถัดมาจะเป็น Exponent และbit ถัดมาก็จะเป็น Singnificant ซึ่งแต่ล่ะค่านั้น จำนวนbitจะขึ้นอยู่กับว่าเก็บข้อมูลแบบกี่บิต
พอแยกเลขออกเป็นbitของแต่ล่ะอย่างได้แล้วก็ทำการแปลงให้เป็นเลขจำนวนจริง