473,386 Members | 1,886 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,386 software developers and data experts.

what does a c program really represent

hi all,

i have a fundamental question :o) !

c is said to emulate the von-neumann model of a computer. wherein we
have a cpu connected to store via a pipe (i understand that this is a
_very_ _very_ simplistic model of a machine). in von-neumann model,
words flow between the store and the cpu (via the pipe).

in this context, what i don't understand is the structure of the
abstract c machine, and how it maps to the von-neumann architecture.

can someone please explain it ?

thank you for your insights

kind regards
anupam

Mar 6 '06 #1
5 1595
Anupam Kapoor wrote:
hi all,

i have a fundamental question :o) !

c is said to emulate the von-neumann model of a computer. wherein we
have a cpu connected to store via a pipe (i understand that this is a
_very_ _very_ simplistic model of a machine). in von-neumann model,
words flow between the store and the cpu (via the pipe).

in this context, what i don't understand is the structure of the
abstract c machine, and how it maps to the von-neumann architecture.

can someone please explain it ?


I don't think this is really a C question. Still, have a look here:

http://en.wikipedia.org/wiki/Von_Neumann_model

The "abstract C machine", would then live in "Control Unit" and
"Arithmetic Logic Unit" boxes. It operates by the rules of ISO Standard
C.

How this is useful for you to know, escapes me.

PS
Hopefully, I wasn't feeding a troll...

--
BR, Vladimir

Mar 6 '06 #2
On 6 Mar 2006 03:29:17 -0800, "Anupam Kapoor"
<an***********@gmail.com> wrote in comp.lang.c:
hi all,

i have a fundamental question :o) !

c is said to emulate the von-neumann model of a computer. wherein we
Who said this? What is their qualification to make this statement?

Personally, I don't think that C was designed to emulate anything. It
was designed to be a highly efficient procedural programming language
that could translate to small and efficient machine language on common
processor architectures.

I doubt if there was much philosophical thought given to emulating a
particular model of abstract computer.
have a cpu connected to store via a pipe (i understand that this is a
_very_ _very_ simplistic model of a machine). in von-neumann model,
words flow between the store and the cpu (via the pipe).

in this context, what i don't understand is the structure of the
abstract c machine, and how it maps to the von-neumann architecture.

can someone please explain it ?

thank you for your insights

kind regards
anupam


Consider, instead, if you will, how you would implement a conforming C
implementation on something that was not a von-neuman computer.

--
Jack Klein
Home: http://JK-Technology.Com
FAQs for
comp.lang.c http://c-faq.com/
comp.lang.c++ http://www.parashift.com/c++-faq-lite/
alt.comp.lang.learn.c-c++
http://www.contrib.andrew.cmu.edu/~a...FAQ-acllc.html
Mar 7 '06 #3
maybe i was not clear. in von-neumann model, we have a cpu connected to
a store via some sort of pipe. a program changes the contents of the
store in some (major) way. this is done by sending words back and
forth. most of the traffic is addresses of these words. the addresses
must be present in the cpu (via an earlier send operation) or generated
via a fixed rule e.g. "add one to PC".

i think this is how a very simplified von-neumann machine operates.
which incidentally is similar to how most computers work. imho, it
seems that to program a machine, the language must provide a mapping
to/from this abstract machine. no ?
thank you
kind regards
anupam

ps: i am _not_ a troll.

Mar 7 '06 #4
Anupam Kapoor schrieb:
maybe i was not clear. in von-neumann model, we have a cpu connected to
a store via some sort of pipe. a program changes the contents of the
store in some (major) way. this is done by sending words back and
forth. most of the traffic is addresses of these words. the addresses
must be present in the cpu (via an earlier send operation) or generated
via a fixed rule e.g. "add one to PC".

i think this is how a very simplified von-neumann machine operates.
which incidentally is similar to how most computers work. imho, it
seems that to program a machine, the language must provide a mapping
to/from this abstract machine. no ?


Please quote enough context.
Consider Harvard architecture where the storage for programmes
and the storage for data are separate (STFW for details).
Nothing that hinders you to use this architecture -- the fact
that function pointers cannot be freely converted to and from
void * makes even more sense in this setting.

Cheers
Michael
--
E-Mail: Mine is an /at/ gmx /dot/ de address.
Mar 7 '06 #5
Anupam Kapoor wrote:

maybe i was not clear. in von-neumann model, we have a cpu connected to
a store via some sort of pipe. a program changes the contents of the
store in some (major) way. this is done by sending words back and
forth. most of the traffic is addresses of these words. the addresses
must be present in the cpu (via an earlier send operation) or generated
via a fixed rule e.g. "add one to PC".


I don't know about then, but you are certainly unclear now, lacking
any context of any kind. Google is NOT usenet, it is only a foully
flawed interface to the usenet system. Your articles must stand by
themselves. Read my sig. and the URL references below.

--
"If you want to post a followup via groups.google.com, don't use
the broken "Reply" link at the bottom of the article. Click on
"show options" at the top of the article, then click on the
"Reply" at the bottom of the article headers." - Keith Thompson
More details at: <http://cfaj.freeshell.org/google/>
Also see <http://www.safalra.com/special/googlegroupsreply/>
Mar 7 '06 #6

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

220
by: Brandon J. Van Every | last post by:
What's better about Ruby than Python? I'm sure there's something. What is it? This is not a troll. I'm language shopping and I want people's answers. I don't know beans about Ruby or have...
699
by: mike420 | last post by:
I think everyone who used Python will agree that its syntax is the best thing going for it. It is very readable and easy for everyone to learn. But, Python does not a have very good macro...
125
by: Sarah Tanembaum | last post by:
Beside its an opensource and supported by community, what's the fundamental differences between PostgreSQL and those high-price commercial database (and some are bloated such as Oracle) from...
9
by: rick cameron | last post by:
TimeZone - the only instance you can get is one representing the local time zone DateTime - cannot represent a time before 00:00:00 1 Jan 1 CE What were they thinking? This is a serious question...
2
by: Thomas G. Marshall | last post by:
Arthur J. O'Dwyer <ajo@nospam.andrew.cmu.edu> coughed up the following: > On Thu, 1 Jul 2004, Thomas G. Marshall wrote: >> >> Aside: I've looked repeatedly in google and for some reason cannot >>...
10
by: tinesan | last post by:
Hello fellow C programmers, I'm just learning to program with C, and I'm wondering what the difference between signed and unsigned char is. To me there seems to be no difference, and the...
17
by: candy_init | last post by:
I sometimes comes across statements which invloves the use of size_t.But I dont know exactly that what is the meaning of size_t.What I know about it is that it is used to hide the platform...
13
by: puzzlecracker | last post by:
If you run this program, it will give very unexpected results. Can anyone explain the nature of this anamaly? (also what is the function call to execute 'pause'); #include<stdio.h> //void...
669
by: Xah Lee | last post by:
in March, i posted a essay “What is Expressiveness in a Computer Language”, archived at: http://xahlee.org/perl-python/what_is_expresiveness.html I was informed then that there is a academic...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.