☆◦˚ PiM ˚◦☆'s profile☆。+゚°•|| T h e - P i M ...PhotosBlogListsMore Tools Help
 

☆◦˚ PiM ˚◦☆

Location
- - I'm waiting for that time when my life will come useful for you. - -

Windows Media Player

☆。+゚°•|| T h e - P i M ||•°゚+。☆™

ส ถ า น ะ : คิ ด ถึ ง ค น ไ ก ล ^ ^

 

ครอบครัวมีกันอยู่ 4 คน พ่ออายุ 64 ปี ตาบอด 2 ข้าง ส่วนแม่อายุ 43 ปี ตาบอด 1 ข้าง หูหนวก 1 ข้าง

พงษ์เป็นพี่ชายคนโต เรียนอยู่ชั้นป.4 แต่เป็นเด็กไม่ค่อยพูด และมีน้องชายอีก 1 คน เรียนอยู่ชั้นป.3

ความแตกต่างระหว่างอายุ และสภาพที่จำยอมของครอบครัวทำให้ความเป็นอยู่ในแต่ละวันไม่มีทางเลือกมากนัก

ค่าใช้จ่ายในครอบครัวอาศัยเงินสงเคราะห์คนชราของพ่อเดือนละ 300 บาท

นอกจากนี้สิ่งที่แม่และพงษ์สามารถทำได้ คือ การหาของต่างๆ จากท้องทุ่งนาแถวบ้านไว้ขาย

เช่น ผักบุ้ง ตำลึง ปูนา และปลา ส่วนใหญ่พงษ์จะเป็นคนออกหาปลา และปู

ส่วนแม่จะเป็นคนนำของไปขายที่ตลาดแถวหมู่บ้าน รายได้จากการขายของไม่เกิน 30 บาท : วัน

ทุกคนใช้ชีวิตแต่ละวันอย่างสมถะ เพราะเข้าใจสภาพที่เป็นอยู่ของตนเอง

ขณะที่ลูกๆ ก็ไม่เคยเรียกร้องอยากได้อะไรจากพ่อแม่

ในทางกลับกันพงษ์กับพอใจกับของที่มี

แม้กระทั่งจักรยานเก่าๆ ที่พ่อตั้งใจประกอบขึ้นให้ใหม่จากโครงเหล็กที่หาเก็บไว้

ติดตามความน่ารัก และการดิ้นรนเอาตัวรอดของพงษ์และครอบครัวได้ในรายการสานรัก คนเก่งหัวใจแกร่ง ...

  

  

ร่ ว ม บ ริ จ า ค ใ ห้ น้ อ ง พ ง ษ์  535-0-11074-8 

ธ น า ค า ร ก รุ ง ไ ท ย ชื่ อ บั ญ ชี ด.ช.จุลพงษ์  ทรายสาลี

 H a l o !!

I'm.. "PiMcHaNok_GR™" 55+

 

Please wait...
Sorry, the comment you entered is too long. Please shorten it.
You didn't enter anything. Please try again.
Sorry, we can't add your comment right now. Please try again later.
To add a comment, you need permission from your parent. Ask for permission
Your parent has turned off comments.
Sorry, we can't delete your comment right now. Please try again later.
You've exceeded the maximum number of comments that can be left in one day. Please try again in 24 hours.
Your account has had the ability to leave comments disabled because our systems indicate that you may be spamming other users. If you believe that your account has been disabled in error please contact Windows Live support.
Complete the security check below to finish leaving your comment.
The characters you type in the security check must match the characters in the picture or audio.

คลิกๆๆ รูปสวยๆน่ารักๆไว้ส่งต่อเพียบ...

ก่อนจะถึงวันลอยกระทง ก็มาเม้นสเปซก่อนละกันนะ ^^

ไม่เกี่ยวกันเลยยยย

Nov. 6
หวัดดีค่ะมากินเจด้วยกันนะคะ ^^
ที่เยาวราชของกินเพียบเลยยย
Oct. 5
นอนหลับฝันดีนะมึง
อย่าลืมไปดอนเงินให้น้องพงษ์นะ
-*-
Nov. 11
DuMpwrote:
หวาดีมาทักทาย จ้า ...รักเธอไม่ไหว ก็ทำใจเกลียดไม่ลืม...(คิดมาได้ไงเนี่ย)
Oct. 29
ก่อนอื่นต้องขอบอกว่าแรดทั้งสเปซทั้งเจ้าของมัน
พี่หมอเค้าเย้นชากับมรึงมากกกกกกกกกก
ตัดใจแล้วมาคบกะพี่หมอสูงเลยมรึง
กุจะเปนกะลังใจให้
*-*
Oct. 21
December 17

Architecture Unit11,12

บทที่ 11

11.1 การกำหนดที่อยู่

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

                การใช้ตัวถูกกระทำโดยตรง

                เป็นรูปแบบการกำหนดที่อยู่แบบที่ง่ายที่สุด  คือตัวถูกกระทำนั้นปรากฏอนู่ในคำสั่งนั้นเอง

