Jump to content


ประกาศย้าย Thaiware Community ไปที่ QA.THAIWARE.COM

ขณะนี้ทางเว็บ Thaiware.com ได้เปิด บริการใหม่ภายใต้หัวข้อ THAIWARE Q&A (ถาม - ตอบ) เมื่อต้นเดือน มกราคม พ.ศ. 2556 (2013) ที่ผ่านมา หากใครมีข้อสงสัย มีคำถามต่างๆ จะสอบถาม เรามีทีมงานที่จะคอยดูแลตอบคำถาม ไขข้อข้องใจตลอดเวลา


สำหรับในหน้า COMMUNITY.THAIWARE.COM นี้เราจะเก็บเอาไว้เป็นคลังกระทู้เก่า เพื่อค้นคว้าหาความรู้ที่เคยพูดคุยกันมา ตลอด 10 ปีที่ผ่านมา ซึ่งต่อไปโดยจะไม่สามารถตั้งกระทู้ หรือ สมัครสมาชิกใหม่ ในหน้านี้ได้ ดังนั้นขอเชิญที่ QA.THAIWARE.COM แทน สำหรับสมาชิกเก่าในที่นี้ กรุณาสมัครสมาชิกใหม่อีกครั้งก่อนการใช้งานที่ THAIWARE Q&A (ถาม - ตอบ)


ขอบคุณที่ใช้บริการตลอดมา
ทีมงาน Thaiware.com
หากมีข้อสงสัยติดต่อ 0-2635-0455 ต่อ 4



Photo

Pipeline คืออะไรครับ ??


  • Please log in to reply
10 replies to this topic

#1 illusion.exe

illusion.exe

    กำแพงของความรู้สึก...

  • Gold Members
  • PipPipPipPip
  • 344 posts
  • Gender:Male

Posted 15 February 2007 - 06:29 PM

Pipeline คืออะไรครับ ?? เห็นเค้าบอกกันว่า ยิ่งเยอะยิ่งดี
ดอกฟ้า[Striker Extreme] กับหมาวัด [Core2Duo E4300] ... >>> CPU-Z Validator Database

#2 omega013

omega013

    Newbie user

  • Gold Members
  • PipPipPipPip
  • 444 posts
  • Gender:Male
  • Interests:เกม, คอมพิวเตอร์ (HW&SW), ดนตรี ฯลฯ

Posted 15 February 2007 - 10:28 PM

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

ทว่า ยิ่งมากก็ใช่ว่าจะยิ่งดีเสมอไปนะครับ ดูได้จาก Pentium 4 & D ของ Intel ดูครับ แล้วลองเปรียบเทียบกับ Intel Core ดูครับ (ให้ท่านอื่นมาตอบแล้วกัน อิอิ)


Gadgets :
SONY PlayStation 3 80GB
SONY PSP 1006 /w MS DUO Pro 8GB
Microsoft Xbox360 Elite 120GB
Nintendo Wii JP
Nintendo DS Lite Nu Gundam Limited Edition
Apple MacBook Pro 2.4GHz/2GB/GF8600MGT

#3 CaspeR

CaspeR

    รู้สิ่งใดก็ไร้ค่าถ้าไม่ทำ

  • Exclusive Members
  • PipPipPipPipPip
  • 827 posts
  • Gender:Male
  • Location:bkk

Posted 15 February 2007 - 11:21 PM

เปรียบการทำงานของคอมพิวเตอร์กับการซักผ้า มีขั้นตอนดังนี้
1.เอาผ้าเข้าเครื่องแล้วซัก
2.อบผ้า
3.รีดผ้า
4.พับผ้า
5.เอาผ้าเข้าตู้

ถ้าเราไม่ใช้ pipeline เราก็ทำตาม step ธรรมดา 5 step ถึงจะได้ผ้าที่สมบูรณ์
แต่ถ้ามีการใช้ pipeline หมายความว่า ในขณะที่เราซักผ้า ถ้าเครื่องอบผ้าว่าง เราก็เอาผ้าที่ซักแล้วไปอบ
ดังนั้น ใน 1 cycle ที่คอมคำนวณ เราสามารถทำงานได้พร้อมๆกัน 5 state ทำให้เร็วกว่าแบบไม่มี pipeline

