Friday, August 1, 2008

ISC Chapter 4

ISC Chapter 4
Lecture in Class

เครื่องคอมพิวเตอร์เป็นอุปกรณ์อิเล็กทรอนิกส์ แต่ต่างจากอุปกรณ์อิเล็กทรอนิกส์อื่น ๆ ตรงที่มีความสามารถในการประมวลผลและมีหน่วยความจำ)
บทที่ 1 เรียน Introduction ทั้ง hardware และ software
บทที่ 2 ก็เรียนในเรื่องของ internet และ www
บทที่ 4 ก็พูดถึง hardware

System unit ส่วนประกอบ คือ CPU (processor) และ หน่วยความจำ
- notebook ตัว system unit ก็อาจจะอยู่แถวใต้คีย์บอร์ด
- อุปกรณ์พกพาก็จะอยู่ใต้ส่วนแสดงผล
- หากเปรียบกับคน ตำแหน่งของ system unit ก็จะอยู่ที่ “สมอง”

System Unit

System unit คือส่วนซึ่งเป็นตัวหลักของระบบ หรือบางทีเรียกว่า chassis (แปลว่ากล่องหรือ case : ความหมายไม่ได้ตรงกับ system unit มากนัก)
System unit หลัก ๆ ประกอบด้วย processor และ memory รวมถึง card ต่าง ๆเสียบอยู่ เช่น sound card, video card, power supply แหล่งจ่ายไฟ เพราะอุปกรณ์ไฟฟ้าและอุปกรณ์อิเล็กทรอนิกส์ต้องใช้ไฟ

อุปกรณ์อิเล็กทรอนิกส์ใช้ไฟ DC (ปกติไฟบ้านใช้ไฟ AC ซึ่งจะเป็นไฟฟ้ากระแสสลับ จะต้องมี power supply เป็นตัวแปลงจากไฟกระแสสลับให้เป็นกระแสตรง  กระแสตรงก็คือกระแสไฟที่มาจากแบตเตอรี่ เช่น ถ่านไฟฉาย)
Drive bay มีช่องไว้ใส่ drive ประเภทต่าง ๆ มีทั้ง bay (อาจารย์ยกตัวอย่างให้เห็น คือมี drive bay ที่อยู่ภายในและภายนอก) สำหรับ notebook ส่วนมากจะไม่มี drive bay ยกเว้นเป็นบางรุ่นที่จะมี bay สำรองไว้ (เป็นส่วนน้อย) แต่ถ้าเป็น desktop รุ่นบาง ๆ แบบ slim แทบจะไม่มี bay เหลือเลย ฉะนั้นเวลาที่เราจะซื้อก็ควรจะดูการใช้งานในอนาคตด้วย ว่าเราจะเพิ่มอุปกรณ์ได้หรือไม่ ถ้าต้องการเพิ่มภายหลังก็ต้องมี drive bay เหลือไว้ หรือไม่ก็ต้องต่อเป็น external

อุปกรณ์ต่อภายนอกและภายในต่างกันยังไง และจะเลือกอุปกรณ์แบบ internal หรือ external ยังไง??
โดยส่วนมากแล้ว external จะสะดวกในการพกพา แต่ราคาก็จะสูงกว่า บางทีก็ซื้อแบบ internal แล้วค่อย adapt สำหรับ notebook ส่วนของ sound card หรือ video card จะเป็นแบบ plug in เสียส่วนใหญ่


circuit board
แผงวงจรหลักเรียกว่า main board หรือ motherboard ส่วนใหญ่ก็จะเป็นแบบเปล่า ๆ ว่าง ๆ ส่วนมากแล้วต้องซื้อมาใส่เพิ่ม ซึ่ง motherboard จะมี slot ว่าง ให้เราซื้อมาใส่เพิ่ม รวมทั้ง processor chip ด้วย

memory slot

เป็น slot เปล่า ไว้สำหรับใส่แผงที่เป็น RAM
Slot คือช่องที่สามารถจะขยายหรือเพิ่มความสามารถ เช่น สำหรับใส่ memory card และ card ต่าง ๆ เช่น ถ้าอยากดูทีวีก็มี card : TV Tuner รวมทั้งcard พิเศษสำหรับงานบางอย่างด้วย ยกตัวอย่างเช่น ในกรณีที่ใช้งานประเภทตัดต่อวีดิโอ

Chip คือส่วนประกอบย่อย ๆ เป็นชิ้นเล็ก ๆ ของ hardware เช่น พวก semi-conductor ที่รู้จักกันส่วนมากจะเป็นพวกตัว processor chip ซึ่ง chip จะมีขนาดเล็กมาก ๆ และมีขาเป็นตะขาบ (แล้วแต่ว่าจะมีกี่ขา) เพื่อเอาไว้ต่อกับแผงวงจร (ขาคือเป็นเส้นทางเดินของข้อมูล เปรียบเสมือนวงจรอิเล็กทรอนิกส์)