OPERAND = A

                ภาวะกำหนดที่อยู่นี้ใช้ในการกำหนดและใช้ค่าคงที่ หรือกำหนดค่าคงที่ให้กับตัวแปรโดยทั่วไป ตัวเลขจะถูกเก็บอยู่ในรูปแบบทูคอมพลีเมนต์ บิตซ้ายสุดของตัวถูกกระทำจะใช้เป็นบิตเครื่องหมาย เมื่อตัวถูกกระทำถูกอ่านค่าเข้ามาในรีจีสเตอร์ข้อมูล บิตเครื่องหมายจะถูกทำสำเนาเพื่อเติมบิตที่เหลือทางด้านซ้ายให้เต็ม word

                ข้อดี : ไม่มีการอ้างอิงถึงหน่วยความจำนอกเหนือไปจากการอ่านคำสั่งเข้ามาในซีพียู (instruction fetch) จึงประหยัดวงรอบหรือความจำ cache ได้ 1 วงรอบ

                ข้อด้อย : ขนาดของตัวเลขจะถูกจำกัดด้วยขนาดของเขตข้อมูลตำแหน่งที่อยู่ ซึ่งในคำสั่งส่วนใหญ่จะมีขนาดเล็ก เช่น 20 บิต

                การอ้างอิงโดยตรง

                เขตข้อมูลตำแหน่งที่อยู่จะบรรจุตำแหน่งที่อยู่จริงของตัวถูกกระทำเอาไว้ดังนี้

EA (Effective Address) = A

                ได้รับความนิยมในคอมพิวเตอร์รุ่นแรกๆ แต่ตอนนี้ไม่แล้ว การประมวลผลต้องใช้วงรอบการอ้างอิงถึงหน่วยความจำเพิ่มขึ้นอีก 1 วงรอบ โดยไม่ต้องมีการคำนวณเพิ่มเติม

                ข้อด้อย : ขอบเขตที่จำกัดในการอ้างอิงตำแหน่งข้อมูลในหน่วยความจำ

                การอ้างอิงทางอ้อม

                เป็นการใช้เขตข้อมูลตำแหน่งที่อยู่ในการอ้างอิงถึงตำแหน่ง word ในหน่วยความจำที่เก็บข้อมูลเอาไว้

EA = (A)

                เครื่องหมายวงเล็บในที่นี้ใช้ในความหมายว่า ค่าที่เก็บอยู่ในตำแหน่งที่อ้างอิงถึงโดย A

                ข้อดี ถ้า word ในหน่วยความจำมีขนาด nบิต จะทำให้ผู้ใช้สามารถอ้างอิงข้อมูลได้ถึง 2n

                ข้อด้อย คำสั่งประเภทนี้จะต้องอ้างอิงหน่วยความจำเพิ่มขึ้นอีก 2 วงรอบ จึงจะสามารถอ่านค่าตัวถูกกระทำและประมวลผลได้ นั่นคือ หนึ่งวงรอบสำหรับอ่าน word ที่อ้างอิงถึงโดย A และอีกหนึ่งวงรอบสำหรับอ่านค่าข้อมูลที่แท้จริงที่อยู่ในตำแหน่ง word ที่ระบุโดย A นั้น

               

การอ้างอิงผ่านรีจิเตอร์โดยตรง

                มีความคล้ายกับการอ้างอิงโดยตรง สิ่งที่แตกต่างกัน คือ เขตข้อมูลตำแหน่งที่อยู่ในคำสั่งเครื่องจะบรรจุหมายเลขของรีจิสเตอร์ที่อ้างอิงแทนการกำหนดตำแหน่งที่อยู่ในหน่วยความจำ

EA = R

                โดยปกติเขตข้อมูลตำแหน่งที่อยู่ที่กำหนดหมายเลขรีจิสเตอร์นั้น จะมีขนาดระหว่าง 3 ถึง 5 บิต ทำให้สามารถอ้างอิงรีจิสเตอร์ได้ตั้งแต่ 8 ถึง 32 ตัว

                ข้อได้เปรียบในการอ้างอิงรีจิสเตอร์โดยตรง ได้แก่ 1.คำสั่งเครื่องต้องการพื้นที่ขนาดเล็กมากสำหรับการอ้างอิงหมายเลขรีจิสเตอร์ และ 2. ไม่ต้องเสียเวลากับการอ้างอิงหน่วยความจำเพื่ออ่านข้อมูลตัวถูกกระทำ ข้อจำกัดของวิธีการนี้คือมีพื้นที่สำหรับเก็บข้อมูลขนาดจำกัดมาก

                การอ้างอิงผ่านรีจิสเตอร์ทางอ้อม

                การอ้างอิงรีจิสเตอร์โดยตรง เปรียบได้กับการอ้างอิงหน่วยความจำโดยตรง การอ้างอิงรีจิสเตอร์ทางอ้อม ก็เปรียบได้กับการอ้างอิงหน่วยความจำทางอ้อม ความแตกต่าอยู่ที่ข้อมูลที่บรรจุอยู่ภายในเขตข้อมูลตำแหน่งที่อยู่ในคำสั่งเครื่องว่าเป็นตำแหน่งในหน่วยความจำหรือเป็นหมายเลขรีจิสเตอร์

EA = (R)

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

คุณสมบัติที่สำคัญ คือ การนำมาใช้เป็นกลไกที่มีประสิทธิภาพสำหรับโปรแกรมวนซ้ำหลายรอบ

การใช้สแต็ก

สแต็ก หมายถึง อาร์เรย์ของตำแหน่งที่อยู่ที่เรียงกันตามลำดับ บางครั้งเรียกว่า pushdown list หรือ last-in-first-outqueue สแต็กมักจะเป็นส่วนของหน่วยความจำที่ถูกสงวนไว้ใช้งานโดยเฉพาะ ข้อมูลจะถูกใส่เข้าไปบนสุดของสแต็ก สแต็กมักจะมีข้อมูลบางส่วนอยู่เสมอ สิ่งที่นำมาใช้ร่วมกับสแต็ก คือ ตัวชี้ หรือ พอยเตอร์ ซึ่งจะเก็บที่อยู่ของข้อมูลตัวบนสุดของสแต็กเอาไว้เสมอ เพื่อเพิ่มประสิทธิภาพให้ดีขึ้น ข้อมูลตัวสองตัวบนสุดมักจะถูกเก้บไว้ในรีจิสเตอร์ภายในซีพียู