เข้าใจป่าวหว่า งิงิ
แคสเปอร์ ก็คือ แคสเปอร์
CaspeR is CaspeR
كاسبر هو كاسبر
卡斯帕尔是卡斯帕尔
CaspeR ist CaspeR
कैस्पर कैस्पर है
キャスパーキャスパーです
캐스퍼 캐스퍼입니다
WhispeR là WhispeR

#4 illusion.exe

illusion.exe

    กำแพงของความรู้สึก...

  • Gold Members
  • PipPipPipPip
  • 344 posts
  • Gender:Male

Posted 16 February 2007 - 01:21 PM

พอจะเข้าใจแล้วครับ แต่ยังไม่กระจ่างดี

ยกตัวอย่างเกี่ยวกับการ์ดจอก้ได้ครับ pipeline ของการ์ดจอมันทำงานแบบเดียวกันรึป่าวครับ

Edited by illusion_tx, 16 February 2007 - 01:24 PM.

ดอกฟ้า[Striker Extreme] กับหมาวัด [Core2Duo E4300] ... >>> CPU-Z Validator Database

#5 PSNR-Dark Angel

PSNR-Dark Angel

    ชายร่าเริงที่แฝงด้วยความลึกลับ หญิงใดได้สัมผัสยากนักจะถอนตัว

  • Forum Moderator
  • 2,135 posts
  • Gender:Male
  • Location:เธอมาใช่ว่าไม่รัก...
  • Interests:ผู้หญิง...เอ๊ย...คอมพิวเตอร์ครับ ชอบทุกเรื่องที่เกี่ยวกับคอมพิวเตอร์...อิอิ

Posted 16 February 2007 - 01:57 PM

สั้น ๆ เลยนะครับ

Pipeline คือ เทคนิคทำให้คำสั่งหลายๆ คำสั่งทำงานพร้อมๆ กัน แต่ละส่วนจะทำงานให้เสร็จในส่วนของมัน แต่ละส่วนจะทำงานต่างกัน แต่ละส่วนเรียกว่า "Pipe Stage" และแต่ละส่วนจะทำงานต่อเนื่องเป็นทอด ๆ เขาเลยเปรียบเทียบ pipeline กับสายพานเครื่องจักรไงครับ เวลาที่ใช้เคลื่อนที่จากส่วนหนึ่ง (Pipe Stage) ไปยังอีกส่วนหนึ่ง เราเรียกว่า "Machine Cycle" เนืองจากทุกๆ ส่วนทำงานพร้อมกันดังนั้น ค่า Machine Cycle จะดูจากเวลาที่ใช้ใน Pipe Stage ที่ช้าที่สุด

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

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

ยาวอีกแล้ว - -" ...ถ้าเข้าใจก็ตอบกลับมาด้วยนะครับ ผมก็เรียบเรียงได้เท่านี้อ่ะครับ -*-

ขอเพิ่มหน่อย...

...จริงๆ มันก็คือ การออกแบบขั้นตอนการประมวลต่อ 1 คำสั่งให้ใช้เวลาน้อยที่สุดอ่ะครับ จะได้ไม่เปลือง Clock และถ้ามีหลายๆ Pipeline มันก็จะช่วยประมวลผลพร้อมๆ กัน ทำให้เพิ่มความเร็วในการประมวลได้ครับ ไม่จำเป็นต้องเพิ่มความถี่สัญญาณนาฬิกา (Clock) ให้สูงเสมอไปไงครับ

Edited by psnr, 16 February 2007 - 02:10 PM.


สถานการณ์สร้าง "วีรบุรุษ" อยากเป็นวีรบุรุษต้องสร้าง "สถานการณ์"

#6 octoder

octoder

    godsend

  • Gold Members
  • PipPipPip
  • 167 posts
  • Gender:Male
  • Location:Bangkok
  • Interests:Mac
    iPhone
    นี่ละ ที่ชอบ
  • Skype: Chat / Call

Posted 17 February 2007 - 05:29 AM

แจ่มมากเลยครับ ความรู้ทั้งนั้นเลย เมมๆ
<img src="http://img241.images...e6ep630ua4.jpg" border="0" class="linked-sig-image" /> Moto ROKR E6 + EP-630
Moto ROKR E8 + iPhone4
Posted Image

#7 UNO

UNO

    สุดยอดแฟนพันธ์แท้

  • Exclusive Members
  • PipPipPipPipPipPip
  • 1,160 posts

