ค้นหาบล็อกนี้

วันพฤหัสบดีที่ 28 กรกฎาคม พ.ศ. 2554

โปรเซสเซอร์


โปรเซสเซอร์
ปี 1989 Intel ประกาศตัว 80486 ซึ่งเป็นซีพียูแบบ 32 บิต พร้อมเปิดตัวสิ่งที่เรียกว่า ไปป์ไลน์” (Pipeline)
ไปป์ไลน์ช่วยให้ซีพียูสามารถเฟ็ตช์คำสั่งเข้ามาทำงานได้หลาย ๆ คำสั่งในเวลาเดียวกันได้ โดยเอ็กซิคิวต์ในแต่ละคำสั่งในแต่ละสัญญาณนาฬิกา (Clock cycle)เรียกการทำงานแบบนี้ว่า สเกลลาร์” (Scalar)
ปี 1993 ได้เปิดตัวซีพียูในยุคที่ 5 ที่เรียกว่า “Pentium” โดยนำไปป์ไลน์มาใส่ไว้ในซีพียูถึง 2 ตัว ทำงานแบบขนานพร้อม ๆ กัน โดยไม่ขึ้นต่อกัน ทำให้สามารถเอ็กซิคิวต์ได้ 2 คำสั่งใน 1 สัญญาณนาฬิกา
เรียกสถาปัตยกรรมนี้ว่า ซุปเปอร์สเกลลาร์” (Superscalar)
องค์ประกอบของ cpu



ไปป์ไลน์ (Pipeline) คือการทำงานแบบคาบเกี่ยวกัน (overlap) โดยการแบ่งซีพียูออกเป็นส่วนย่อย ๆ แล้วแบ่งงานกันรับผิดชอบ
เดิมไปป์ไลน์เป็นเทคนิคของสถาปัตยกรรมแบบ RISC ต่อมานำมาใช้กับสถาปัตยกรรมแบบ CISC
แบ่งเป็นภาคหลัก ๆ คือ
ขั้นตอนการทำงานของ Pipeline
                ภาคเฟ็ตช์คำสั่ง หรือ Instruction Fetch ส่วนนี้จะทำหน้าที่รับคำสั่งใหม่ ๆ ทั้งจากหน่วยความจำหลัก หรือจาก Instruction Cache เข้ามา
                ภาคถอดรหัสคำสั่ง หรือ Instruction Decode ส่วนนี้จะทำหน้าที่แยกแยะคำสั่งต่าง ๆ ของ CISC
                ภาครับข้อมูล หรือ Get Operands  ส่วนนี้ทำหน้าที่รับข้อมูลที่จะใช้ในการเอ็กซิคิวต์เข้ามาเก็บไว้
                ภาคเอ็กซิคิวต์ หรือ Execute ส่วนนี้เป็นขั้นตอนที่ทำการเอ็กวิคิวต์ตามคำสั่งและโอเปอแรนด์ที่ได้รับมา
                ภาคเขียนผลลัพธ์ หรือ Write Result เมื่อทำการเอ็กซิคิวต์เสร็จเรียบร้อยแล้ว ผลลัพธ์ที่ได้ก็จะนำไปเก็บไว้ในรีจิสเตอร์ หรือในแคช
ภาพการทำงานของ (Pipeline) 




ส่วนประกอบของคอมพิวเตอร์

ระบบ คือ การทำงานที่ต้องรวมหลายๆ อย่าง
ระบบคอมพิวเตอร์แบ่งออกได้ 4 ประเภท
    1. Hardware
    2. Software
    3. Preple ware
    4. Data

CPU มีซีริโคนมาเชื่อม เพื่อมาระบายความร้อน
พัดลมครอบ CPU เป็นตัวระบายอากาศ

Ram ประกอบด้วย
   - Ram
   -DDR
   -DDR2

Hardware ประกอบด้วยส่วนที่สำคัญ คือ
  1. หน่วยรับข้อมูล
  2. หน่วยประมวลผล
  3. หน่วยความจำหลัก
  4. หน่วยความจำรอง
  5. หน่วยแสดงผลข้อมูล

ความหมายของคอมพิวเตอร์

