วันจันทร์ที่ 9 สิงหาคม พ.ศ. 2553

1.PC BUS


เมื่อ IBM ได้ทำการเปิดตัว IBM PC ( XT ) ตัวแรก ซึ่งใช้ CPU 8088 เป็น CPU ขนาด 8 Bit ดังนั้น เครื่อง Computer เครื่องนี้ จึงมีเส้นทางข้อมูลเพียง 8 เส้นทาง( 8 data line ) และ เส้นทางที่อยู่ 20 เส้นทาง ( 20 address line ) เพื่อใช้ในการอ้างตำแหน่งของหน่วยความจำ Card ที่นำมาต่อกับ PC Bus นั้น จะเป็น Card แบบ 62 pin ซึ่ง 8 pin ใช้สำหรับส่งข้อมูล อีก 20 pin ไว้สำหรับอ้างตำแหน่งของหน่วยความจำ ซึ่ง CPU 8088 นั้น สามารถอ้างอิงหน่วยความจำได้เพียง 1 Megabyte ซึ่งในแต่ละ pin นั้น สามารถส่งข้อมูลได้เพียง 2 ค่า คือ 0 กับ 1 ( หรือ Low กับ High ) ดังนั้น เมื่อใช้ 20 pin ก็จะอ้างอิงตำแหน่งได้ที่ 2 คูณกัน 20 ครั้ง ( หรือ 2 ยกกำลัง 20 ) ซึ่งก็จะได้เท่ากับ 1 Meg. พอดี ส่วน pin ที่เหลือก็ใช้เป็นตัวกำหนดการอ่านค่า ว่าอ่านจากตำแหน่งของหน่วยความจำ หรือ ตำแหน่ง ของ Input/Output หรือ บาง pin ก็ใช้สำหรับจ่ายไฟ +5, -5, +12 และ สาย Ground ( สายดิน ) เพื่อจ่ายไฟให้กับ Card ที่ต่อพ่วงบน Slot ของ PC Bus นั่นเอง และ ยังมี pin บางตัวที่ทำหน้าที่เป็นตัว reset หรือ เป็นตัว refresh หรือแม้กระทั่ง clock หรือ สัญญาณนาฬิกาของระบบนั่นเอง ระบบ Bus แบบ PC Bus นี้ มีความกว้างของ Bus เป็น 4.77 MHz และ สามารถส่งถ่ายข้อมูลด้วยความเร็วสูงสุดที่ 2.38 MB ต่อ วินาที

2. ความรู้ทั่วไปเกี่ยวกับ Port หรือ พอร์ตคืออะไร


