Jump to content
  • Advertisement
Sign in to follow this  
Nicholas Kong

What does an Instruction Memory do in a Load Datapath Circuit

This topic is 2071 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

For some reason, finding what the role and purpose of Instruction Memory on the Internet proves to be a really challenging task.

 

I managed to pull up a two sources about Load Datapath Circuit Diagram but I am looking for details on the Instruction Memory in the diagram.

 

From what I understand at least looking at the diagram the address of the current instruction gets sent to the instruction memory and reads this address. Is that all the instruction memory really does?

 

Why is it called instruction memory? Is it solely based on that it is a register that stores this address of the current instruction?

 

http://ube.ege.edu.tr/~erciyes/CENG563/ProjectI.htm

 

http://www.cs.uccs.edu/~cdash/cs2160/overheads/p-single-cycle-datapath.pdf

Edited by warnexus

Share this post


Link to post
Share on other sites
Advertisement
Instruction memory exists on Harvard architectures as a separate memory unit. All code is in instruction memory, all data in data memory. The other alternative is von Neumann architectures, which share all memory. Today, most architectures do not have two separate types of memory, but do have separate caches for instructions and data. Also today, data memory is protected from execution, and instruction memory from being written to.

So in your computer architecture course they might have a model with a separate instruction memory to simplify the abstraction of the instruction cache.

Share this post


Link to post
Share on other sites
In your computer architecture course that you are struggling with right now, the questions you have been asking seem to be based on a theoretical computer, or if it is a real life processors, it is something from many decades ago.

When you start talking about von Neumann machines and Turing Machines and automata you are in the realm of thought. While a few people have created physical devices that mimic the theoretical machines, physical devices and mathematical models are only approximations of each other.

The questions you keep bringing up are theoretical models from the 1960s. The theoretical concepts from a half century ago that were designed to isolate the most simple thought machines do not directly map to the complexities of modern hardware. Instruction memory is a concept similar to concepts of infinite tape marked into squares or an infinitely long table of rules. They are useful simplifications for a mathematical model but don't really jive with the physical world.

Last time I checked my PC did not contain an infinitely long tape divided into squares, yet it manages to run programs jut fine.

Share this post


Link to post
Share on other sites

In your computer architecture course that you are struggling with right now, the questions you have been asking seem to be based on a theoretical computer, or if it is a real life processors, it is something from many decades ago.
When you start talking about von Neumann machines and Turing Machines and automata you are in the realm of thought. While a few people have created physical devices that mimic the theoretical machines, physical devices and mathematical models are only approximations of each other.
The questions you keep bringing up are theoretical models from the 1960s. The theoretical concepts from a half century ago that were designed to isolate the most simple thought machines do not directly map to the complexities of modern hardware. Instruction memory is a concept similar to concepts of infinite tape marked into squares or an infinitely long table of rules. They are useful simplifications for a mathematical model but don't really jive with the physical world.
Last time I checked my PC did not contain an infinitely long tape divided into squares, yet it manages to run programs jut fine.


What is a theoretical computer?

Share this post


Link to post
Share on other sites
Right. The point being that your course is currently teaching you a simplified non-pipelined architecture with simplified models of components. It's likely that you'll get to the modern stuff eventually.

Share this post


Link to post
Share on other sites


In your computer architecture course that you are struggling with right now, the questions you have been asking seem to be based on a theoretical computer, or if it is a real life processors, it is something from many decades ago.

 

Yes you are correct. I emailed my professor and she says the r type, load store and beq diagrams are theoretical models. =]

Share this post


Link to post
Share on other sites

Right. The point being that your course is currently teaching you a simplified non-pipelined architecture with simplified models of components. It's likely that you'll get to the modern stuff eventually.

Cool! I hope so. It certainly more interesting to me now that I have a better understanding of what it is all about.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!