ภาพด้านล่างเป็นภาพที่สำคัญ ... แสดงให้เห็นการทำงานทั้งระบบ ที่ประกอบด้วย
- Input ก็ต้องมีอุปกรณ์บางอย่างที่ไปรับข้อมูลเข้ามา
- Process ที่ต้องประกอบไปด้วย Processor และ Memory ควบคู่กันไป
- Output ข้อมูลที่ประมวลผลแล้ว ต้องนำไปแสดงผล
ซึ่งถ้าไม่มี processor และ memory ก็จะไม่สามารถนำไปคิดคำนวณอะไรได้

การบวกเลข จะต้องมีความสามารถในการประมวล และมีการเก็บ ซึ่งถ้าประมวลผลแล้วไม่เก็บ ครั้งต่อไปก็ต้องประมวลใหม่ทุกครั้ง จึงต้องมีการเก็บ ก็คือต้องมี storage device

สังเกตได้ว่า
Input เป็นการรับข้อมูลทางเดียว
Data เป็นข้อมูลดิบ ผ่านอุปกรณ์ input (keyboard, mouse) microphone ก็จะเป็น data ที่เป็น voice หรือ sound เข้ามา ซึ่งข้อมูลจะมี memory เป็นศูนย์กลาง คือเมื่อมีการคีย์ข้อมูลเข้ามา หรือคำสั่งที่ คลิกเม้าส์เข้ามาก็จะเก็บไว้ใน memory หรือใน RAM
ส่วนของการประมวลผล คือ Processor หรือ CPU จะมีองค์ประกอบย่อย 2 ส่วน คือ Control Unit + ALU
การคำนวณ คือ จะมี เลขคณิต (บวกลบคูณหาร) + logic (การเปรียบเทียบ : มากกว่า, น้อยกว่า และเท่ากับ)

***มนุษย์เรามี logic เหมือนกัน มีส่วนในการคิดเลขได้ และแต่ละคนก็จะคิดเร็วหรือช้าต่างกัน***

สังเกตได้ว่า Memory เป็นตัวเก็บข้อมูลดิบ หรือเก็บข้อมูลที่ประมวลผลแล้วชั่วคราว แต่หากเป็นข้อมูลที่ประมวลผลแล้วถาวรก็คือเก็บไว้ใน storage
และจะมีคำสั่งหรือโปรแกรมที่อยู่ใน memory ตัวอย่างเช่น ในการ run ข้อมูล จาก power point ซึ่งอยู่ใน storage (ใน hdd) เมื่อดับเบิ้ลคลิกก็จะมีการ load จาก hard disk มายัง memory หรือ RAM

(อาจารย์ยกตัวอย่างโดยไปที่ Task manager) ---> ทุก process เวลาเครื่องจะ hang out เราก็ใช้ 3 ปุ่ม Ctrl + Alt + Del หากมองในapplication ซึ่ง application ที่กำลัง running คือ app. ที่อยู่ใน memory มีอยู่ 2 ตัว (ในระดับ user : ที่ user มองเห็น) ก็จะเห็นว่าก็จะมีการใช้โปรแกรมอะไรอยู่บ้าง
Process คือ โปรแกรม ในกรณีที่อยู่ใน hard disk เรียกว่า software หรือ โปรแกรม แต่หากมีการโหลดใส่ memory ก็จะเรียกว่า process (เวลาโหลดใส่ใน memory และนำมาใช้งาน) –> มองในระดับระบบปฏิบัติการ OS
มี process มากมายที่มันเป็น system ตอนเรา บู้ทเครื่อง window ก็จะขึ้นมา โหลดใส่ memory จนแทบจะเต็มแล้ว ถ้ามี ram น้อย
(อาจารย์ยกตัวอย่างต่อ) ...จากโปรแกรม power point กินหน่วยความจำไป 3 เมก. ส่วนตัว file ของ power point (ไม่ใช่ process แต่เป็นตัวข้อมูล) ซึ่งน่าจะจับจองอยู่ใน memory เช่นเดียวกัน เพราะฉะนั้นในหน่วยความจำจะมี Process หรือโปรแกรมที่เรากำลังเปิดใช้อยู่รวมทั้งตัวข้อมูล
ถ้าเราสั่งเปิดไฟล์ ข้อมูลโหลดจาก hdd เขียนใน memory ถ้าเรา save จะอ่านจาก memory ไปบันทึกไว้ใน hdd

CPU กับ Processor มีความหมายต่างกันหรือไม่??
จริง ๆ แล้วมันมีความต่างกัน เครื่องบางเครื่องจะมี processor 2 ตัว คือ processor หลักที่ใช้ในการประมวลผลทั่วไป และอาจมี processor อีกตัว ที่ไว้สำหรับประมวลผลพวกภาพ, วิดีโอ แต่สำหรับ CPU ก็จะชัดเจนมากว่าเป็น processor หลักที่เรารู้จักกันโดยทั่วไป
เคยได้ยินคำว่า Processor chip นั่นคือชัดเจนว่าเป็นตัว chip ที่ทำหน้าที่ processor แต่สำหรับ CPU chip ก็่อาจเคยได้ยินแต่น้อย