11.2 ภาวะการกำหนดที่อยู่ใน Pentium และ PowerPC

 ซีพียู Pentium ประกอบด้วยภาวการณ์กำหนดที่อยู่หลายแบบ ซึ่งมีวัตถุประสงค์เพื่อช่วยให้การประมวลผลโปรแกรมภาษาระดับสูงเป็นไปอย่างมีประสิทธิภาพ

ภาวะการกำหนดที่อยู่ของซีพียู PowerPC

เป็นสถาปัตยกรรมแบบ RISC (Reduced Instruction Set Computer) ที่มีความแตกต่างจากสถาปัตยกรรมแบบ CISC (Complex Instruction Set Computer) อย่าง Pentium ตรงที่ซีพียู PowerPC ใช้ภาวะการกำหนดที่อยู่แบบตรงไปตรงมา

สถาปัตยกรรมแบบ Load/Store

ซีพียู PowerPC สนับสนุนภาวะ การกำหนดที่อยู่สองแบบ คือ คำสั่งสำหรับอ่านข้อมูล และการบันทึกข้อมูล (Load/Store)  เป็นประโยชน์มากต่อโปรแกรมแบบวนซ้ำที่ทำงานกับอาร์เรย์

Branch addressing

Branch addressing หมายถึง การกำหนดตำแหน่งที่อยู่ของคำสั่งต่อไปที่จะนำมาประมวลผล ซึ่งจำเป็นว่าจะต้องเป็นคำสั่งในลำดับต่อจากคำสั่งที่กำลังประมวลผลอยู่ในปัจจุบัน Branch addressing สำหรับซีพียู PowerPC มีอยู่สามวิธี วิธีแรกเรียกว่า absolute addressing มักจะนำมาใช้งานร่วมกับคำสั่ง unconditional branch คือ จะกำหนดตำแหน่งที่อยู่ของคำสั่งต่อไปให้ในทุกกรณี ตำแหน่งของคำสั่งจะนำมาจากค่าที่เก็บไว้โดยตรงในคำสั่งเครื่องขนาด 24 บิต ซึ่งจะถูกขยายให้เป็น 32 บิต ด้วยการเพิ่ม 00 เข้าไปต่อท้ายที่ตำแหน่งสุดท้าย จากนั้นจะทำ sign extending คือ การนำบิตเครื่องหมายของข้อมูล 24 บิตนั้นมาเติมเป็นบิตส่วนหัวให้ครบ 32 บิต วิธีที่ 2 คือ relative addressing ค่าที่เก็บไว้โดยตรงในคำสั่งเครื่องขนาด 24 บิต หรือ 16 บิต จะถูกนำมาขยายเป็น 32 บิต ด้วยวิธีเดิม ค่าที่คำนวณได้จะถูกนำมาบวกเข้ากับรีจิสเตอร์ program counter เพื่อกำหนดตำแหน่งคำสั่งที่มีความสัมพันธ์กับตำแหน่งคำสั่งในปัจจุบัน วิธีที่ 3 คือ indirect addressing จะนำตำแหน่งของคำสั่งต่อไปมาจาก link register หรือ count register รีจิสเตอร์เหล่านี้สามารถนำมาใช้เป็นตัวควบคุมการโปรแกรมวนซ้ำได้

คำสั่งทางคณิตศาสตร์

การคำนวณทางคณิตศาสตร์กับเลขจำนวนเต็ม ตัวถูกกระทำทุกตัวจะต้องถูกเก็บไว้ที่รีจิสเตอร์ หรือเป็นส่วนหนึ่งของคำสั่งเครื่อง การกำหนดที่อยู่โดยใช้รีจิสเตอร์จะกำหนดรีจิสเตอร์ที่เป็นแหล่งข้อมูล หรือที่เก็บผลลัพธ์ไว้ในรีจิสเตอร์ตัวหนึ่งจากกลุ่มรีจิสเตอร์สำหรับใช้งานทั่วไป การกำหนดที่อยู่โดยกำหนดตัวถูกกระทำโดยตรง แหล่งที่มาของข้อมูลจะถูกกำหนดไว้ในข้อมูลขนาด 16 บิต ที่เป็นส่วนหนึ่งของคำสั่งเครื่อง

  

บทที่12

12.1  การจัดองค์ประกอบของโปรเซสเซอร์

เริ่มด้วยการกำหนดความต้องการใช้งาน  หรือสิ่งที่โปรเซสเซอร์จะต้องทำ

·       ดึงคำสั่งเข้ามา (fetch instruction) นั่นคือการที่ซีพียูอ่านคำสั่งมาจากหน่วยความจำหลักเข้ามาเก็บไว้ภายในตัวซีพียู

·       แปลความหมายของคำสั่ง (Interpret instruction)  คำสั่งเครื่องจะถูกแปลความหมายเพื่อจะได้ทราบว่าคำสั่งนั้นต้องการให้ทำงานอย่างใด

·       ดึงข้อมูล(fetch data) การประมวลผลคำสั่งเครื่องคำสั่งหนึ่ง อาจจำเป็นต้องอ่านข้อมูลจากหน่อยความจำหลัก หรืออุปกรณ์ไอโอเข้ามาด้วย

·       ประมวลผลข้อมูล(process data) การประมวลผลคำสั่งอาจเกี่ยวข้องกับการทำงานทางคณิตศาสตร์  หรือตรรกะกับข้อมูล

·       การบันทึกข้อมูล (write data) ผลการประมวลข้อมูล อาจต้องการให้บันทึกผลลัพธ์ที่ได้ไว้ในหน่วยความจำหลักหรืออุปกรณ์ไอโอ

