3

Go to Agner manuals page and download them all, you will find tons of interesting info there. In particular, microarchitecture.pdf says There is a false dependence between memory addresses with the same set and offset, i.e. with a distance that is a multiple of 4 Kbytes: ;Example 9.6. Sandy bridge false memory dependence mov [rsi],eax mov ebx,[rsi+1000H]...


2

As an instruction must be decoded before branch prediction can occur or be deemed unneeded, That can be avoided. The fetch stage can do prediction based purely on the current PC, without looking at the instruction. Branch Target Prediction also enters the picture here, otherwise without decoding the branch target would be unavailable. Accidentally applying ...


2

It's the RAM. But further, in order to enhance speed, the CACHE stores a shadow of the RAM content, so it may hold a copy of the program as well (similarly, the RAM has a copy of the program that previously was stored on the hard-drive). Eventually, parts of the code goes into the CPU and gets stored in one of its registers (not the general purpose ones, ...


2

You can look at how one of the existing DRAM simulators work. Consider, for example, Ramulator, which is a popular academic DRAM simulator. Ramulator Models main memory as a tree of nodes, where the root node represents a memory channel and lower nodes represent ranks, bank groups (supported in DDR4), banks, rows, and columns. For the DRR4 and DRR3 protocols,...


2

This is a very ambiguous question. The whole program will be stored on a local hard drive or a remote server or some other secondary storage device such as a flash drive. At run time some part of the program will be copied into RAM, but not necessarily the whole program. It is the job of the operating system to make sure that RAM contains a copy of the next ...


1

Your question doesn’t make sense. There is no “memory” dedicated to holding “the copy of the program to be executed”. On a modern computer there isn’t one program to be executed. Normally I have a dozen or two programs running at the same time. Each program is stored on the hard drive, SSD drive or flash drive. The OS assigns address space to the program,...


1

A program will remain in secondary memory (HDD) is not running or in Primary memory (RAM, CACHE) if ran recently or expected to run. A program that is being executed is called a process. For every process, a Process Control Block is created and kept in primary memory (RAM). The PCB contains pointers to the start and the current line in the program to be ...


1

Approach I is calculating the cycles per instruction change independent of frequency increase (presumably the unpipelined design has some hazards that are not present in the pipelined design forcing the unpipelined design to use multiple cycles for some instructions). Approach II is calculating the frequency increase (cycle time decrease) from pipelining (...


1

It all comes down to what you consider "conditional". For example, when you trigger an AND, the output varies depending on its operands: is that a conditional operation? In this case, Wikipedia is talking about "conditional transport" (the ability to turn busses on and off via a register), not "conditional execution" (the ability to jump to different places ...


Only top voted, non community-wiki answers of a minimum length are eligible