Buffer แปลว่า ที่พัก หรือ กันชน (แปลได้ 2 แบบ แล้วแต่กรณี) ซึ่ง ๆ หลาย ๆ ระบบจะมี buffer (อาจเป็นที่เก็บหรือที่พักของข้อมูลชั่วคราวซึ่งอาจจะเป็น memory ได้เหมือนกัน อาจจะเป็นที่พักก่อนที่จะนำไปทำอย่างอื่นต่อ แล้วแต่กรณี) แต่โดยหลัก ๆ buffer ต้องใช้พื้นที่ ไม่เช่นนั้นแล้วข้อมูลพักไม่ได้ (ซึ่งแน่นอนข้อมูลต้องมีที่พัก)

Machine Cycle
ใน 1 รอบการทำงาน มี Operation อยู่ 4 operation เป็นรอบของการประมวลผล คือ การประมวลผลแต่ละรอบ ทุก ๆ รอบจะเหมือนกัน (เปรียบเทียบกับความถี่การหายใจของคนเรา) ในแต่ละรอบอาศัยในส่วนของการประมวลผล (Control Unit + ALU) และหน่วยความจำเสมอ
Fetch คือ การเอาคำสั่งหรือโปรแกรมจาก memory โดยจะต้องไปดึงเอาคำสั่งหรือข้อมูลที่เกี่ยวข้องจากหน่วยความจำมา แล้วมา decode (ถอดรหัส, แปลคำสั่ง, แปลความหมายให้เข้าใจ) ซึ่งส่วนมาก คำสั่งจะเป็นข้อมูล ฉะนั้นก็จะต้องเอามาแปลงให้เป็น command ก่อน เพื่อให้เครื่องสามารถทำงานต่อให้ได้ (เป็นหน้าที่โดยตรงของ Control Unit)
ส่วนของการประมวลผล หรือ carry out command เรียกว่า execute (เริ่มทำตามสิ่งที่สั่งจนสำเร็จ) ก็จะได้ผลลัพธ์ตามที่สั่ง แล้วจะเก็บผลลัพธ์ (store) ไว้ที่ memory เหมือนเดิม ส่วนผลลัพธ์จะแสดงผลออกมาอาจจะทาง หน้าจอ หรือ ลำโพง
เพราะฉะนั้นในแต่ละรอบการทำงาน จะมีการดึงเอาคำสั่งหรือข้อมูล ปกติจะดึงมาทีละคำสั่ง แต่คำสั่งนั้นอาจจะเกี่ยวข้องกับข้อมูลด้วย

***คำสั่ง ---> ตัวคำสั่งและข้อมูลจะมาด้วยกันเสมอ***

Memory เก็บข้อมูลและคำสั่ง
Processor มีหน้าที่ 2 ส่วน ใน step 1 และ 2 เป็นหน้าที่ของ Control Unit ไว้ควบคุมการดึงคำสั่ง จาก memory ดึงมาไว้ที่ register (หน่วยความจำขนาดเล็กไว้เก็บคำสั่ง) เรียกว่า instruction register เมื่อเก็บแล้วมีการแปลความหมาย เพื่อให้เข้าใจคำสั่ง เมื่อเข้าใจคำสั่งแล้วส่งต่อให้ ALU เพื่อปฏิบัติตามคำสั่ง (execute) คำสั่งคือพอประมวลผลแล้วทุกครั้งต้องได้ผลลัพธ์เสมอ

ตัวอย่าง เช่น 1 + 2 + 3 ได้เท่าไร ???? (การคำนวณด้วย MS Excel)
Step 1 : คีย์ 1 + 2 + 3 มีการส่งเข้าไปเก็บไว้ใน memory แล้ว แต่ตอนนี้คีย์เข้าไปยังไม่กด enter จึงยังไม่รู้ว่าคือคำสั่งอะไร
Step 2 : กด Enter (หลังจากกดแล้ว ต้อง Fetch ก่อน แล้วจึงเป็น execute) ซึ่งโดยปรกติแล้วการกด enter ความหมายในตัวแบบหยาบ ๆ ก็คือการ execute นั่นเอง แต่ในกรณีนี้จะต้อง fetch ก่อนจะ execute ซึ่งในขั้นตอนนี้ จะมีการวิ่งหลายรอบ หลาย cycle มาก

(Fetch ----> Decode ----> Execute ----> Store)
Pipelining

ปกติคอมพิวเตอร์ทำงานตามลำดับ (แบบอนุกรม) คือ ต้องเรียงครบ 4 steps คือ fetch + Decode + Execute + Store คือต้องทำครบทุก step แล้วค่อยกลับเข้ามา fetch ใหม่อีกครั้ง
สำหรับ pipeline คือ คำสั่งที่ 1 Fetch และเมื่อเริ่ม decode แล้ว คำสั่งที่ 2 ก็จะ fetch เข้ามาเลย ไม่ต้องรอให้ครบ 4 steps ทำให้เร็วขึ้น และเมื่อคำสั่งที่ 1 ได้ผลลัพธ์ 2 เริ่ม execute คำสั่ง 3 เริ่ม decode แต่อาจจะไม่ใช่การประมวลผลแบบขนาน parallel processing แต่ก็ถือว่าขนานบางส่วน