การทำงานในสิ่งที่กล่าวถึงนี้ เห็นได้ชัดว่าซีพียูมีความจำเป็นที่จะต้องจัดเก็บข้อมูลบางส่วนไว้เป็นการชั่วคราว ซีพียูอาจจะต้องจดจำตำแหน่งที่อยู่ของคำสั่งปัจจุบัน เพื่อจะ ได้ทราบตำแหน่งของคำสั่งต่อไปที่จะนำมาประมวลผล

            ส่วนประกอบหลักของซีพียูนั้นประกอบไปด้วย หน่วยเอแอลยู (Arithmetic and logic unit)

เป็นหน่อยที่ทำการประมวลผลให้เกิดขึ้น  หน่วยควบคุม (Control unit) ทำหน้าที่ควบคุมการเคลื่อนย้ายข้อมูลและคำสั่งเครื่องเข้า และออกจากซีพียูและควบคุมการทำงานของหน่วยเอแอลยู

12.2 การจัดองค์ประกอบของรีจิสเตอร์

ภายในซีพียูชุดหนึ่ง ทำหน้าที่เป็นหน่วยความจำระดับชั้นหนึ่งที่อยู่สูงกว่าระดับชั้นของหน่วยความจำหลักและหน่วยความจำ cache รีจิสเตอร์ที่อยู่ในซีพียูทำหน้าที่สองบทบาทคือ

·       รีจิสเตอร์ที่ผู้ใช้มองเห็นได้ (user-visible registers) รีจิสเตอร์ในกลุ่มนี้อนุญาตให้คำสั่งในโปรแกรมสามารถลการอ้างอิงข้อมูลในหน่วยความจำหลัก  โดยนำรีจิสเตอร์มาใช้งานแทน

·       รีจิสเตอร์สำหรับการควบคุมและรายงานสถานการณ์ทำงาน (control and status registers) รีจิสเตอร์ในกลุ่มนี้ถูกนำไปใช้โดยหน่วยควบคุมเพื่อควบคุมการทำงานของซีพียู และถูกใช้โดยคำสั่งพิเศษของระบบปฏิบัติการในการควบคุมการประมวลผลของโปรแกรม

รีจิสเตอร์ส่วนที่ผู้ใช้มองเห็นได้ คือ รีจิสเตอร์ที่สามารถใช้คำสั่งภาษาเครื่องควบคุมและใช้งานได้ผ่านการประมวลผลโดยซีพียู แบ่งออกดังนี้

·       รีจิสเตอร์เพื่อใช้งานทั่วไป สามารถนำไปใช้งานได้หลายหน้าที่ตามที่ผู้พัฒนาโปรแกรมต้องการ บางครั้งการใช้งานในชุดคำสั่งนั้นมีคุณสมบัติ orthogonal กับการทำงานในคำสั่งนั้นๆได้

·       รีจิสเตอร์สำหรับเก็บข้อมูล สามารถนำมาใช้เก็บข้อมุลซึ่งไม่สามารถนำไปใช้ในคำสั่งการคำนวณหาค่าตำแหน่งที่อยู่

·       รีจิสเตอร์สำหรับเก็บตำแหน่งที่อยู่ อาจเป็นรีจิสเตอร์สำหรับใช้งานทั่วไป หรือเป็นรีจิสเตอร์ที่กำหนดให้ใช้ในการอ้างอิงเกี่ยวกับตำแหน่งที่อยู่เท่านั้น

ตัวชี้ตำแหน่งเซ็กเมนต์ ในเครื่องที่ใช้วิธีกำหนดตำแหน่งที่อยู่แบบ segmented addressing อาจมีการใช้รีจิสเตอร์มากกว่าหนึ่งตัว

ตัวชี้ตำแหน่งดรรชนี  รีจิสเตอร์ในกลุ่มนี้ใช้สำหรับการกำหนดตำแหน่งที่อยู่แบบ indexed addressing  และอาจเป็นชนิด autoindexing ก็ได้

ตัวชี้ตำแหน่งในสแต็ก ถ้าคอมพิวเตอร์นั้นใช้ระบบ user-visible stack addressing สแต็กที่นำมาใช้งานจะเก็บอยู่ในหน่วยความจำ และจะมีรีจิสเตอร์ตัวหนึ่งที่ใช้ในการชี้ตำแหน่งข้อมูลตัวบนสุดในสแต็กนั้น วิธีการนี้ช่วยให้สามารถอ้างอิงตำแหน่งข้อมูลโดยนัยได้ นั่นคือการใช้คำสั่ง PUSH , POP และคำสั่งอื่นๆ

ควรจะใช้รีจิสเตอร์สำหรับใช้งานทั่วไปทั้งหมด หรือกำหนดหน้าที่การทำงานเฉพาะอย่างให้แก่รีจิสเตอร์แต่ละตัว ซึ่งช่วยให้ประหยัดจำนวนบิตที่ต้องนำมาใช้ในคำสั่งเครื่องได้ แต่ในทางกลับกันการออกแบบแนวทางนี้ เป็นการจำกัดความคล่องตัวในการเขียนและใช้งานคำสั่งเครื่อง

จำนวนรีจิสเตอร์ที่มีใช้งานมีผลต่อการออกแบบชุดคำสั่งเช่นเดียวกัน เนื่องจากจำนวนรีจิสเตอร์ที่เพิ่มขึ้นนั้น ทำให้ต้องมีจำนวนบิตสำหรับการอ้างอิงถึงมากขึ้น จำนวนรีจิสเตอร์ที่น้อยไปจะทำให้ต้องมีการอ้างอิงหน่วยความจำหลักบ่อยขึ้น ในขณะที่จำนวนรีจิสเตอร์ที่มากเกินไปก็ไม่ได้ช่วยลดความถี่ในการอ้างอิงหน่อยความจำหลักให้น้อยลงไป

