250 likes | 346 Views
Lightning Data Transport. นาย กิติศักดิ์ ผู้พัฒน์ 43650043 นาย วีรวุฒิ คงบุญเกียรติ 43650316. Agenda. สาเหตุที่จำเป็นต้องมีสถาปัตยกรรมใหม่ในการเชื่อมต่อ Lightning Data Transport (LDT) Link width Link streams, packets, and bandwidth Link clock, control, and configuration
E N D
Lightning Data Transport นาย กิติศักดิ์ ผู้พัฒน์ 43650043 นาย วีรวุฒิ คงบุญเกียรติ 43650316
Agenda • สาเหตุที่จำเป็นต้องมีสถาปัตยกรรมใหม่ในการเชื่อมต่อ • Lightning Data Transport (LDT) • Link width • Link streams, packets, and bandwidth • Link clock, control, and configuration • Command and data packets • Physical layer and pin count • ตัวอย่าง ที่สนับสนุน LDT
LDT Geneology • LDT ครั้งแรกถูกพัฒนาสำหรับ PC • bandwidth ของ PCI ไม่เพียงพอ สำหรับอุปกรณ์ มัลติมีเดีย • LDT ถูกขยายไปใช้กับ server • cLDT (Coherent LDT) เป็นระบบเชื่อมโยงแบบ high speed, low latency สำหรับการต่อโดยใช้ NUMA (Non-Uniform Memory Access) ในระบบ multiprocessing • LDT ถูกใช้ใน อุปกรณ์ที่ใช้ในชีวิตประจำวันภายในบ้าน • ในอนาคตอันใกล้นี้ LDT จะถูกนำไปใช้งานอย่างแพร่หลาย • ข้อกำหนดทางเทคนิคในอนาคตจะเกี่ยวข้องกับ PC น้อยลง • ข้อกำหนดเฉพาะของ PC จะถูกบรรจุในแนวทางการออกแบบ PC
PC Architectureal Dilemma • Bandwidth ไม่เพียงพอ • Processors มีความสามารถเพิ่มขึ้น 2 เท่า ทุก 18 เดือน ส่วน PC บัส จะล้าหลังกว่า • บัส มีความซับซ้อน • ปัจจุบันนี้ PC จำเป็นต้องบรรจุบัสหลายแบบ ใน Motherboard (เพื่อ Compatibility) • x86 Servers และ workstations มีความหลากหลายของระบบบัสพิเศษมากเกินไป
ปัญหา Multiprocessing • ข้อจำกัด ของ Servers และ Workstations ที่อยู่บนพื้นฐานของสถาปัตยกรรม x86 • สถาปัตยกรรม Switch และ NUMA
Embedded Applications • สถาปัตยกรรม x86 เป็นแนวทางพัฒนาที่เร็ว สำหรับ Embedded Applications • ค่าใช้จ่ายสำหรับการพัฒนาถูกกว่า เพราะมีเครื่องมือสำหรับพัฒนา และทักษะเพียงพอ • ผู้ผลิตชิพ Embedded RISC เริ่มนำเอา LDT มาใช้งาน • Embedded processors ที่ใช้ LDT I/O ได้ประโยชน์จาก bandwidth ของ LDT • เริ่มนำ LDT ไปใช้ในการพัฒนา network switch และ router
Lightning Data Transport • จุดหมาย • เพิ่มประสิทธิภาพ โดยเพิ่ม I/O bandwidth • เพิ่มความยืดหยุ่นของ I/O • เป็นส่วนประกอบของ external buses • มีผลกระทบน้อยหรือไม่มี กับ OS และ drivers • ใช้กับระบบ multiprocessing • มีผู้เข้าร่วมพัฒนาเพื่อให้ LDT เป็นโครงสร้างพื้นฐาน
LDT Link Width • Two unidirectional point-to-point links • 2, 4, 8, 16, หรือ 32 บิต ในแต่ละทิศทาง • ความกว้างขึ้นอยู่กับความต้องการของ upstream และ downstream • Command, addresses และ data ใช้ บิตเดียวกัน
LDT Scalable Bandwidth • เพิ่มได้จนถึง 1.6 กิกะบิต ต่อ วินาที ต่อ pin -pair • 1.6 กิกะบิต ต่อ วินาที สำหรับ ระบบ multiprocessing ที่ต่อเชื่อระหว่าง CPU กับ CPU • 32 บิต ในแต่ละทิศทางจะให้ 6.4 กิกะไบต์ต่อวินาที นั่นคือมี bandwidth 12.8 กิกะไบต์ต่อวินาที • 16 บิต ในแต่ละทิศทางจะให้ 3.2 กิกะไบต์ต่อวินาที นั่นคือมี bandwidth 6.4 กิกะไบต์ต่อวินาที • Bandwidth สามารถเพิ่มขึ้นได้ถึง 96 เท่า ของ PCI-32/33 ซึ่งให้เพียง 133 เมกกะไบต์ต่อวินาที • 800 เมกกะบิตต่อวินาที ต่อ pin-pair สำหรับ อุปกรณ์ I/O • 8 บิต ในแต่ละทิศทางจะให้ 800 เมกกะไบต์ต่อวินาที นั่นคือมี bandwidth 1.6 กิกะไบต์ต่อวินาที • 4 บิต ในแต่ละทิศทางจะให้ 400 เมกกะไบต์ต่อวินาที นั่นคือมี bandwidth 800 เมกกะไบต์ต่อวินาที • 2 บิต ในแต่ละทิศทางจะให้ 200 เมกกะไบต์ต่อวินาที นั่นคือมี bandwidth 400 เมกกะไบต์ต่อวินาที
LDT Packets • Packet มีขนาดความยาวเป็นจำนวนเท่าของ 4 ไบต์ • ใน LDT จะทำการส่งด้วยจำนวนทวีคูณของ 4 ไบต์ • Data packets มีความยาวตั้งแต่ 4 ถึง 64 ไบต์ • NOP (No Operation) Packets จะช่วยกำหนด Configuration ของ Link • NOP ใช้ในการติดต่อ LDT กับอุปกรณ์อื่น แบบ point-to-point link เพื่อตรวจสอบขนาดของ Buffer ในแต่ละด้านของบัส
LDT Clock and Control • Asynchronous clock forwarding • ใช้สัญญาณนาฬิกา 1 เส้น สำหรับทุกๆ 8 เส้นของข้อมูลในแต่ละทิศทาง • ใช้สายสัญญาณ Control เพื่อแยกแยะ Command packets • จะทำงานในช่วงอยู่ระหว่าง data packets • การจัดการระบบ In-band และ การส่งสัญญาณ legacy • ช่วยลดจำนวนเส้นสัญญาณควบคุมในระบบบัส และการอินเทอร์รัพต์จะใช้ Command Packet แทนสายสัญญาณ • ถูกออกแบบมาเพื่อรองรับสถาปัตยกรรมระบบัสเดิมที่ใช้สายสัญญาณควบคุม
LDT Configuration • ใช้ มาตราฐาน PnP header • LDT สามารถใช้ได้กับ PCI SIG • LDT-to-PCI bridges เหมือนกับ PCI-to-PCI bridges • ใช้ได้ ทั้งระบบปฎิบัติการเก่า ปัจจุบัน และใหม่ • ไม่จำเป็นต้องมี LDT Bus Class Driver
LDT Basic Commands • คำสั่งจะเริ่มด้วย 6 บิต • Write Command • Read Command • Read Response • Fence • Flush
LDT Data Packets • Data Packets มีขนาด 4 ถึง 64 ไบต์ • Data Packet มีความยาวเป็นจำนวนเท่าของ 4 ไบต์ (DWORD) • ต.ย. เป็น Data Packet ขนาด 8 ไบต์ ตามด้วย 56 ไบต์ • ข้อมูลชุดใดมีขนาดเล็กกว่า 4 ไบต์จะต้องปะข้อมูลเพิ่มให้ครบ • ขนาดของ command มี 32 บิต
LDT Physical Layer • ใช้แรงดันไฟฟ้าต่ำ ในการแสดงความแตกต่างของสัญญาณ • 2 ขา ต่อ 1 บิต ขาสัญญาณแต่ละคู่จะมีระดับสัญญาณไฟฟ้าในทิศทางต่างกัน • VLDT มีค่าเป็น 1.2 โวลต์ เบี่ยงเบนไม่เกิน 5 % ผลต่างของ เอาต์พุต 600 mV(TYPICAL) • ความต่างของแรงดันไฟฟ้าในการรับอินพุตใช้เพียง 200 mV • ใช้ความต้านทานสัญญาณไฟฟ้า 60 โอห์ม ทำให้ต้นทุนการผลิต PCB มีราคาต่ำ • ไม่ต้องการ PCB ชนิดพิเศษ • สามารถยาวได้ถึง 24 นิ้ว สำหรับ 800 เมกกะบิตต่อวินาที
LDT Pin Count • สัญญาณเพิ่มเติมของ LDT • Power OK (PWROK) • Reset LDT (RESET_L) • LDT ใช้ขาสัญญาณเพียง 55 ขา แต่สามารถถ่ายโอนข้อมูลได้เป็น 12 เท่าของ PCI-32/33 • ความแตกต่างของสัญญาณเทียบกับกราวนด์ มีอัตราส่วน 4:1 • มีทางเลือกสัญญาณ link power down สำหรับ ระบบ mobile • LDTStop_L • DevReq_L • เมื่อ LDT หยุดทำงาน จะไม่มีการจ่ายพลังงานในขาสัญญาณเลย
LDT Streams • Multiple Streams ในแต่ละลิงค์ • แต่ละ Packets จะระบุ ID ของ Source และ Target • Packets ที่มี IDs เหมือนกัน จะถือว่าอยู่ใน data Stream เดียวกัน • เพิ่มได้ถึง 32 IDs ต่อ ลิงค์ • All Streams are to/from Host Bridge and a LDT device • การสื่อสารแบบ Peer-to-peer จะต้องผ่าน host bridge • หากมิได้กำหนดไว้ล่วงหน้า ลำดับก่อนหลังของPacket ในแต่ละ Stream จะไม่ผลกระทบระหว่าง Stream • สามารถจัด Priority ของ Stream ได้
LDT Ordering • การตอบรับการอ่าน ไม่สามารถทำได้ใน Stream เดียวกันตอนที่เขียนอยู่แต่ • The Pass Posted Write (PassPW) bit สามารถ เซตให้ยอมทำ การตอบรับการอ่านสำหรับ pass posted writes • เป็นการเร่ง การตอบรับการอ่าน • ลำดับของ LDT stream แต่ละตัวจะไม่มีผลกับลำดับตัวอื่น ถ้าตำสั่ง Fence และ Flush ไม่ถูกใช้ • LDT สนับสนุนลำดับอย่างยืดหยุ่นสำหรับ bridging to PCI, Infiniband และ บัสอื่นๆ
LDT Tunnels • Daisy chained I/O • หลาย tunnels สามารถใช้ daisy chained บน I/O ลิงค์อันเดียว • LDT bridges สามารถแสดงใช้สร้าง block สำหรับการออกแบบระบบ • LDT นำ Infiniband HCAs แยกจาก ส่วนควบคุมหน่วยความจำ
cLDT ระบบ มัลติโพรเซสเซอร์ • Coherent LDT ติดต่อระหว่าง โพรเซสเซอร์ สำหรับ SMP • cLDT จัดการหน่วยความจำใน NUMA ระบบ มัลติโพรเซสเซอร์ • cLDT จัดการ ระบบ cache • อุปกรณ์ มีหลาย cLDT พอร์ต • cLDT เป็น superset ของโปรโตคอล LDT I/O • Highly scalable SMP systems • Memory capacity scales • Memory bandwidth scales • I/O capacity scales • I/O bandwidth scales
LDT Milestones • LDT ออกแบบ สำหรับ x86 และอุปกรณ์อื่นๆ • มีบริษัทเข้าร่วมเป็นพันธมิตรเพื่อพัฒนา LDT กว่า 60 ราย • มีอุปกรณ์ที่ใช้ LDT เริ่มออกสู่ท้องตลาดในปี 2000 • บริษัท API-Network สามารถผลิตต้นแบบบนชิพซิลิกอนได้เรียบร้อย และAMD จะนำไปผลิตเชิงพาณิชย์ในอนาคตอันใกล้ • พันธมิตรที่เข้าร่วมคาดหวังว่าจะมีอุปกรณ์ LDT ชนิด Daisy chainable tunnel แบบ 2 links ออกสู่ตลาดในไม่ช้า • API มุ่งที่จะพัฒนา LDT switch ต่อไป
LDT Applications • อุปกรณ์ LDT พัฒนาในแต่ละส่วนมีดังนี้ • Desktop PCs -> Servers • Mobile PCs -> Workstations • Embedded -> LAN Routers & Switches • LDT ถูกพัฒนาในส่วนต่อไปนี้ • PC Chipset -> Infiniband Bridge • PC Chipset wl Graphics -> PCI-X Bridge • Multi-processor PC Chipset -> Router & Switch components • Embedded RISC CPU -> Proprietary RISC CPU Chipset
Summary • LDT จัดการ • เพิ่ม I/O bandwidth • เป็น universal link ลดจำนวนบัสในระบบ • สนับสนุนสำหรับ LDT tunnels กระทำ I/O building blocks • เป็นบัสประสิทธิภาพสูง สำหรับ embedded applications • highly scalable multiprocessing systems • ปัจจุบัน LDT ถูกเปลี่ยนชื่อเป็น HyperTransport