Intel's new VM instructions

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
User avatar
Brendan
Member
Member
Posts: 8561
Joined: Sat Jan 15, 2005 12:00 am
Location: At his keyboard!
Contact:

Re:Intel's new VM instructions

Post by Brendan »

Hi,
Kemp wrote: That's a really nice idea, though I can imagine some issues with cards wanting the bus at the same time on a 65536 slot machine.
It might be a bit of a bottleneck ;D. I'd also doubt you could have this many devices hanging off the same bus (at the electronic level, each card's outputs would need to supply enough current to drive 65535 cards inputs).

You'd actually need a hierachy of buses (similar to PCI):

1 Level 1 bus -> 16 bridges to 16 level 2 busses
16 Level 2 buses -> 16 bridges to 16 level 3 buses per level 2 bus
256 Level 3 buses -> 16 bridges to 16 level 4 buses per level 3 bus
4096 Level 4 buses -> 16 slots per level 4 bus

With this arrangement you'd be able to place the cards so that most traffic only involves one level 4 bus, with at least one CPU card in every group of 16 slots to minimize bus traffic (and IRQ latency).

Worst case would involve the level 1 bus, 2 level 2 buses, 2 level 3 buses and 2 level 4 buses. If you assume 100 nS latency for each bridge and 50 nS latency between a card and it's level 4 bus, then you'd be looking at access times of 700 nS worst case and 100 nS best case.


Cheers,

Brendan
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.
Kemp

Re:Intel's new VM instructions

Post by Kemp »

You sound like you've thought about this a lot ;D I can see how that would work, though wouldn't each level 4 be essentially a seperate system in that scheme just with the ability to access each other's memory or devices if needed?
srg

Re:Intel's new VM instructions

Post by srg »

Brendan wrote: Hi,
mystran wrote: I'm personally thinking about how hard it would be to get a generic RISC chip, making a basic board for it, with 100BaseTX (or even 10BaseT) ethernet, at least one USB port (can use hubs anyway), a D/A adapter (for CD-quality sound playback) and a video output. Then writing a nice small OS for the thing.

USB would let you plugin keyb/mouse. And if it had PCI, one could plug a video card and IDE controller into that.
I've been wondering how hard it'd be to have a computer that's just a main bus with many slots (e.g. 8 along the back of the motherboard and another 8 along the front), where you'd be able to plug a device or a "CPU card" into any slot.

Everything except the bus and power supply would be on plug in cards, so for a 16 slot motherboard you could have 1 video card, 1 IDE card, 1 keyboard/mouse/joystick IO card, 1 sound card and 12 CPUs, or you could have 4 video, 2 IDE, 4 IO, 4 sound and 2 CPUs.

Each "CPU card" would have it's own little BIOS that initializes the card at power on or reset and boots the CPU/s by looking for OS code on the other slots.

Each motherboard slot would be given a specific memory range, where the highest 16 bits of an address indicates the slot number (for e.g. 0x1234FFFFFFFFFFFF would be slot #0x1234), while the remaining 48 bits are an address on the slot. There'd be no IO ports (everything uses memory mapped IO). IRQs would also be "per slot" and there'd be no resource conflicts. It would also allow completely different CPU cards to be used (e.g. 80x86, Itanium and Alpha in the same computer). This would include hard drives, etc, so that reading from address 0x000A000000000200 could read from the first sector of a hard drive in slot #0x0A.

Slot #0xFFFF would always be the motherboard itself, and it'd contain information on each of the other slots (what's in each slot, how many slots there are, power management control for each slot, etc).

Computer cases would come in various sizes, ranging from a "4 slot mini" up to a huge "65536 slot" super computer.


Cheers,

Brendan

I think your bus board is called a back plane. Actually a lot if industrical PC's and some servers (I've seen an olf 486 one like it) use this idea.

Anyway, I'm also planning on building small computers for fun, when I get enough experience in electronics. First a Z80, then 68000, then 68030. Well That's my plan. You will need to be good with electronics to do this sort of thing, but it's not out of bounds for the hobbyist.

srg

srg
User avatar
Pype.Clicker
Member
Member
Posts: 5964
Joined: Wed Oct 18, 2006 2:31 am
Location: In a galaxy, far, far away
Contact:

Re:Intel's new VM instructions

Post by Pype.Clicker »

srg wrote: I think your bus board is called a back plane. Actually a lot if industrical PC's and some servers (I've seen an olf 486 one like it) use this idea.

Anyway, I'm also planning on building small computers for fun, when I get enough experience in electronics. First a Z80, then 68000, then 68030. Well That's my plan. You will need to be good with electronics to do this sort of thing, but it's not out of bounds for the hobbyist.
I had a friend of mine doing things alike aswell... Problem is that as soon as you try to run something at PCI or USB speeds, you encounter a nightmare if you don't have robots to solder chips for you...

That being said, the PDP-11 family of computers were somehow using the 'CPU card' idea aswell. It's simply not that interresting to have it on a desktop PC ...
srg

Re:Intel's new VM instructions

Post by srg »

Pype.Clicker wrote:
srg wrote: I think your bus board is called a back plane. Actually a lot if industrical PC's and some servers (I've seen an olf 486 one like it) use this idea.

Anyway, I'm also planning on building small computers for fun, when I get enough experience in electronics. First a Z80, then 68000, then 68030. Well That's my plan. You will need to be good with electronics to do this sort of thing, but it's not out of bounds for the hobbyist.
I had a friend of mine doing things alike aswell... Problem is that as soon as you try to run something at PCI or USB speeds, you encounter a nightmare if you don't have robots to solder chips for you...

That being said, the PDP-11 family of computers were somehow using the 'CPU card' idea aswell. It's simply not that interresting to have it on a desktop PC ...
Also, you will have to be carefull at 40MHz+ when it comes to signal routing. Noise from other tracks etc can be a real problem. The 486DX-50 wasn't a huge success because of troubles the motherboard makers had with the high clock speeds (and the VL-Bus that didn't like going higher than 33 or 40MHz).

srg
Post Reply