John von Neumann
ได้คิดโครงสร้างสถาปัตยกรรมฟอนนอยมันน์ (อังกฤษ: von Neumann architecture) คือรูปแบบการออกแบบพื้นฐานของคอมพิวเตอร์ที่ใช้หน่วยประมวลผลกับพื้นที่บันทึกความจำเป็นโครงสร้างในการเก็บคำสั่งและข้อมูล รูปแบบนี้ตั้งชื่อตามจอห์น ฟอน นอยมันน์ ผู้เป็นนักคณิตศาสตร์และนักวิทยาการคอมพิวเตอร์ในยุคบุกเบิก
โครงสร้างของสถาปัตยกรรมฟอนนอยมันน์ ประกอบด้วยรูปแบบการทำงานหลักๆ 3 แบบได้แก่:
1.ตัวเครื่องคอมพิวเตอร์ ซึ่งประกอบด้วย 4 ส่วนย่อย คือ
หน่วยความจำ (Memory)
หน่วยคำนวณและตรรกะ (Arithmetic Logic Unit หรือ ALU)
หน่วยควบคุม (Control unit)
ระบบรับค่าและแสดงผล (Input/Output System หรือ I/O)
2.โปรแกรม ซึ่งจะถูกเก็บไว้ในหน่วยความจำ จนกว่าจะถูกเรียกใช้
3.คำสั่งของโปรแกรม ซึ่งจะทำงานตามลำดับขั้นตอน เมื่อโปรแกรมถูกเรียกใช้
มีแนวคิดพื้นฐานที่สำคัญอยู่ 3 ประการ คือ
• ข้อมูลและคำสั่งจะต้องเก็บอยู่ในหน่วยความจำที่สามารถอ่านเขียน
• สิ่งที่เก็บอยู่ในหน่วยความจำนี้จะสามารถเข้าถึงได้โดยการระบุตำแหน่ง โดยไม่คำนึงถึงชนิดของข้อมูลที่บรรจุอยู่ภายใน
• การทำงานตามคำสั่งจะเป็นการทำแบบเรียงตามลำดับจากคำสั่งหนึ่งไปยังคำสั่งถัดไป (ยกเว้นบางกรณีที่มีการเปลี่ยนลำดับคำสั่ง)
เหตุผลของแนวคิดนี้ก็สืบเนื่องมาจากการข้อเสียของการออกแบบในเครื่องในยุคแรกๆ ที่สร้างขึ้นจากส่วนประกอบทางตรรกะขนาดเล็กหลายๆ ตัวนำมาเชื่อมต่อกันเพื่อให้สามารถเก็บข้อมูลและทำการคำนวณทางคณิตศาสตร์และตรรกะกับข้อมูลนั้นๆ ได้ เมื่อต้องการคำนวณแบบใดก็ตาม ต้องมีการออกแบบและกำหนดค่า (Configuration) ให้กับส่วนประกอบทางตรรกะแต่ละตัวเหล่านี้ เพื่อใช้สำหรับการคำนวณนั้นๆ ขึ้นมาโดยเฉพาะ 2
กระบวนการเชื่อมต่อส่วนประกอบเหล่านี้ตามที่แบบที่ได้กำหนดไว้
2 Instruetion Set
instruction set คือกลุ่มของชุดคำสั่ง ที่ cpu เข้าใจ cpu สามารถเอาไปประมวลผล คำนวณได้ เรียกว่า machine code
เป็นลักษณะของเลขฐานสอง ซึ่งก็แล้วแต่ cpu รุ่นนั้นๆ แล้วแต่ตระกูล อาจจะเป็น 32 64 8 16 bit ขึ้นอยู่กับ word size ด้วย
แต่การที่เป็นเลขฐานสอง ก็คงจะเป็นเรื่องยากสำหรับคนเราที่จะจดจำ เข้าใจ เลขฐานสอง เราเข้าใจในลักษณะของสัญลักษณ์มากกว่า
เวลาเราเรียกใช้ machine code ในสมัยก่อน เราใช้ assembly ซึ่งเป็นภาษา low level อยู่ใกล้กับ hw มาก สามารถเขียนโปรแกรมเพื่อที่จะควนคุม hw ได้
เมื่อเปรียบเทียบกับพวก vb python พวกนี้จะควบคุม hw ได้น้อย
สิ่งที่ตัวคำสั่งต้องมี
- op code ตัวคำสั่งที่บอกให้ทำสิ่งนั้นสิ่งนี้ (ที่แน่ๆต้องมีอันนี้ อันอื่นอาจจะมีหรือไม่มีก็ได้ มันต้องมี แต่มีแบบ implicit (เรามองเห็น) หรือ explicit(เรามองไม่เห็น) ก็อีกเรื่องนึง)
- source operand reference คือ กระทำสิ่งนั้นตาม op code กับค่าข้อมูลตัวแปรที่อยู่ใน source operand reference
- Result Operand reference - Put the answer here
- Next Instruction Reference - When you have done that, do this...
เป็นลักษณะของเลขฐานสอง ซึ่งก็แล้วแต่ cpu รุ่นนั้นๆ แล้วแต่ตระกูล อาจจะเป็น 32 64 8 16 bit ขึ้นอยู่กับ word size ด้วย
แต่การที่เป็นเลขฐานสอง ก็คงจะเป็นเรื่องยากสำหรับคนเราที่จะจดจำ เข้าใจ เลขฐานสอง เราเข้าใจในลักษณะของสัญลักษณ์มากกว่า
เวลาเราเรียกใช้ machine code ในสมัยก่อน เราใช้ assembly ซึ่งเป็นภาษา low level อยู่ใกล้กับ hw มาก สามารถเขียนโปรแกรมเพื่อที่จะควนคุม hw ได้
เมื่อเปรียบเทียบกับพวก vb python พวกนี้จะควบคุม hw ได้น้อย
สิ่งที่ตัวคำสั่งต้องมี
- op code ตัวคำสั่งที่บอกให้ทำสิ่งนั้นสิ่งนี้ (ที่แน่ๆต้องมีอันนี้ อันอื่นอาจจะมีหรือไม่มีก็ได้ มันต้องมี แต่มีแบบ implicit (เรามองเห็น) หรือ explicit(เรามองไม่เห็น) ก็อีกเรื่องนึง)
- source operand reference คือ กระทำสิ่งนั้นตาม op code กับค่าข้อมูลตัวแปรที่อยู่ใน source operand reference
- Result Operand reference - Put the answer here
- Next Instruction Reference - When you have done that, do this...
Next ไม่ explicit อยู่ในตัวคำสั่งแน่นอน แต่ต้องมี
| OP | Source | Dest | Next |
หรือ
| OP | SOURCE |
ก็ได้
| OP | Source | Dest | Next |
หรือ
| OP | SOURCE |
ก็ได้
state diagram ของเครื่องคอมพิวเตอร์ slide หน้า 5
ต้นกำเนิดของ operand จะอยู่ที่ไหนก็ได้ เช่น main mem , cpu register , I/O Device การอ้างอิง address ก็จะต่างกัน
ต้นกำเนิดของ operand จะอยู่ที่ไหนก็ได้ เช่น main mem , cpu register , I/O Device การอ้างอิง address ก็จะต่างกัน
ลักษณะโครงสร้างของ instruction ต้องมีลักษณะยังไง ทำงานได้ยังไง
ตัว machine code หรือ instruction เป็น เลขฐานสองกลุ่มหนึ่งซึ่งไม่ซ้ำกัน แต่ละชุดเลขฐานสองทำหน้าที่สั่งให้คอมพิวเตอร์ทำบางอย่างที่เราต้องการ
จริงๆใช้เลขฐานสองก็ได้ แต่มนุษย์ติดสะดวกสบาย ก็ใช้คำสั่งขึ้นมาเพื่อให้ง่ายขึ้น เช่น ADD SUB LOAD
ADD A,B บางทีก็ใส่ operand ไปเลย บางทีก็ยังไม่ใส่ แล้วแต่รูปแบบของแต่ละตัว
มันจะ เอา A + B แล้วเอาไปเก็บไว้ในแอคคิวมูเลเตอร์
ตัว machine code หรือ instruction เป็น เลขฐานสองกลุ่มหนึ่งซึ่งไม่ซ้ำกัน แต่ละชุดเลขฐานสองทำหน้าที่สั่งให้คอมพิวเตอร์ทำบางอย่างที่เราต้องการ
จริงๆใช้เลขฐานสองก็ได้ แต่มนุษย์ติดสะดวกสบาย ก็ใช้คำสั่งขึ้นมาเพื่อให้ง่ายขึ้น เช่น ADD SUB LOAD
ADD A,B บางทีก็ใส่ operand ไปเลย บางทีก็ยังไม่ใส่ แล้วแต่รูปแบบของแต่ละตัว
มันจะ เอา A + B แล้วเอาไปเก็บไว้ในแอคคิวมูเลเตอร์
Simple Instruction Format ของคำสั่ง ADD A,B Slide หน้า 7
การที่จะรู้ว่าจะเก็บคำตอบไว้ที่ address ไหน ใช้ stack (แบบ advance)
การที่จะรู้ว่าจะเก็บคำตอบไว้ที่ address ไหน ใช้ stack (แบบ advance)
Instruction Types
Data processing เก็บไว้ใน process
Data storage (main memory) เก็บไว้ใน main mem
Data movement (I/O) ย้ายไปที่ I/O เช่น fgets printf scanf
Program flow control - while for
Data processing เก็บไว้ใน process
Data storage (main memory) เก็บไว้ใน main mem
Data movement (I/O) ย้ายไปที่ I/O เช่น fgets printf scanf
Program flow control - while for
ชุดคำสั่งจะมีความกว้างกี่ bit แล้วแต่ cpu
แต่ละคำสั่งจะมีกี่ address ก็แล้วแต่เราออกแบบระบบ
ต้องมีบอก opcode , บอก address
น้อยสุดก็คือ 0
ADD A,B แบบ 4 address ต้องมี OPCode , A , B , ผลลัพธ์ , Next คำสั่งถัดไป
ย่อลงมาก็คือ 3 เช่น ADD Y,A,B เอา A , B บวกกันแล้วเก็บไว้ที่ Y
ย่อลงไปอีกก็คือ 2 Address ลักษณะของ A = A+B มีแค่ OPCode , A , B
แบบ 1 Address เช่น ADD A
คือต้องมี register พิเศษบอกอยู่แล้วว่าจะบวกเพิ่มไปที่ไหน ระบบก็จะยิ่งยุ่งยากขึ้น
แต่ละคำสั่งจะมีกี่ address ก็แล้วแต่เราออกแบบระบบ
ต้องมีบอก opcode , บอก address
น้อยสุดก็คือ 0
ADD A,B แบบ 4 address ต้องมี OPCode , A , B , ผลลัพธ์ , Next คำสั่งถัดไป
ย่อลงมาก็คือ 3 เช่น ADD Y,A,B เอา A , B บวกกันแล้วเก็บไว้ที่ Y
ย่อลงไปอีกก็คือ 2 Address ลักษณะของ A = A+B มีแค่ OPCode , A , B
แบบ 1 Address เช่น ADD A
คือต้องมี register พิเศษบอกอยู่แล้วว่าจะบวกเพิ่มไปที่ไหน ระบบก็จะยิ่งยุ่งยากขึ้น
ถ้าใช้แบบ 4 address จะง่าย ไม่ต้องจัดการยุ่งยาก hw จัดการได้เลย มีตัวบอกไว้หมด
แบบ 2 address จะยุ่งยาก แต่สิ่งที่จะได้เพิ่มขึ้นมา คือความกว้างของ opcode ทำให้มีชุดคำสั่งหลากหลายได้มากขึ้น
แบบ 0 address ใช้ stack
มี opcode อย่างเดียว
Stack มี push , pop
push = ใส่
pop = เอาออก
push ตัวเลขที่ต้องการ
พอทำ opcode ก็ pop ออกมาทำ
มี opcode อย่างเดียว
Stack มี push , pop
push = ใส่
pop = เอาออก
push ตัวเลขที่ต้องการ
พอทำ opcode ก็ pop ออกมาทำ
ยิ่งมี address ก็ต้องใช้คำสั่งเยอะ
ยิ่งมีเยอะ หน้าที่คำสั่งก็จะซับซ้อนน้อย
บอกไม่ได้ว่าอันไหน powerful กว่ากัน เลยนำพามาให้เกิด cpu 2 ตระกูล
คือ CISC & RISC
complex , reduce
power pc เป็น risc
การออกแบบชุดคำสั่ง ต้องสนใจอะไรบ้าง สิ่งที่ต้องสนใจ
- เราจะมีกี่ operation กี่คำสั่ง
- ทำอะไรได้บ้าง
- จะให้ซับซ้อนขนาดไหน
ใช้ข้อมูลกับประเภทอะไร
ความยาวในแต่ละฟิลมีความยาวกี่บิต
ในหนึ่งคำสั่งจะใช้ register กี่ตัว
ยิ่งมีเยอะ หน้าที่คำสั่งก็จะซับซ้อนน้อย
บอกไม่ได้ว่าอันไหน powerful กว่ากัน เลยนำพามาให้เกิด cpu 2 ตระกูล
คือ CISC & RISC
complex , reduce
power pc เป็น risc
การออกแบบชุดคำสั่ง ต้องสนใจอะไรบ้าง สิ่งที่ต้องสนใจ
- เราจะมีกี่ operation กี่คำสั่ง
- ทำอะไรได้บ้าง
- จะให้ซับซ้อนขนาดไหน
ใช้ข้อมูลกับประเภทอะไร
ความยาวในแต่ละฟิลมีความยาวกี่บิต
ในหนึ่งคำสั่งจะใช้ register กี่ตัว
Risc ชุดคำสั่งของ CPU มีน้อยๆ
Cisc หนึ่งชุดคำสั่งมีคำสั่งอยู่เยอะแยะ คือมี address น้อยๆ เวลาเขียนคำสั่งก็จะยุ่งยาก
Cisc หนึ่งชุดคำสั่งมีคำสั่งอยู่เยอะแยะ คือมี address น้อยๆ เวลาเขียนคำสั่งก็จะยุ่งยาก
ในการทำงานเกี่ยวกับคำสั่งก็ต้องดึง operand มาทำการคำนวณ
Types of Operand
Addresses
Numbers
- Integer/floating point
Characters
- ASCII etc.
Logical Data (1 word เก็บ 8 logical)
- Bits or flags
Addresses
Numbers
- Integer/floating point
Characters
- ASCII etc.
Logical Data (1 word เก็บ 8 logical)
- Bits or flags
Types of Operation
Data Transfer เคลื่อนย้ายข้อมูล เช่น pop push load move
Arithmetic เกี่ยวกับพีชคณิต ADD , Multiply , Sub
Logical คำสั่งเกี่ยวกับตัวตรรกศาสตร์ and or xor
Conversion เปลี่ยนประเภทของตัวแปร
I/O ติดต่อกับ Input Output Read Write แบบแรก มีคำสั่งสำหรับ I/O แต่ละตัว แบบสอง มี Address เจาะจงไปเลย
System Control ไม่เจาะลึก เป็นคำสั่งพิเศษที่อาจจะถูกใข้งานโดยตัว OS พิเศษบางอย่าง โปรแกรมเมอร์ไม่ได้ใช้
Transfer of Control ควบคุมการไหลของตัวคำสั่ง เช่น Jump Return
Data Transfer เคลื่อนย้ายข้อมูล เช่น pop push load move
Arithmetic เกี่ยวกับพีชคณิต ADD , Multiply , Sub
Logical คำสั่งเกี่ยวกับตัวตรรกศาสตร์ and or xor
Conversion เปลี่ยนประเภทของตัวแปร
I/O ติดต่อกับ Input Output Read Write แบบแรก มีคำสั่งสำหรับ I/O แต่ละตัว แบบสอง มี Address เจาะจงไปเลย
System Control ไม่เจาะลึก เป็นคำสั่งพิเศษที่อาจจะถูกใข้งานโดยตัว OS พิเศษบางอย่าง โปรแกรมเมอร์ไม่ได้ใช้
Transfer of Control ควบคุมการไหลของตัวคำสั่ง เช่น Jump Return
แพลตฟอร์ม คือสภาวะแวดล้อมที่ประกอบด้วยฮาร์ดแวร์และซอฟต์แวร์ของระบบคอมพิวเตอร์ระบบหนึ่ง เช่น แพลตฟอร์มเอ็มเแสดอสบนเครื่องคอมพิวเตอร์ที่ใช้ซีพียู 80486, ยูนิกส์ บนเครื่องซัน SPARC station, System 7 บนเครื่องแมคอินทอช Powerbook 180 เป็นต้น จะเห็นได้ว่าในคอมพิวเตอร์ที่ใช้ระบบปฏิบัติการต่างกัน ก็จะมี Platform ที่ต่างกันไปด้วย
Platform จะประกอบด้วย ระบบปฏิบัติการ ,โปรแกรมประสานงานระบบคอมพิวเตอร์ และ ไมโครโพรเซสเซอร์ ซึ่ง Microchip ของคอมพิวเตอร์ใช้ในการทำงานด้ายตรรกะ และจัดการการเคลื่อนย้ายข้อมูล ระบบปฏิบัติการต้องได้รับการออกแบบให้ทำงานกับคำสั่งของ ไมโครโพรเซสเซอร์ เช่น Microsoft Windows 95 ได้รับการสร้างให้ทำงานกับชุดคำสั่งของ ไมโครโพรเซสเซอร์ของ Intel เพื่อการใช้คำสั่งร่วมกัน นอกจากนี้ ยังหมายถึงส่วนอื่น ๆ เช่น เมนบอร์ด และ บัสของข้อมูล แต่ส่วนเหล่านี้กำลังเพิ่มลักษณะที่เป็นโมดูล และมาตรฐานมากขึ้น ในอดีตโปรแกรมประยุกต์แต่ละโปรแกรมยังจะเขียนใหม่ให้ทำงานเฉพาะ platform เนื่องจากแต่ละ Platform มีโปรแกรมอินเตอร์เฟซที่ต่างกัน ดังนั้น โปรแกรมของคอมพิวเตอร์ส่วนบุคคลต้องมีการเขียนให้ทำงานกับ Windows ชุดหนึ่ง และทำงานกับ Macintosh อีกชุดหนึ่ง แต่ระบบเปิดหรือมาตรฐานด้านอินเตอร์เฟซยินยอมให้บางโปรแกรมทำงานกับ Platform ที่ต่างกันโดยผ่านโปรแกรมตัวกลาง หรือ broker Programs
4.ระบบบัสของคอมพิวเตอร์
|
5 หน้าที่ของแต่ล่ะส่วนประกอบของสถาปัตยกรรมคอมพิวเตอร์ตามโมเดลของ Von Neumann
|
หน่วยความจำหลัก (Main Memory Unit)
เป็นอุปกรณ์ที่ใช้ในการจดจำข้อมูล
และโปรแกรมต่าง ๆ ที่อยู่ระหว่างการประมวลผลของคอมพิวเตอร์ บางครั้งอาจเรียกว่า หน่วยเก็บข้อมูลหลัก
(Primary
storage)
สามารถแบ่งออกได้เป็น 2 ประเภท
advertisements
2.2.1 หน่วยความจำหลักแบบอ่านได้อย่างเดียว (Read Only Memory - ROM)
เป็นหน่วยความจำแบบสารกึ่งตัวนำชั่วคราวชนิดอ่านได้อย่างเดียว
ใช้เป็นสื่อบันทึกในคอมพิวเตอร์ เพราะไม่สามารถบันทึกซ้ำได้
(อย่างง่ายๆ) เป็นความจำที่ซอฟต์แวร์หรือข้อมูลอยู่แล้ว และพร้อมที่จะนำมาต่อกับไมโครโพรเซสเซอร์ได้โดยตรง
หน่วยความจำประเภทนี้แม้ไม่มีไฟเลี้ยงต่ออยู่ ข้อมูลก็จะไม่หายไปจากน่วยความจำ (nonvolatile)
โดยทั่วไปจะใช้เก็บข้อมูลที่ไม่ต้องมีการแก้ไขอีกแล้วเช่น
เก็บโปรแกรมไบออส (Basic Input output
System : BIOS) หรือเฟิร์มแวร์ ที่ควบคุมการทำงานของคอมพิวเตอร์ใช้เก็บโปรแกรมการทำงานสำหรับเครื่องคิดเลขใช้เก็บโปรแกรมของคอมพิวเตอร์ที่ทำงานเฉพาะด้าน
เช่น ในรถยนต์ที่ใช้ระบบคอมพิวเตอร์ควบคุมวงจร ควบคุมในเครื่องซักผ้า เป็นต้น
2.2.2 หน่วยความจำหลักแบบแก้ไขได้ (Random Access Memory -
RAM)
เป็นหน่วยความจำหลัก ที่ใช้ในระบบคอมพิวเตอร์ยุคปัจจุบัน
หน่วยความจำชนิดนี้ อนุญาตให้เขียนและอ่านข้อมูลได้ในตำแหน่งต่างๆ อย่างอิสระ
และรวดเร็วพอสมควร ซึ่งต่างจากสื่อเก็บข้อมูลชนิดอื่นๆ อย่างเทป หรือดิสก์ ที่มีข้อจำกัดในการอ่านและเขียนข้อมูล
ที่ต้องทำตามลำดับก่อนหลังตามที่จัดเก็บไว้ในสื่อ หรือมีข้อกำจัดแบบรอม ที่อนุญาตให้อ่านเพียงอย่างเดียว
ข้อมูลในแรม อาจเป็นโปรแกรมที่กำลังทำงาน
หรือข้อมูลที่ใช้ในการประมวลผล ของโปรแกรมที่กำลังทำงานอยู่
ข้อมูลในแรมจะหายไปทันที เมื่อระบบคอมพิวเตอร์ถูกปิดลง
เนื่องจากหน่วยความจำชนิดนี้ จะเก็บข้อมูลได้เฉพาะเวลาที่มีกระแสไฟฟ้าหล่อเลี้ยงเท่านั้น
หน่วยคำนวณและตรรกะ
หน่วยคำนวณและตรรกะเป็นหน่วยที่ทำหน้าที่คำนวณทางเลขคณิตได้แก่
การบวก ลบ คูณ หาร และเปรียบเทียบทางตรรกะเพื่อทำการตัดสินใจ เช่น
ทำการเปรียบเทียบข้อมูล เพื่อตรวจสอบว่าปริมาณหนึ่ง น้อยกว่า เท่ากับ หรือมากกว่า
อีกปริมาณหนึ่ง
แล้วส่งผลการเปรียบเทียบว่าจริงหรือเท็จไปยังหน่วยความจำเพื่อทำงานต่อไป ตามขั้นตอนที่กำหนดไว้ในเงื่อนไข
การทำงานของเอแอลยู
คือรับข้อมูลจากหน่วยความจำมาไว้ในที่เก็ยชั่วคราวของเอแอลยูซึ่งเรียกว่า
เรจิสเตอร์ ( register ) เพื่อทำการคำนวณแล้วส่งผลลัพธ์กลับไปยังหน่วยความจำ
ทั้งนี้ในการส่งข้อมูลระหว่างอุปกรณ์ต่างๆ ข้อมูลระหว่างอุปกรณ์ต่างๆ
ข้อมูลและคำสั่งจะอยู่ในรูปของสัญญาณไฟฟ้าแล้วยังส่งไปยังอุปกรณ์ต่างๆ
ผ่านระบบส่งถ่ายข้อมูลผ่านในที่เรียกว่าบัส ( bus )กลไกลการทำงานของหน่วยประมวลผลกลาง
มีความสลับซับซ้อน ผู้พัฒนาซีพียูได้สร้างกลไกให้ทำงานได้ดีขึ้น โดแบ่งการทำงานออกเป็นส่วนๆ
มีการทำงานแบบขนาน และทำงานเหลื่อมกันเพื่อให้ทำงานได้เร็วขึ้นในด้านความเร็วของซีพียู
ถูกกำหนดโดยปัจจัย 2 อย่าง ปัจจัยแรกคือ
สถาปัตยกรรมภายในของซีพียูแต่ละรุ่น
ซีพียูที่ได้รับการออกแบบภายในที่ดีกว่าย่อมมีประสิทธิภาพในการประมวลผลที่ดีกว่า
การพัฒนาทางด้านสถาปัตยกรรมก็มีส่วนทำให้ลักษณะของซีพียูแตกต่างกันไป ดังในรูปที่ 4016 จะเห็นความแตกต่างระหว่างซีพียูเพนเทียมในรุ่นแรกๆ
ซึ่งแสดงในรูปที่ 4.16 (ก) กับซีพียูเพนเทียมโฟร์ ซึ่งแสดงในรูปที่ 4.16 (ข)นอกจากนี้ อีกปัจจัยหนึ่งที่เป็นตัวกำหนดความเร็วของซีพียู
คือความถี่ของสัญญาณนาฬิกา ( clock ) ซึ่งเป็นสัญญาณไฟฟ้าที่คอยกำหนดจังหวะการทำงานประสานของงจรภายในให้สอดคล้องกัน
ในอดีตสัญญาณดังกล่าวจะมีความถี่ในหน่วยเป็นเมกะเฮิรตซ์ ( megahertz ) หรือล้านครั้งต่อวินาที
ดังนั้นสำหรับซีพียูที่มีสถาปัตยกรรมภายในเหมือนทุกประการ แต่ความถี่สัญญาณนาฬิกาต่างกัน
ซีพียูที่มีความถี่สัญญาณนาฬิกาต่างกัน
ซีพียูที่มีความถี่สัญญาณนาฬิกาสูงกว่าจะทำงานได้เร็วกว่าและซีพียูที่มีอยู่ในปัจจุบันมีความถี่ในระดับจิกะเฮิรตซ์
หน่วยควบคุม (Control Unit)
หน่วยควบคุม (Control Unit) หน่วยควบคุม ทำหน้าที่ควบคุมการทำงานของเครื่องคอมพิวเตอร์ทั้งระบบ เช่น ควบคุมการทำงานของความจำหลัก หน่วยรับข้อมูล หน่วยคำนวณและตรรกะ หน่วยแสดงผล และที่เก็บข้อมูลต่าง ๆ ดังนั้นการทำงานของหน่วยนี้จึงเปรียบเสมือนเป็นศูนย์กลางระบบประสาท ที่ทำหน้าที่ควบคุมการทำงานของส่วนประกอบต่าง ๆ ของเครื่องคอมพิวเตอร์ โดยที่หน่วยควบคุมและซีพียูจะรับรู้คำสั่งต่าง ๆ ในรูปของคำสั่งภาษาเครื่องเท่านั้น ถ้าผู้ใช้เขียนโปรแกรมโดยใช้ภาษาระดับสูง (High Level Language) ก่อนที่จะสั่งให้คอมพิวเตอร์ทำงานจะต้องมีการแปลงเป็นภาษาระดับต่ำ (Low Level Language) ก่อน
หน่วยความจำแคช (cache memory) เป็นหน่วยความจำขนาดเล็กที่อยู่ภายในซีพียู เรียกว่า หน่วยความจำระดับ 2 (L2: Level 2) ปกติมักมีขนาด 512 กิโลไบต์ (512 K) ทำหน้าที่เก็บพักข้อมูลที่จะต้องประมวลผลไว้ล่วงหน้าและเก็บพักข้อมูลที่ประมวลผลแล้วรอการส่งออกทำให้ซีพียูทำงานเร็วขึ้น ส่วนหน่วยความจำที่ทำหน้าที่ทำหน้าที่เก็บพักข้อมูลที่อยู่นอกซีพียูเป็นหน่วยความจำระดับ 3
เป็นการรับและแสดงผลข้อมูลในโหมดกราฟิกด้วย Swingโดยการใช้
การใช้ Dialog Boxes สำหรับรับค่าข้อมูลและแสดงผลข้อมูล
ที่เรียกว่า Graphical User Interface (GUI)
อยู่ในคลาสที่ชื่อว่า JOptionPane ซึ่งคลาสนี้อยู่ในแพ็กเก็ต (Package) ที่ชื่อว่า javax.swing.*;
เมธอดสำหรับการรับค่าข้อมูล คือ showInputDialog
รูปแบบ: JOptionPane.showInputDialog(strExpression)
เมธอดสำหรับการแสดงผลข้อมูล คือ showMessageDialog
รูปแบบ:
1 JOptionPane.showMessageDialog(parentComponen, messageStringExpression, boxTitleString, messageType)
showInputDialog() เป็นการสร้างจอภาพเพื่อให้ User
ป้อนข้อมูล
showMessageDialog เป็นการใช้แสดงผลลัพธ์แจ้งแก่ User
การใช้ Dialog Boxes สำหรับรับค่าข้อมูลและแสดงผลข้อมูล
ที่เรียกว่า Graphical User Interface (GUI)
อยู่ในคลาสที่ชื่อว่า JOptionPane ซึ่งคลาสนี้อยู่ในแพ็กเก็ต (Package) ที่ชื่อว่า javax.swing.*;
เมธอดสำหรับการรับค่าข้อมูล คือ showInputDialog
รูปแบบ: JOptionPane.showInputDialog(strExpression)
เมธอดสำหรับการแสดงผลข้อมูล คือ showMessageDialog
รูปแบบ:
1 JOptionPane.showMessageDialog(parentComponen, messageStringExpression, boxTitleString, messageType)
showInputDialog() เป็นการสร้างจอภาพเพื่อให้ User
ป้อนข้อมูล
showMessageDialog เป็นการใช้แสดงผลลัพธ์แจ้งแก่ User