****หน่วยความจำยิ่งอยู่ใกล้ CPU จะยิ่งเล็ก ยิ่งเร็วและยิ่งแพง***

Register

การเก็บข้อมูลหรือคำสั่งชั่วคราวที่ต้องการการเข้าถึงอย่างรวดเร็ว มีอยู่ 4 ประเภท (ดูภาพประกอบ)
ตัวแรกก็คือ ...เก็บคำสั่งที่จะถูก decode (จากการ fetch คำสั่ง fetch ก็คือการไปอ่าน memory แล้วไปเขียนลงใน register ที่ เรียกว่า instruction register เพราะ register มีหลายประเภท) เพราะฉะนั้น Fetch คือการอ่านจาก memory คำสั่งนั้น แล้วไปเขียนใน instruction register เป็นที่เก็บข้อมูลชั่วคราว เป็นคำสั่ง ณ ปัจจุบัน ที่กำลังจะมีการแปลความหมาย (decode)
อย่างตัวนี้คือไว้สำหรับเก็บผลลัพธ์จากการคำนวณ ก็เป็น register อีกตัวนึงที่ไว้เก็บชั่วคราว บางทีเราทดเลข เราก็อาจจะบวกสะสมเก็บไว้ใน register ได้ ไม่ต้องเขียนลงใน RAM เพราะมันจะช้ากว่า อีกอย่างนึง register เป็นหน่วยความจำความเร็วสูง ง่าย ๆ ก็คือเร็วกว่า การที่จะ write ลงใน RAM
ตัวนี้บางทีอาจเรียกว่า storage register ก็ได้ไว้เก็บข้อมูล สังเกตได้ว่าบางครั้งบางคำสั่งมีการประมวลผลเกี่ยวกับข้อมูล ทุกคำสั่งแน่นอนย่อมมีส่วนเกี่ยวกับข้อมูล เพราะฉะนั้นตัวข้อมูลที่กำลังจะถูกประมวลผล ณ ตอนนั้น ในระหว่างแต่ละ step ก็จะถูกเก็บไว้ใน register อีกตัวนึง คล้าย ๆ เป็น data register แต่มีอีกชื่อนึง เรียกว่า accumulator (ตัวสะสม) คือจะเก็บผลลัพธ์ ณ ขณะนั้น
และอีกตัว...เก็บที่ตั้งของคำสั่ง (address register) คือคำสั่งที่เราจะ fetch มาอยู่ไหน จะรู้ได้ยังไง เช่นคำสั่งของการบวกเลข มันก็วิ่งไปเอาคำสั่งของการบวกเลขมา ไม่ว่าจะเป็นคำสั่งหรือข้อมูลจะต้องมี address หรือที่ตั้งเสมอ หากข้อมูลไม่มีที่ตั้งก็จะหาไม่เจอ
ใช้ machine cycle คู่กับ register ตอนนี้ register มีทั้งหมด 4 ประเภท โดยสรุปอีกครั้งนึง คือ
- ไว้เก็บข้อมูลในช่วงกำลังประมวลผล
- เก็บคำสั่งปัจจุบันที่กำลังประมวลผล เพราะประมวลผลทีละคำสั่ง
- เก็บที่ตั้งของคำสั่งที่กำลังจะถูก fetch มาเพื่อที่จะมา decode เช่น คำสั่งอยู่ที่ไหน ก็ไปเอามาไว้ที่นี้ แล้วเอามาถอดรหัส ถอดเสร็จ แล้ว execute ผลลัพธ์ก็เก็บไว้ในนี้ อาจจเป็นผลลัพธ์สุดท้าย ซึ่งอาจจะเป็นผลลัพธ์ที่อยู่ในการประมวลผลก็ได้ (มองในภาพรวม ๆ ก่อน)


System Clock

ตัวควบคุมจังหวะการทำงาน คือ system clock (จังหวะหรือเวลาที่ให้กับระบบ) การทำงานของคอมพิวเตอร์จะต้องมีจังหวะควบคุม เปรียบเสมือนเครื่องจักร พวกฟันเฟือง หากจังหวะผิด ทำให้การทำงานผิดพลาดไป เนื่องจากเป็นอุปกรณ์อิเล็กทรอนิกส์ ก็อาจจะสร้าง อิเล็กทรอนิกส์พัลซ์ ซึ่งเป็นจังหวะของสัญญาณไฟฟ้าที่มีระดับ คือมีต่ำมีสูง เหมือนคลื่น ***tick (clock cycle) เปรียบเสมือนนาฬิกา เข็มวินาที
ความเร็ว (clock speed) คือ ยิ่งถี่ จะมี clock speed ที่ยิ่งสูง มีหน่วยเป็น GHz (1 พันล้าน tick ต่อ วินาที หรือ 1 พันล้าน clock cycle)
Processor Speed มักจะวัดเป็น MIPS (จะมองว่าใน 1 วินาทีได้กี่ล้านคำสั่ง)