ความยาวของรีจิสเตอร์  รีจิสเตอร์สำหรับเก็บข้อมูลก็จะต้องมีขนาดใหญ่พอที่จะเก็บข้อมูลได้เกือบทุกชนิด

รีจิสเตอร์สำหรับเก็บเงื่อนไขการทำงาน ซึ่งบางครั้งจะใช้คำว่า “flags” บิตพิเศษกลุ่มหนึ่งที่จะถูกกำหนดค่าขึ้นมาให้สอดคล้องกับผลการประมวลผลของซีพียู

รีจิสเตอร์สำหรับการควบคุมและแสดงสถานะ รีจิสเตอร์กลุ่มนี้ในเครื่องคอมพิวเตอร์ส่วนใหญ่จะไม่ยินยอมให้ผู้ใช้มองเห็น

·       Program counter (PC) เป็นรีจิสเตอร์ที่เก็บที่อยู่ของคำสั่งที่จะถูกประมวลผลในลำดับต่อไป

·       Instruction register (IR) เป็นรีจิสเตอร์ที่ใช้เก็บคำสั่งเครื่องที่พึ่งจะถูกอ่านเข้ามาในซีพียู

·       Memory addressing register (MAR) ใช้เก็บตำแหน่งที่อยู่อ้างอิงในหน่วยความจำหลัก

·       Memory buffer register (MBR) ใช้เก็บข้อมูล (ขนาด1word) ล่าสุดที่ถูกอ่านเข้ามาในซีพียู หรือใช้เก็บข้อมูลเพื่อเตรียมบันทึกลงในหน่วยความจำหลัก

การออกแบบจะต้องกล่าวถึงรีจิสเตอร์ตัวหนึ่ง หรือกลุ่มหนึ่งที่เรียกว่า program status word (PSW) ซึ่งใช้เก็บข้อมูลสถานการณ์ทำงานขิงซีพียู

·       Sign ใช้เก็บบิตเครื่องหมายของผลลัพธ์ที่เกิดขึ้นจากการประมวลผลคำสั่งทางคณิตศาสตร์ครั้งล่าสุด

·       Zero บิตนี้จะมีค่าเป็น 1 ถ้าผลลัพธ์ที่เกิดขึ้นจากการประมวลผลคำสั่งทางคณิตศาสตร์ครั้งล่าสุดมีค่าเป็น 0

·       Carry บิตนี้จะมีค่าเป็น 1ผลลัพธ์ที่เกิดขึ้นจากการประมวลผลคำสั่งทางคณิตศาสตร์ครั้งล่าสุดเกิดการยืมเลขจากหลักที่สูงกว่า หรือมีการทดเลขบิตที่มีค่าเกินบิตสูงสุด

·       Equal บิตนี้จะมีค่าเป็น 1 ถ้าเปรียบเทียบทางตรรกะมีค่าเท่ากัน

·       Overflow  ใช้สำหรับบอกให้ทราบว่า ผลลัพธ์ที่เกิดขึ้นจากการประมวณผลคำสั่งทางคณิตศาสตร์ครั้งล่าสุดเกิด overflow

·       Interrupt enable/disable ใช้ในการสั่งให้กระบวนการอินเทอร์รัพท์ทำงานหรือหยุดทำงาน

·       Supervisor ใช้ในการสั่งให้กระบวนการทำงานของซีพียูว่า ในขณะนั้นมีสถานะเป็น user หรือ supervisor คำสั่งเครื่องบางส่วนที่เป็นคำสั่งส่วนสงวน จะสามารถประมวลผลได้ และเนื้อที่หน่วยความจำบางส่วนจะสามารถอ้างอิงได้ก็ต่อเมื่อซีพียูในอยู่สถานะ supervisor เท่านั้น

    12.3 วงรอบคำสั่ง

·       การดึงคำสั่ง (Fetch) เป็นการอ่านคำสั่งที่จะถูกประมวลผลในลำดับต่อไปจากหน่วยความจำหลักเข้ามาไว้ในซีพียู

·       การประมวลผล (Execute) เป็นการแปลความหมายรหัสดำเนินงาน และทำงานตามที่ต้องการ

·       อินเทอร์รัพท์ (Intrrupt) ถ้าอนุญาตให้อินเทอร์รัพท์และมีอินเทอร์เกิดขึ้นซีพียูจะบักทึกสถานการณ์ทำงานของโปรแกรมปัจจุบัน และให้บริการแก่อินเทอร์รัพท์ที่ถูกเรียกใช้นั้น

วงรอบอินไดเร็ก

ถ้าเป็นการอ้างอิงแบบ indirect addressing ด้วยแล้วจะทำให้มีการอ่านข้อมูลในหน่วยความจำเพิ่มขึ้นอีกหนึ่งครั้งเสมอ

12.4 การทำคำสั่งแบบไปป์ไลน์

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

ระยะเวลาการประมวลผล มักจะนานกว่าระยะเวลาที่ใช้ในการดึงคำสั่งมาจากหน่วยความจำหลัก

คำสั่งที่เกี่ยวกับbranch แบบมีเงื่อนไข (conditional branch) ทำให้ไม่ทราบตำแหน่งที่แน่นอนของคำสั่งที่จะถูกประมวลผลต่อไป ดังนั้นขั้นตอนการดึงคำสั่งจำเป็นจะต้องรอจนกว่าจะทราบตำแหน่งที่แน่นอนของคำสั่งที่จะถูกประมวลผลในลำดับต่อไปซึ่งจะได้รับจากขั้นตอนการประมวลผล และขั้นตอนการประมวลผลก็จะต้องรอจนกว่าคำสั่งต่อไปจะถูกดึงเข้ามา

