Page 2 of 9

Re: where are the 1's and 0's?

Posted: Sun Oct 02, 2011 10:52 pm
by Love4Boobies
Combuster wrote:So you also believe that air shapes to the letter "a" when you speak?
I lol'd. :lol:

Re: where are the 1's and 0's?

Posted: Sun Oct 02, 2011 10:57 pm
by schilds
This is the phase I don't understand. It cannot be part of the processor because it doesn't understand characters, and it cannot be part of the program because a program is a collection of characters. Does that make sense?
These steps involve transformations using hardware devices. They are not done alone in software.

The first point to note is that the text you see on the screen is a translation of symbols that the computer understands into symbols humans understand. In other words, text is already represented within the computer as voltages and is translated (partly via the monitor) into visible form (i.e. light) vs special materials that emit light when charge is applied to them).

Similarly, text we humans enter into the computer is translated (partly via a keyboard) into voltages. Note that keyboard input is not in characters, but specific locations in 2 dimensions - just look at your keyboard, each key is differentiated by it's position in 2 dimensions - the letters printed on them are really just a kind of deliberate coincidence.

Aside from the hardware devices that convert one physical property into another (e.g. monitors and keyboards), there are devices that convert voltages in one form to another, such as analog to digital or digital to analog converters (which do exactly as their name states). It's not unlikely that a device such as a monitor requires a digital to analog converter between the cpu and itself.

Opcodes are binary numbers the computer understands directly. Our text is just our representation of those binary numbers (hence all that stuff about keyboards and monitors above). The main point to note is that the opcodes themselves are already in a form (i.e. binary numbers, i.e. high and low voltages) that can be used directly by the cpu.

There is usually another step, and that is because we choose to represent text as a different set of binary numbers (look up ASCII as an example) that have nothing to do with opcodes. This is really an arbitrary choice (though that doesn't mean it's an uninformed choice). After you've typed something in your keyboard, it's first translated into this other set of numbers. So this last step is to translate one set of numbers into another set of numbers (at this point we are of course talking about numbers encoded in high and low voltages). This the computer can handle internally using devices that perform boolean algebra, arithmetic, etc. on values encoded in high and low voltages.

Re: where are the 1's and 0's?

Posted: Sun Oct 02, 2011 11:03 pm
by Combuster
Can I convert MSB-OS_v3.img to .iso to run in virtual box? Wikipedia says:
A CD or DVD image file, essentially equivalent to an ISO file. On such a file, simply changing the extension from IMG to ISO can make it usable as the latter by most programs.
so I tried that but virtual box says MSB-OS_v3.iso is non-bootable.
Wikipedia also says:
An archive format used for creating a disk image of floppy disks and HDDs.
I.e., it's not a CD. Looks like you haven't tried that.


And now I'm wondering if you did that on purpose or the person saying you need a shrink was actually spot on :?

Re: where are the 1's and 0's?

Posted: Sun Oct 02, 2011 11:10 pm
by schilds
I just thought of where computing is often done via recognition of actual shapes: Biological systems.

Re: where are the 1's and 0's?

Posted: Mon Oct 03, 2011 12:21 am
by bonch
schilds wrote:
This is the phase I don't understand. It cannot be part of the processor because it doesn't understand characters, and it cannot be part of the program because a program is a collection of characters. Does that make sense?
These steps involve transformations using hardware devices. They are not done alone in software.

