Organization and architecuture, structure and function, history of

Download Report

Transcript Organization and architecuture, structure and function, history of

Organization and Architecture
ธนวัฒน์ แซ่เอียบ
Architecture
• เป็ น attributes ที่ programmer สามารถมองเห็นได้
• สัมพันธ์ใกล้ชิดกับกับการปฏิบตั ิงานของโปรแกรม
• เช่น
– ชุดคาสัง่ (Instruction set)
– ขนาดบิตที่ใช้ในการแทนที่ประเภทข้อมูล (data representation) เช่น
ตัวเลข อักขระ
– กลไกของ I/O
– เทคนิคในการระบุตาแหน่งหน่วยความจา (addressing memory)
Organization
• หมายถึงหน่วยควบคุมต่าง (operation units) ตามที่ได้ระบุไว้ในเนื้อหา
ส่ วน architecture
• หน่วยควบคุมติดต่อสื่ อสารซึ่งกันและกันอย่างไร
• เช่น
– สัญญาณควบคุม (control signals)
– ตัวเชื่อมต่อระหว่างคอมพิวเตอร์และอุปกรณ์รอบข้าง
– เทคโนโลยีที่ใช้ในหน่วยความจา
Example
• Architecture
– ระบุวา่ มี คาสัง่ การคูณ (multiply instruction)
• Organization
– อธิบายคาสัง่ การคูณ ดังนี้
1 มีหน่วยสาหรับการคูณโดยเฉพาะ (multiply unit)
2 หรื อใช้หน่วยการบวกมาบวกซ้ าๆกันตามผลลัพธ์การคูณ (add
unit)
History,and still today
• การแบ่งแยกส่ วนที่เป็ น architecture และ organization ยังเป็ นสิ่ งที่สาคัญ
• ผูผ้ ลิตหลายรายเสนอตระกูลของคอมพิวเตอร์ของตัวเอง ซึ่ง
– มี architecture เหมือนกัน
– แต่ต่างกันที่ organization เมื่อเวลาผ่านไปเทคโนโลยีมีความก้าวหน้า
ขึ้นก็เพียงแค่เปลี่ยนแปลงส่ วนที่เป็ น organization
Question ?
• การที่ผผู ้ ลิตเสนอตระกูลคอมพิวเตอร์โดยยังคงใช้ architecture แบบ
เดียวกัน แต่ต่างกันที่ organization ตามความต้องการของลูกค้ามี
ประโยชน์อย่างไรบ้าง
microcomputer
• ความสัมพันธ์ระหว่าง arhitecture และ organization มีความใกล้ชิดมาก
• การเปลี่ยนเทคโนโลยีไม่ได้ส่งผลกระทบต่อ organization เท่านั้นแต่ยงั
ส่ งผลต่อ architecture ทั้งเนื่องจากต้องการประสิ ทธิภาพที่สูงขึ้น และมี
ความซับซ้อนมากขึ้น
• ความเข้ากันได้ระหว่างรุ่ นต่อรุ่ น (generation to generation) จึงมีนอ้ ย
This course is about:
•
•
•
•
•
คอมพิวเตอร์ประกอบด้วยอะไรบ้าง
คอมพิวเตอร์ทางานได้อย่างไร
อะไรคือตัวเชื่อมระหว่างฮาร์ดแวร์และซอฟต์แวร์
การเขียนโปรแกรมระดับต่า ดูวา่ โปรแกรมจริ งๆทางานอย่างไร
การออกแบบส่ งผลกระทบต่อการเขียนโปรแกรมและแอปปลิเคชัน่
อย่างไร
Data
• 9
9
00000000


Instruction & data
• Printf(“hello”)
Printf(“hello”)
101
1 0 1 0 ...
opcode
operand
Instruction word


Electrons
เครื่ องคอมพิวเตอร์
อิเล็คตรอน