การแบ่งลำดับขั้นตอนการประมวลผลคำสั่งเครื่อง

·       Fetch instruction(IF) การอ่านคำสั่งเครื่องในลำดับต่อไปเข้ามาเก็บไว้ในบัฟเฟอร์

·       Decode instruction(DI) การแปลความหมายรหัสดำเนินงาน และกำหนดค่าตัวถูกกระทำ

·       Calculate operands(CO) การคำนวณตำแหน่งที่แท้จริง สำหรับตัวถูกกระทำแต่ละตัว ซึ่งอาจจะเกี่ยวข้องกับ displacement ,register indirect ,indirect หรือกำหนดค่าตำแหน่งที่อยู่แบบอื่นๆ

·       Fetch operands(FO) ทำการดึงค่าตัวถูกกระทำแต่ละตัวจากหน่วยความจำหลักเข้ามาในซีพียู ตัวถูกกระทำที่เก็บอยู่รีจิสเตอร์อยู่แล้วไม่จำเป็นต้องถูกอ่านเข้ามาใหม่

·       Execute instruction(EI) ทำการประมวลผลคำสั่ง และอาจมีการบันทึกผลลัพธ์ไว้ในตำแหน่งตัวถูกกระทำที่กำหนดไว้ในคำสั่งเครื่องนั้นๆ

Write operand (WO) จัดการบันทึกผลลัพธ์ไว้ในหน่วยความจำ

Architecture Unit1,9

บทที่ 1

1.1  ออร์กาไนเซชันและสถาปัตยกรรม นิยามแบบเป็นสองส่วน คือ

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

        -   ออร์กาไนเซชันคอมพิวเตอร์(computer organization)  หมายถึง  ส่วนประกอบแต่ละส่วนของเครื่องคอมพิวเตอร์ และการเชื่อมต่อเข้ากับส่วนประกอบส่วนอื่นๆ  ซึ่งจะเชื่อมต่อเข้าด้วยกัน  โดยจะต้องคำนึงถึงข้อกำหนดทางสถาปัตยกรรมของคอมพิวเตอร์

        -  ชุดคำสั่ง (instruction set) จำนวนบิตข้อมูลที่ใช้ในการสื่อความหมายข้อมูลชนิดต่างๆ(เช่น เลขจำนวนเต็ม หรือตัวอักษร) กลไกสำหรับอุปกรณ์นำเข้าและแสดงผลข้อมูล และเทคนิคที่ใช้ในการกำหนดที่อยู่ในหน่วยความจำ  คุณสมบัติทางด้านออร์กาไนเซชันได้แก่ฮาร์ดแวร์ที่เป็นอุปกรณ์ต่างๆ เช่น สัญญาณควบคุมการทำงานช่องติดต่อระหว่างคอมพิวเตอร์และอุปกรณ์ประกอบและเทคโนโลยีที่ใช้ในการสร้างหน่วยความจำ

1.2  โครงสร้างและหน้าที่การทำงาน

        -  โครงสร้างลำดับชั้น หมายถึง กลุ่มของระบบย่อยที่ถูกนำเข้ามาประกอบเข้าด้วยกัน แต่ระบบย่อยก็จะมีลักษณะเป็นโครงสร้างลำดับชั้นของอุปกรณ์ต่างๆซึ่งจะไล่ลงไปจนถึงระดับล่างสุดที่ประกอบด้วยอุปกรณ์พื้นฐานเช่น ทรานชิสเตอร์ตัวหนึ้งหรือสายไฟฟ้าเส้นหนึ่ง

        ผู้ออกแบบจะต้องรับผิดชอบในสองเรื่องคือ

-          โครงสร้าง : วิชีการที่อุปกรณ์ต่างๆเชื่อมต่อเข้าด้วยกัน

-          หน้าที่  :  การทำงานของส่วนประกอบแต่ละส่วนในฐานะเป็นส่วนหนึ่งของโครงสร้าง                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     

ในด้านการให้คำจำกัดความของระบบคอมพิวเตอร์มีทางเลือกสองทางคือ 

-          การเริ่มต้นจากระดับล่างสุด ไล่ขึ้นมาจนกระทั้งได้คำจำกัดความที่สมบูรณ์ที่ระดับบนสุด

-          การเริ่มมองจากระดับบนสุดแล้วแยกออกมาที่ส่วนประกอบแต่ละส่วนจนครบถ้วน

          ระบบคอมพิวเตอร์จะได้รับการอธิบายจากระดับบนสุด โดยเริ่มต้นจากการอธิบายส่วนประกอบหลักๆอธิบายโครงสร้างและหน้าที่ แล้วจึงอธิบายส่วนประกอบย่อยของแต่ละองค์ประกอบหลักไปเรื่อย ตามลำดับโครงสร้างแบบลำดับชั้น

หน้าที่การทำงานมีส่วนประกอบ 4 ส่วนคือ

·        การประมวลผลข้องมูล(Data processing facility)

·        ส่วนเก็บบันทึกข้อมูล(Data storage facility)

·        ส่วนการเคลื่อนย้ายข้อมูล(Data movement apparatus)

·        ส่วนการควบคุม(Control mechanism)

       คอมคอมพิวเตอร์ต้องมีความสามารถใน

-          การประมวลผลข้อมูล  ข้อมูลอาจอยู่ในหลายรูปแบบทำให้ขอบเขตการประมวลผลข้อมูลนั้นกว้างขวางไปด้วย

-          การจัดเก็บข้อมูล แม้ว่าเครื่องคอมพิวเตอร์จะทำการประมวลผลข้อมูลในทันทีคือ รับข้อมูลเข้ามา ทำการประมวลผล และส่งข้อมูลออกไปที่อุปกรณ์แสดงผลลัพธ์