1 คำสั่งจะใช้ประมาณกี่ clock cycle ?? ก็คือ CPU จะไม่ทำงานเร็วกว่าจังหวะการเคาะ คำสั่งที่ง่าย สามารถทำเสร็จภายใน 1 tick ขึ้นอยู่กับคำสั่ง ถ้าเป็นคำสั่งที่ยาก ก็จะใช้เวลาที่มากกว่าคือหลาย tick

ถ้าสมมติว่า โดยเฉลี่ยแล้วประมาณ 10 ticks ถามว่าเครื่องนี้มีความเร็วกี่ MIPS.... (100 MIPS)

Processor

- Dual-core และ
- Multi - core

Dual- Core มี chip เดียวแต่มี processor ภายในแบ่งออกเป็น 2 ตัว {Brand Intel เรียกว่า Core II (ศัพท์กลาง ๆ คือ Dual Core)}

ยกตัวอย่าง
CPU 32 บิต คือ มีความสามารถในการประมวลผล คราวละ 32 บิต : สามารถคิดเลขหลักหมื่นล้าน ภายในรอบเดียว กล่าวคือ ข้อมูล 32 บิต ที่สามารถประมวลผลภายใน 1 รอบ
Core II Dual เป็นลูกผสมระหว่าง 32 บิต กับ 64 บิต สำหรั บ PC ทุกวันนี้ก็อยู่ก้ำกึ่ง แต่อนาคตก็คงจะเป็น 64 บิตเต็มตัว ส่วนพวก workstation จะเป็นแบบ 64 บิตอยู่แล้ว
เครื่องคอมพิวเตอร์ที่เพิ่มจาก 32 บิต เป็น 64 บิต จะมีความสามารถเพิ่มขึ้นมากกว่าเท่าตัวแน่นอน เพราะคอมพิวเตอร์ใช้เลขฐาน 2
2 ยกกำลัง 10 = ประมาณ 1000 (1024)
2 ยกกำลัง 20 = ประมาณ 1 ล้าน
2 ยกกำลัง 30 = ประมาณ 1 พันล้าน

จะเห็นว่าความสามารถในการประมวลผลในภาพรวมเร็วขึ้น อาจจะมี processor ภายใน 2 ตัว แต่ละตัวทำงานช้าลงก็ได้ แต่เมื่อผลรวมสุดท้ายเร็วขึ้น ยกตัวอย่างเช่น Pentium 4 (2.4 GHz) กับ Dual-core (2 GHz) จะเห็นว่า Dual-core จะเร็วกว่า เพราะสถาปัตยกรรมมันต่างกัน ถึงแม้ว่า Clock Speed จะช้าลง แต่จริง ๆ คือด้วยสถาปัตยกรรมจะเร็วกว่า เพราะฉะนั้นจะมี benchmark มาวัด(software ที่มาช่วยวัด)
ในกรณีที่เราต้องการเปรียบเทียบ Clock Speed (การเปรียบเทียบ Clock Speed จะต้องมาจากตระกูลหรือสถาปัตยกรรมเดียวกันเท่านั้น)
มีไกด์ในการเลือก Processor ซึ่งจะมีในเกรดของ PC, notebook, เกรดเครื่อง server ทั้งในเรื่องของราคา และในเรื่องของการกินกระแสไฟฟ้า ก็มีทั้งที่เป็น 32 บิต หรือ 64 บิต มีทั้งยี่ห้อ Intel หรือ AMD

ถ้าเราจะซื้อ PC หรือ notebook มาใช้ จะตัดสินใจเลือกแบบไหน???
แล้วแต่งบประมาณ, ยี่ห้อ ถ้างบประมาณไม่อั้น ก็น่าจะเป็น Intel ซึ่งน่าจะโอเคกว่า AMD

ถ้าเป็นตัว Server แล้ว คิดว่า งบประมาณเป็นส่วนที่สำคัญอันดับแรก เพราะมี range ของราคากว้างไปจนถึงหลักล้าน
คอมพิวเตอร์ทำงานจะมีความร้อนเกิดขึ้น จำเป็นต้องมีตัวระบายความร้อน การระบายความร้อนมีหลายวิธี (พัดลมก็ยังใช้ได้อยู่)
- Heat sink (เพื่อถ่ายเทความร้อน) และมักจะต้องมีพื้นที่ผิวเยอะ เพื่อให้มีการระบายได้ดี (เป็นแฉก ๆ)
- Heat pipe เป็นท่อและมีการเป่าลมร้อนออกมา
- Liquid Cooling
สำหรับเครื่อง desktop หรือเครื่อง notebook จะเซตไว้ใช้ได้ที่อุณหภูมิที่เหมาะสม ถ้าเย็นหรือร้อนไป ก็ไม่สามารถใช้งานได้ เพราะเป็นอุปกรณ์อิเล็กทรอนิกส์

Parallel Processing

processor หลายตัว และมีการทำงานขนานกัน จะเรียกว่า Parallel processing แต่ละตัวจะแยกกันทำ คือ processor และ memory แยกกันทำแล้วก็นำผลลัพธ์มารวมกัน (เปรียบเทียบง่าย ๆ กับงานกลุ่ม แยกกันทำแล้วเอาผลลัพธ์มารวมกันอีกที ดูรูปต่อใน handout)