An Important Idea: what are
Computers meant to do ?
• เราใช้ภาษาในการเขียนโปรแกรม เพื่ออธิบายการแก้ปัญหา
• และใช้กล่องที่เต็มไปด้วยอีเล็กตรอนและอานาจแม่เหล็กเพือ่ ทาให้งาน
สาเร็ จลุล่วง
box filled with electrons and magnetism ?
• กล่องนี้ เราใช้เปลี่ยนแปลงข้อมูลจากสิ่ งหนึ่งไปเป็ นอีกสิ่งหนึ่ง เพื่อใช้
ในการแก้ปัญหา ใช้เวลาในการพัฒนามาแล้วกว่า 50 ปี
Making the Electrons Work
•
•
•
•
•
•
•
ปัญหาที่จะนามาแก้ไข (Problems)
อัลกอริ ทึมสาหรับปัญหา (algorithm)
ภาษาที่ใช้เขียนโปรแกรมตามอัลกอริ ทึม
คาสัง่ เครื่ อง (machine instruction) ตามการพัฒนาโปรแกรม
Microarchitecture ตามการพัฒนาคาสัง่ เครื่ อง
Circuits
Devices
Levels of Abstraction
The desired behavior:
the application
The building blocks:
electronic devices
Natural Language
Algorithm
Program
Machine Architecture
Devices
Micro-architecture
Logic Circuits
Levels of Abstraction
• ระดับเหล่านี้ทาให้ไม่จาเป็ นต้องสร้างส่ วนประกอบที่รวบรวมชิ้นส่ วน
ทั้งหมด สามารถแยกออกมาเป็ นส่ วนๆ แต่ตอ้ งมีการนิยามให้เป็ น
มาตรฐานอย่างดี
• การที่มีมาตรฐานการเชื่อมต่อทาให้
– เกิดการใช้งานอย่างกว้างขวาง
– ทาให้มี third party ที่เป็ น software และ hardware
– portability
The Program Level
• คอมพิวเตอร์ส่วนมากทางานอยูบ่ น
โปรแกรมจัดการที่เรี ยกว่า
ระบบปฏิบตั ิการ (OS)
• โปรแกรมแอปปลิเคชัน่ เชื่อมกับ machine
architecture ผ่านทาง OS
• ตัวอย่าง
Application Program
Operating System
Data
The Machine Level - 1
• Machine Architecture
– คือข้อกาหนดของรู ปแบบฟังก์ชนั ทั้งหมดที่เครื่ องสามารถทาให้
สาเร็ จได้ หรื อเรี ยกว่า Instruction Set Architecture (ISA)
(เราจะเรียนรู้ ISA และการเขียนโปรแกรมภาษาแอสแซมบลีจากเครื่อง
คอมพิวเตอร์ PDP8)
• Microarchitecture
– เป็ นการพัฒนา ISA ให้เป็ นไปตามข้อกาหนดใน CPU
The Machine Level - 2
• Logic Circuits
– แต่ละส่ วนประกอบของ microarchitecture ถูกสร้างอยูบ่ นวงจรซึ่งทา
การตัดสิ นใจแบบง่ายๆ
• Devices
– logic circuits ถูกสร้างโดยอุปกรณ์ทางอิเล็คทรอนิคเช่น transistors
Structure and function
• ระบบคอมพิวเตอร์มีความซับซ้อน ซึ่งอาจจะประกอบส่ วนประกอบทาง
อิเล็คทรอนิคหลายล้านชิ้นส่ วน จึงมีความยากในการอธิบายให้ชดั เจน
• กุญแจที่ใช้กค็ ือ การจัดระบบออกเป็ นกลุ่มตามลาดับชั้นโดยธรรมชาติ
มากที่สุด
• ระบบลาดับชั้นสามารถแสดงความสัมพันธ์ระหว่างระบบย่อย การ
ออกแบบ และการอธิบาย ทาให้ผอู ้ อกแบบคิดในส่ วนใดส่ วนหนึ่งของ
ระบบย่อยในแต่ละครั้งโดยเฉพาะ
• ในแต่ละระดับ ผูอ้ อกแบบจะเกี่ยวข้องกับ structure และ function
Computer Structure
• วิธีที่ส่วนประกอบติดต่อสื่ อสารซึ่งกันและกัน
• Central Processing Unit (CPU)
– ควบคุม operation ของคอมพิวเตอร์ และประมวลผล
ข้อมูล (processor)
•
Main memory
– จัดเก็บข้อมูล
•
Input/Output
– เคลื่อนย้ายข้อมูลระหว่างคอมพิวเตอร์ และอุปกรณ์ภายนอก
•
System Interconnection
– กลไกของติดต่อระหว่าง CPU Memory และ I/O
Central processing Unit (CPU)
• ส่ วนประกอบที่มีความซับซ้อนมากทีส่ ุ ด
• Control Unit (CU)
– ควบคุม operation ของ CPU
• Arithmetic Logic Unit (ALU)
– หน้าที่ประมวลผลข้อมูล
• Registers
• จัดเก็บข้อมูลภายใน CPU
• CPU interconnection
– กลไกสาหรับติดต่อสื่ อสารระหว่าง
control unit ALU และ registers
Computer Functionality
• ฟังก์ชนั พื้นฐานที่คอมพิวเตอร์สามารถปฏิบตั ิงานได้ ดังนี้
• Data processing
– สิ่ งที่แน่นอนที่สุด คอมพิวเตอร์ จะต้องสามารถประมวลผลข้อมูล
ได้
• Data storage
– ถึงแม้คอมพิวเตอร์ จะประมวลผลข้อมูลได้โดยตรง แต่ยงั คง
จาเป็ นต้องมีการเก็บข้อมูลชัว่ คราวและแบบยาว
• Data movement
– จะต้องสามารถเคลื่อนย้ายข้อมูลระหว่างตัวเองและโลกภายนอก
• Control
– ควบคุมการทางาน 3 ฟังก์ชนั นี้
Computer Functionality
Computer Functionality
Computer Functionality
Computer Functionality
Computer Evolution
• First Generation: : Vacuum Tubes
– ENIAC (Electronic Numerical Integrator and Computer)
– ออกแบบและสร้างภายใต้การควบคุมของ John Mauchly and John
Eckert และเป็ น first general-purpose electronic digital computer
– กองทัพยอมรับข้อเสนอจากทีมงานที่ตอ้ งการสร้าง general-purpose
computer จากหลอดสุ ญญากาศ
– เริ่ มในปี 1943-1946
– น้ าหนัก 30 ตันใช้พ้นื ที่ 1500 ตารางฟุต ใช้ 18,000 หลอด และใช้
พลังงาน 140 กิโลวัตน์
Computer Evolution
– สามารถทาการบวกได้ 5000 ครั้งต่อวินาที
– เป็ นระบบเลขฐานสิ บมากกว่าฐานสอง เนื่องจากใช้หลอดสุ ญญากาศ
10 หลอดในการแทนตัวเลขแต่ละตาแหน่ง
– Memory: 20 registers
First Generation (ENIAC)
Computer Evolution
• First Generation: von Neumann Machine
– โปรแกรมสาหรับ ENIAC มีความยุง่ ยากและน่าเบื่อเป็ นอย่างมาก
• Stored-program computer
– การเขียนโปรแกรมสามารถสะดวกสบายขึ้นถ้าตัวโปรแกรมมี
รู ปแบบการแทนที่ที่เหมาะในการจัดเก็บในหน่วยความจาร่ วมกับ
ข้อมูล ดังนั้นโปรแกรมสามารถดึงคาสัง่ ได้เพียงแค่อ่านจาก
หน่วยความจา และเปลี่ยนแปลงได้โดยการกาหนดค่าใน
หน่วยความจา
Computer Evolution
• ปี 1946 เริ่ มออกแบบคอมพิวเตอร์ IAS สาเร็ จในปี 1952 และได้
กลายเป็ นต้นแบบของ general-purpose computers ในยุคต่อมาและจนถึง
ปัจจุบนั
• การแทนที่ขอ้ มูลเป็ นแบบฐานสอง
• IAS ประกอบไปด้วย
– Main memory แรกที่จดั เก็บทั้งข้อมูลและคาสัง่
– ALU ที่สามารถจัดการข้อมูลฐานสอง
– CU ที่ใช้แปลคาสัง่ จากหน่วยความจาเพื่อให้นามาปฏิบตั ิงาน
– Input/Output
First Generation: von Neumann
Machine
First Generation: von Neumann
Machine
Computer Evolution
• Second Generation: Transistors
– การเปลี่ยนแปลงหลักมาจากการแทนที่หลอดสุ ญญากาศด้วย
ทรานซิสเตอร์ ซึ่งขนาดเล็ก ราคาถูก และสิ้ นเปลืองน้อยกว่าหลอด
สูญญากาศ
– IBM 7000 series ถึงแม้วา่ จะไม่ใช่บริ ษทั แรกที่ผลิต
– ส่ วนประกอบต่างๆมีความซับซ้อนมากขึ้น และใช้ในภาษาระดับสูง
Computer Evolution
• Third Generation: Integrated Circuits
– บรรจุทรานซิสเตอร์ไว้ในตัวเดียวกันเรี ยกว่า discrete component
และช่วยให้ผผู ้ ลิตสามารถผลิตส่ วนประกอบของตัวเองแยกออกจาก
กันได้
– ในตอนเริ่ มต้นของยุคที่สองสามารถบรรจุทรานซิสเตอร์ได้ 10000
ตัว แต่จากความต้องการประสิ ทธิภาพที่สูงขึ้น ที่อาจจะมีเป็ นแสนตัว
ทาให้เกิดแรงผลักดันสร้าง microelectronics เพื่อสร้าง ICs
– เริ่ มต้นยุคใหม่น้ ีดว้ ย
• IBM System/360
Third Generation: Integrated
Circuits Circuits
IBM System/360
Third Generation: Integrated
Circuits Circuits
• PDP8
Generations Later Generations
• Fourth Generation: Large scale integration (LSI)
• Fifth Generation: Very large scale integration (VLSI)
– เทคโนโลยี IC มีความก้าวหน้ามากขึ้น
– LSI มีจานวนส่ วนประกอบมากกว่า 1,000 ชิ้น
– VLSI มีจานวนส่ วนประกอบมากกว่า 100,000 ชิ้น
– การเปลี่ยนแปลงหลักของยุคนี้อาจมาจากแอปปลิเคชันทางธุรกิจที่ได้
พัฒนาขึ้นมาใหม่
Generations Later Generations
– Semiconductor memory ที่ทาให้หน่วยความจามีขนาดใหญ่
ขึ้น เร็ วขึ้น และราคาต่อบิตลดลง
– Microprocessor ของ Intel 8008 ซึ่งมีขนาด 8 บิตเป็ นตัวแรก
และ 8080 ซึ่งเป็ น general-purpose microprocessor ตัวแรก
Integrated Circuits
Pentium Pentium Processors
ที่มา
• William Stalling, Computer Organization and Architecture, USA