Blog

  • ซีพียูทำงานอย่างไร (2) – 1001

    ซีพียูทำงานอย่างไร (2) – 1001

    เรื่องนี้เป็นเรื่องต่อเนื่องจากเมื่อสองอาทิตย์ที่แล้ว เรามาลองเล่นซีพียูจำลองกันที่ www.cp.eng.chula.ac.th/~piak/pro ject/cpu1001.htm ผมเล่าไว้ถึงตอนที่เรากำลังเขียนโปรแกรมเพื่อสั่งให้ซีพียูทำงานเพื่อบวกเลขสองตัวเข้าด้วยกัน ดังนี้ (ขวามือเป็นรหัสคำสั่ง ตัดปะเข้าซีพียูจำลองเลย)mov r1 1,1
    add r1 2,2
    put r3 3,3 ซึ่งเมื่อเราสั่งให้โปรแกรมทำงาน จะได้ผลลัพธ์ออกมา แต่ถ้าสังเกตดูจะพบว่ามีแต่เลขศูนย์ไม่มีการเปลี่ยนแปลง เพราะเรายังไม่ได้ให้เลขตั้งต้น เราสามารถเขียนโปรแกรมเพิ่มเพื่อใส่เลข 10 ที่ช่อง 1 และ 20 ที่ช่อง 2 ดังนี้mvi 10 4,10
    put 1 3,1
    mvi 20 4,20
    put 2 3,2
    mov r1 1,1
    add r1 2,2
    put r3 3,3 คำสั่ง mvi จะเอาเลข (เช่น 10 ตามตัวอย่าง) ไปใส่ไว้ในกระดาษทด แล้ว put 1 เพื่อเอาไปเก็บที่ช่อง 1 ให้รหัส 4 หมายถึง mvi ให้คุณผู้อ่านลองกรอกโปรแกรมดังนี้ “4,10,3,1,4,20,3,2,1,1,2,2,3,3,0“ (เลข 0 ข้างท้ายสั่งให้ซีพียูหยุดการทำงาน) แล้วลองใหม่อีกครั้ง ท่านก็จะได้คำตอบตามต้องการ สังเกตช่องเก็บ 3 มีค่า 30 อยู่ เรามาทำโปรแกรมที่สองกันเถอะ โจทย์คือ เราอยากคูณเลขสองตัว แต่เราไม่มีคำสั่งคูณ เราต้องใช้วิธีบวกซ้ำ ๆ กัน เช่น เอา m คูณ n เราใช้วิธีบวก m ซ้ำ ๆ กัน n ครั้ง ดังนี้ ให้ช่อง 1 เก็บ m ช่อง 2 เก็บ n ช่อง 3 เก็บผล จะได้สี่บรรทัดแรกใส่เลขทั้งสองในช่องเก็บ “mvi 0” ลบกระดาษทด จากนั้น “eqz r2” ทดสอบว่า ค่าในช่อง 2 เป็นศูนย์หรือไม่ จะได้ผลเป็นค่าจริง/เท็จ ซึ่งนำไปใช้ในคำสั่งถัดไป “jt exit” จะกระโดดไปบรรทัดที่ติดป้าย “exit” ไว้ ถ้าการทดสอบเป็นจริง แต่ถ้าการทดสอบไม่เป็นจริง จะเริ่มทำต่อที่บรรทัด “add r1” บวก m ซ้ำ ๆ กับกระดาษทด ตามด้วย “dec r2” ให้ลดค่า n ทีละหนึ่ง จากนั้นวนซ้ำกลับไปที่บรรทัด “loop” โดยคำสั่งกระโดด “jmp loop” ผลที่ได้คือ การบวก m ซ้ำ ๆ โดยเก็บผลในกระดาษทด จำนวน n ครั้ง เพราะ n ลดไปรอบละหนึ่งในที่สุดจะเป็นศูนย์ แล้วกระโดดออกมา “put r3” เอาผลไปเก็บในช่อง 3 เราให้รหัสกับคำสั่งที่เพิ่มมา 4 คำสั่งดังนี้ 5 eqz, 6 jt, 7 dec, 8 jmp ในการเข้ารหัส ให้สังเกตว่า คำสั่งแต่ละบรรทัดมีเลขที่ของมัน เริ่มจาก 0 ผมจะเขียนเลขที่อยู่ในคอลัมน์ซ้ายมือหลังคำสั่งนะครับ ในการเข้ารหัส ขอให้สังเกตว่า คำสั่ง jt และ jmp ต้องใส่เลขที่บรรทัดเป็นตัวประกอบลงไป คือ 6,10 และ 8,5 นั่นเองรหัสโปรแกรมเป็นดังนี้ “4,4,3,1,4,3,3,2,4,0,5,2,6,10,2,1,7,2,8,5,3,3,0” ลอง “รัน” โปรแกรมนี้ในเบราว์เซอร์ดู เราเอา 4 คูณกับ 3 ขอให้สังเกตว่า ทำงานจนเสร็จ ต้องทำไปกี่คำสั่ง?

    ถ้าท่านผู้อ่านตามมาถึงตอนนี้ และได้“รัน” โปรแกรมดูแล้ว คงจะตอบตัวเองได้ว่า ซีพียูทำงานได้อย่างไร ซีพียูที่เรากำลังเล่นอยู่นี้มีองค์ประกอบแทบครบทุกอย่างของซีพียูจริง ๆ ก่อนจากกัน ขอฝากการบ้านให้ท่านลองคิดและเขียนดู โปรแกรมคูณของเราไม่ดีนัก เพราะยิ่งบังคับให้คูณใหม่ยิ่งวนซ้ำมาก ท่านหาวิธีที่เร็วกว่านี้ได้ไหม ตอนเด็ก ๆ ผมเล่นคูณเลขโดยวิธีเบิ้ลตัวตั้งแล้วหารสองตัวคูณ จะแสดงตัวอย่างให้ดู เช่น จะทำ 35×24 จะหาคำตอบได้โดย เบิ้ลตัวตั้ง 35×2=70 หารสองตัวคูณ 24/2=12 คำตอบคือ 70×12=840

    แนวความคิดนี้จะทำให้เรามีวิธีคูณที่เร็วกว่าเดิมมาก ท่านลองคิดดูนะครับ แล้วลองเขียนโปรแกรมดู ผมให้คำสั่งเพิ่มอีกหนึ่งคำสั่ง คือ “หารสอง” ด้วยการ shr (เลื่อนขวา, รหัส 9) จะเอาค่าในกระดาษทดหารด้วยสองขอให้สนุกครับ ส่งคำตอบที่คุณภูมิใจมาให้ผมได้ที่ prabhas.c@chula.ac.th โดยจั่วหัวว่า “1001” ผมจะมีรางวัลให้กับคำตอบที่ถูกใจ สัปดาห์หน้าจะเฉลยครับ.ประภาส จงสถิตย์วัฒนา
    ภาควิชาวิศวกรรมคอมพิวเตอร์
    จุฬาลงกรณ์มหาวิทยาลัย

    ขอขอบคุณแหล่งที่มา : ซีพียูทำงานอย่างไร (2) – 1001

  • “เอ็มซีด เอเชีย” ได้แล้วนักพัฒนาเกมไทยร่วมงาน”GDC2015″ที่อเมริกา

    “เอ็มซีด เอเชีย” ได้แล้วนักพัฒนาเกมไทยร่วมงาน”GDC2015″ที่อเมริกา

     วันนี้(16 ต.ค.) บริษัท เอ็มซีด เอเชีย  (MSeed Asia) ในเครือเอ็มลิ้งค์ จัดงาน เดโมเดย์ เปิดโอกาสให้ 5 ทีมสุดท้าย จากโครงการ MSeed Accelerator  นำเสนอผลงานต่อคณะกรรมการมเพื่อคัดเลือกทีมนักพัฒนาเกมของไทยที่มีผลงานโดดเด่นที่สุด ทีมเดียวได้รับรางวัลเข้าร่วมงาน Game Developer Conference 2015 (GDC2015) ที่เมืองซานฟรานซิสโกประเทศสหรัฐอเมริกา ซึ่งจะเป็นการเปิดโอกาสได้พบกับนักพัฒนาเกมจากทั่วโลก นักลงทุนและโอกาสในการจับคู่ธุรกิจในช่วงกลางปี 2558   ดร.ประสิทธิ์ ศรีสุวรรณ กรรมการผู้จัดการใหญ่บริษัท เอ็มลิ้งค์ เอเชียคอร์ปอเรชั่น จำกัด (มหาชน)  เปิดเผยว่า MSeed Asia ในนามบริษัทลูกของเอ็มลิ้งค์ ได้จัดโครงการ MSeed Accelerator เพื่อสนับสนุนนักพัฒนาเกมไทยรุ่นใหม่ที่มีความคิดสร้างสรรค์ให้สามารถพัฒนาเกมออกให้บริการ สร้างรายได้ทั้งในไทยและในต่างประเทศถือเป็นการลงทุนในอนาคต ซึ่งปัจจุบันมูลค่าตลาดอุตสาหกรรมเกมระดับโลกมีมูลค่ากว่า 1แสนล้านดอลลาร์ เป็นมูลค่ามหาศาลและเป็นโอกาสในการสร้างรายได้เข้าสู่ประเทศอีกทางหนึ่ง “มั่นใจว่าโครงการนี้ จะมีส่วนช่วยยกระดับอุตสาหกรรมเกมในประเทศไทยโดยภาพรวมอุตสาหกรรมเกมไทยอยู่ในช่วงปรับตัวไปสู่ยุคเกมบนสมาร์ทโฟนที่มีจำนวนผู้เล่นเพิ่มมากขึ้นแทนการเล่นเกมบนคอมพิวเตอร์แบบเดิมๆ ทำให้เกิดนักพัฒนาเกมบนสมาร์ทโฟนโดยคาดว่ามูลค่าตลาดเกมในไทยปีนี้จะแตะ 5,000 ล้านบาท และเพิ่มเป็น 8,000ล้านบาทในปี 58 โดยมีปัจจัยคือ จำนวนผู้ใช้สมาร์ทโฟนเพิ่มขึ้นและจำนวนผู้เล่นเกมที่เพิ่มขึ้นตามมาด้วย” นายสกลกรย์ สระกวี กรรมการผู้จัดการ  บริษัท เอ็มซีด เอเชีย  กล่าวว่าตลาดเกมทั้งในไทยและทั่วโลกกำลังขยายตัวอย่างต่อเนื่อง โครงการ MSeed Acceleratorจะมาช่วยให้นักพัฒนาเกมไทยที่มีความสามารถได้รับการสนับสนุนทางด้านเงินทุน คำปรึกษาด้านธุรกิจและการตลาด ซึ่งที่ผ่านมากว่า50 ทีมที่ร่วมโครงการได้ผ่านการพัฒนา และมีทีมที่ผ่านเข้ารอบ 10 ทีมจนกระทั่งคัดเลือกให้เหลือ 5 ทีมระดับหัวกะทิ เพื่อเข้าร่วมงาน Demo Day นำเสนอผลงานต่อหน้าตัวแทนนักลงทุนและผู้ให้บริการเกม ด้าน น.ส.สายใย สระกวี ผู้อำนวยการโครงการ MSeedAccelerator และ ประธานเจ้าหน้าที่ฝ่ายการตลาด บริษัท เอ็มซีด เอเชีย กล่าวว่า ได้ ให้เงินทุนสำหรับ 10 ทีมที่ผ่านการคัดเลือก คำปรึกษาด้านการวางแผนธุรกิจและทำตลาดรวมถึงการหาพันธมิตรมาช่วยเหลือ ก่อนจะคัดเลือกเหลือ 5 ทีมสุดท้ายเพื่อมางาน เดโมเดย์  เพื่อเป็นสะพานที่จะนำนักพัฒนาเกมรุ่นใหม่ไฟแรงไปสู่ตลาดของจริงถือเป็นครั้งแรกที่มีโครงการสนับสนุนนักพัฒนาเกมในประเทศไทย และเป็นก้าวสำคัญของการพัฒนาอุตสาหกรรมเกมในไทยอีกด้วย  สำหรับ 5ทีมที่ผ่านการคัดเลือกเพื่อนำเสนอผลงานประกอบด้วย 1. ทีม InfinitoผลงานLittle Guardians 2.  ทีม Snoozefox ผลงาน ChaosSphere 3.  ทีม Lunarcraft ผลงาน VeggieDog Story  4.  ทีม Zaferlab ผลงาน ColorNinja และ 5. ทีม Three Stand ผลงาน Han Gussoซึ่งหลังจากทั้ง 5 ทีมได้นำเสนอผลงานกับคณะกรรมการแล้วปรากฏว่า  ทีม Snoozefox เจ้าของผลงานเกมChaos Sphere สามารถคว้ารางวัลเข้าร่วมงาน Game DeveloperConference 2015 (GDC2015) ที่เมืองซานฟรานซิสโก ประเทศสหรัฐอเมริกา

    ขอขอบคุณแหล่งที่มา : “เอ็มซีด เอเชีย” ได้แล้วนักพัฒนาเกมไทยร่วมงาน”GDC2015″ที่อเมริกา

  • ไฟไหม้กรมโรงงานระหว่างผู้บริหารประชุม

    ไฟไหม้กรมโรงงานระหว่างผู้บริหารประชุม

    ที่กระทรวงอุตสาหกรรมเมื่อเวลา 14.30 น.วันที่ 16 ต.ค. นายพสุโลหารชุน อธิบดีกรมโรงงานอุตสาหกรรม เปิดเผยว่า เมื่อเวลา 12.10 น.ได้เกิดเหตุเพลิงไหม้บริเวณห้องทดลองวิเคราะห์น้ำเสีย ชั้น 4 ตึกกรมโรงงานอุตสาหกรรมซึ่งระหว่างนั้นมีการประชุมผู้บริหารกระทรวงอุตฯ นำโดยนางอรรชกา สีบุญเรืองปลัดกระทรวงอุตสาหกรรม เป็นประธานการประชุมร่วมกับผู้บริหารและเจ้าหน้าที่กรมโรงงานฯที่ชั้น 5 ในอาคารเดียวกันซึ่งหลังจากทราบข่าวทางโทรศัพท์ ก็ได้แจ้งผู้บริหารให้เดินทางออกจากห้องประชุมส่วนข้าราชการคนอื่นๆ ได้มีการแจ้งเสียงตามสายประกาศให้ออกจากบริเวณตัวตึกซึ่งช่วงเวลาดังกล่าวเป็นช่วงพักกลาง เจ้าหน้าที่ส่วนใหญ่จึงไม่ได้อยู่ในตัวอาคารมากนักอย่างไรก็ตามส่วนที่ไฟไหม้เกิดนอกอาคาร เป็นปล่องระบายความร้อน ที่ต่อมาจากห้องทดลองน้ำเสียที่เก็บตัวอย่างน้ำเสียจากโรงงานต่างๆ ในส่วนกลางมาทดสอบ โดยภายในห้องมีเครื่องมือและอุปกรณ์สารเคมีสำหรับการทดสอบอยู่ มูลค่ารวมกว่า 1 ล้านบาท ซึ่งการจากตรวจสอบเบื้องต้นไม่มีผู้ได้รับบาดเจ็บ หรือเสียชีวิตและได้ให้เจ้าหน้าที่ตรวจสอบอุปกรณ์ต่างๆว่าได้รับความเสียหายหรือไม่ ส่วนสารเคมีต่างๆ ถูกบรรจุอยู่ในขวด เบื้องต้นไมได้รับความเสียหายจากเพลิงไหม้เพราะไหม้นอกตัวอาคารแต่ได้รับความเสียหายจากน้ำที่ฉีดดับเพลิงบ้างเล็กน้อย สำหรับสาเหตุของเพลิงไหม้สันนิษฐานว่าอาจเกิดจาก 2 กรณีคือ ความประมาณของเจ้าหน้าที่ในห้องทดสอบ หรือเกิดจากระบบอุปกรณ์ขัดข้องเองซึ่งต้องรอการพิสูจน์หลักฐานจากเจ้าหน้าที่อีกครั้งหนึ่งเบื้อต้นจากการเข้าไปตรวจสอบ พบว่ามอเตอร์ดูดอากาศในห้องมีความร้อนเกินทำให้เกิดไฟลุกลามไปยังเตาทดลองส่วนกลิ่นเหม็นที่เกิดขึ้นมาจากพลาสติกท่อระบายความร้อนไหม้อีกทั้งยังต้องรอให้เจ้าหน้ามาวิเคราะห์สารเคมี ที่อาจได้รับความเสียหายโดยสามารถระงับเพลิงได้ภายใน 10-15 นาที

    ขอขอบคุณแหล่งที่มา : ไฟไหม้กรมโรงงานระหว่างผู้บริหารประชุม