New answers tagged

4

Firstly, data moving in an electrical circuit moves as current (defined here as the motion of electrons through a conducting medium). The force that "pushes" that current is measured in Volts. I know that's a bit technical, but it can be very important to know. As for one transmission type (be that optical, rf, audio, electrical, etc.) being inherently ...


2

Reading through the reference manual on the X86 assembly... https://courses.cs.washington.edu/courses/cse548/05wi/files/x86-reference-long.pdf you will find this... "The call instruction calls near procedures using a full pointer. call causes the procedure named in the operand to be executed. When the called procedure completes, execution flow resumes at the ...


0

There are two different ways that chips on a motherboard communicate with each other: synchronous communication and asynchronous communication. Synchronous communication Most motherboards have a clock generator that controls a global clock signal that synchronizes the memory, the CPU, and a few other chips. A so-called "DDR3-1333 memory" is tested to work ...


1

My first question would be: which RAM? Do you mean one of the L1/L2 caches (those are pretty quick), L3 or worser still: memory RAM? Possibly of use: https://panthema.net/2013/pmbw/results.html You also grab the utility here and run it yourself. Notice the enormous differences between "cache" and RAM bandwidths. Such differences also translate to random ...


0

In general no. Some systems sure, only one master at a time. A bit of an older design if that is the case (even old designs often had parallel solutions). A modern type of bus though each bus (address, write data, read data) operate independently and have a tag or id per clock cycle to show what transaction that one clock cycle is associated with. So ...


13

You are correct that the CPU cannot be accessing the memory during a DMA transfer. However there are two factors which in combination allow apparent parallel memory access by the CPU and the device performing the DMA transfer: The CPU takes multiple clock cycles to execute an instruction. Once it has fetched the instruction, which takes maybe one or two ...


1

Generally speaking, no. In most system architectures, all requests for memory access have a priority assigned to them. When there are more simultaneous requests for memory than the system can handle at a time, requests with a higher priority are serviced first. Memory requests initiated by the CPU are usually given the highest possible priority.


16

If there is a single memory interface, there would be hardware to arbitrate between requests. Typically a processor would be given priority over I/O without starving I/O, but even with I/O always having priority the processor would have some opportunities to access memory because I/O tends to have lower bandwidth demands and to be intermittent. In addition, ...


2

Since there is only one bus system, which is blocked by the memory access of the DMA, the CPU can not work whilest the DMA is moving data and is therefore halted. The idea behind this is the following: If you want to copy consecutive data from memory, then the CPU would have to do something like that: Calculate address->read data->calculate new address (+ ...


1

The issue is not having two different buses. The restriction, which causes 'H = H - R' to be illegal, comes from the set of operations the ALU implements. According to page 14: There are many seemingly reasonable statements that are illegal operations. For example, MDR = SP + MDR, looks reasonable, but there is no way to execute it on the data path ...



Top 50 recent answers are included