คอมพิวเตอร์มาจาก ภาษาละติน ว่า Computer คือ การนับ หรือ การคำนวณ
เทคโนโลยีสารสนเทศ คือ เทคโนโลยีสำหรับการประมวลผลสารสนเทศ ครอบคลุม การรับ-ส่ง การแปลง การจัดเก็บการประมวลผล การสืืบค้นสารสนเทศในการประประยุกต์
แบ่งได้ 3 กลุ่ม
     1.คอมพิวเตอร์
     2.การสื่อสาร
     3.ข้อมูลมัลติมิเดีย

โครงสร้างของระบบคอมพิวเตอร์

เราสามารถแบ่งโครงสร้างหลัก ๆ ของระบบคอมพิวเตอร์ได้เป็น 3 ส่วนดังนี้


1. อินพุต - เอาท์พุต ( Input - Output ) เป็นส่วนของคอมพิวเตอร์ที่ใช้ติดต่อกับโลกภายนอกโดยรับ-ส่งข้อมูลกับคอมพิวเตอร์ เพื่อให้กลไกภายในตรับไปปฏิบัติโดยผ่านทางอินพุตทำให้ผู้ใช้สามารถรับทราบผลการปฏิบัติงานของเครื่องได้ ตัวอย่างของอุปกรณ์อินพุต ได้แก่ แป้นพิมพ์ ตัวขับดิสก์ เป็นต้น และตัวอย่างของอุปกรณ์เอาท์พุต ได้แก่ จอภาพและเครื่องพิมพ์ เป็นต้น
2. หน่วยประมวลผลกลาง หรือ ซีพียู ( Central Processing Unit : CPU ) เป็นส่วนที่ทำหน้าที่ปฏิบัติตามคำสั่งที่ได้รับมาจากอินพุต
หรือนำเอาข้อมูลจากส่วนอินพุตมาประมวลผล เพื่อให้ได้ผลลัพธ์ที่ต้องการ การปฏิบัติงานตามคำสั่งหรือการประมวลผลนี้เราเรียกว่าการเอ็กซีคิ้ว
(execute)การเอ็กซีคิ้วชุดคำสั่งหรือโปรแกรมเรียกว่าการรัหรืออาจกล่าวว่าโปรแกรมถูกเอ็กซีคิ้ว
หน่วยประมวลผลกลางเราสามารถแบ่งย่อยลงไปได้อีก 2 ส่วนคือ
-หน่วยควบคุม ( control unit ) มีหน้าที่ควบคุมการทำงานของอุปกรณ์ต่าง ในระบบทั้งหมดให้มีการทำหน้าที่ให้ถูกต้อง
-หน่วยคำนวณ ( arithmetic logic unit ) มีหน้าที่ในการคำนวณทางด้านคณิตศาสตร์
เช่น บวก ลบ คูณ หาร และงานทางด้านตรรกศาสตร์ เช่น AND OR นอกจากนี้ยังสามารถทำโอเปอร์ชั่นอื่นๆ อีก เช่น การเลื่อนบิต
( shift ) หรือการทำคอมพลีเมนต์ ( complement ) เพื่อสลับค่าตัวเลขจากบวกเป็นลบ หรือจากลบเป็นบวก
เช่น -5 หรือ +5 เป็นต้น สำหรับหน่วยควบคุมมีหน้าที่ควบคุมการทำงานส่วนต่างๆ เป็นไปตามลำดับขั้นตอนที่ถูกต้อง
อาศัยเทคโนโลยีก้าวหน้าในปัจจุบัน เราสามารถผลิตซีพียู ลงบนแผงวงจรรวมหรือไอซี (Integrated
Circuit) ที่มีขนาดเล็ก ๆ ได้ และเราเรียกกันว่าไมโครโปรเซสเซอร์ หรือ โปรเซสเซอร์
3.หน่วยความจำ (Memory) เป็นอุปกรณ์ที่สร้างขึ้นเพื่อสามารถเก็บข้อมูลหรือคำสั่งที่คอมพิวเตอร์
ต้องการใช้เอาไว้ ดังนั้นหน่วยความจำจึงเป็นสิ่งจำเป็นมาก ในคอมพิวเตอร์ขนาดใหญ่ๆ อาจมีหน่วยความจำขนาดหลายเมกกะไบต์
(106 ไบต์) หรือ หลายจิกกะไบต์ (109 ไบต์ ) เราอาจแบ่งหน่วยความจำออกเป็น 2 ประเภทใหญ่ คือ
- หน่วยความจำปฐมภูมิ เป็นหน่วยความจำที่ติดต่อกับซีพียูโดยตรงมี 2 ชนิดคือ แบบที่ข้อมูลที่เก็บไว้ไม่สูญหาย
แม้ไม่มีไฟฟ้าป้อน เป็นหน่วยความจำที่เรียกกันทั่วไปว่า รอม ( Read Only Memory : ROM ) ข้อมูลที่เก็บไว้ภายใน
ถูกสร้างขึ้นในขณะที่สร้างหน่วยความจำจากโรงงาน ผู้ผลิต และไม่สามารถแก้ไขได้ (แต่ในปัจจุบันหน่วยความจำประเภทนี้ได้รับการพัฒนา
ให้สามารถบันทึกและลบข้อมูลภายในได้ แต่ต้องอาศัยอุปกรณ์พิเศษเฉพาะหน่วยความจำชนิดนี้ ได้แก่ programmeble ROM
หรือ PROM และ erasable PROM หรือ EPROM ) ส่วนหน่วยความจำอีกชนิดหนึ่งคือ แรม ( Random
Access Momery , RAM ) ข้อมูลที่เก็บไว้จำเป็นต้องใช้กระแสไฟเพื่อรักษาข้อมูลให้คงอยู่ ถ้าไม่มีกระแสไฟฟ้าข้อมูล
ที่เก็บไว้ก็หายไปหมด
-หน่วยความจำทุติยภูมิ หน่วยความจำประเภทนี้ เราจะไม่ถือเป็นส่วนหนึ่งของหน่วยประมวลผล แต่เป็นส่วนหนึ่งของ
อุปกรณ์อินพุต-เอาท์พุตมากกว่า ตัวอย่างของหน่วยความจำ ประเภทนี้ได้แก่ ดิสก์ เทป เป็นต้น
เพื่อให้เกิดความเข้าใจในการศึกษาระบบปฏิบัติการ การจัดแบ่งโครงสร้างของระบบคอมพิวเตอร์อาจแตกต่างจากที่เคย
พบมา เราจะแบ่งโครงสร้างของระบบคอมพิวเตอร์เป็นดังนี้
1. ระบบภายใน ในส่วนนี้ประกอบไปด้วย ซีพียู และหน่วยความจำปฐมภูมิ ซึ่งต่อไปนี้จะเรียกส่วนนี้ว่าเป็นเครื่องคอมพิวเตอร์
หรือ คอมพิวเตอร์
2. ระบบภายนอก ในส่วนนี้คือ ส่วนอุปกรณ์ อินพุต-เอาท์พุต และหน่วยความจำทุติยภูมิ ทั้งหมดนี้เราเรียกว่าเป็นอุปกรณ์
รอบข้าง (peripheral)
เป็นการแสดงการติดต่อข้อมูลในระบบคอมพิวเตอร์ ซึ่งยังคงเหมือนกับ แต่ลดความยุ่งยากลง เพื่อให้ดูเข้าใจง่ายขึ้น ในส่วนของอุปกรณ์
อินพุตจะรับข้อมูล หรือ รับคำสั่ง แล้วส่งให้ซีพียูประมวลผล เมื่อซีพียูมีข้อมูลจะส่งกลับให้ผู้ใช้ ซีพียูจะส่งข้อมูลไปทางอุปกรณ์เอาท์พุต ในการ
ทำงานของซีพียูบางครั้งซีพียูอาจส่งข้อมูลไปเก็บ เอาไว้ในหน่วยความจำทุติยภูมิ เช่น ดิสก์ ในลักษณะนี้ดิสก์จะทำหน้าที่เป็นอุปกรณ์เอาท์พุต
และในทำนองเดียวกัน ซีพียูอาจรับหรือต้องการข้อมูลมาจากดิสก์เช่นเดียวกัน ซึ่งในกรณีนี้ดิสก์จะเป็นอุปกรณ์อินพุต นั่นคือ หน่วยความจำ
ทุติยภูมิสามารถเป็นได้ทั้งอุปกรณ์อินพุต และ เอาท์พุตการที่เราแยกหน่วยความจำปฐมภูมิกับหน่วยความจำทุติยภูมิออกกัน
เนื่องจากว่าหน่วยความจำปฐมภูมินั้น ติดต่อกับซีพียูโดยตรงไม่ต้องผ่านอุปกรณ์อื่น แต่สำหรับหน่วยความจำทุติยภูมิเป็น
อุปกรณ์ภายนอกแยกออกไป และ ข้อสำคัญก็คือ การติดต่อระหว่างอุปกรณ์อินพุต-เอาท์พุตและหน่วยความจำทุติยภูมิต้องมีการอุปกรณ์ช่วยเหลือ
การจัดการหน่วยความจำ
การจัดการหน่วยความจำเป็นหน้าที่อีกประการหนึ่งของ OS หน่วยความจำเป็นองค์ประกอบหนึ่งในการพิจารณาขีด
ความสามารถของเครื่องคอมพิวเตอร์ ถ้าคอมพิวเตอร์มีหน่วยความจำมาก ขีดความสามารถในการทำงานก็จะเพิ่มขึ้นด้วย
โปรแกรมที่มีความสลับซับซ้อนและมีความสามารถมากมักต้องการหน่วยความจำปริมาณมากด้วย แต่หน่วยความจำเป็นทรัพยากร
ที่มีราคาแพง และในเครื่องคอมพิวเตอร์ขนาดเล็กหน่วยความจำมีขนาดจำกัด ทำให้เราไม่สามารถขยายขนาดหน่วยความจำได้มากตาม
ที่ต้องการ จึงจำเป็นต้องใช้หน่วยความจำที่มีอยู่ให้เกิดประโยชน์สูงสุด เพื่อความสะดวกของผู้ใช้ เราจึงยกงานการจัดการหน่วยความจำนี้ให้
เป็นหน้าที่ของ OS เช่น ตรวจดูว่าโปรแกรมใหม่จะถูกนำไปวางไว้ในหน่วยความจำที่ไหน? เมื่อใด? หน่วยความจำไหนควรถูก
ใช้ก่อนหรือหลัง? โปรแกรมไหนจะได้ใช้หน่วยความจำก่อน?
การจัดการหน่วยความจำของ OS นั้นมีการใช้มาตรการหรือยุทธวิธีในการจัดการอยู่ 3 ประการ
1. ยุทธวิธีการเฟตซ์ (fetch strategy)
2. ยุทธวิธีการวาง (placement strategy)
3. ยุทธวิธีการแทนที่ (replacement strategy)

