View Single Post
  #8 (permalink)  
Old 02-06-2010, 09:37 PM
jobeard's Avatar
jobeard jobeard is offline
Site Admin

 
Join Date: Dec 2008
Location: Southern Calif.
Posts: 1,100
Default

'series of commands to the CPU'

hmm; that's a very context sensitive question. The *.BAT solution is under the category of 'scripting languages', eg Perl, PHP, JS, bash, csh, sh, ... and on it goes.

But scripting is sending a series of commands to a command interpreter, not the CPU per se.

The CPU fetches 'chunks' of RAM and then starts to process them in sequence. The size of the CHUCK is architecture dependent and can be any thing from four bytes to 128 bytes or more on a mainframe.

The 'chunk' is prefetched into a cache and then each instruction is
a) setup for execution
b) possible jump locations calculated
c) and then 'sent to the CPU' for execution.

The higher the difference in RAM speed and Cache speed make the size of the 'chunk' more important. If the cache is depleted and the cpu needs more instructions to process, the CPU goes into a WAIT until more instructions are available for processing. The goal is to NEVER WAIT the CPU, but that can be impractical; consider:
a) fetch 128 words from ram
b) calculate the branch targets
c) execute the instruction,
d) only to discover that the BRANCH target is outside the cache
only choice is to WAIT the CPU, fetch another 'chunk' of ram and then
resume at b)
__________________
J. O. Beard; you + tech-101.com => synergism. Secure your system now
Reply With Quote