ระบบคอมพิวเตอร์และการประมวลผลข้อมูล อาจารย์สมเกียรติ ช่อเหมือน สาขาวิชาวิศวกรรมซอฟต์แวร์ คณะวิทยาศาสตร์และเทคโนโลยี (tko@webmail.npru.ac.th)
เนื้อหาที่สนใจ • ระบบคอมพิวเตอร์ • การประมวลผลข้อมูล (Data processing) – ข้อมูล (Data) – ระบบข้อมูล
• การประมวลผลแบบอัตโนมัติ • ขั้นตอนและวิธีการประมวลผลข้อมูล – วิทยาการคอมพิวเตอร์ (computer science) – วิทยาการคอมพิวเตอร์เชิงทฤษฎี – พื้นฐานคณิตศาสตร์
• คอมพิวเตอร์กับมนุษย์ – ขั้นตอนการคิดของคอมพิวเตอร์แบบมนุษย์
• การเขียนโปรแกรมคอมพิวเตอร์ (Computer Programming) http://1.bp.blogspot.com/-tw1caa8lBus/Vphe8RV3rwI/AAAAAAAAAKM/wAhp-ds7iQM/s1600/8.png
คอมพิวเตอร์ • คอมพิวเตอร์ (Computer) • อุปกรณ์ทางอิเล็กทรอนิกส์ (electrinic device) ที่มนุษย์ใช้เป็นเครื่องมือ ช่วยในการประมวลผลข้อมูลในรูปดิจิตอลด้วยสมองกล – กาหนดชุดคาสั่งล่วงหน้าหรือโปรแกรมได้ (programmable) – ทางานได้หลากหลายรูปแบบ ขึ้นอยู่กับชุดคาสั่ง – สามารถนาไปประยุกต์กับงานต่างๆ ได้แก่ การตรวจคลื่นความถี่ของหัวใจ การฝาก - ถอนเงินในธนาคาร การตรวจสอบสภาพ เครื่องยนต์
คอมพิวเตอร์มีประสิทธภาพ มีความถูกต้องและรวดเร็ว http://www.richardlander.co.uk/curriculum/ict-and-computing/ict-and-computing-key-stage-4
การทางานของคอมพิวเตอร์ • การประมวลผลด้วยสมองกล (CPU) + (RAM) • ระบบคอมพิวเตอร์ ( Computer System) ประกอบด้วย 4 ส่วน 1) 2) 3) 4)
หน่วยประมวลผล หน่วยความจา หน่วยรับเข้าข้อมูล หน่วยส่งออกข้อมูล
* หน่วยสื่อสารช่วยในการรับส่งข้อมูล http://www.dcnet.icete.org/
ข้อมูล (Data) • Digital Data – หน่วยที่เล็กที่สุดของคอมพิวเตอร์ (0,1) bit – เลขฐานสอง 01001010 – การเข้ารหัส- การถอดรหัส • บิต ตัวเลข ข้อความ รูปภาพ เสียง วิดีโอ
– อุปกรณ์ที่แปลงให้อยู่ในรูปของดิจิตอล – การจัดเก็บข้อมูลจานวนมาก ความจุ 1 Byte = (8 bit) – การสื่อสารข้อมูล ความเร็วในการรับส่งข้อมูล (b/s)
http://www.scoop.it/t/digitaldata
ระบบข้อมูล • กระบวนการประมวลผลด้วยเครื่องมืออิเล็กทรอนิกส์ • สาหรับการสร้าง รับ ส่ง จัดเก็บ รักษา หรือประมวลผลข้อมูลอิเล็กทรอนิกส์
ที่มา:
การประมวลผลข้อมูล (Data processing)
• ทาให้ได้ผลลัพธ์ตามที่ต้องการ – ทาคนเดียว – รวมกันทา – แบ่งกันทา
การประมวลผลแบบอัตโนมัติ • • • •
การประมวลผลข้อมูลแบบอัตโนมัติ (Automatic data processing) ดิจิตอลคอมพิวเตอร์เป็นเครื่องมือที่ใช้ประมวลผลข้อมูล มนุษย์อยากให้คอมพิวเตอร์ทางานแทน แต่คอมพิวเตอร์คิดไม่เป็น ต่างจากมนุษย์
• ตู้ ATM ใช้การประมวลผลแบบทันทีทันใด – Automatic Teller Machine หรือ เครื่องให้บริการทางการเงินอัตโนมัติ.
วิทยาการคอมพิวเตอร์ (computer science) • การศึกษาค้นคว้าทฤษฎีการคานวณสาหรับคอมพิวเตอร์ และทฤษฎีการ ประมวลผลสารสนเทศ ทั้งด้านซอฟต์แวร์ ฮาร์ดแวร์ และ เครือข่าย • วิทยาการคอมพิวเตอร์เป็นสาขาหนึ่งในสาขาวิชาทางคอมพิวเตอร์ • “วิทยาการคอมพิวเตอร์” เป็นศาสตร์ที่เน้นในการเขียนโปรแกรม คอมพิวเตอร์
https://en.wikipedia.org/wiki/Turing_machine
การประมวลผลข้อมูลอิเล็กทรอนิกส์ • การประมวลผลข้อมูลโดยใช้เครื่องอิเล็กทรอนิกส์ หรือการประมวลผล ข้อมูลโดยใช้เครื่องคอมพิวเตอร์ • การประมวลผลข้อมูลที่มีปริมาณข้อมูลมากๆ มีความถูกต้อง รวดเร็ว – การประมวลผลแต่ละคาสั่ง ประมาณหนึ่งในล้านล้านของวินาที (pS)
• มีขั้นตอนการประมวลผลที่สลับซับซ้อน เช่น – – – – –
ระบบงานบัญชี ระบบควบคุมสินค้าคงคลัง ระบบควบคุมการบิน ระบบงานทะเบียนนักเรียน เป็นต้น
ขั้นตอนการประมวลผลข้อมูล • CPU เป็นอุปกรณ์ทสี่ าคัญในการทางานของคอมพิวเตอร์ – ประมวลผลและควบคุมการทางานของคอมพิวเตอร์
• • • •
ทั้งอุปกรณ์ที่อยู่ในคอมพิวเตอร์หรืออุปกรณ์ต่อพ่วงต่อ Input Process Output
https://jidapa40.wordpress.com/2012/07/08/cpu-%E0%B8%84%E0%B8%B7%E0%B8%AD%E0%B8%AD%E0%B8%B0%E0%B9%84%E0%B8%A3%E0%B8%A1%E0%B8%B5%E0%B8%81%E0%B8%B5%E0%B9%88%E0%B8%8A%E0%B8%99%E0%B8%B4%E0%B8%94-%E0%B9%81%E0%B8%A5%E0%B8%B0%E0%B8%A1%E0%B8%B5/
Input • Input : User นาเข้าข้อมูลเข้าสู่ระบบ โดยอาศัยอุปกรณ์ Input device • การเก็บข้อมูล หรือรวบรวมข้อมูลให้มรี ูปแบบโครงสร้างที่เหมาะในการ ประมวลผล เพื่อให้ได้ผลลัพธ์ที่ต้องการ • ได้แก่
https://www.packtpub.com/books/content/whats-your-input
process • ปัญหาและวิธีแก้ปัญหา
• https://www.slideshare.net/jumbabnaiteterruk/ss-42215503
พื้นฐานคณิตศาสตร์ • • • •
คณิตศาสตร์ดิสครีต ตรรกะและการพิสูจน์ เซต ฟังก์ชัน และ ความสัมพันธ์ ความรู้เบื้องต้นเกี่ยวกับทฤษฎีจานวน http://www.224book.com/product.detail_1006031_th_3179564#
วิทยาการคอมพิวเตอร์เชิงทฤษฎี • • • • • • • •
โครงสร้างข้อมูล (Data Structures) อัลกอริธึม (Algorithms) ทฤษฎีฐานข้อมูล (Database Theory) ทฤษฎีออโตมาตา (Automata Theory) ภาษารูปนัย (Formal Languages) ทฤษฎีคอมไพเลอร์ (Compiler Theory) ความมั่นคงคอมพิวเตอร์ (Computer Security) และ ระบบปฏิบัติการ (Operating Systems) เป็นต้น
process • Process : เครื่องเริ่มทาการประมวลผล โดยข้อมูลที่ User Input เข้ามา จะส่งไปเก็บในหน่วยความจาหลัก (Memory :RAM) • Control Unit ควบคุมการไหลของข้อมูลผ่านระบบ Bus system จาก RAM ไปยัง CPU และ ALU เพื่อให้ทางานตามคาสั่งระหว่างการ ประมวลผล Register จะคอยเก็บชุดคาสั่งขณะที่ load ข้อมูลอยู่ และ Cache จะคอยดักชุดคาสั่งที่ CPU เรียกใช้บ่อย ๆ และคอยจัดเตรียม ข้อมูลหรือชุดคาสั่งเหล่านั้นเพื่อเอื้อให้ CPU ประมวลผลข้อมูลได้เร็วขึ้น ซึ่งการประมวลผลของเครื่องนี้จะทางานตามรอบสัญญาณนาฬิกาของ เครื่อง (Machine cycle)
Output • สิ่งที่ได้จากการประมวลผล
http://piyanut38.blogspot.com/p/test3.html
https://www.daydreameducation.co.uk/input-output-devices-free-resource-ict-d-54f
Machine cycle • Machine cycle หมายถึง เวลาที่ใช้ในการประมวลผลชุดคาสั่งของเครื่อง ต่อรอบสัญญาณ นาฬิกา เป็นเวลาที่ร้องขอการทางาน เช่น การเรียก (Load) ข้อมูล, การประมวลผล (Execute) และการจัดเก็บข้อมูล
Machine cycle • Machine cycle จะประกอบด้วย 2 ช่วงจังหวะการทางาน ได้แก่ 1. Instruction time ( I-time) หมายถึง ช่วงเวลาที่ Control unit รับคาสั่ง (Fetch) จาก memory และนาคาสั่งนั้นใส่ลงไปใน register จากนั้น Control unit จะทาการถอดรหัสชุดคาสั่งและพิจารณาที่อยู่ของข้อมูลที่ต้องการ 2. Execution time หมายถึง ช่วงเวลาที่ Control unit จะย้ายข้อมูลจาก memory ไปยัง registers และส่งข้อมูลให้ ALU จะทางานตามคาสั่งนั้น เมื่อ ALU ทางานเสร็จ Control unit จะเก็บผลลัพธ์ไว้ใน memory ก่อนส่งไปแสดงผลที่ Monitor หรือ Printer
Machine cycle (ต่อ) • 3. Output : หลังจาก CPU ประมวลผลเสร็จ Control Unit จะควบคุมการไหลของ ข้อมูลผ่าน Bus system เพื่อส่งมอบ (Transfer) ข้อมูลจาก CPU มายัง หน่วยความจา จากนั้นส่งข้อมูลออกไปแสดงผลที่ Output device (หากคุณใช้ card เพิ่มความเร็วในการแสดงผลของจอภาพ ก็จะส่งผลต่อความเร็วของระบบได้เช่นกัน) ผลลัพธ์ที่ได้จากการประมวลผลข้อมูล (Data) เรียกว่า ข่าวสารหรือสารสนเทศ (Information) • 4. Storage : หน่วยจัดเก็บข้อมูล ซึ่งหมายถึงสื่อจัดเก็บสารอง เช่น Harddisk, Disk หรือ CD ทางาน 2 ลักษณะ คือ การ Load ข้อมูลเพื่อนาไปประมวลผล: ถ้าข้อมูลถูก จัดเก็บอยู่ใน Harddisk แล้วคุณต้องการ Load ข้อมูลขึ้นมาแก้ไขหรือประมวลผล ข้อมูลที่ถูก Load และนาไปเก็บในหน่วยความจา (Memory: RAM) จากนั้นส่งไปให้ CPU
คอมพิวเตอร์กับมนุษย์ • มนุษย์มีสติปัญญาที่ชาญฉลาด – มีความคิดริเริ่มสร้างสรรค์ – คิดค้นประดิษฐ์เครื่องอานวยความสะดวก • เพิ่มขีดความสามารถเชิงพละกาลังที่ทางานแทนมนุษย์ได้ • การเคลื่อนที่ได้รวดเร็ว หรือแม้แต่สร้างเครื่องบินให้บินได้ – คิดค้นวิธีการคานวณ ทฤษฏีหรือหลักการคานวณที่นามาใช้ประโยชน์ได้ – แต่การทางานของมนุษย์บางอย่างก็ยังทาได้ช้า และมีความหลงลืมในด้านความจา
http://campus.sanook.com/1374861/
• ดังนั้นจึงมีความพยายามที่จะสร้างคอมพิวเตอร์ขึ้นมาช่วยแบ่งเบาภาระของสมอง • คอมพิวเตอร์เป็นเครื่องจักรที่คิดคานวณได้รวดเร็ว แม่นยา และมีหน่วยความจา – คอมพิวเตอร์จึงเป็นเครื่องมือที่เข้ามาเสริมการทางานของมนุษย์ในส่วนที่เป็นจุดอ่อน – เครื่องมือแพทย์ที่ใช้ในการเอ็กซเรย์สมองต้องมีการคานวณจานวนมาก ต้องใช้การประมวลผลรูปภาพ
ขั้นตอนการคิดของคอมพิวเตอร์แบบมนุษย์ • หน่วยรับเข้าและหน่วยส่งออกทาหน้าเหมือนอวัยวะรับสัมผัสของมนุษย์ คือ หู ตา จมูก ลิ้น กาย หน่วยความจาทาหน้าที่จาคาสั่งและข้อมูล • หน่วยประมวลผลทาหน้าที่ประมวลผลข้อมูล เช่น ทาการเคลื่อนย้าย ข้อมูล ทาการคานวณ ทาการเปรียบเทียบ และควบคุมการทางานของ อุปกรณ์คอมพิวเตอร์ภายในเหมือนกับสมองของมนุษย์
http://www.neutron.rmutphysics.com/science-news/index.php?option=com_content&task=view&id=2498&Itemid=4
ขั้นตอนการคิดของมนุษย์ในการแก้ปัญหา • วิเคราะห์ปัญหาก่อน เช่น การนาตัวเลขจานวน 3 จานวนมาทาการบวก แล้วแสดงผลลัพธ์ • อาจจะทาโดยการเขียนใส่กระดาษหรือ คิดแล้วตอบก็ได • ถ้าเขียนบนกระดานดา จะต้องดู แล้วจึงคิดและหาวิธีแก้ปัญหา สมองจะคิดคานวณเพื่อให้ได้ คาตอบ • บางคนอาจคิดในใจ หรือใช้กระดาษทด จนกว่าจะได้คาตอบเช่น – จดตัวเลข 8 และ 12 ลงในกระดาษ บวกกันได้ 20 แล้วจึงเอา 17 ไปบวกซึ่งจะได้คาตอบเป็น 37
• การคิดแก้ปัญหาจะต้องเข้าใจปัญหาหรือลาดับวิธีการคิด คนที่มีความจาดี มีความคิดดี แก้ปัญหา ได้เก่งก็สามารถหาคาตอบได้เร็ว • สมองของแต่ละคน ที่มีลาดับขั้นตอนทีด่ ี จะช่วยให้คิดคานวณโจทย์ปัญหาที่ซับซ้อนได้ http://weblogsimple.blogspot.com/2011/08/blog-post_21.html
การเขียนโปรแกรมคอมพิวเตอร์ (Computer Programming) • • • • • • • • •
ควบคุมการประมวลผลของคอมพิวเตอร์ กระบวนการทีน่ าคอมพิวเตอร์ไปใช้แก้ปัญหา กิจกรรม เช่น การวิเคราะห์ การพัฒนาขั้นตอนวิธีการ ตรวจสอบความต้องการ การเขียนโค้ดด้วยภาษาคอมพิวเตอร์ วัตถุประสงค์ คือ การหาลาดับของคาสั่ง ประยุกต์ใช้กับงานด้านต่างๆ การทดสอบเพื่อแก้จุดบกพร่องและปรับปรุงให้ดาเนินงานได้ถูกต้อง การพัฒนาซอฟแวร์ใช้สาหรับกระบวนการเขียนโปรแกรมขนาดใหญ่ วิศวกรรมซอฟต์แวร์ นาเทคนิคทางวิศวกรรมมาใช้ในการพัฒนาซอฟแวร์
สรุป • ระบบคอมพิวเตอร์ประกอบด้วย 4 ส่วนหลัก เพื่อใช้ในการประมวลผลข้อมูล อิเล็กทรอนิกส์ อุปกรณ์ที่สาคัญคือ CPU และ RAM • การประมวลผลคอมพิวเตอร์ประกอบด้วย 1) input 2) Process 3) output • วิทยาการคอมพิวเตอร์ เป็นสาขาที่เรียนรู้การประมวลผลทั้งด้านทฤษฏีและการ ปฏิบัติเขียนโปรแกรมควบคุมการทางานของอุปกรณ์คอมพิวเตอร์ • การประมวลผลทางด้านคอมพิวเตอร์เกี่ยวข้องกับพื้นฐานทางคณิตศาสตร์ • การเขียนโปรแกรมเป็นการควบคุมการประมวลผลของคอมพิวเตอร์
http://coach-ampol.blogspot.com/2014/06/analytic-creativity.html