Posted 17 February 2007 - 06:49 AM

Pipeline เป็นค่าสเปกของฮาร์ดแวร์ป่ะ หรือเป็นชื่อเรียกเฉยๆ

#8 PSNR-Dark Angel

PSNR-Dark Angel

    ชายร่าเริงที่แฝงด้วยความลึกลับ หญิงใดได้สัมผัสยากนักจะถอนตัว

  • Forum Moderator
  • 2,135 posts
  • Gender:Male
  • Location:เธอมาใช่ว่าไม่รัก...
  • Interests:ผู้หญิง...เอ๊ย...คอมพิวเตอร์ครับ ชอบทุกเรื่องที่เกี่ยวกับคอมพิวเตอร์...อิอิ

Posted 17 February 2007 - 08:46 AM

QUOTE(ter @ Feb 17 2007, 07:04 AM) View Post
Pipeline เป็นค่าสเปกของฮาร์ดแวร์ป่ะ หรือเป็นชื่อเรียกเฉยๆ


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

...ผมว่าปัจจุบัน Pipeline กลายเป็น 1 ในสเปกของฮาร์ดแวร์ไปแล้วครับ โดยเฉพาะการ์ดจอจะระบุเกี่ยวกับ Pipelinr ไว้อย่างชัดเจน

สถานการณ์สร้าง "วีรบุรุษ" อยากเป็นวีรบุรุษต้องสร้าง "สถานการณ์"

#9 UNO

UNO

    สุดยอดแฟนพันธ์แท้

  • Exclusive Members
  • PipPipPipPipPipPip
  • 1,160 posts

Posted 17 February 2007 - 12:20 PM

Pipeline อ่านว่าอะไรครับ happy.gif

#10 PSNR-Dark Angel

PSNR-Dark Angel

    ชายร่าเริงที่แฝงด้วยความลึกลับ หญิงใดได้สัมผัสยากนักจะถอนตัว

  • Forum Moderator
  • 2,135 posts
  • Gender:Male
  • Location:เธอมาใช่ว่าไม่รัก...
  • Interests:ผู้หญิง...เอ๊ย...คอมพิวเตอร์ครับ ชอบทุกเรื่องที่เกี่ยวกับคอมพิวเตอร์...อิอิ

Posted 17 February 2007 - 01:08 PM

QUOTE(ter @ Feb 17 2007, 12:35 PM) View Post
Pipeline อ่านว่าอะไรครับ happy.gif


Pipeline มาจาก Pipe (ไป๊) ที่แปลว่า "ท่อ" + Line (ลาย) ที่แปลว่าเส้นนี่แหล่ะครับ อ่านรวมกันก็ "ไป๊ไล" ที่เห็นเขียนทั่วไปก็ "ไปป์ไลน์"

...ขอให้เข้าใจอย่างเดียวกัน อาจออกเสียงยังไงก็ได้ครับ

สถานการณ์สร้าง "วีรบุรุษ" อยากเป็นวีรบุรุษต้องสร้าง "สถานการณ์"

#11 Pruchchai

Pruchchai

    สุดยอดแฟนพันธ์แท้

  • Gold Members
  • PipPipPipPipPipPip
  • 1,092 posts
  • Gender:Male

Posted 18 February 2007 - 06:56 PM

QUOTE
ถ้ามีหลายๆ Pipeline มันก็จะช่วยประมวลผลพร้อมๆ กัน ทำให้เพิ่มความเร็วในการประมวลได้ครับ

ขออธิบายเพิ่มกันเข้าใจผิดครับ