สำหรับ Application ในชั้น Layer สูง ๆ ที่ใช้ TCP (Transmission Control Protocol) หรือ UDP (User Datagram Protocol) จะมีหมายเลข Port ที่เป็นเลข 16 bit(2 Bytes) เริ่มตั้งแต่ 0 ถึง 65535 หมายเลข Port ใช้สำหรับตัดสินว่า service ใดที่ถูกเรียกใช้ ในทางทฤษฎี หมายเลข Port แต่ละหมายเลขถูกเลือกสำหรับ service ใด ขึ้นอยู่กับ Operating System ไม่จำเป็นต้องเหมือนกัน แต่มีการกำหนดเป็นมาตรฐาน ทาง Internet Assigned Numbers Authority (IANA) เป็นหน่วยงานกลางในการประสานว่า Port หมายเลขใดควรเหมาะสำหรับ Service ใด และได้กำหนดใน Request For Comments (RFC') 1700 ตัวอย่าง เช่น เลือกใช้ TCP Port หมายเลข 23 กับ Service Telnet และเลือกใช้ UDP Port หมายเลข 69 สำหรับ Service Trivial File transfer Protocol (TFTP) ตัวอย่างใน /etc/services แสดงให้เห็นว่า หมายเลข Port แต่ละหมายเลขได้ถูกจับคู่กับ Transport Protocol หนึ่งหรือสอง Protocol ดังนั้น UPP หรือ TCP อาจใช้ หมายเลข Port เดียวกันได้ เนื่องจากเป็น Protocol ที่ต่างกัน



Port แบ่งเป็น 2 ประเภท (RFC' 1700)

1. Well Known Ports คือจะเป็น Port ที่ระบบส่วนใหญ่ กำหนดให้ใช้โดย Privileged User (ผู้ใช้ที่มีสิทธิพิเศษ) โดย port เหล่านี้ ใช้สำหรับการติดต่อระหว่างเครื่องที่มีระบบเวลาที่ยาวนาน วัตถุประสงค์เพื่อให้ service แก่ผู้ใช้ (ที่ไม่รู้จักหรือคุ้นเคย) แปลกหน้า จึงจำเป็นต้องกำหนด Port ติดต่อสำหรับ Service นั้นๆ

2. Registered Ports จะเป็น Port หมายเลข 1024 ขึ้นไป ซึ่ง IANA ไม่ได้กำหนดไว้

Active และ Passive Ports

สิ่งสุดท้ายที่จะต้องกล่าวถึงเกี่ยวกับ Port ก็คือ ความแตกต่างระหว่าง Active และ Passive Port ในการใช้การติดต่อด้วย TCP สามารถกระทำได้ 2 วิธีคือ Passive และ Active Connection Passive connection คือ การติดต่อที่ Application process สั่งให้ TCP รอหมายเลข Port สำหรับการร้องขอการติดต่อจาก Source Host เมื่อ TCP ได้รับการร้องขอแล้วจึงทำการเลือกหมายเลข Port ให้ แต่ถ้าเป็นแบบ Active TCP ก็จะให้ Application process เป็นฝ่ายเลือกหมายเลข Port ให้เลย





รูปแบบในการส่งข้อมูล (transmission mode)

รูปแบบในการส่งข้อมูล (transmission mode)


กลุ่ม 1

การส่งแบบขนาน (parallel transmission) คือการส่งข้อมูลพร้อมกันทีละหลาย ๆ บิตในหนึ่งรอบสัญญาณนาฬิกา โดยการส่งจะรวมบิต 0 และ 1 หลาย ๆ บิตเข้าเป็นกลุ่มจำนวน n บิต ผู้ส่งส่งครั้งละ n บิต ผู้รับจะรับครั้งละ n บิตเช่นกัน ซึ่งจะคล้ายกับเวลาที่เราพูดคุยเราจะพูดเป็นคำ ๆ ไม่พูดทีละตัวอักษร

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



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


ตัวอย่างการส่งข้อมูลแบบขนาน เช่น การส่งข้อมูลภายในระบบบัสของเครื่องคอมพิวเตอร์ หรือการส่งข้อมูลจากเครื่องคอมพิวเตอร์ไปยังเครื่องพิมพ์ (printer) เป็นต้น




กลุ่ม 2


การส่งข้อมูลแบบอนุกรม (serial transmission) จะใช้วิธีการส่งทีละ 1 บิตในหนึ่งรอบสัญญาณนาฬิกา ทำให้ดูเหมือนว่าบิตต่าง ๆ เรียงต่อเนื่องกันไป จากอุปกรณ์หนึ่งไปยังอีกอุปกรณ์หนึ่ง ดังรูป

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

กลุ่ม 3


การส่งข้อมูลแบบอะซิงโครนัส (asynchronous transmission) เป็นการส่งข้อมูลที่ผู้รับและผู้ส่งไม่ต้องใช้สัญญาณนาฬิกาเดียวกัน แต่ข้อมูลที่รับต้องถูกแปลตามรูปแบบที่ได้ตกลงกันไว้ก่อน เนื่องจากไม่ต้องใช้สัญญาณนาฬิกาเดียวกันทำให้ผู้รับไม่สามารถคาดการณ์ได้ว่าเมื่อใดจะมีข้อมูลส่งมาให้ ดังนั้นผู้ส่งจึงจำเป็นต้องแจ้งผู้รับให้ทราบว่าจะมีการส่งข้อมูลมาให้โดยการเพิ่มบิตพิเศษเข้ามาอีกหนึ่งบิต เอาไว้ก่อนหน้าบิตข้อมูล เรียกว่า บิตเริ่ม (start bit) โดยทั่วไปมักใช้บิต 0 และเพื่อให้ผู้รับทราบจุดสิ้นสุดของข้อมูลจึงต้องมีการเพิ่มบิตพิเศษอีกหนึ่งบิตเรียกว่าบิตจบ (stop bit) มักใช้บิต 1 นอกจากนี้แล้วการส่งข้อมูลแต่ละกลุ่มต้องมีช่องว่างระหว่างกลุ่ม โดยช่องว่างระหว่างไบต์อาจใช้วิธีปล่อยให้ช่องสัญญาณว่าง หรืออาจใช้กลุ่มของบิตพิเศษที่มีบิตจบก็ได้ รูปต่อไปนี้แสดงการส่งข้อมูลแบบอะซิงโครนัส ให้บิตเริ่มเป็นบิต 0 บิตจบเป็นบิต 1 และให้ช่องว่างแทนไม่มีการส่งข้อมูล (สายว่าง)



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

กลุ่ม 4


การส่งข้อมูลแบบซิงโครนัส (synchronous transmission) เป็นการส่งบิต 0 และ 1 ที่ต่อเนื่องกันไปโดยไม่มีการแบ่งแยก ผู้รับต้องแยกบิตเหล่านี้ออกมาเป็นไบต์ หรือเป็นตัวอักษรเอง



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


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


 
กลุ่ม 5


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


กลุ่ม 6 ระบบบัส




ระบบบัส

ระบบบัสเปนลายวงจรอิเล็กทรอนิกสทําหนาที่ในการรับสงขอมูลระหวางไมโครโปรเซสเซอรกับสวนอื่น ๆ ของคอมพิวเตอรผานระบบชุดของสายนําสัญญาณใหเช่นการสงผานขอมูลระหวาง LANcard กับ CPU เพื่อใหเครื่องคอมพิวเตอรของเราสามารถติดตอกับเครื่องอื่นในเครือข่ายไดอย่างไรก็ตาม

การสงขอมูลระหวางซีพียูกับแผนวงจรเหลานี้ถาหากแบนดวิดทตางกัน เชน ซีพียูมีขนาด 32 บิต แตการดมีบัสแค16 บิต จะทําใหทํางานไดชาลงเนื่องจากเกิดคอขวดในการสงผานขอมูล

นอกจากนั้นระบบบัสยังทําการโอนยายขอมูลจากอุปกรณหนึ่งไปอีกอุปกรณหนึ่ง เชน การ

Copy ขอมูลจาก Hard disk ลง Floppy Disk หรือการนําขอมูลจาก Hard disk ไปสูหนวยความจํา RAMก็ตองทําผานระบบบัสทั้งนั้น

กลุ่ม 7 address bus

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



กลุ่ม 8

CONTROL BUS

บัสควบคุม (CONTROL BUS) เป็นบัสที่รับสัญญาณการควบคุมจากตัวซีพียูโดยบัสควบคุม เพื่อบังคับว่าจะอ่านข้อมูลเข้ามา หรือจะส่งข้อมูลออกไป จากตัวซีพียู โดยระบบภายนอกจะตอบรับต่อสัญญาณควบคุมนั้น

ไมโครโพรเซสเซอร์ไม่ใช่จะควบคุมการทำงานของบัสทั้งหมด บางกรณีในการส่งถ่ายข้อมูลภายนอกด้วยกันเอง ผ่านบัสได้เป็นกรณีพิเศษเหมือนกัน เช่น การอ่านข้อมูลจากหน่วยความจำสำรองขนาดใหญ่ สามารถส่งผ่านมายังหน่วยความจำหลักได้โดยไม่ผ่านไมโครโพรเซสเซอร์เลย ก็โดยการใช้ขบวนการที่เรียกว่า ขบวนการ DMA (DIRECT MEMORY ACCESS)



กลุ่ม 9

PC bus

เมื่อครั้งที่ IBM นั้นออกแบบ AT ขึ้นมา IBM ได้ทำการออกแบบระบบ bus ใหม่เพื่อให้ใช้ได้กับข้อมูล 16 บิต และได้เพิ่มจำนวนของ control line และ ออกแบบ PC AT busโดยขยายออกมาจาก PC bus ซึ่งจะทำให้ competible กับ PC hardware และ IBM จะใช้ 62 pins channel slot เหมือนกับที่ใช้ใน PC และ IBM ได้ทำการเปลี่ยนชื่อของ pin บาง pin ให้สั้นลง และทำการเพิ่มอีก 36 pin ซึ่งใช้เป็น auxiliary slot auxiliary bus นั้นประกอบด้วย bus ข้อมูล 8 เส้น address bus 7 เส้น interrupt request 5 เส้น DMA request และ acknowledge 4 เส้น และ 8 เส้นเป็น power และ control line สาเหตุที่ต้องมีการเปลี่ยนแปลงน่าจะเกิดจากข้อสังเกตุต่อไปนี้ PC AT นั้นใช้ CPU 80286 และเพิ่ม DMA controller และ interrupt controller เข้าไปอีกอย่างละตัว และมีวงจรพิเศษไว้สำหรับทำ refresh memory ซึ่งจะทำให้ DMA channel 0 ว่างไป ซึ่งการ refresh memory นั้น ใน AT จะใช้ AT bus เส้นพิเศษ 1 เส้นที่เรียกว่า REFRESH ซึ่งนำมาแทนที่การทำงานของ DMA channel 0 และใน AT นั้นสามารถทำการ cascade interrupt controller ได้ โดยการนำ interrupt controller ตัวต่อไปต่อเข้ามาที่ interrupt request 2 และใช้ interrupt request 9 ทำหน้าที่แทน interrupt request 2 และเมื่อ 80286 ทำการดำเนินการใน Real address mode ซึ่ง address space นั้นมีขนาดเล็กจำกัดไม่เกิน 1 MB เมื่อ AT ทำการ run CPU ของมันใน Real address mode มันจะใช้ original bus 62 เส้น ( เหมือนกับที่ PC ใช้ ) และถ้าเป็นกรณีที่ AT นั้นไม่ได้ run ใน Real address mode และgenerate address ที่มีขนาดใหญ่ มันจะใช้หน่วยความจำพิเศษทำการอ่าน และ เขียน control line อันใหม่ของ PC AT bus ในการที่จะบอกว่าเป็น address ขนาดใหญ่ โดยที่อุปกรณ์เหล่านี้จะถูกกำหนด address ได้ภายใน MB แรก เท่านั้น PC AT จะสามารถใช้ได้กับ card ที่ถูกออกแบบมาให้ใช้กับ PC แม้ว่า PC AT จะเป็น 16 บิต จึงทำให้ในการส่งข้อมูล 16 bit นั้นสามารถทำได้ภายในคราวเดียวและAT bus ก็มี control line พิเศษเพื่อการนี้โดยเฉพาะอยู่แล้ว มีหนึ่งเส้นของ control line ที่เพิ่มเข้ามาใน AT นั้นจะใช้เป็น zero wait state line (0WS) ซึ่ง IBM นั้นจะส่งสัญญาณใน line นี้ลงใน original PC bus เส้นที่ไม่ได้ใช้งานอะไร ดังนั้นในการผลิตอุปกรณ์นั้นจึงสามารถทำได้ทั้งcard 8 bit และ card 16 bit นอกจากนี้ยังมีอีกหนึ่งเส้นของ special control line ที่ใช้เป็นตัวชี้ว่าอุปกรณ์นั้นกำลังจะเริ่มทำการรับส่งข้อมูล 16 บิต ซึ่งใน line นี้นั้นอนุญาติให้ PC ระบุว่า card ที่ใช้นั้นเป็น card 8 bit หรือ 16 bit