4 ms·
In the 80's PCs and software ate the world, and one of those reasons (apart from DOS/Windows) was that anyone could put something on a PC expansion card which m
by tenebrisalietum 4y ago
In the 80's PCs and software ate the world, and one of those reasons (apart from DOS/Windows) was that anyone could put something on a PC expansion card which more or less directly spoke to the CPU and extend the hardware.
So the PC acquired a very diverse set of cards and was able to do heavy processing in a very diverse set of roles - from medical equipment, cash registers, MIDI/music composition, graphics, publishing, sound, networking, etc. No business was untouched by the PC in the 80's--the ability of anyone to make hardware for the platform was a significant part of that being as cheap as possible.
PC hardware seems to be slowly moving towards being like a cell phone - everything onboard/builtin, ports picked by the manufacturer (you will get 1 USB-C port and like it), and if you want to add something, your primary option is a USB-type port of some sort - with its own world of firmware, controllers, etc.
Look at a smartphone and a modern ODM-designed cheapo laptop motherboard - they're very similar.
If motherboards stop being expandable it might mean the PC hardware ecosystem isn't going to be able to innovate except at the behest of high-capital firms like Intel, AMD, etc. That might be OK if we are truly at the zenith of what's possible with a PC, and really want to give the keys to the kingdom to those firms.
And who knows - I know somewhere in there USB4/Thunderbolt on some level is able to move PCIe traffic, so maybe it won't be so bad.
- cbozeman 4y ago> That might be OK if we are truly at the zenith of what's possible with a PC, and really want to give the keys to the kingdom to those firms. No, we don't, and they've already shown we can't. Intel kept us at 4-core shit-tier processors for a decade, and the moment AMD managed to get a leg-up on Intel, they killed their HEDT platform because it competed with their server platform in PCI Express lanes and turned their back on all the gamers that brought their sorry ass back from the brink of death. Both of them have been shown to be greedy, opportunistic shitbags of companies that cannot be trusted.
- PaulHoule 4y agoUSB3, USB-C is no answer. Back when the USB1 spec came out it said you could plug 127 devices into a port through a hierarchy of hubs. With three different laptops and a plethora of USB 3 hubs I found the system would support only a limited number of devices in the tree. If you plugged in too many devices (somewhere between 3 and 5), plugging in an new device would cause an existing device to drop out. It's just annoying if it is a keyboard or mouse that gets dropped out but if it is a storage device data could get corrupted. I looked at the USB 3 spec and couldn't find any guarantee that there was any number of devices you could plug into hubs and have it work.
- formerly_proven 4y agoQuite honestly USB 3 has always been flaky for me, I avoid using USB 3 hubs because they don't work reliably anyway, and on many cases the front USB 3 ports cause errors because... I don't even know. To say nothing of using longer cables than 50 cm. Back in the late 2000s USB 2.0 was similarly troublesome as USB 3 remains today. Slow USB 1.1 devices always seem to work though.
- magicalhippo 4y ago> I looked at the USB 3 spec and couldn't find any guarantee that there was any number of devices you could plug into hubs and have it work. It's a controller and/or BIOS limitation[1][2]. The complication is that while USB devices can be addressed using 7 bits = 127 devices total, each device usually creates more than one endpoint, and each endpoint consumes controller and system memory resources. The BIOS allocates the memory, and the amount is apparently hardcoded (guess a setting would be too difficult). If you have many USB 3 devices with a lot of endpoints, that memory runs out quickly. In addition, each endpoint reserves some bandwidth, so the uplink needs to be able to provide that bandwidth. [1]: https://community.intel.com/t5/Embedded-Intel-Core-Processors/Hardware-limitations-on-USB-endpoints-XHCI/m-p/264562/highlight/true#M2929 https://community.intel.com/t5/Embedded-Intel-Core-Processor... [2]: https://borncity.com/win/2019/09/06/windows-10-not-enough-usb-controller-resources/#comment-11009 https://borncity.com/win/2019/09/06/windows-10-not-enough-us...
- glowingly 4y agoNow that you mention multiple endpoints, I noticed (admittedly, this is in USB1/2, which seems to be a totally separate system from USB3) my KB shows up as multiple HIDs. Probably for RGB and nkey rollover. But I wonder how it is implemented? Is there an internal hub (adding one more layer of hubs, ontop of whatever is done internally in my PC before the physical USB port - a lot, if lsusb/lspci-tree-list is to go by)?
- rasz 4y agoUSB Composite Device. for example https://www.tracesystemsinc.com/blog/composite-devices.html https://www.tracesystemsinc.com/blog/composite-devices.html