pipeline จะแบ่งการทำงาน 1 งาน ออกเป็นงานย่อยแล้วทำพร้อมๆกัน เช่นการทำงานของ CPU แบ่งเป็นสมมติว่าแบ่งเป็น 5 ขั้นตอน
1. อ่านคำสั่ง
2. แปลคำสั่ง
3. ประมวลผล
4. อ่านข้อมูลจากหน่วยความจำ
5. เขียนค่ากลับไปยังรีจิสเตอร์
พออ่านคำสั่งที่ไปแล้วก็จะเริ่มแปลคำสั่งในขณะที่แปลคำสั่งก็อ่านคำสั่งต่อไปเลย (เหมือนที่คุณ PSNR อธิบายแหละ) สมมติว่าแต่ละงานใช้เวลาอย่างละ 1 วินาที ถ้าทำทีละอย่าง 1 คำสั่งจะใช้เวลา 5 วินาที แต่พอใช้ pipeline จะทำให้โดยรวมแล้ว(ไม่นับ 4 วินาทีแรก) ทำได้ 1 คำสั่งใน 1 วินาที ทีนี้มันมีปัญหาตรงที่ว่าการทำงานแต่ละงานบางครั้ง(จริงๆแล้วส่วนใหญ่)มันไม่ได้ทำคำสั่งตามลำดับ 1 2 3 .. เช่นการเขียนโปรแกรมโดยใช้เงื่อนไข IF คือพอ pipeline ประมวลผลเสร็จสรุปได้ว่าต้องกระโดดไปทำงานที่คำสั่งอื่น แต่ว่าไอ้คำสั่งที่มันอ่านเข้ามาแล้วมันเป็นคำสั่งถัดไปซึ่งไม่ใช่คำสั่งที่ต้องการ (เพราะตอนที่อ่านเข้ามามันยังไม่รู้เลยว่าจะต้องกระโดดไปเนื่องจากคำสั่ง IF ที่เป็นเงื่อนไขยังทำงานไม่เสร็จ) ทีนี้จะแก้ยังไงดี ก็แก้โดยการล้างท่อทิ้ง แล้วเริ่มอ่านคำสั่งที่ถูกต้อง(ที่จะใช้งาน) เข้ามาแทน ซึ่งจะทำให้เสียเวลามากขึ้นเพราะต้องไปเริ่มกระบวนการใหม่ (คือเริ่มตั้งแต่ 1 อ่านคำสั่ง สรุปแล้วจะมี 5 วินาทีที่ทำได้แค่คำสั่งเดียวเกิดขึ้นอีกครั้ง) ถ้ามีคำสั่งที่เป็นเงื่อนไขมากๆ การทำงานของ pipeline ก็จะลดประสิทธิภาพลงเพราะต้องกลับไปเริ่มกระบวนการใหม่ตั้งแต่ขั้นตอนที่ 1 มากขึ้น ก็เลยมีการแก้ปัญหานี้โดยการเพิ่มจำนวน pipeline ให้มากขึ้น เพื่อให้แต่ละ pipeline เดาว่าคำสั่งถัดไปมันน่าจะเป็นคำสั่งอะไรดีแล้วอ่านเข้ามาถ้าโชคดีก็จะมี pipeline สักอันนึงที่เดาถูกว่าคำสั่งถัดไปเป็นอะไร แล้วก็ใช้ผลจาก pipeline ที่เดาถูกอันนั้น แต่ถ้าโชคร้ายไม่มีอันไหนเดาถูกเลยต้องล้างท่อทิ้งทั้งหมดอยู่ดี

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




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

ประกาศ ! : ข้อความที่ถูกพิมพ์ หรือเผยแพร่ออกจากเว็บบอร์ด Thaiware Community Board แห่งนี้ ถือเป็น ความคิดเห็นส่วนบุคคลทั้งสิ้น ซึ่งทางเว็บไซต์ Thaiware.com จะ ไม่รับผิดชอบ ต่อสิ่งที่เกิดขึ้น อันเป็นเหตุมาจากการพิมพ์จากทางผู้ใช้ และสมาชิก แต่อย่างไรก็ตามถ้าหาก ท่านใดพบ ข้อความที่เป็นสิ่งที่ไม่เหมาะสม ได้ถูกเผยแพร่ลงในเว็บไซต์ อาทิเช่น คำพูดที่ลบหลู่ ดูหมิ่นต่อ ความมั่นคงของชาติ ศาสนา และ พระมหากษัตริย์ รวมไปถึงการเผยแพร่รูปภาพที่ไม่เหมาะสม หรือ สิ่งผิดกฏหมายต่างๆ กรุณาแจ้ง ทางทีมงาน มาได้ที่ webmaster@thaiware.com หรือ โทรศัพท์มาแจ้งได้ที่ 0-2635-0744 (ทุกวัน จันทร์ - ศุกร์ เวลา 9.30 - 17.30 น.) ซึ่งเราจะรีบดำเนินการลบโดยเร็วที่สุด ...