Chapter 1 Introduction
รู้ถึงการวิวัฒนาการของคอมพิวเตอร์ Chapter 1 วัตถุประสงค์ รู้ถึงการวิวัฒนาการของคอมพิวเตอร์ เข้าใจถึงความสัมพันธ์ระหว่าง Hardware กับ Software สามารถอธิบายถึง von Neumann architecture และหน้าที่พื้นฐานขององค์ประกอบต่างๆของcomputer
เนื้อหาโดยสังเขป (Overview) สาเหตุที่ต้องเรียนรู้ computer organization และ architectureเพราะว่า สามารถออกแบบโปรแกรมให้ดีขึ้น, รวมทั้ง system software เช่น compilers, operating systems, และ device drivers. ปรับปรุงโปรแกรมให้มีประสิทธิภาพสูงสุด(Optimize program behavior) ประเมินขีดความสามารถของระบบคอมพิวเตอร์ได้. เข้าใจถึงการชั่งน้ำหนักระหว่าง time, space, และ price
Com architecture vs. com orgarnization Computer architecture หมายถึง คุณสมบัติต่าง ๆ ของระบบคอมพิวเตอร์ซึ่งจะมีส่วนที่มีผลกระทบโดยตรงต่อการประมวลผลของโปรแกรมคอมพิวเตอร์เช่น instruction sets, instruction formats, data types, addressing modes. Computer organization ส่วนประกอบแต่ละส่วนของเครื่องคอมพิวเตอร์ และการเชื่อมต่อเข้ากับส่วนประกอบส่วนอื่น ๆ ซึ่งจะเชื่อมต่อเข้าด้วยกัน โดยจะต้องคำนึงถึงข้อกำหนดทางสถาปัตยกรรมของเครื่องคอมพิวเตอร์เครื่องนั้น แนวคิดว่า “จะให้เครื่องคอมพิวเตอร์ทำงานตามต้องการจะออกแบบอย่างไร?”
ความสัมพันธ์ระหว่าง software และ hardware หลักการของHardware และ Softwareที่ว่า “อะไรก็ตามที่สามารถทำโดยsoftwareก็สามารถทำได้โดยhardware และ อะไรก็ตามที่สามารถทำโดยsoftwareก็สามารถทำได้โดยhardware “* * สมมุติว่าไม่พิจารณาประเด็นความเร็ว
ประวัติการพัฒนาของ computer การที่เราจะทราบถึงการทำงานของcomputerในวันนี้ เราสมควรที่จะรู้ถึงเส้นทางการพัฒนาของcomputer เพื่อเป็นประโยชน์ว่าทำไมว่าcomputeจึงเป็นอย่างทุกวันนี้ การพัฒนาของเครื่องคำนวณ(computing machinery)ได้มีมามากกว่าหนึ่งศตวรรษแล้ว การพัฒนาของ computerสมัยใหม่จะนิยมแยกออกเป็น 4 ยุคตามเทคโนโลยีที่โดดเด่นที่เกี่ยวข้อง
ประวัติการพัฒนาของ computer Generation Zero: Mechanical Calculating Machines (1642 - 1945) Calculating Clock - Wilhelm Schickard (1592 - 1635). Pascaline - Blaise Pascal (1623 - 1662). Difference Engine - Charles Babbage (1791 - 1871), also designed but never built the Analytical Engine. Punched card tabulating machines - Herman Hollerith (1860 - 1929).
ประวัติการพัฒนาของ computer The First Generation: Vacuum Tube Computers (1945 - 1953) Atanasoff Berry Computer (1937 - 1938) solved systems of linear equations. John Atanasoff and Clifford Berry of Iowa State University.
ประวัติการพัฒนาของ computer The First Generation: Vacuum Tube Computers (1945 - 1953) Electronic Numerical Integrator and Computer (ENIAC) John Mauchly and J. Presper Eckert University of Pennsylvania, 1946 The first general-purpose computer.
ประวัติการพัฒนาของ computer The First Generation: Vacuum Tube Computers (1945 - 1953) IBM 650 (1955) Phased out in 1969. The first mass-produced computer.
ประวัติการพัฒนาของ computer The Second Generation: Transistorized Computers (1954 - 1965) IBM 7094 (scientific) and 1401 (business) Digital Equipment Corporation (DEC) PDP-1 Univac 1100 . . . and many others. DEC PDP-1
ประวัติการพัฒนาของ computer The Third Generation: Integrated Circuit Computers (1965 - 1980) IBM 360 DEC PDP-8 and PDP-11 Cray-1 supercomputer . . . and many others. IBM 360 Cray-1
ประวัติการพัฒนาของ computer The Fourth Generation: VLSI Computers (1980 - ????) Very large scale integrated circuits (VLSI) มีtransistor มากว่า 10,000 หน่วยต่อ chip. ทำให้เกิดการสร้าง microprocessors. ตัวแรกได้แก่ 4-bit Intel 4004. Intel 4004 รุ่นต่อมาได้แก่ 8080, 8086 และ 8088 ซึ่งเป็นจุดกำเนิดของการทำ “personal computing.”
แนวโน้มการพัฒนาของ computer Moore’s Law (1965) Gordon Moore, Intel founder “จำนวน transistors ใน chip จะเพิ่ม 2เท่าตัวทุกๆปี” Contemporary version: “ความจุของchipจะเพิ่ม 2เท่าตัวทุกๆ 18 เดือน.”
Rock’s Law Arthur Rock, Intel financier “ต้นทุนการผลิตsemiconductors จะเพิ่มสองเท่าทุกๆ 4 ปี” In 1968, a new chip plant cost about $12,000.
ปัญหาเครื่องคอมพิวเตอร์รุ่นเก่า บนเครื่อง ENIAC การเขียนโปรแกรมจะทำที่ digital logic level. การเขียนโปรแกรม จะเกี่ยวข้องกับการเคลื่อนย้ายและการสลับสาย
คอมพิวเตอร์ตามรูปแบบของวอน นิวแมน (von Neumann Model) จากปัญหาการสั่งงานเครื่องคอมรุ่นเก่าดังกล่าว John von Neumann จึงคิดค้นระบบคอมที่ทำงานโดย จะสั่งให้คอมพิวเตอร์ทำอะไร ต้องเอาคำสั่งไปเก็บไว้ในหน่วยความจำก่อน แล้วจึงให้ ซีพียูดึงไปทำงานทีละคำสั่ง เราเรียกคอมแบบนี้ว่า “Stored-program computers” และกลายมาเป็นรูปแบบการทำงานของคอมฯในยุคต่อมาที่เรียกว่า “von Neumann Architecture systems”
คอมพิวเตอร์ตามรูปแบบของวอน นิวแมน (von Neumann Model) ปัจจุบันนี้ stored-program computers มีลักษณะดังนี้: Three hardware systems: A central processing unit (CPU) A main memory system An I/O system
คอมพิวเตอร์ตามรูปแบบของวอน นิวแมน (von Neumann Model) รูปภาพแสดงระบบทั่วไปของ von Neumann system: Computer จะใช้การ fetch-decode-execute cycle ในการปฏิบัติคำสั่งโปรแกรม
ระดับชั้นโครงสร้างของcomputer (Computer Level Hierarchy) Computer ประกอบด้วยหลายๆสิ่งที่นอกเหนือจาก chips. Computer จะทำให้คุณค่าของผลลัพธ์มีคุณค่าโดยอาศัย software. การเขียนprogramที่ซับซ้อนต้องอาศัยวิธี “divide and conquer” ซึ่งแต่ละ program module จะใช้แก้ปัญหาย่อยๆ. ระบบ computer ที่ซับซ้อน จะอาศัยเทคนิคที่เรียกว่า “virtual machine Layers”
ระดับชั้นโครงสร้างของcomputer แต่ละvirtual machine layer จะเป็นชั้นการทำงานในมุมมองที่ง่ายกว่าชั้นที่ต่ำกว่าลงไปจากตัวมัน machines แต่ละ level จะดำเนินการทำงานตามแบบฉบับคำสั่งของชั้นตัวเอง โดยการเรียกใช้ machines ในระดับที่ต่ำกว่าให้ทำงานที่ต้องการอีกต่อหนึ่ง ซึ่งในที่สุดการทำงานจริงก็ตกอยู่ที่Computer circuits
ระดับชั้นโครงสร้างของcomputer Level 6: The User Level Program execution และ user interface level. level นี้เราจะคุ้นเคยที่สุด. Level 5: High-Level Language Level level นี้จะเกี่ยวข้องกับการเขียน programs โดยใช้ภาษาเช่น C, Pascal, Lisp, และ Java.
ระดับชั้นโครงสร้างของcomputer Level 4: Assembly Language Level มีหน้าที่การสร้างเกี่ยวกับสร้าง assembly language จาก Level 5 รวมทั้งการเขียนคำสั่งภาษาเครื่องโดยตรงกับ level นี้ Level 3: System Software Level ควบคุมการทำงานของขบวนการในระบบ(Controls executing processes on the system) ป้องกันทรัพยากรที่จำเป็นของระบบ คำสั่งของภาษาแอสเซมบลี(Assembly language) มักจะผ่าน Level 3 นี้ไปโดยไม่มีการแก้ไข
ระดับชั้นโครงสร้างของcomputer Level 2: Machine Level หรือเรียกว่า “Instruction Set Architecture (ISA) Level” ประกอบด้วยคำสั่งต่างๆเป็นรูปแบบที่เฉพาะกับสถาปัตยกรรมของระบบคอมฯเครื่องนั้น Programs ที่เขียนด้วย machine language ไม่ต้องการ compilers, interpreters หรือ assemblers.
ระดับชั้นโครงสร้างของcomputer Level 1: Control Level control unit จะถอดรหัส(decodes) และปฏิบัติคำสั่ง(executes instructions) และเคลื่อนย้ายข้อมูลไปมาผ่านระบบ Control units จะอยู่ในรูปของ microprogrammed หรือhardwired. microprogram คือ program ที่เขียนในรูปของ low-level language แล้วสร้างขึ้นเป็น hardware. Hardwired control units ประกอบด้วย hardware ซึ่งปฏิบัติคำสั่งเครื่อง(machine instructions)โดยตรง
ระดับชั้นโครงสร้างของcomputer Level 0: Digital Logic Level Level นี้เป็นที่ซึ่งพบ digital circuits (the chips). Digital circuits ประกอบด้วย gates และ wires. components เหล่านี้จะบริการทำงานทางตรรกะคณิตศาสตร์ให้กับทุกๆ level