การจัดการโปรเซสเซอร์
โปรเซสเซอร์เป็นทรัพยากรประเภทหนึ่งของระบบ ในบางระบบมีโปรเซสเซอร์อยู่เพียงตัวเดียวคือซีพียู แต่ในบางระบบก็มี
โปรเซสเซอร์หลายตัวช่วยซีพียูทำงานเช่น โปรเซสเซอร์ช่วยงานคำนวณ ( math-coprocessor ) และ
โปรเซสเซอร์ควบคุมอินพุต-เอาต์พุต เป็นต้น เนื่องจาก โปรเซสเซอร์มีราคาแพงมากเราจึงควรจัดการให้มีการใช้งานโปรเซสเซอร์
ให้คุ้มค่าที่สุด โดยพยายามให้มันทำงานอยู่ตลอดเวลา เมื่อกล่าวถึงตัวจัดคิวในระยะสั้น ก็คงต้องกล่าวถึงตัวจัดคิวในระยะยาวด้วย
(longterm scheduler)
การทำงานของตัวจัดคิวในระยะยาวมีความแตกต่างกับตัวจัดคิวในระยะสั้นอยู่ในบางส่วน การจัดคิวในระยะสั้นเป็นการจัดคิวในระดับโปรเซส
และทำหน้าที่คัดเลือกโปรเซสในสถานะพร้อมและส่งเข้าไปอยู่ในสถานะรัน ส่วนการจัดคิวในระยะยาวจะเป็นการจัดคิวในระดับ "งาน"
ไม่ใช่ระดับ "โปรเซส" เมื่อผู้ใช้ส่งงานเข้ามาในระบบ งานเหล่านี้จะเข้าไปรออยู่ในคิวงานเมื่อระบบอยู่ในสภาพพร้อมที่จะรับ
โปรเซสใหม่ได้