Data Representation

เลขฐานสอง (Binary) คือ 0 และ 1 เพราะอุปกรณ์อิเล็กทรอนิกส์ภายในจะทำหน้าที่เป็นแบบ Switch  On/Off ใช้ง่ายและเป็นเลขที่เบสิคสุดแล้ว (ยกตัวอย่างเช่นสถานะไฟในห้อง (ไฟเปิดทั้งห้อง) คือ 1 1 ก็เปรียบเสมือนเป็นคำสั่งนั่นเอง ซึ่งเป็นข้อมูลที่มีผลต่อการควบคุมการทำงาน
ตัวหลักเรียกว่า Digit
Binary Digit หรือ Bit คือ หน่วยย่อยสุดของข้อมูล
.
.
เลขฐาน 8
เลขฐาน 16 (มีพื้นฐานมาจากเลขฐาน 2 ก่อน)
(สำหรับคนใช้เลขฐานสิบ) ****นอกนั้นการคิดเลขฐานสองและเปลี่ยนเป็นเลขฐานสิบให้ไปศึกษาหาอ่านเอาเอง

โดยทั่วไป
8 Bit = 1 Bytes (กำหนดตัวอักษรได้ไม่ซ้ำกัน 256 ตัวอักษร ซึ่งเพียงพอสำหรับสัญลักษณ์ Thai-Eng)

รหัสมาตรฐาน
มีไว้สำหรับแลกเปลี่ยนข้อมูลให้มีมาตรฐานเดียวกัน ก็เหมือนพูดกันคนละภาษา คนละโค้ดกันก็จะไม่เข้าใจกัน มีอยู่ 3 มาตรฐาน
- ASCII
- EBCDIC
- Unicode

ยกตัวอย่างการใช้ notepad

ภาษาไทย ตัวเล็กหรือใหญ่ ใช้พื้นที่เก็บเท่ากัน
พิมพ์คำว่า “ไทย” ตั้งชื่อ file คือ test ----> มีขนาด 3 ไบต์ แต่เก็บไว้ใน HDD เปลืองไป 4 กิโลไบต์ แต่ hdd แปลงได้เล็กสุดได้ 4 กิโลไบต์ เรียกว่า 1 cluster มีขนาด 4 กิโลไบต์ เวลา copy ใส่ thumb drive มีขนาดเท่าไร ให้ลองไปทดสอบดูเอง
ถ้ากด enter 1 ครั้ง สิ่งที่เกิดขึ้นมาคือ ขนาดเพิ่มขึ้นมาเป็น 5 ไบต์ ฉะนั้นถ้าอยากจะเก็บอยากประหยัดก็ไม่ต้อง enter (มองในรูปของไบต์) คือเป็นพวก Control Code ที่เรามองไม่เห็น (คือ Enter + line feed อธิบายได้คือ Enter คือเป็น Control ให้เลื่อนลงไปข้างล่าง 1 บรรทัด และโยกไปซ้ายสุด ก็เลยกินไป 2)
ทดสอบใหม่อีกครั้ง save as เป็น UNICODE ดู (ก่อนหน้านี้ save defalt เป็น ANSI) ---> มีความจุ 8 ไบต์ (อาจารย์ให้ไปหา table ดูเปรียบเทียบ
ทดสอบใหม่อีกครั้ง save as เป็น UFT-8 --> 12 ไบต์
เพราะฉะนั้นการเก็บมีผลต่อการเปิดแสดงผล ถ้าเก็บแค่ไบต์เดียว อาจจะแสดงผลในบางระบบไม่ได้

ทำไมกด ตัว A แล้วกลายเป็น ฟ ....เพราะมีการ mapping (จับคู่) ต่างกัน
มีคีย์บอร์ดบางรุ่น จะมี numLock อยู่บนคีย์บอร์ดธรรมดา บางทีจะกดตัว น แต่ไม่ใช่ตัว น

Memory

ทำหน้าที่เก็บข้อมูล, ผลลัพธ์ และคำสั่ง : ข้อมูลต้องเก็บไว้ใน address คือข้อมูลต้องมีตำแหน่งที่ตั้งหรือ address (เปรียบเสมือนที่นั่งในคอนเสิร์ตหรือเก้าอี้ในโรงภาพยนต์)
หน่วยที่ใช้ในการวัด ว่าหน่วยความจำมีขนาดเล็กหรือใหญ่
Kilobyte ----> KB หรือ K
Megabyte ----> MB
Gigabyte ----> GB
Terabyte ----> TB
(byte ใช้ตัวย่อ B แต่ถ้า Bit ใช้ตัวย่อ b)


RAM

RAM บางทีเรียกว่า Main memory หรือ primary storage เป็นหน่วยความจำหลักหรือหน่วยเก็บปฐมภูมิ เป็นหน่วยเก็บหลัก ๆ ที่ต้องใช้ไฟเลี้ยง ถ้าไฟดับข้อมูลจะหาย ถ้าไฟตก มีโอกาสหายสูง

***RAM เยอะ ทำให้เครื่องคอมพิวเตอร์มีความเร็วสูงขึ้นหรือไม่ (ตอบ เป็นจริงได้ในบางกรณี แต่ไม่เสมอไป)***

RAM เก็บตั้งแต่ คำสั่ง OS เช่น window , web browser, IE เป็นต้น เวลาใช้งานก็จะอ่านจาก HDD แล้วไปเขียนลงใน RAM

ยกตัวอย่างเช่น ในกรณีที่เปิดโปรแกรม และถ้าหากเราปิดโปรแกรม RAM ก็จะคืนให้ระบบ ถ้าเปิดไว้หลาย ๆ หน้าต่างก็ยังคงกินเนื้อที่จาก RAM อยู่ แต่ถ้าหากเราปิดไปก็จะทำให้ประหยัด RAM ไป มีเนื้อที่เหลือ แต่ถ้ามันคืนไม่ได้แสดงว่า window มีปัญหาแล้ว

ประเภทของ RAM

- SRAM ---> Cache memory ไม่จำเป็นต้องกระตุ้นมาก ข้อมูลยังอยู่ไม่หาย
- DRAM (Dynamic Ram) เช่น SD RAM คือต้องมีการเติมพลังงานตลอดเวลา ต้องมีการกระตุ้นไม่เช่นนั้นแล้วข้อมูลจะหาย
สำหรับ Cache memory อยู่ในตระกูล SRAM เป็นส่วนที่มีการใช้งานบ่อย ถี่ และมีความเร็วสูง

ปัจจุบัน notebook ควรจะมี RAM ขั้นต่ำประมาณเท่าไร (ขึ้นอยู่กับการใช้งานมากกว่า)
1 GB จริง ๆ แล้วก็พอ แต่ถ้าให้ดีควรจะมีประมาณ 2 GB น่าจะดีกว่า

Cache (Memory Cache)

คือ เอา RAM ประเภท SRAM มาทำเป็น Cache เพื่อต้องการความเร็วสูง (cache มีหลาย level) ซึ่ง cache มีไว้เพื่อเก็บข้อมูลหรือคำสั่ง แต่มีขนาดเล็ก+ความเร็วสูง ส่วนมากจะไว้เก็บคำสั่งที่ใช้งานบ่อยซึ่งส่วนมากก็มีไม่เยอะ (เปรียบเสมือนเป็น copy ของ RAM คือเก็บใน cache และ RAM) คือถ้าคำสั่งอยู่ใน cache จะทำให้สามารถดึงข้อมูลออกมาได้เร็ว และช่วยให้การประมวลผลเร็วตามไปด้วย
L1 และ L2 จะอยู่ในตัว chip ตั้งแต่ตอนซื้อมาเลย
(L2 จะมีความเร็วช้ากว่า แต่มีความจุมากกว่า L1)
L3 อยู่บน main board
ในกรณีที่จะหาคำสั่ง ถ้าหาจาก L1 ---> L2 ---> L3 ถ้าไม่มีอีกก็จะไปดึงจาก RAM
หมายเหตุ เครื่องคอมพิวเตอร์บางรุ่นจะไม่มี L3

ROM (Read Only Memory)
ต่างจาก RAM ตรงที่เก็บข้อมูล และเมื่อไฟดับ ข้อมูลไม่หายไป แบ่งได้เป็น 3 ประเภท
- Firmware เป็น software ที่ติดมากับตัว chip
- PROM เป็น ROM ชนิดที่โปรแกรมได้ สามารถที่จะ write software ลงไปถาวรได้ หรือถ้าจะล้างก็ต้องแบบใช้แสง ultraviolet
- EEPROM สามารถที่จะลบหรือเขียนได้สะดวก (ใช้งานเหมือน RAM)

ในเครื่องคอมพิวเตอร์ จะมี ROM อยู่ใน BIOS (Basic Input-Output Systems) ซึ่งเป็น software ที่มาจาก BIOS ในการควบคุม input – output พื้นฐานนั่นเอง คือจะต้อง รัน software จาก ROM ก่อนเพื่อรู้จัก HDD แล้วจึงจะเข้าไปใน window ได้


Flash Memory

คล้าย ๆ EEPROM คือข้อมูลไม่หาย และสามารถเขียนทับได้ ลบได้ รวมทั้งมีรูปร่างหน้าตาหลายแบบ อาทิเช่น flash drive, memory card ในกล้องดิจิตอล

CMOS

คล้าย ๆ RAM ชนิดนึง เอาไว้เก็บ วันที่ – เวลา ของเครื่องคอมพิวเตอร์ เพื่อที่เราจะได้ไม่ต้องเซตใหม่ทุกครั้ง (เพราะมีแบตเตอรี่) ในกรณีที่เครื่องเล่น DVD ต่าง ๆ บางรุ่นมีแบตเตอรี่ ทำให้เวลาเปิดใหม่ วันที่เวลาจะอยู่ แต่บางรุ่นก็ไม่
Memory มีความสามารถอยู่ที่ความเร็วในการเข้าถึง (access time) CPU จะไม่ยอมอ่านจาก HDD โดยตรง ส่วนมากจะไปอ่านจากใน RAM โปรแกรมโหลดจากฮาร์ดดิสก์ไป RAM ซึ่ง access time ระหว่าง RAM กับ HDD จะต่างกันประมาณ 1 ล้านเท่า (เข้าถึงข้อมูลใน RAM และ HDD)

---> (เปรียบเทียบให้จำง่ายคือ การสอบแบบ Open book กับการดึงข้อมูลมาจากสมองมาสอบ หากดึงข้อมูลมาจากสมองของคนแล้ว จะเร็วกว่า Open book ประมาณ 1 ล้านเท่า)

Access Time ของ RAM ประมาณ 10 นาโนวินาที
Access Time ของ CD จะเท่ากับ HDD
Access Time ระหว่าง Thumb drive จะเร็วกว่า HDD

ความเร็วขึ้นอยู่กับ access time แล้วยังมีความเร็วในการถ่ายโอนข้อมูลเป็นส่วนสำคัญด้วย แต่หากว่า flash drive เสียบกับพอร์ท USB แบบเก่า ก็จะทำให้การ transfer ช้าอยู่ดี (ฉะนั้น access time และ transfer ต้องสอดคล้อง ควบคู่กันไป)

Adaptor Card

เป็น card ที่เก็บไว้ใน slot เพื่อเพิ่มความสามารถ เช่น card (expansion card) ส่วนอุปกรณ์ที่มาต่อเรียกว่า peripherals คืออุปกรณ์รอบข้าง เช่น printer, scanner (สำหรับลำโพงก้ำกึ่ง แต่ก่อนใช่) ตัวอย่าง expansion card เช่น disk controller
** fire wire เป็น port ที่ต้องการการส่งข้อมูลด้วยอัตราความเร็วสูง เช่น TV Tuner หรือ การ transfer วีดิโอ

Slot : พวกที่ไว้ใส่ expansion card
Plug & Play : คือสามารถที่จะเสียบแล้วจะถามหา driver เพื่อติดตั้งให้เสร็จสรรพ


Expansion Slot และ Adaptor Card

- flash memory card
- PC Card
- Express Card


Port และ Connectors

Serial Port (พอร์ทอนุกรม) มีไว้ในการสื่อสารข้อมูล หรือ ไว้ต่อกับเม้าส์ แต่เดี๋ยวนี้ใช้เป็น USB PORT เป็นพอร์ทอเนกประสงค์ที่มีราคาถูก และสามารถต่อกับอุปกรณ์ได้หลายชนิด
Serial Port (อนุกรม) ไว้ต่อกับอุปกรณ์โบราณ และมีความเร็วต่ำ ปัจจุบันนี้มีแต่น้อยมาก
USB PORT สามารถพ่วงได้ถึง 127 อุปกรณ์ (daisy chain : สามารถต่อพ่วงได้) ถ้าหาก port ไม่พอ ก็ใช้ USB HUB ได้
Fire wire Port ไว้สำหรับอุปกรณ์ที่ต้องการใช้ความเร็วสูง


Bus

คือทางเดินของข้อมูล (channel) เช่น ทางเดินระหว่าง RAM กับ CPU ซึ่ง Bus ต้องมีขนาดความกว้างเพียงพอและมีความเร็วสูง Word Size : ปัจจุบันมี word size 32 บิต และจะกลายเป็น 64 บิตในอีกไม่นาน (ก็คือความกว้าง เปรียบเทียบกับเลนถนน คือ 8 เลน, 16 เลน, 32 เลน และ 64 เลน เป็นต้น)
Word คือ ขนาดข้อมูลที่คอมพิวเตอร์สามารถประมวลผลใน 1 รอบ (1 รอบ ทำข้อมูลได้ 1 คำ ซึ่งสามารถประมวลผลได้ทีละ 1 คำ แต่เป็นคำที่มีขนาดใหญ่ขึ้น)
บัสที่เป็นเบสิค คือเส้นทางระหว่าง CPU กับ memory แล้วยังมีบัสอื่น ๆ อาจจะมีบัสที่ไว้ต่อกับ PC Card, USB Port คือจะมีช่องทางเดินข้อมูลระหว่าง port ผ่านไปถึง ram ซึ่งจะผ่านบัสหลายชนิด
AGP บัสเอาไว้ต่อกับจอ (แบบเก่าปัจจุบันไม่ค่อยมีแล้ว) แต่ปัจจุบันใช้ PCI แล้ว และมีรุ่นใหม่ ๆ version ใหม่ออกมา

Bay

Power Supply : ไว้สำหรับแปลงไฟ

Moblie

อุปกรณ์ที่มีขนาดเล็กลง เครื่องเล็กต่างจากเครื่องใหญ่ ในส่วนของ
- ความสามารถของการแสดงผล (จอเล็ก)
- แบตเตอรี่มีจำกัด (Battery Life) ต้องคอยชาร์ทบ่อย ๆ

Tablet

มีพอร์ทหลัก ๆ เหมือน notebook

No comments: