2

How did Harvard Mark I separate data and instruction?

I have read the article in Wikipedia but I didn't understand how data and instruction was separated using a punched paper tape. It said

"The Mark I read its instructions from a 24 channel punched paper tape and executed the current instruction and then read in the next one. It had no conditional branch instruction. This meant that complex programs had to be physically long. A loop was accomplished by joining the end of the paper tape containing the program back to the beginning of the tape (literally creating a loop)."

then said

"This separation of data and instructions is known as the Harvard architecture"

I didn't understand this line, it reads instructions from the paper tape but where is the data?

  • Without any doubt, the question belongs to the "Cultures and historical practices" of the FAQ. So, its closing was totally unfair. – Gangnus Apr 8 '13 at 6:53
  • 1
    I think this is a bit too technical for a 'cultural practice'. By-example, this question is mis-tagged as :architecture: because [here] that is a topic of buildings. This question can only be well-answered by an engineer. AS such, it should be asked on ElectricalEngineering.SE or Stackoverflow.SE. It is a valuable question. It's nice that Yannis answered it. – New Alexandria Apr 15 '13 at 17:54
  • Some of the answers to this StackOverflow question address this issue. – T.E.D. Apr 15 '13 at 18:14
  • 1
    "Can only be well-answered by an engineer"?!? This is a proper historical question, which can be answered by a historian with the normal use of primary or secondary historical sources. Most other questions around here cannot be answered precisely, but this one has a chance - this is the only difference I see. – kubanczyk Apr 23 '13 at 10:49
  • Can the question be migrated to a better place? – horsh Jan 6 '14 at 13:34
2

From your same link.

The Mark I read its instructions from a 24-channel punched paper tape. It executed the current instruction and then read in the next one. A separate tape could contain numbers for input, but the tape formats were not interchangeable. Instructions could not be executed from the storage registers.

A different tape is used for data.

Why is this?

In the Harvard architecture, code and the data the code operates on are physically separated. This prevents some catastrophic bugs and security exploits, because code can't be rewritten as data like it would be in a buffer overflow. The Harvard architecture is also more costly, because unused memory for code can't be used for extra data. Any memory that isn't used can't be used by the other section.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.