โครงสร้างและฟังก์ชั่นการทำงานของคอมพิวเตอร์
โครงสร้างของคอมพิวเตอร์
•หน่วยประมวลผลกลาง
•หน่วยความจำหลัก
•อินพุต และเอาต์พุต
หน่วยประมวลผลกลาง
(Central Processing Unit ;CPU)
•หน่วยประมวลผลกลาง เปรียบได้กับสมองของคอมพิวเตอร์ เป็นส่วนที่สำคัญที่สุด ทำหน้าที่เป็นศูนย์กลางการประมวลผลและควบคุมระบบต่างๆ ของคอมพิวเตอร์ ให้ทุกหน่วยทำงานสอดคล้องสัมพันธ์กัน
•หน่วยควบคุม (Control Unit)
•หน่วยคำนวณและตรรกะ (Arithmetic and Logic Unit ; ALU)
•หน่วยความจำหลัก (Main Memory Unit)
หน่วยควบคุม (Control Unit)
•หน่วยควบคุม (Control Unit) ทำหน้าที่ควบคุมการทำงานของหน่วยทุกๆ หน่วย ใน CPU และอุปกรณ์อื่นที่ต่อพ่วง เปรียบเสมือนสมองที่ควบคุมการทำงานส่วนประกอบต่าง ๆ ของร่างกายมนุษย์ เช่น แปลคำสั่งที่ป้อน ควบคุมให้หน่วยรับข้อมูลรับข้อมูลเข้ามาเพื่อทำการประมวลผล ตัดสินใจว่าจะให้เก็บข้อมูลไว้ที่ไหน ถูกต้องหรือไม่ ควบคุมให้ ALU ทำการคำนวณข้อมูลที่รับเข้ามา ตลอดจนควบคุมการแสดงผลลัพธ์ เป็นต้น
หน่วยคำนวณและตรรกะ
•หน่วยคำนวณและตรรกะ (ALU; Arithmetic and Logic Unit) ทำหน้าที่คำนวณทางคณิตศาสตร์ (Arithmetic operations) และการคำนวณทางตรรกศาสตร์ (Logical operations) โดยปฏิบัติการเกี่ยวกับการคำนวณได้แก่ การบวก (Addition) ลบ (Subtraction) คูณ (Multiplication) หาร (Division) สำหรับการคำนวณทางตรรกศาสตร์ ประกอบด้วย การเปรียบเทียบค่าจริง หรือเท็จ โดยอาศัยตัวปฏิบัติการพื้นฐาน 3 ค่าคือ –เงื่อนไขเท่า
หน่วยความจำหลัก (Main Memory Unit)
•หน่วยความจำหลัก ซึ่งมีชื่อเรียกหลายชื่อ ได้แก่ Main Memory Unit, Primary Storage Unit, Internal Storage Unit เป็นหน่วยที่ใช้เก็บข้อมูล และคำสั่งเพื่อใช้ในการประมวลผล และเก็บข้อมูลตลอดจนคำสั่ง ชั่วคราวเท่านั้น ข้อมูลและคำสั่งจะถูกส่งมาจากหน่วยควบคุม
•หน่วยความจำสำหรับเก็บข้อมูลและคำสั่ง (Data & Programming Memory) หรือที่เรียกว่า แรม (RAM; Random Access Memory) เป็นหน่วยความจำที่สามารถเก็บข้อมูล และคำสั่งจากหน่วยรับข้อมูล แต่ข้อมูลและคำสั่งเหล่านั้นสามารถหายไปได้ เมื่อมีการรับข้อมูลหรือคำสั่งใหม่ หรือปิดเครื่อง หรือกระแสไฟฟ้าขัดข้อง หน่วยความจำแรม เป็นหน่วยความจำที่สำคัญที่สุดของคอมพิวเตอร์ จำเป็นจะต้องเลือกซื้อให้มีขนาดใหญ่พอสมควร มิเช่นนั้นจะทำงานไม่สะดวก
RAM
•SRAM (Static RAM) ทำงานได้โดยไม่ต้องอาศัยสัญญาณนาฬิกา เป็นหน่วยความจำที่สามารถอ่านและเขียนข้อมูลได้เร็วกว่า DRAMเนื่องจากไม่ต้องมีการรีเฟรชอยู่ตลอดเวลา แต่หน่วยความจำชนิดนี้มีราคาแพงและจุข้อมูลได้ไม่มาก จึงนิยมใช้เป็นหน่วยความจำแคลชซึ่งเป็นอุปกรณ์ช่วยเพิ่มความเร็วในการทำงานของ DRAM •DRAM (Dynamic RAM) ทำงานโดยอาศัยสัญญาณนาฬิกามากระตุ้น แต่ก็มีจุดเด่นคือ มีขนาดเล็กกว่า SRAM และสิ้นเปลืองพลังงานน้อยกว่า ยังแบ่งย่อยได้เป็น -FPM DRAM (Fast Page Mode Dynamic RAM) -EDO RAM (Extended-Data-Out RAM) -SDRAM (Synchronous Dynamic RAM) -DDR SDRAM (Double Data Rate Synchronous Dynamic RAM)-RDRAM (RambusDynamic RAM)
รีจิสเตอร์
•Register (รีจีสเตอร์) เป็นหน่วยความจำขนาดเล็กที่อยู่ใน (CPU) ที่สามารถทำการคำนวณ เคลื่อนย้ายตำแหน่งต่างๆได้
•Segment ( เซกเมนต์): คือ Block ของหน่วยความจำที่เริมต้น ณ. ตำแหน่งที่คงที่ สามารถหาได้จากค่าของ เซกเมนต์รีจีสเตอร์ (Segment Register) 8086 มี Segment Register อยู่ 4 ตัว ซึ่งสามารถชี้ไป ยังตำแหน่งใดๆ ในแอดเดรส 1 MB ก็ได้
•Register(รีจีสเตอร์) คือ หน่วยความจำชนิดซึ่งแตกต่างจาก ROM (Random Only Memory : เป็นหน่วยความจำที่ อยู่ติดกับแผ่นวงจรหลักของ เครื่องไม่สามารถเพิ่มขยายขนาดได้) และ RAM (Random Access Memory: เป็นหน่วย ความจำที่สามารถเพิ่มขยายขนาดได้) ซึ่งเป็นเพียงที่พักข้อมูลหรือคอยเก็บข้อมูลไว้เท่านั้นเอง แต่รีจีสเตอร์นั้น สามารถใช้ในการคำนวณนั้นไปเก็บไว้ เป็นหน่วยความจำที่อยู่ในไมโครโปรเซสเซอร์
ขั้นตอนการประมวลผลของ CPU
•การเฟตซ์ (Fetch)
•การแปลความหมาย (Decode)
•การเอ็กซ์คิวต์ (Execute)
•การจัดเก็บ (Store)
ภาษาคอมพิวเตอร์
•ยุคที่ 1(First Generation Language : 1GL)
•ยุคที่ 2(Second Generation Language : 2GL)
•ยุคที่ 3(Third Generation Language : 3GL)
•ยุคที่ 4(Fourth Generation Language : 4GL)
•ยุคที่ 5(Fifth Generation Language : 5GL)
ยุคที่ 1(First Generation Language : 1GL)
•ยุคที่ 1(First Generation Language : 1GL) เป็นภาษาระดับต่ำ (Low –Level Language) ประกอบด้วยเลขฐานสอง ได้แก่ 0 และ 1 หรือเรียกว่า “ภาษาเครื่อง (Machine Language)”
ยุคที่ 2(Second Generation Language : 2GL)
•ยุคที่ 2(Second Generation Language : 2GL) ได้มีผู้พัฒนาให้มีการใช้สัญลักษณ์แทนตัวเลขฐานสอง เรียกว่า “ภาษาสัญลักษณ์ (Symbol Language)” คือ ภาษาอังกฤษ จะเป็นคำสั่งสั้น ๆ ที่จำได้ง่าย เรียกว่า “นิวมอนิกโค้ด (NemonicCode)” ทำให้นักเขียนโปรแกรมสามารถเขียนโปรแกรมได้ง่ายขึ้น ตัวอย่างภาษาสัญลักษณ์ ได้แก่ ภาษา Assembly และเนื่องจากเป็นภาษาสัญลักษณ์ จึงต้องใช้ตัวแปลภาษา เพื่อทำให้เป็นภาษาเครื่องก่อน ด้วยตัวแปลภาษาที่เรียกว่า “Assembler”
ยุคที่ 3(Third Generation Language : 3GL)•ยุคที่ 3(Third Generation Language : 3GL) ภาษาสัญลักษณ์ได้มีการพัฒนาเพิ่มมากขึ้น ทำให้สามารถแทนตัวเลขฐานสองได้เป็นคำ ทำให้กลายเป็นภาษาที่มีไวยากรณ์ที่เข้าใจและเขียนได้ง่ายขึ้น คำสั่งสั้นและกระชับมากขึ้น เช่น ภาษา BASIC, COBOL, Pascal
ยุคที่ 4(Fourth Generation Language : 4GL)•ยุคที่ 4(Fourth Generation Language : 4GL) ได้มีการพัฒนารูปแบบการเขียนโปรแกรมจากยุคที่ 3 ที่จัดว่าเป็นการเขียนแบบ Procedural ให้กลายเป็นการเขียนแบบ Non –Procedural ที่สามารถกระโดดไปทำคำสั่งใดก่อนก็ได้ตามที่โปรแกรมเขียนไว้ นอกจากนี้ จุดเด่นของภาษาในยุคนี้เริ่มจากการเขียนคำสั่งให้ผู้ใช้สามารถจัดการกับข้อมูลในฐานข้อมูลได้และพัฒนาต่อมากลายเป็นการเขียนคำสั่งให้ได้โปรแกรมที่มีส่วนติดต่อกับผู้ใช้แบบกราฟิกมากขึ้น และพัฒนาจนมาถึงการเขียนโปรแกรมเชิงวัตถุ (Object –Oriented Programming) เช่น ภาษา C++, Visual C++, Delphi, Visual Basic เป็นต้น ปัจจุบันมีภาษาที่ใช้หลักการของโปรแกรมเชิงวัตถุที่นิยมใช้ เช่น ภาษา Java
ยุคที่ 5(Fifth Generation Language : 5GL)
•ยุคที่ 5(Fifth Generation Language : 5GL) เป็นภาษาที่ใช้สำหรับพัฒนาซอฟต์แวร์เพื่อระบบผู้เชี่ยวชาญ (Expert System : ES) และปัญญาประดิษฐ์ (Artificial Intelligence : AI) ภาษาในยุคที่ 5 เรียกว่า “ภาษาธรรมชาติ (Natural Language)” คือ ไม่ต้องสนใจถึงคำสั่งหรือลำดับของข้อมูลที่ถูกต้อง ผู้ใช้เพียงแต่พิมพ์สิ่งที่ต้องการลงในเครื่องคอมพิวเตอร์เป็นคำหรือประโยคตามที่ผู้ใช้เข้าใจ คอมพิวเตอร์จะพยายามแปลคำหรือประโยคเหล่านั้นเพื่อทำตามคำสั่ง แต่ถ้าไม่สามารถแปลให้เข้าใจได้ ก็จะมีคำถามกลับมาถามผู้ใช้เพื่อยืนยันความถูกต้อง
การส่งผ่านข้อมูลภายในคอมพิวเตอร์
•Bus คือเส้นทาง หรือสิ่งที่ใช้เชื่อมต่ออุปกรณ์ต่าง ๆ เหล่านี้ให้สามารถทำงานร่วมกัน โดยทั่วไประบบ Bus จะประกอบด้วยสายทองแดงประมาณ 50–100 เส้น
•Address Bus
•ใช้ระบุต้นทาง/ปลายทาง สำหรับการส่งข้อมูล
•เป็นตัวกำหนดขนาดสูงสุดของหน่วยความจำที่สามารถอ่างอิงถึงได้
•Data Bus
•ใช้สำหรับการส่งข้อมูล•เป็นปัจจัยหลักที่จะกำหนดประสิทธิภาพรวมของทั้งระบบ
•Control Bus
•ควบคุมการใช้งาน Address Bus และ Data Bus
•จัดการ power, ground, clock
การทำงานของบัส
•การติดต่อและทำงานร่วมกันต้อง อาศัยเส้นทางในการส่งผ่านข้อมูล ที่ทำการส่งทั้งส่วนที่บอกตำแหน่งของ อุปกรณ์นั้น (AddressBus) เส้นทางของข้อมูลที่ทำการส่ง (Data Bus) และ เส้นทางของส่วนที่ควบคุม อุปกรณ์นั้นหรือ สัญญาณ ( Control Bus)
ดาต้าบัส (Data Bus)
•เป็นเส้นทางที่ใช้ส่งข้อมูลเข้าออกให้กับตัว CPU โดยทำงานร่วมกับ แอดเดรสบัส ข้อมูลจะวิ่งได้ 2 ทิศทาง เป็นประเภท “directional bus” จะข้นอยู่กับรุ่นของ CPU เช่น 8088 จะมีบัสข้อมูล 8 เส้น ส่งข้อมูลได้ครั้งละ 1 ไบต์ ส่วน 80286 จะใช้บัสข้อมูล 16 บิต จะทำการส่งข้อมูลได้ครั้งละ 2 ไบต์
แอสเดรสบัส (Address Bus)
•จะประกอบด้วยสัญญาณแอดเดรสหลายเส้นขึ้นอยู่กับรุ่นของ CPU เช่น CPU 8088 หรือ 8086 จะมีทั้งหมด 20 เส้น หรือ 20 บิต จะอ้างตำแหน่ง ของหน่วยความจำ และตำแหน่งพอรต์ 220 หรือ 1,048,576 หรือ 1 MB และ CPU รุ่นใหม่ๆจะมีสายสัญญาณ แอดเดรสได้มากขึ้น เช่น 24 เส้น อ้างตำแหน่งได้ 16 MB ในส่วนของแอดเดรสบัสนี้ จะเป็นบัสที่ส่ง ข้อมูลออกจาก CPU ทิศทางเดียว “Unidirectional bus”
คอนโทรลบัส (Control Bus)
•เป็นกลุ่มของสัญญาณที่ใช้ควบคุมอุปกรณ์ต่างๆ ที่ต่ออยู่กับ CPU เช่นสัญญาณ อ่าน – เขียนข้อมูล สัญญาณอินเทอร์รัพท์ต่างๆ ไมโครโพรเซสเซอร์
วิธีการเข้าถึงข้อมูล
•การเข้าถึงข้อมูลแบบเรียงลำดับ
•การเข้าถึงโดยตรง
•การเข้าถึงแบบสุ่ม
•การเข้าถึงแบบแอสโซซิเอทีฟ
ปัจจัยที่ส่งผลต่อความเร็ว
ในการประมวลผลคอมพิวเตอร์
•เมนบอร์ด
•โปรเซสเซอร์
•หน่วยความจำ
•บัส•เวิร์ด
•ตัวช่วยประมวลผลต่างๆ
•ฮาร์ดดิสก์