The first point to note is that the text you see on the screen is a translation of symbols that the computer understands into symbols humans understand. In other words, text is already represented within the computer as voltages and is translated (partly via the monitor) into visible form (i.e. light) vs special materials that emit light when charge is applied to them).
ah ha .. yes. Thinking about it that way really clears it all up I think. Thanks.
I just thought of where computing is often done via recognition of actual shapes: Biological systems.
You mean the way humans (or dogs and cats) see shapes like a door ( a rectangle ) and say "yes, that is a door"? (well, a dog wouldn't say that, but still).

Re: where are the 1's and 0's?

Posted: Mon Oct 03, 2011 12:29 am
by bonch
Combuster wrote:
Can I convert MSB-OS_v3.img to .iso to run in virtual box? Wikipedia says:
A CD or DVD image file, essentially equivalent to an ISO file. On such a file, simply changing the extension from IMG to ISO can make it usable as the latter by most programs.
so I tried that but virtual box says MSB-OS_v3.iso is non-bootable.
Wikipedia also says:
An archive format used for creating a disk image of floppy disks and HDDs.
I.e., it's not a CD. Looks like you haven't tried that.


And now I'm wondering if you did that on purpose or the person saying you need a shrink was actually spot on :?
oh woops. Looks like I jumped to a conclusion after reading only the first line and missed the important bit.

Actually, yes he was spot on. I don't know about the "shrink" part but definitely about the aspergers. I was diagnosed at 10 years of age because I spent all my lunchtime's by myself banging a stick on the ground. We tend to hyperfocus on details without appreciation of the "bigger picture". I don't know how much of this is relevant to my misunderstandings of things in this thread. In any case thank you to yourself and everyone else whose taken the trouble to help me out with my questions ...

Re: where are the 1's and 0's?

Posted: Mon Oct 03, 2011 12:33 am
by schilds
You mean the way humans (or dogs and cats) see shapes like a door ( a rectangle ) and say "yes, that is a door"? (well, a dog wouldn't say that, but still).
I mean that it actually happens right down at the molecular level. For example, cells may receive instructions via proteins. They do this using receptors that only interact with proteins of the right shape. I believe some kinds of receptors in the nose work by shape as well.

Of course, it would be a somewhat curious coincidence if the symbols chosen by humans happened to resemble symbols chosen by millions of years of evolution where both symbols also conveyed the same information :p.

Re: where are the 1's and 0's?

Posted: Mon Oct 03, 2011 12:50 am
by bonch
schilds wrote:
You mean the way humans (or dogs and cats) see shapes like a door ( a rectangle ) and say "yes, that is a door"? (well, a dog wouldn't say that, but still).
I mean that it actually happens right down at the molecular level. For example, cells may receive instructions via proteins. They do this using receptors that only interact with proteins of the right shape. I believe some kinds of receptors in the nose work by shape as well.

Of course, it would be a somewhat curious coincidence if the symbols chosen by humans happened to resemble symbols chosen by millions of years of evolution where both symbols also conveyed the same information :p.
haha.

Do you think computers could ever be conscious the way humans are?

Re: where are the 1's and 0's?

Posted: Mon Oct 03, 2011 1:07 am
by Combuster
bonch wrote:Do you think computers could ever be conscious the way humans are?
Yes. Within an appreciable timeframe? no.

By the time I can't walk anymore, maybe an AI can do my household chores for me :)

Re: where are the 1's and 0's?

Posted: Mon Oct 03, 2011 1:13 am
by schilds
Well, if I were religious (I'm not) and believed that consciousness were granted by god, then I suppose the answer would be not with man's efforts alone.

If it's an emergent phenomenon, or perhaps something more fundamental built into the universe (a consciousness particle? Sounds ridiculous :p), then I would say sure, it's possible, after all we're building stuff out of the material and within the rules of the same universe that spawned us. However, we probably design such possibilities out of our computers, because we create them in such a way that they behave as we expect.

For example, if we were to pretend that there really is a consciousness particle (still sounds ridiculous), then I would expect that the process by which humans create computers would select materials which didn't have much of the particle in them, or architectures in which they had little effect on the output of the computer. Anything that doesn't behave as we expect we would throw out as being useless for computing. We wouldn't even need to know about the existence of that particle to design it (or its effects) out of our computing systems.

Maybe one could argue that as the systems we build grow beyond our capacity to understand, our ability to beat consciousness out of them may well fail us.

It's kind of hard to talk about this when my best attempt is to come up with a kind of phlogiston :p. I suppose my opinion is "a qualified yes".

Re: where are the 1's and 0's?

Posted: Mon Oct 03, 2011 1:26 am
by bonch
Combuster wrote:
bonch wrote:Do you think computers could ever be conscious the way humans are?
Yes. Within an appreciable timeframe? no.

By the time I can't walk anymore, maybe an AI can do my household chores for me :)
There's a moral dilemma that comes along with that though - if we had computers that were conscious and sentient like humans, how could you justify enslaving one to unpaid housework? :lol:

Re: where are the 1's and 0's?

Posted: Mon Oct 03, 2011 1:37 am
by Combuster
Where did I mention that my household robot was to be sentient? :mrgreen:

Re: where are the 1's and 0's?

Posted: Mon Oct 03, 2011 2:03 am
by bonch
oh. Well if youre just talking about brain-dead house workers, I dont think we're very far away from that at all.

http://newsflavor.com/alternative/woman ... m-cleaner/

Re: where are the 1's and 0's?

Posted: Mon Oct 03, 2011 10:22 am
by Venn
Well, considering that we already do have vacuum cleaner robots. It isn't hard at all to adapt one to clean floors with liquid cleaning agents, i.e. a mop robot. As for doing the dreaded dishes, that might be a little tougher considering the fact that the robot would have to have a decent set of sensors and programming to be able to recognize the individual stuff like plates, silverware and so on. That isn't say it isn't doable right now with today's technology, I just think that a robot dishwasher is kind of pointless when you can buy disposable plates and silverware. As for cleaning pots and pans, that might justify such a robot but I am not sure. As for laundry, not hard at all either, very doable with modern technology, even one which picks up the laundry! It is just a matter of someone wanting to make them. There is that whole 'Player Piano' by Kurt Vonnegut moral dilemma that many, many people take serious. A robotics engineer will probably tell you that there is dignity in human labor before anyone else will.

Re: where are the 1's and 0's?

Posted: Mon Oct 03, 2011 1:26 pm
by DavidCooper
NickJohnson wrote:@DavidCooper: you mean Asperger's syndrome?
Indeed - I'm used to hearing the name of it rather than seeing it written down, but the p rings a bell now (though not literally - there's no actual bell and no ringing either).
bonch wrote:What I'm unsure of now is the "interface (possibly the wrong word)" between the symbols we use in programming and the binary states (voltages) understood by the processor. For example, when we program in assembly, we are dealing in symbols. These symbols, as I understand them, basically wrap operation codes into English sounding words and called "mnemonics". These operation codes still exist in the realm of symbols, right? As opposes to the processors language (electricity)? It must be a symbol because we can say 01 or AJMP, or 02 or LJMP (they are interchangeable/mean the same thing). But there is some phase of translation that translates these instructions from the symbols humans find useful (characters) into instructions the processor understands (binary electrical states). This is the phase I don't understand. It cannot be part of the processor because it doesn't understand characters, and it cannot be part of the program because a program is a collection of characters. Does that make sense?
When you use a programming language or assembler, you're always working with some kind of program code that the processor won't understand directly, so it has to be compiled or assembled into the actual numbers which the processor is designed to handle, and all the characters will be eliminated in the process. The instruction mov al,"a" (assuming that's a valid construction in assembler - if it isn't, replace it with mov al,65) will be translated during the assembly process into the two bytes 10110000 01000001 (that's 176 65 in decimal and B0 41 in hex), and that is the actual program code. When these bytes are run through the processor, the processor will be triggered by the 10110000 byte into loading the byte following it in the program code into the register al. Even once your program is converted into number form, you probably won't see it as 1's and 0's as it's easier to read in decimal or hex form, and to display numbers in those forms needs some kind of viewing program (like a hex editor) to translate them for you and to convert any input from you back into binary, but the program code will be sitting in memory or on disk in binary form.
@DavidCooper I'm checking out MSB-OS, I think this program might be perfect to help me visualise the CPU and memory better.
I'm interested that you say "and bear in mind that even assembler keeps a lot hidden from you". This is the area I'm trying to understand. I think at the moment that the "lowest level" for a programmer is opcodes so I figured it would be simple to have an interpreter that just passes the operation codes to the processor but assembling turned out to be much more complicated than that .. :p ... anyway I'm confusing myself. Can I convert MSB-OS_v3.img to .iso to run in virtual box?
I have only ever run it directly on a machine or through Bochs, so I'd recommend that you install Bochs and run it in that. you can ask here for help setting it up if you need to. Once you've got MSB-OS running, it has an on-disk manual containing embedded machine code examples which can be run through a monitor program, and this allows you to see what happens to the contents of the CPU registers as you run each instruction. Just working your way through those examples should clarify a lot of things for you and take away the mystery of what happens at the level underneath assembler.