-          เคลื่อนย้ายข้อมูล จากภายในเครื่องคอม ไปยังหรือมาจากอุปกรณ์อื่นได้ สิ่งแวดล้อมในการทำงานของเครื่องคอมประกอบด้วยอุปกรณ์ที่ทำหน้าที่เป็นทั้งแหล่งที่มาของข้อมูลหรือแหล่งจัดเก็บข้อมูล เมื่อข้อมูลถูกนำมาจากหรือส่งไปที่อุปกรณ์ที่เชื่อมโยงอยู่กับเครื่องคอมโดยตรง กระบวนการนี้จะถูกเรียกว่า ไอโอ(Input/Output or I/O)  ส่วนอุปกรณ์จะเรียกว่า อุปกรณ์ต่อพ่วง(peripherals)เมื่อข้อมูลถูกเคลื่อนย้ายในระยะทางไกลจากอุปกรณ์ที่อยู่ไกลออกไปจะเรียกว่า การสื่อสาร(data communication)

-          การควบคุม หน้าที่การทำงานทั้งสามอย่างนี้ การควบคุมมักจะถูกกระทำผ่านผู้ใช้งานเครื่องคอมโดยใช้คำสั่ง(instruction) ที่ถูกออกแบบมาเฉพาะภายในเครื่องคอม หน่วยควบคุมการทำงาน(control unit) จะจัดการบริหารการใช้งานทรัพยากรต่างๆ

โครงสร้างองค์ประกอบที่สำคัญ 4 อย่างคือ

·                    หน่วยประมวลผลกลาง(CPU:Central Processing Unit)

·                    หน่วยความจำหลัก(main memory)

·                    ไอโอ(I/O)

·                    การเชื่อมต่อภายในเครื่องคอม(system interconnection)

อุปกรณ์ที่น่าสงใจมากที่สุดและมีความสลับซับซ้อนมากที่สุดคือ หน่วยประมวลผลกลางประกอบด้วยส่วนประกอบดังนี้

·                    ส่วนควบคุม(Control unit) : ทำหน้าที่ควบคุมการทำงานของซีพียู

·                    ส่วนเอแอลยู(ALU:Arithmetic and Logic unit) : ทำหน้าที่ประมวลผลคำสั่งคณิตศาสตร์และคำสั่งทางตรรกะ

·                    รีจิสเตอร์(registers): เป็นหน่วยบันทึกข้อมูลภายในตัวซีพียู

·                    ส่วนเชื่อมต่อภายในซีพียู(CPU interconnection): กลไกที่ช่วยให้ส่วนประกอบทั้งสามส่วนสามารถสื่อสารระหว่างกันได้

เทคนิคที่นิยมใช้มากที่สุดคือ การใช้ไมโครโปรแกรม  โดยสารสำคัญแล้วหน่วยควบคุมที่ใช้ไมโครโปรแกรมนั้นก็คือ การประมวลผลคำสั่งย่อย(microinstruction)

1.3  ทำไมจึงต้องศึกษาเรื่องออร์กาไนเซชันและสถาปัตยกรรม

   -   เครื่องคอมเป็นหัวใจของการคำนวณ ถ้าปราศจากเครื่องคอมแล้ววิชาที่เกี่ยวข้องกับการคำนวณส่วนใหญ่ในปัจจุบัน ก็จะกลายเป็นเพียงส่วนหนึ่งของทฤษฏีทางคณิตศาสตร์ การที่จะเป้นผู้เชี่ยวชาญในการคำนวณแขนงใดปัจจุบันก็ตาม

1.4  แนวทางการนำเสนอของหนังสือเล่มนี้

            1.  นำเสนอภาพรวมของออร์กาไนเซชันคอม และสถาปัตยกรรมคอมและอธิบายหัวข้อที่ใช้ในการพิจารณาในการออกแบบเครื่องคอม

              2.  กล่าวถึงส่วนประกอบหลักของคอม และการเชื่อมโยงระหว่างกันทั้งระหว่างอุปกรณ์ด้วยกันเองละกับอุปกรณ์ภายนอน

              3.  อธิบายสถาปัตยกรรมภายใน และออร์กาไนเซชันของหน่วยประมวลผล
 

บทที่ 9  วิธีการคำนวณทางคณิตศาสตร์ของเครื่องคอมพิวเตอร์

ประเด็นสำคัญ

คือ วิธีการหรือรูปแบบตัวแทนของข้อมูลตัวเลขและอัลกอริทึมสำหรับการคำนวณทางคณิตศาสตร์เบื้องต้น  โปรเซสเซอร์มาตรฐานส่วนมากใช้ IEEE 754

 

9.1  ALU บทนี้จะอธิบายฟังก์ชันทางตรรกะที่เป็นส่วนหนึ่งของเอแอลยู การประมวลผลคณิตศาสตร์ของคอมพิวเตอร์ กระทำกับข้อมูลตัวเลขจำนวนเต็มและจำนวนจริง  เอแอลยูจึงเป็นส่วนแกนหลักของระบบคอมพิวเตอร์  ข้อมูลจะถูกส่งเข้าสู่หน่วยเอแอลยูผ่านรีจิสเตอร์และผลลัพธ์จะถูกส่งกลับไว้รีจิสเตอร์  รีจิสเตอร์เหล่านี้คื่อทีเก็บข้อมูลชั่วคราวอยู่ภายในโปรเซสเซอร์

 

9.2  รูปแบบตัวแทนของเลขจำนวนเต็ม

การประมวลผลนั้น  เครื่องหมายติดลบและจุดทศนิยมไม่ได้ประโยชน์แต่อย่างใดดังนั้นจึงใช้เลขฐาน 2  คือ  0  และ  1 

