พฒนาการของคอมพวเตอร
225100 วทยาการคอมพวเตอรเบองตน
225100 Introduction to Computer Science 1
จดประสงคการเรยนร
• บอกความหมายและลกษณะส าคญของคอมพวเตอรได
• เขาใจถงววฒนาการของคอมพวเตอร และเทคโนโลยทเกยวของได
• แบงแยกประเภทของคอมพวเตอร และบงบอกลกษณะส าคญของการท างานของคอมพวเตอรได
• ตระหนกไดถงความส าคญของการพฒนาและแนวโนมดานคอมพวเตอรและเทคโนโลยในอนาคต
225100 Introduction to Computer Science 2
หวขอการเรยนร
• ความหมายของ คอมพวเตอร
• ววฒนาการของเทคโนโลยคอมพวเตอร
• การจดประเภทของคอมพวเตอร
• เทคโนโลยในปจจบนซงจะเปนรากฐานสเทคโนโลยในอนาคต
225100 Introduction to Computer Science 3
คอมพวเตอรคออะไร?
• ภาษาลาตน “Computare” หมายถง การนบ การค านวณ
• ในเบองตน -> พฒนาขนเพอเปนอปกรณทใชสนบสนนการค านวณทางคณตศาสตรทมความซบซอน และเกนความสามารถของมนษยทจะค านวณไดในเวลาทก าหนด ในยคแรกๆ จงเปนเหมอนเครองชวยค านวณ
• ในปจจบน -> มากกวาการเปนเครองค านวณ เชน การจดการขอมล กระประมวลผล, สารสนเทศ, การจดท าสอผสม, การแลกเปลยนขอมลขาวสาร หรอ การเปนตวควบคมเครองจกร เปนตน
• Wikipedia กลาววา “A computer is a programmable machine that receives input, stores and manipulates data, and provides output in a useful format.”
225100 Introduction to Computer Science 4
คณลกษณะส าคญของคอมพวเตอร?
• มความเรวในการประมวลผลสง (Speed)
• มการท างานทถกตองเชอถอได (Reliability)
• มความถกตองแมนย า (Accurate)
• จดเกบขอมลไดมาก (Storage capacity)
• สามารถยายขอมลจากทหนงไปยงอกทหนงไดอยางรวดเรว (Transferring Information)
225100 Introduction to Computer Science 5
โครงสรางหลกของเครองคอมพวเตอร
225100 Introduction to Computer Science 6
ววฒนาการของเทคโนโลยคอมพวเตอร
• ประวตความเปนมาของคอมพวเตอร
• ยคของคอมพวเตอร
225100 Introduction to Computer Science 7
225100 Introduction to Computer Science 8
เรมแรก: กอนครสตกาล
• 3500 ปกอน ค.ศ. ชาวบาบโลเนยน บนทกขอมลตวเลขเปนตาราง (Cuneiform Tablet) ไวบนพนดน
• 3000 ปกอน ค.ศ. ชาวจนประดษฐลกคด (Abacus) ขนเพอชวยในการค านวณ บวก ลบ คณ หาร
225100 Introduction to Computer Science 9
เรมแรก: การประดษฐเครองชวยคด
• ค.ศ. 1617 -จอหน เนเปยร (John Napier) นกคณตศาสตรชาวสกอตไดประดษฐเครองมอชวยในการคณ หาร และการถอดกรณฑแบบงาย ซงมชอเรยกวา Napier’s Bones
• ค.ศ.1642 - เบลส ปาสคาล (BlaisePascal) นกปรชญาและนกคณตศาสตรชาวฝรงเศสไดประดษฐ เครองบวกเลข ทสรางจากฟนเฟอง 8 ตว
• ค.ศ.1673 - กอทฟรต ฟอน ลปนช (Gottfried Von Leibniz) นกคณตศาสตรชาวเยอรมนไดประดษฐ เครองทสามารถคณและหารได มชอวา Stepped Reckoner
225100 Introduction to Computer Science 10
เรมแรก: การปอนรหสลายผา
• ค.ศ.1745 - โจเซฟ แมร แจคคารด (Joseph Marie Jacquard) นกคดชาวฝรงเศสไดประดษฐเครองทอผา ทผใชสามารถปอนค าสงควบคมการท างานของการผลตลายผาแบบตางๆ ผาน บตรเจาะร (Punched Card)
225100 Introduction to Computer Science 11
ชารล แบบเบจ: บดาแหงคอมพวเตอร
• ค.ศ. 1801 ชารล แบบเบจ (Charles Babbage)นกคณตศาสตรชาวองกฤษ สราง เครองหาผลตาง (Difference Engine )เปนเครองค านวณเชงกลทท างานดวยแรงดนไอน า
• ตอมาเขาไดพฒนาตวแบบ เครองเชงวเคราะห(Analytical Machine) เพอแกปญหาคณตศาสตรทซบซอน การออกแบบของเขามการใชหนวยความจ า หนวยคณตศาสตร และมหนวยเกบค าสง
225100 Introduction to Computer Science 12
เอดา ออกสตา ไบรอน: โปรแกรมเมอรคนแรกของโลก
• เอดา ออกสตา ไบรอน (Ada Augusta Byron) เปนนกคณตศาสตรทสามารถเขาใจและรวมพฒนาผลงานของ แบบเบจ ในการเขยนค าสงเพอใหเครองเชงวเคราะหนนแกปญหาทางคณตศาสตรได จงไดรบยกยองวาเปน โปรแกรมเมอรคนแรกของโลก
225100 Introduction to Computer Science 13
เฮอรแมน ฮอลเลอรรท กบเครองTabulator
• ค.ศ. 1887 เฮอรแมน ฮอลเลอรรท (Herman Hollerith) ชาวอเมรกนไดพฒนา เครองอานบตรคอลมน (Tabulator) ซงใชบนทกขอมลการส ารวจส ามะโนประชากรของสหรฐอเมรกา และไดเปดบรษท Computing Tabulating Recording (CTR) เพอจ าหนายเครองอานบตร
• ตอมาบรษทCTR ไดรวมกบบรษทอน และกลายเปนบรษท ไอบเอม (International Business Machine: IBM)
225100 Introduction to Computer Science 14
Punch Card ในสมยแรก
225100 Introduction to Computer Science 15
เครอง Mark I
• ค.ศ.1944 - โฮเวรด ไอคเคน (Howard Aiken) นกศกษาป.เอก ม. ฮารวารด รวมกบวศวกรของ ไอบเอม สรางเครองค านวณจากแนวคดของแบบเบจไดส าเรจ ใชพลงงานไฟฟา และอปกรณ Relay
• เครองมชอวา Automatic Sequence Controlled Calculator หรอ อกชอวา เครอง Mark I ซงถอเปน เครองดจตอลคอมพวเตอรทท างานกงอเลคทรอนกส และจดเปน เครองค านวณแบบอตโนมตเครองแรกของโลก
225100 Introduction to Computer Science 16
เครอง Mark I
225100 Introduction to Computer Science 17
เครอง EDVAC และ EDSAC
• ค.ศ.1945 - ดร.จอหน ฟอน นวแมนน (Dr. John Von Neuman) ไดสรางเครองคอมพวเตอรทสามารถเกบค าสงการปฏบตงานทงหมดไวภายในเครองได เครองนมชอเรยกวาEDVAC (Electronic Discrete Variable Automatic Computer)
• เรยกสถาปตยกรรมนวา Von Neumann architecture ซงเปนตนแบบส าหรบคอมพวเตอรในยคตอๆ มา
225100 Introduction to Computer Science 18
เครอง EDVAC และ EDSAC
• ในเวลาใกลเคยงกนท ม.เคมบรดจ ประเทศองกฤษไดสรางเครองทมลกษณะคลายกบเครอง EDVAC มชอวา EDSAC (Electro Delayed Storage Automatic Computer)
• ใชสถาปตยกรรม Von Neumann architecture เชนเดยวกน
225100 Introduction to Computer Science 19
เครอง ENIAC • ค.ศ. 1937 ศาสตราจารย จอหน อตานา
ซอฟ (John Atanasoft) ไดสรางเครอง ABC ซงเปนเครองค านวณอเลคโทรนกสใชแกสมการหลายชนโดยใช หลอดสญญากาศ(vacuum tube)
• ค.ศ.1946 ศาสตราจารยจอหน มอชล (John Mauchly) แหง ม.เพนซลเวเนย ไดศกษาเครอง ABC และพฒนาเครองคอมพวเตอรอเลคโทรนกสอเนกประสงคโดยรวมมอกบนกศกษาชอ เจ เพรสเพอร เอคเครท(J. Presper Eckert) สรางคอมพวเตอรทใชหลอดสญญากาศ ชอ ENIAC(Electronic Numerical Integrator and Computer)
225100 Introduction to Computer Science 20
เครอง UNIVAC
• ในปเดยวกน มอชล และแอคเครท ไดพฒนาเครองคอมพวเตอรทมชอวา UNIVAC(Universal Automatic Computer) ทมความสามารถในการประมวลผล และเกบบนทกขอมลเพอน ามาใชในงานส ามะโนครวประชากรสหรฐอเมรกา
• ค.ศ. 1954 UNIVAC ไดถกน ามาใชงานทางดานธรกจ นบเปนการใชงานดานธรกจเปนครงแรก
225100 Introduction to Computer Science 21
ค าถาม: ใครคอผประดษฐคอมพวเตอรคนแรก?
จากทงหมดทกลาวมาจะเหนวาค าถามขางบนนน เปนค าถามทหาค าตอบไดยาก วาใคร คอ ผประดษฐคอมพวเตอรคนแรก
• จอหน อตานาซอฟ ไดรบการประกาศใหเปน ผประดษฐดจทลคอมพวเตอรอเลกโทรนกสเครองแรกของโลก อยางเปนทางการในป 1972
• จอหน ฟอน นวแมนน ไดรบการยกยองใหเปนบดาคอมพวเตอรคนท 2 เนองจาก เขาไดเสนอโครงสรางของเครองซงเปนรากฐานการท างานของคอมพวเตอรในปจจบน
225100 Introduction to Computer Science 22
ยคของคอมพวเตอร
• ยคทหนง (1951 –1958)
• ยคทสอง (1959 –1964)
• ยคทสาม (1965 –1971)
• ยคทส (1971 –1980)
• ยคทหา (1980 –ปจจบน)
225100 Introduction to Computer Science 23
ยคทหนง (1951-1958) ยคของหลอดสญญากาศ
• ลกษณะของเครอง: คอมพวเตอรมขนาดใหญ ใช ไฟฟาแรงสง
• วสดทใชสราง: วงจรอเลคทรอนคส และหลอด สญญากาศ
• ความเรวในการท างาน: วนาท
• สอขอมล: บตรเจาะร
• ภาษาคอมพวเตอรทใช: ภาษาเครอง(Machine Language)
• ตวอยางเครอง: UNIVACI, IBM650, NCR102
225100 Introduction to Computer Science 24
ยคทสอง (1959–1964) ยคของทรานซสเตอร
• ลกษณะของเครอง: มขนาดเลก มความรอนนอย และราคาถก • วสดทใชสราง: ใชทรานซสเตอรแทนหลอดสญญากาศ
และใชวงแหวนแมเหลก(Magnetic Core) เปนหนวย ความจ าภายใน
• ความเรวในการท างาน: millisecond หรอ หนงในพนของวนาท • สอขอมล: บตรเจาะรและเทปแมเหลกเปนสวนใหญ • ภาษาคอมพวเตอรทใช:ภาษาสญลกษณ(Symbolic Language)
ภาษาแอสเซมบล (Assembly) ภาษาฟอรแทรน (Fortran)
• ตวอยางเครอง: IBM1620, IBM1401, CDC1604, Honeywell 200
225100 Introduction to Computer Science 25
ยคทสาม (1965–1971) ยคของแผงวงจรรวม
• ลกษณะของเครอง: มขนาดเลกลงกวาเดม ความเรวเพมขน และใชความรอนนอย
• วสดทใชสราง: ใช IC (Integrated Circuit) ซง สามารถท างานไดเทากบทรานซสเตอรหลาย รอยตว จงมขนาดเลก
• ความเรวในการท างาน: microsecond หรอ หนงในลานของวนาท
• สอขอมล: บตรเจาะร เทปแมเหลก และจานแมเหลก
• ภาษาคอมพวเตอรทใช: ภาษาโคบอล(COBOL) และพแอลวน(PL/I)
• ตวอยางเครอง :IBM360, CDC3300, NCR395
225100 Introduction to Computer Science 26
ยคทส (1971-1980) ยคของแผงวงจรขนาดใหญ
• ลกษณะของเครอง: คอมพวเตอรมขนาดเลกหรอเรยกวา ไมโครคอมพวเตอร ท างานเรว ไมรอน และม ประสทธภาพสง
• วสดทใชสราง: ใชวงจรรวมขนาดใหญ(LSI-Large Scale Integrated Circuit)
• ความเรวในการท างาน: nanosecondหรอ หนงในพนลานของวนาท • สอขอมล: เทปแมเหลกและ จานแมเหลก เปนสวนใหญ โดยม
การ ลดจ านวนการใชบตรเจาะร • ภาษาคอมพวเตอรทใช: ภาษาเบสค, ปาสคาล, ซ • ตวอยางเครอง: IBM 370, IBM 3033, CDC 7600, IBM PC (XT และAT), UNIVAC 9700
225100 Introduction to Computer Science 27
ยคทหา (1980+) ยคปจจบน
• ลกษณะของเครอง: คอมพวเตอรขนาดเลก ท างานเรวและม ประสทธภาพ สง
• วสดทใชสราง: ใชวงจรรวมขนาดใหญมาก(VLSI-Very Large Scale Integrated Circuit) และมหนวยความ จ าหลกและหนวยความจ ารองทมขนาดใหญ
• ความเรวในการท างาน: picosecond หรอ หนงในลานลานของวนาท
• สอขอมล: เทปแมเหลกและ จานแมเหลก เปนสวนใหญ
• ภาษาคอมพวเตอรทใช: ภาษาเชงวตถ(Object-Oriented) เชน C++, Java, Visual programming
• ตวอยางเครอง: PC desktop และ notebook ในปจจบน
225100 Introduction to Computer Science 28
การจ าแนกประเภทของเครองคอมพวเตอร
• จ าแนกตามขนาด(Scale)
225100 Introduction to Computer Science 29
การจ าแนกคอมพวเตอรตามขนาด (Scale)
• ซปเปอรคอมพวเตอร (Supercomputer)
• เมนเฟรมคอมพวเตอร (Mainframe)
• มนคอมพวเตอร (Minicomputer)
• คอมพวเตอรสวนบคคล (Personal Computer)
• พดเอ (PDA –Personal Digital Assistant)
• คอมพวเตอรแบบฝง (Embedded computers)
225100 Introduction to Computer Science 30
ซปเปอรคอมพวเตอร (Supercomputer)
• เปนคอมพวเตอรทมขนาดใหญทสด ท างานไดรวดเรวและมประสทธภาพสงทสด
• เหมาะกบงานทมความซบซอนในการค านวณทสงมาก เชน งานจ าลองสภาพภมอากาศ การทดลองทางวทาศาสตรทสบซอน เปนตน
• ประสทธภาพการท างานจะวดเปนหนวย ฟลอป (Flops: FLoating point Operations Per Second) –Flops –จ านวนครงของการด าเนนการกบตวเลขระดบทศนยมตอหนงวนาท
225100 Introduction to Computer Science 31
ซปเปอรคอมพวเตอร
• IBM Roadrunner ซเปอรคอมพวเตอรทเรวทสดในโลกป 2008
• เปนของ U.S. Department of Energy (DOE)
• ความเรวประมาณ 1.456 peta flops (peta = 1015พนลานลาน!) – จ านวน CPU ทใช
• 12,960 IBM PowerXCell 8i CPUs,
• 6,480 AMD Opteron dual-core processors
225100 Introduction to Computer Science 32
ใชซปเปอรคอมพวเตอรในงานสรางสภาวะจ าลอง (simulation)
225100 Introduction to Computer Science 33
เมนเฟรมคอมพวเตอร (Mainframe)
• เปนเครองคอมพวเตอรทมขนาดใหญและประสทธภาพรองลงมา
• เปนทนยมน ามาใชตามองคกรขนาดใหญเชน ธนาคาร หรอ หนวยงานขนาดใหญ หรอ website ทมผใชมาก
– มกน ามาใชในงานทมการประมวลผลขอมลจ านวนมาก
– มกใชกบงานทมผใชหลายคน (Multi-users)
225100 Introduction to Computer Science 34
เมนเฟรมคอมพวเตอร (Mainframe)
• โดยทวไปแลวระบบการท างานของเครองประกอบดวย
– เครองโฮส (Host processor) เปนเครองหลกทมหนาทเปนศนยกลางการประมวลผลตาง ๆ
– เครองสวนหนา (Front-End processor) มหนาทควบคมเกยวกบการตดตอกบผใชงาน ในดานการรบค าสงและการแสดงผล
– ผใชจะท างานผานอปกรณทเรยกวา เทอรมนลระยะไกล (Remote Terminal) เพอตดตอกบเครองสวนหนา และตดตอผานไปยงเครองโฮส
225100 Introduction to Computer Science 35
เมนเฟรมคอมพวเตอร (Mainframe)
225100 Introduction to Computer Science 36
มนคอมพวเตอร (Minicomputer)
• เปนเครองทมสถาปตยกรรมคลายกบเครองแบบเมนเฟรมแตมขนาดเลก และราคาถกกวา สามารถน ามาใชงานแบบมลตโปรแกรมมงไดเชนเดยวกบเมนเฟรม (รนโปรแกรมมากกวาหนงโปรแกรมไดในขณะใดขณะหนง) แตประสทธภาพจะต ากวา
225100 Introduction to Computer Science 37
คอมพวเตอรสวนบคคล (Personal Computer: PC)
• PC เปนเครองคอมพวเตอรแบบมผใชคนเดยว และจะถกควบคมโดยผใชโดยตรง
• มราคาถก
• มกน ามาใชในงานส านกงาน หรอใชในบาน
• มหลายลกษณะ
– Workstation
– Microcomputer
– Notebook, Netbook
225100 Introduction to Computer Science 38
เวรคสเตชน (Workstation)
• Workstation คอ PC ทมประสทธภาพสงบางครงถกเรยกวา Super-microcomputer
• มกน ามาใชในงานออกแบบดาน วศวกรรม สถาปตยกรรม ออกแบบกราฟฟกส ตดตอ VDO หรอ ทา Animation เปนตน
225100 Introduction to Computer Science 39
ไมโครคอมพวเตอร (Microcomputer)
• ไมโครคอมพวเตอรเปนคอมพวเตอรขนาดเลก เหมาะส าหรบงานประมวลผลทวไป เชน การพมพเอกสาร การประมวลผลเอกสาร การเกบขอมลขนาดเลก เปนตน
225100 Introduction to Computer Science 40
Notebook และ Netbook
• Notebook เปนเครอง PC ทมขนาดเลกสามารถพกพาไปใชงานยงทตางๆ ไดสะดวก
• Netbook หรอ บางทเรยกวา Mini-notebook มขนาดเลก ความสามารถในการประมวลผลไมสงนก เหมาะกบงานประมวลผลทวไปและเขาถงอนเตอรเนต
225100 Introduction to Computer Science 41
พดเอ (PDA –Personal Digital Assistant)
• เปนคอมพวเตอรทมขนาดเลกมากเหมาะส าหรบพกพา สามารถวางอยบนฝามอเพยงมอเดยวได และอาจใชปากกาทเรยกวาสไตลลส (Stylus) เพอเขยนขอความลงบนจอภาพเพอปอนขอมลเขาเครอง
• ปจจบนโทรศพทแบบไรสายท าหนาทไดเชนเดยวกบพดเอ ใชงานโปรแกรมตางๆได สามารถตอกบอนเทอรเนต หรอฟงเพลง MP3 ได เปนตน
225100 Introduction to Computer Science 42
คอมพวเตอรแบบฝง (Embedded computers)
• เปนคอมพวเตอรทถกฝงไวในอปกรณตาง ๆ ท าใหมองไมเหนจากรปลกษณภายนอกวาเปนอปกรณคอมพวเตอร นยมใชในการท างานเฉพาะดาน เชนควบคมการท างานของอปกรณ เปนตน
225100 Introduction to Computer Science 43
เทคโนโลยในปจจบนสเทคโนโลยในอนาคต
• Mobile Application
• Biometrics
• Physiological Biometrics
• Behavioral Biometrics
• Advance Computer Interaction
• Speech Recognition and Synthesis
• Camera Interaction
• Brain Computer Interaction
225100 Introduction to Computer Science 44
Mobile Application
• โทรศพทเคลอนท (Mobile) เปนอปกรณทไดรบความนยมเปนอยางมาก ปจจบนไดมการพฒนาความสามารถใหกบโทรศพทเคลอนท เปนเสมอนคอมพวเตอรพกพา ซงมความสามารถท างานไดเชนเดยวกบคอมพวเตอร
• โปรแกรมประยกตส าหรบโทรศพทมอถอ (Mobile Application) ไดถกพฒนาขนมาท างานบนแพลตฟอรมของโทรศพทมอถอมากมาย เชน ระบบแผนทน าทาง ระบบสนทนา เกมส เขาเวบ เชคอเมล สงคมออนไลน เปนตน
• โทรศพทเคลอนทจงเปนอปกรณทจะชวยใหผใชเขาถงเทคโนโลยและบรการตางๆ ไดงายขน
225100 Introduction to Computer Science 45
Biometrics
• Biometrics ซงเปนศาสตรทางคอมพวเตอรทเกยวของกบกระบวนการในการ ระบตวบคคล หรอ ตรวจสอบตวตนของบคคล โดยใชลกษณะทแตกตางกนของแตละบคคล
– การใชลกษณะทางกายภาพ (Physiological Biometrics)
– การใชลกษณะทางพฤตกรรม (Behavioral Biometrics)
225100 Introduction to Computer Science 46
การใชลกษณะทางกายภาพ (Physiological Biometrics)
• การใชลกษณะทางกายภาพ (Physiological Biometrics)
– ลายนวมอ (Fingerprint)
– ลกษณะใบหนา (Facial Recognition)
– ลกษณะของมอ (Hand Geometry)
– ลกษณะของนวมอ (Finger Geometry)
– ลกษณะของใบห (Ear Shape)
– Iris และ Retina ภายในดวงตา
– กลน (Human Scent)
225100 Introduction to Computer Science 47
การใชลกษณะทางพฤตกรรม (Behavioral Biometrics)
• การใชลกษณะทางพฤตกรรม (Behavioral Biometrics)
–ลกษณะการพมพ Keystroke Dynamics
–การเดน (Gait Recognition)
–การออกเสยง (Voice Recognition)
–การเซนชอ (Signature)
225100 Introduction to Computer Science 48
Advance Computer Interaction
• ในปจจบนอปกรณทใชในการมปฏสมพนธกบคอมพวเตอรโดยหลกคอ Mouse และ Keyboard
• แตในอนาคตอนใกลน ผใชจะมวธการตดตอกบคอมพวเตอรในลกษณะอนๆ เชน
–ใชเสยงในการตดตอ (Voice Interaction)
–ตดตอผานกลอง (Camera Interaction)
–ใชความคดในการควบคม (Brain Computer Interaction)
225100 Introduction to Computer Science 49
ใชเสยงในการตดตอ (Voice Interaction)
• บนพนฐานการท างานของคอมพวเตอรทน า speech processing technology มาใชสามารถแบงได เปน 2 ประเภท ดงน
– Speech Synthesis หรอ Text-to-Speech
– Speech Recognition หรอ Speech-to-Text
225100 Introduction to Computer Science 50
ตดตอผานกลอง (Camera Interaction)
• ดวยเทคโนโลยการประมวลผลภาพ สามารถน าขอมลภาพทอานจากกลองมาเปนขอมลในการตดตอกบคอมพวเตอรได
225100 Introduction to Computer Science 51
ใชความคดในการควบคม (Brain Computer Interaction)
• อานสญญาณไฟฟาในคลนสมอง เพอแปลผลเปนค าสงในการควบคม คอมพวเตอร หรอตรวจสอบสภาวะอารมณของมนษย
225100 Introduction to Computer Science 52
การบาน
• หาขอมลเกยวกบเทคโนโลยตอไปน
– Cloud Technology
– Internet of Things (IoT)
• เขยนดวยลายมอ อยางนอย 2 หนากระดาษ A4
• เขยนชอ นามสกล รหสนสตทมมบนขวาของกระดาษ
• สงกอนเรยนครงถดไป
225100 Introduction to Computer Science 53