Computer Architecture ผู้สอน อ. กริช สมกันธา หนังสือประกอบการสอน Computer Organization And Architecture (Designing for Performance) William Stallings
คะแนน 100 คะแนน คะแนนเข้าชั้นเรียน 5 คะแนนสอบ Midterm 20 คะแนนเข้าชั้นเรียน 5 คะแนนสอบ Midterm 20 คะแนนสอบย่อย หรืองาน Assignment 10 คะแนนงานที่ได้รับมอบหมาย Present + Report (เนื้อหาในบทเรียนกลุ่มละ 1 บท) 15 คะแนนสอบ Final 50 100 คะแนน
Content Overview and Context of Computer System Computer Evolution and Performance Computer Interconnection Structures Internal Memory External Memory Input/output Operating System Support Instruction Set CPU Structure and Function Reduced Instruction Set Computer (RISCs) Superscalar Processors Control Unit Operation Microprogrammed Control Parallel Processor Assembly Language
Chapter 1 Introduction
นิยามของคอมพิวเตอร์ Computer architecture Architecture is those attributes visible to the programmer. (คุณสมบัติต่างๆ ของระบบคอม ที่ผู้ใช้สามารถมองเห็นได้ ซึ่งจะเป็นส่วนที่มีผลกระทบโดยตรงต่อการประมวลผลของโปรแกรมคอม) เช่น - Instruction set (ชุดคำสั่ง) - number of bits used for data representation(การแทนข้อมูลระดับของเครื่อง). Computer Organization The operation unit and their interconnection that realize the architectural specification. (ส่วนประกอบแต่ละส่วนของเครื่องคอมพิวเตอร์และการเชื่อมต่อเข้ากับส่วนประกอบอื่นๆ) เช่น - Control Signal - Interface between the computer and peripheral, - Memory technology
ตัวอย่างความสัมพันธ์ทั้งสอง เช่นการที่เครื่องคอมพิวเตอร์จะมีคำสั่งสำหรับการคูณหรือไม่นั้นจะเป็นการตัดสินใจทางด้าน computer architecture ส่วนการตัดสินใจทางด้าน computer organization นั้นจะเกี่ยวกับการสร้าง Hardware สำหรับการคูณ สมมุติว่าคอมพิวเตอร์มี compute architecture เหมือนกันหมด แต่มี computer organization แตกต่างกัน ทำให้คอมพิวเตอร์มีความแตกต่างด้าน ราคา ประสิทธิภาพ บางครั้ง architecture บางอย่างยังมีความทันสมัยสามารถใช้ได้หลายปี และถูกนำไปใช้หลายรุ่น ในขณะที่ organization อาจเปลี่ยนแปลงไปตามเทคโนโลยีใหม่ๆเช่น - เครื่องคอมพิวเตอร์ IBM system 370 ถ้าต้องการความเร็วมากขึ้นอาจจะซื้อรุ่นที่ราคาแพง แต่ก็ยังคงสามารถใช้ Software เดิมได้ แม้ว่า Organization เปลี่ยนไปก็ยังคงทำให้ใช้ Software ตัวเดิมได้
Structure & Function(โครงสร้างและหน้าที่การทำงาน) Structure is the way in which components relate to each other(วิธีการที่อุปกรณ์ต่างๆ เชื่อมต่อเข้าด้วยกัน) พูดง่ายคือส่วนต่างๆ ของอุปกรณ์ที่เชื่อมต่อกันเป็นคอมพิวเตอร์ Function is the operation of individual components as part of the structure (การทำงานของส่วนประกอบแต่ละส่วนในฐานะที่เป็นส่วนหนึ่งของโครงสร้าง)
Function การทำงานในส่วนต่างๆ ของ คอมพิวเตอร์ All computer functions are: Data processing (การประมวลผลข้อมูล) Data storage (การเก็บข้อมูล) Data movement (การเคลื่อนย้ายข้อมูล) Control (การควบคุม)
Functional view Basic Function ในการทำงานของ คอมพิวเตอร์โดยทั่วไป
Operations (1) Data movement
Operations (2) Storage
Operation (3) Processing from/to storage
Operation (4) Processing from storage to I/O
Structure - Top Level Peripherals Central Main Processing Memory Unit Computer Main Memory Input Output Systems Interconnection Peripherals Communication lines Central Processing Unit
Structure - Computer (Central Processing Unit : CPU) หน่วยประมวลผลกลางจัดได้ว่าเป็นส่วนที่สำคัญที่สุดของคอมพิวเตอร์ เปรียบเสมือนเป็นสมองของเครื่องคอมพิวเตอร์ โดยทำหน้าที่ในการคำนวณค่าต่าง ๆ ตามคำสั่งที่ได้รับ และควบคุมการทำงานของส่วนประกอบอื่น ๆ ทั้งหมด ในระบบไมโครคอมพิวเตอร์ หน่วยประมวลผลกลางจะถูกสร้างให้อยู่ในรูป วงจรรวม (Integrated Circuit: IC) เพียงตัวเดียวทำให้ง่ายในการนำไปใช้งาน
- ROM (Read Only Memory) - RAM (Random Access Memory) Structure - Computer หน่วยความจำ (Memory Unit) เป็นหน่วยที่ทำหน้าที่เก็บข้อมูลของระบบคอมพิวเตอร์ ไม่ว่าจะเป็นตัวเลขหรือข้อความแม้กระทั่งคำสั่งต่าง ๆ ในโปรแกรมที่จะใช้สั่งงานระบบคอมพิวเตอร์ โดยทั่วไปแล้วหน่วยความจำจะถูกสร้างมาบน IC เพื่อให้มีความจุสูงแต่มีขนาดเล็ก ข้อมูลที่เก็บในหน่วยความจำจะมีสถานะเพียงแค่เปิดวงจร (0) หรือปิดวงจร (1) เท่านั้น หน่วยความจำสามารถแบ่งออกได้เป็นสองประเภทใหญ่ ๆ คือ - ROM (Read Only Memory) - RAM (Random Access Memory)
Structure - Computer หน่วยนำข้อมูลเข้าและหน่วยแสดงผล (I/O Unit) เป็นหน่วยที่ทำหน้าที่รับการติดต่อจากภายนอกเข้าสู่ระบบ และแสดงผลที่ได้จากการทำงานของระบบออกสู่ภายนอก เช่น คีย์บอร์ด, จอภาพ, ลำโพง, Disk Drive เป็นต้น
Structure - The CPU CPU Arithmetic Computer and Registers Login Unit I/O System Bus CPU Internal CPU Interconnection Memory Control Unit
Structure - The CPU หน่วยคำนวณทางคณิตศาสตร์และตรรกะ (Arithmetic and Logic Unit : ALU) เป็นหน่วยที่ทำหน้าที่ประมวลผลโดยใช้วิธีที่คณิตศาสตร์ เช่น บวก ลบ คูณ หาร หรือ ทำหน้าที่ประมวลผลทางตรรกะ เช่น AND OR NOT COMPLEMENT เป็นต้น รวมทั้งยังทำหน้าที่ในการเปรียบเทียบค่าต่าง ๆ
Structure - The CPU หน่วยเก็บข้อมูลชั่วคราว (Register) เป็นหน่วยความจำขนาดเล็ก ทำหน้าที่เป็นที่พักข้อมูล ชั่วคราวก่อนที่จะถูกนำไปประมวลผล โดยปกติแล้วใน CPU จะมี Register สำหรับเก็บข้อมูลไม่เกิน 64 ตัว การอ้างอิงข้อมูลของ Register จะมีความเร็วเท่ากับความเร็วของหน่วยประมวลผลกลาง เพราะเป็นหน่วยความจำส่วนที่อยู่ภายในตัวหน่วยประมวลผลกลางจึงไม่ต้องไปอ้างอิงถึงภายนอกหน่วยประมวลผล
Structure - The CPU หน่วยควบคุม (Control Unit) เป็นเสมือนหน่วยบัญชาการของระบบคอมพิวเตอร์ทั้งหมด ทำหน้าที่กำหนดจังหวะการทำงานต่าง ๆ ของคอมพิวเตอร์ไม่เว้นแม้แต่ส่วนประกอบอื่น ๆ ของ CPU นอกจากนี้ยังทำหน้าที่ควบคุมการส่งข้อมูลระหว่างหน่วยต่าง ๆ ในคอมพิวเตอร์
Structure - The Control Unit CPU Sequencing Login ALU Control Unit Internal Bus Control Unit Registers and Decoders Registers Control Memory
การแบ่งชนิดของคอมพิวเตอร์ในปัจจุบัน Supercomputers เป็นคอมพิวเตอร์ขนาดใหญ่ที่สุดในปัจจุบัน มีการใช้ CPU จำนวนมากเช่น 64 CPU ทำงานร่วมกัน มีความเร็วสูง หน่วยความจำมาก ตัวอย่างเช่นเครื่อง Cray 1 ถึง 4 เป็นต้น Mainframe Computers มีขนาด ความเร็วและจำนวน CPU รองลงมาจาก Supercomputers สามารถติดตั้งระบบปฎิบัติการระบบ Multi-user ได้หลาย ๆ ตัวพร้อม ๆ กัน ภายในเครื่องเดียว ใช้สำหรับเป็นคอมพิวเตอร์ศูนย์กลางสำหรับองค์กรขนาดใหญ่ Minicomputers มีขนาดรองลงมาอีก สามารถติดตั้งระบบปฎิบัติการแบบ Multi-user เพียงระบบเดียว เหมาะสำหรับเป็นคอมพิวเตอร์ศูนย์กลางสำหรับองค์กรขนาดกลางหรือเป็น Internet host ที่ให้ความจุสูง
Microcomputers คอมพิวเตอร์ขนาดเล็กที่ใช้ CPU ที่ทำจาก Microprocessor Workstations เป็นคอมพิวเตอร์ที่วิวัฒนาการมาจาก Dumb terminal ของคอมพิวเตอร์ที่ใช้ระบบปฎิบัติการแบบ Multi-user ต่อมาจึงพัฒนาให้มีขีดความสามารถในการคำนวณของตนเอง ส่วนใหญ่ใช้ในงาน CAD และ Internet host ตัวอย่างเช่นเครื่อง Sun workstation ใช้ระบบปฎิบัติการ Multi-user ทำให้เข้ามาแทนที่ Minicomputers ในปัจจุบันนิยมใช้ CPU แบบ RISC Personal Computers (PCs) หรือ Home Computers เป็นคอมพิวเตอร์ขนาดเล็ก แต่ขีดความสามารถและขนาดต่าง ๆ กำลังขยายขึ้นอย่างรวดเร็ว ใช้ Microprocessor เพียงตัวเดียวเป็น CPU ส่วนใหญ่จะใช้ระบบปฎิบัติการแบบ Multi-tasking/Single-user เช่น Windows, Linux หรือ OS/2 เป็นต้น ขนาดพอสำหรับวางตั้งโต๊ะ บางทีจึงเรียกเป็น Desktop Computers เหมาะสำหรับทำงานคนเดียวหรือต่อเป็นเครือข่ายคอมพิวเตอร์ขนาดเล็ก (LAN) หรือใช้เป็น Internet host ที่ให้ขีดความสามารถไม่สูงมากนัก
Laptop Computers คือพีซีที่สร้างให้มีขนาดเล็ก สามารถยกไปมาได้สะดวก Palm Computers คอมพิวเตอร์ขนาดเล็กมากขนาดมือถือ จึงมีจอภาพขนาดเล็กมาก ไม่ต้องมี Keyboard และ Mouse ทำให้ขีดความสามารถมีน้อยมากในปัจจุบัน Single-board Computers เป็นคอมพิวเตอร์ขนาดเล็กมากที่ใช้ไมโครโปรเซสเซอร์ขนาดเล็กที่หาซื้อได้ทั่วไป ไม่มีจอภาพแต่มี 7-segment display และมี Keyboard ขนาดเล็ก ไม่เหมาะสำหรับใช้งานเป็น General purpose computers แต่เหมาะสำหรับใช้งานเฉพาะอย่างเช่น งานในระบบความคุมต่าง ๆ เป็นต้น
Embedded Computers มีขนาดเท่ากับ Single-board Computers แต่ได้รับการออกแบบให้ติดตั้งอยู่ในตัวของเครื่องควบคุมการ มักใช้ในงานเช่น แขนกล หุ่นยนต์ รถยนต์ เครื่องบิน เป็นต้น
การทำงานของเครื่องคอมพิวเตอร์ เนื่องจากคอมพิวเตอร์ปัจจุบันเป็นคอมพิวเตอร์แบบ von Neumen’s Machine หรือเป็น Stored-Program Computer กล่าวคือเป็นเครื่องจักรที่ทำงานตามขั้นตอนของคำสั่งหรือโปรแกรมที่มนุษย์คิดไว้ และนำโปรแกรมนั้นไปเก็บในรูปแบบของไฟล์ในดิสก์ คอมพิวเตอร์ก็อ่านโปรแกรมไปเก็บไว้ในหน่วยความจำเพื่อให้หน่วยประมวลผลกลางหรือ CPU มาอ่านคำสั่งไปทำงานทีละคำสั่ง โดยเริ่มตั้งแต่คำสั่งแรกไปจนจบโปรแกรม ดังนั้นเพื่อที่จะให้คอมพิวเตอร์สามารถทำงานได้อย่างถูกต้องตั้งแต่เริ่มเปิดไฟเข้าสู่เครื่องจนถึงสั่งปิดไฟ จึงต้องมีการแบ่งโปรแกรมและหน่วยความจำออกเป็นหลาย ๆ ระดับ โดยส่วนของโปรแกรมจะประกอบด้วย Bootstrap Loader, BIOS, Operating System (OS) และ Application Program
คอมพิวเตอร์กับการคำนวณ คอมพิวเตอร์ในปัจจุบันเป็นคอมพิวเตอร์ในยุคที่สี่ซึ่งเลียนแบบการทำงานของสมองมนุษย์เฉพาะในงานของการคำนวณดังแสดงการเปรียบเทียบในรูป ก. การทำงานของสมองมนุษย์ ข. การคำนวณของคอมพิวเตอร์ในปัจจุบันเป็น von Neumann’s Machine
คอมพิวเตอร์กับการคำนวณ แต่สมองมนุษย์ยังมีความสามารถอื่น ๆ ที่คอมพิวเตอร์ในยุคปัจจุบันไม่มีได้แก่ ความสามารถในการเข้าใจภาษามนุษย์ (Natural Language Processing : NLP) ความสามารถในการเรียนรู้ (Learning) ความสามารถในการศึกษาหาเหตุผลประกอบการตัดสินใจ ความสามารถในการรู้จักลักษณะต่าง ๆ เช่น รูป รส กลิ่น เสียง ความคิดริเริ่ม อารมณ์ สัญชาติญาน ฯลฯ
โครงสร้างของระบบคอมพิวเตอร์ในยุคที่ 4 ประกอบด้วย 4 ส่วนหลักๆ ดังนี้
ทำไมต้องศึกษา com Architecture & Organzation นักศึกษาควรที่จะมีความเข้าใจสถาปัตยกรรมได้อย่างมีประสิทธิภาพสำหรับการเลือกระบบคอมพิวเตอร์ในการใช้งาน ก็ควรจะมีความเข้าใจในข้อดีข้อเสียขององค์ประกอบเหล่านั้น เช่น - ถูกมอบหมายให้เลือกเครื่องคอมพิวเตอร์ที่มาราคาต่อประสิทธิภาพสูงสุดในการใช้งานในองค์กร