รูปแบบที่มีเครื่องหมายกำกับ  บิตที่อยู่ซ้ายสุด  ถ้าเป็น 0  แสดงว่าเป็น +   1  แสดงว่าเป็น

แต่มีปัญหาเกิดขึ้น  จึงไม่ได้รับความนิยม

                รูปแบบตัวแทนทูคอมพลีเมนต์  นำบิตที่มีค่าสูงสุดของเลขฐานสองมาใช้เป็นบิตเครื่องหมาย  เพื่อช่วยห้ารตรวจสอบว่าเลขจำนวนนั้นเป็นบวกหรือลบ  เลข 0 จะเป็นบวกเท่านั้น  วิธีการนี้สามารถสนับสนุนการทำงานฟังก์ชันคณิตศาสตร์พื้นฐานจึงมาใช้อย่างกว้างขวาง

                การแปลงระหว่างข้อมูลที่มีจำนวนบิตไม่เท่ากัน

โดยย้ายบิตเครื่องหมายไปไว้บิตซ้ายสุด  แต่ไม่สามารถมาใช้กับทูคอมพรีเมนต์ได้

                รูแบบตัวแทนเลข Fixed-point เลขจำนวนจริงที่บอกไปนั้น

 

เน็กเกชัน  คือการสลับบิต

ในทูคอมพรีเมนต์มี 2 ขั้นตอนดังนี้ 

1. เปลี่ยนบิตให้เป็นบิตตรงกันข้าม

2.  ให้บวก 1 ที่บิตขวาสุด

 

การบวกและการลบ  บวกตามปกติ

การคูณ เลขไม่มีเครื่องหมาย  คูณแนวตั้งปกติ

การูณเลขทูคอมพรีเมนต์  เหมือนกาน (แต่ไม่เข้าใจว่ะ  เห้อๆๆๆ)

การหาร  หารยาวที่กระทำกับเลขแบบไม่มีเครื่องหมายบิตจากซ้ายไปขวา

  9.4  รูปแบบตัวแทนเลขจำนวณจริง

พื้นฐานความเข้าใจ  สิ่งสำคัญคือ  รูปแบบของเลขจำนวณจริงไม่เพิ่มจำนวนตัวเลขที่ระบบจะสามารถใช้แทนได้

                ข้อได้เปรียบการใช้เลขฐานขนาดใหญ่คือ  ความสามารถในการแสดงรูปแบบตัวแทนตัวเลขที่มีขอบเขตหรือจำนวนมากยิ่งขึ้น

 

มาตรฐาน  IEEE  สำหรับรูปแบบแทนเลขจำนวนจริง  กำหนดไว้สำหรับทั้งตัวเลขขนาด  2  บิตและ  64  บิต  และไม่ได้แปลความหมายของบิตทุกบิตเหมือนกับรูปแบบทั่วไป  กล่าวคือบิตบางส่วนถูกกำหนดให้มีความหมายเป็นอย่างอื่น

 

9.5  การคำนวณคณิตศาสตร์ของเลขจำนวนจริง  (เห้อๆๆๆ)

การพิจารณาความเที่ยงตรง  เห้อยกกำลัง 2

การปัดเศษ  มี  4  วิธี

ปัดเศษไปยังค่าที่ใกล้เคียง,ไปทางจำนวนบวกอนันต์,ลบอนันต์,จำนวน 0

 สัญลักษณ์  NaN  หมายถึง  รหัสรูแบบจำนวนจริง

November 26

Unit 10 HoMeWoRk NoT FiNiSh

Operand

Operand นี้แตกต่างกันขึ้นอยู่กับชนิดของคำสั่งนั้น ๆ ถ้ามีหลายตัวก็คั่นด้วย  , (COMMA)   ชนิดของ  Operand  แบ่งได้ดังนี้

1)      Operand  ที่เป็นตัวเลข  หมายถึง  หมายเลขของรีจิสเตอร์  เช่น

LR        5,10

2)      Operand  ที่เป็นข้อมูลโดยตรง  (Operand  ตัวที่  2)  เช่น

L          3,=F’1’

3)   Operand  ที่เป็นชื่อซึ่งเป็น  Symbolic  Address  แทนค่าตำแหน่งในหน่วยความจำ  ซึ่งจะต้องปรากฏอยู่ใน  Name  Field  ด้วย  เช่น

MVC     LNAME,LAST

            4)   Operand  ที่  Reference  กับตัวเอง  ใช้เครื่องหมาย  “ * ”  จะหมายถึงตำแหน่งของตัวเอง  ตาม   Location  Counter  ในขณะนั้น  (Current  Location  Counter)  เช่น

USING  *,12

5)      Operand  ที่กำหนดตำแหน่งโดยการอ้างอิงกับ  Symbolic  Address  เช่น 

MVC      DATA-4(3),DATA+3

 

September 08

ฟ้ากับเหว !

 
เรามันต่างกัน
 
ดังฟ้ากับเหว !
 
 
June 26

น้องเหมียว""

 
ห น้ า นี้ ข อ ไ ว้ อ า ลั ย ใ ห้ กั บ แ ม ว ที่ น่ า รั ก ทั้ ง ส า ม ตั ว ข อ ง กุ
 
น้องโอบี
 
ชาตะ 16 มกราคม 2549
 
มรณะ : 25 มิถุนายน 2550
 
น้องอาบา*ทรอส
 
ชาตะ : 16 มกราคม 2549
 
มรณะ : 5 กรกฎาคม 2550
 
 น้องทิกิ
 
ชาตะ : 16 มกราคม 2549
 
มรณะ : 23 กันยายน 2550
 
ปล.รักและคิดถึงที่สุด
 
    
 
There are no photo albums.