S
Skybuck Flying
Guest
Hi,
I think pentium's and athlon cpu's work as follows with main memory:
CPU <--- 32 bit bus ---> Main Memory
or
CPU <--- 64 bit bus ---> Main Memory
See bits are retrieved from main memory in parallel.
However... suppose two 32 bit integers have to be read, added together, and
written back.
Does this mean that it works like this ?:
CPU <--- read 32 bit integer A ---- Main Memory
CPU <--- read 32 bit integer B ---- Main Memory
CPU ----- write 32 bit integer C ---> Main Memory
( C would be impossible on pentium/athlon since it has to be added to A...
but I dont want that...
I won't to directly write to C A must remain intact as well as B )
Now the following question:
Suppose I want to read and write 1.000.000 bits.
This would mean it would look like this ?:
CPU <--- read 32 bit integer A ---- Main Memory
CPU <--- read 32 bit integer B ---- Main Memory
CPU ----- write 32 bit integer C ---> Main Memory
CPU <--- read 32 bit integer A ---- Main Memory
CPU <--- read 32 bit integer B ---- Main Memory
CPU ----- write 32 bit integer C ---> Main Memory
CPU <--- read 32 bit integer A---- Main Memory
CPU <--- read 32 bit integer B ---- Main Memory
CPU ----- write 32 bit integer C ---> Main Memory
CPU <--- read 32 bit integer A---- Main Memory
CPU <--- read 32 bit integer B ---- Main Memory
CPU ----- write 32 bit integer C ---> Main Memory
etc.
This could mean that after the read is done... the bus is idling... so it's
not used ? etc... and while writing it's idling as well ?
Wouldn't a single/variable bit cpu with serial communication wires with main
memory be faster in this case ???
CPU <---- read bitstream A -------- Main Memory
CPU <---- read bitstream B -------- Main Memory
CPU -----> write bitstream C -----> Main Memory.
In this case the "bus" is more efficiently used... it's constantly busy...
it's constantly transferring bits across the wire...
It doesn't have to wait so much
Only 3 wires have to be used as well... so multiple cpu's could be doing
other things in parallel
Bye,
Skybuck.
I think pentium's and athlon cpu's work as follows with main memory:
CPU <--- 32 bit bus ---> Main Memory
or
CPU <--- 64 bit bus ---> Main Memory
See bits are retrieved from main memory in parallel.
However... suppose two 32 bit integers have to be read, added together, and
written back.
Does this mean that it works like this ?:
CPU <--- read 32 bit integer A ---- Main Memory
CPU <--- read 32 bit integer B ---- Main Memory
CPU ----- write 32 bit integer C ---> Main Memory
( C would be impossible on pentium/athlon since it has to be added to A...
but I dont want that...
I won't to directly write to C A must remain intact as well as B )
Now the following question:
Suppose I want to read and write 1.000.000 bits.
This would mean it would look like this ?:
CPU <--- read 32 bit integer A ---- Main Memory
CPU <--- read 32 bit integer B ---- Main Memory
CPU ----- write 32 bit integer C ---> Main Memory
CPU <--- read 32 bit integer A ---- Main Memory
CPU <--- read 32 bit integer B ---- Main Memory
CPU ----- write 32 bit integer C ---> Main Memory
CPU <--- read 32 bit integer A---- Main Memory
CPU <--- read 32 bit integer B ---- Main Memory
CPU ----- write 32 bit integer C ---> Main Memory
CPU <--- read 32 bit integer A---- Main Memory
CPU <--- read 32 bit integer B ---- Main Memory
CPU ----- write 32 bit integer C ---> Main Memory
etc.
This could mean that after the read is done... the bus is idling... so it's
not used ? etc... and while writing it's idling as well ?
Wouldn't a single/variable bit cpu with serial communication wires with main
memory be faster in this case ???
CPU <---- read bitstream A -------- Main Memory
CPU <---- read bitstream B -------- Main Memory
CPU -----> write bitstream C -----> Main Memory.
In this case the "bus" is more efficiently used... it's constantly busy...
it's constantly transferring bits across the wire...
It doesn't have to wait so much
Only 3 wires have to be used as well... so multiple cpu's could be doing
other things in parallel
Bye,
Skybuck.