PDA

View Full Version : The answer to a question you may never ask



Ghislain
12-07-2013, 10:29 AM
I want to show people the answer to a question they may never ask. I want people to see the complexity & simplicity of access to your every day computer RAM chip, how data is moved to and from it and it may surprise you to see what goes onto this chip you just call Memory.

To follow this thread please keep an open mind; and don’t think you won’t understand it as I am going to keep it as simple as possible then at the end whether you followed it or not you will understand the conclusion even if you didn't see how it was reached.

My technical description may be a little outdated as I haven’t worked in this field for over a decade, but it should give you the idea. The greatest difficulty in reading this thread is that it is very logical, but needs to be followed letter for letter. I hope you have the staying power. :)

The next picture (Figure.1) is a simplified drawing of four bytes within a RAM chip...believe me, four is enough…in the first part we are going to look at how we get the data out of one location, i.e. one byte of memory.

https://thealchemyforum.com/Images/RAM/Memory%20Addressing

First I will explain the picture above. (It is assumed the reader understands binary notation). It is not necessary to understand the technology just try and follow the logic. We are going to talk about logic gates, if you can’t follow it then take this part of what I say for granted as it isn’t the point of this thread.

The black lines represent wires that have no (or low) voltage representing a “0”, and the red lines have a voltage representing a “1”. If it makes it easier, think of the “0” and “1” as “OFF” or “ON” respectively.

The D shapes with MEM ADDR (Memory address) written in them are “AND” gates, and a simple AND gate has two inputs, one output and works as follows:

Only if both the input lines are “1” {two in =D- one out} then the gate gives an output of “1” else the output is “0”.

Now you can see in Figure.1 that these AND gates have eight inputs and only one output so to get the eight input configuration you need four AND gates together, but this gives four outputs and we only want one.

So a further two AND gates are placed in front of the four outputs giving two outputs, and one last AND gate is placed in front of these giving the one output that is required. This gives a configuration that looks like figure.2 below, and the D shape in fig.1 is a simplified representation of Figure.2. Follow it so far? Good :)

https://thealchemyforum.com/Images/RAM/8%20input%20AND%20gate

Remember that even the simple two input AND gate is only a representation. The circuitry for this can be seen in Figure 5 below.

In Fig.1, at the inputs to the AND gates you can see little circles, these represent “NOT” gates. A simple NOT gate has one input and one output and its function is to flip the input, thus if the input is “1” the output is “0” and vice versa. You can see the circuitry of the NOT gate in Figure 3. The circles in Fig.1 are simplified representations of this.

https://thealchemyforum.com/Images/RAM/NOT%20gate

So now we are ready to extract our data…hopefully this is the easy bit to follow. :confused:

At the bottom of fig.1 you can see an address byte of memory – we won’t go into how that gets there…perhaps in another thread lol – in this byte there is the binary number 00000010 which represents decimal 2 so we are addressing byte 2 of the RAM.

If we just follow the red line from the address byte we first come to Byte 0 (MEM ADDR 0). You will notice that all inputs to Byte 0 have NOT gates so the AND gate sees all inputs as “1” except for the red line on input 1, which it sees as “0”, so the output is “0”, i.e. there is “0” on the “select” line (S) for Byte 0.

Moving on we get to Byte 1 (MEM ADDR 1). Here you will notice that all the inputs have NOT gates except for
input 0. Here the AND gate sees “1” on inputs 2 to 7, but “0” on inputs 0 and 1, so the output is “0”, i.e. there is “0” on the “select” line for Byte 1.

Now we get to Byte 2 (MEM ADDR 2). Here you can see all inputs except input 1 have NOT gates and therefore the AND gate sees all these inputs as “1”, on input line 1 there is “1” and as this does not go through a NOT gate the AND gate sees this as “1” also. Now we have all inputs as “1” so the output is “1” and the Byte is selected. What happens next?

With the select line set to “1” this instructs the BIT cells in the byte to transfer their content onto the data lines and thus the content is received at the Data Byte…follow the red lines. You can now see that the Data Byte at the bottom of Fig.1 reflects the content of the data in Byte 2; Job done.

Note there is quite a bit that has been left out such as the read write line, which tells the Byte cells if they are putting data onto the data bus or retrieving data from it.

The Conclusion

Now we need to look at the circuitry of the previous components then the “AND gate” and the “BIT cells”; bear with me there is method in my madness.

https://thealchemyforum.com/Images/RAM/SRAM%20Cell https://thealchemyforum.com/Images/RAM/AND%20gate%20circuit

OK looking first at Fig.3, The NOT gate, we can see it contains three components; two resistors R1,R2 and one transistor Q1; as the NOT gates will differ depending on the Byte Address I will average those at four per Byte which gives us twelve components.


Now looking at Fig.4, The SRAM BIT Cell contains six components; transistors M1 to M6, there are eight bits to a Byte therefore we have forty eight components.

On to Fig.5, The AND gate contains 10 components; four resistors R1 to R4, four transistors Q1 to Q4 and two diodes D1 and D2. Remember that was for a two input AND gate and we had to use seven to get our eight input AND gate, which gives us seventy components.

Now if we tally the number of components we need per Byte we come to 130 components.
The average RAM chip is 256Mbytes 256,000,000 Bytes so the components contained on one chip is… 33.28 Billion or… 33,280,000,000.

Now you do the maths, you can take the area of a chip – remembering that the chip is not what you actually see, the chip is inside a protective case, then divide that area by the 33.28 Billion and you get a rough idea of the size of the components we are manufacturing. Obviously at the atomic level, but also probably at the quantum level today.

The address Byte we were using in figure one can address 256 addresses in memory, therefore we usually use a 16 bit address which allows 65,536 adresses. After this we can either page in different sections of memory and use the same 16 bits again (bit slow) or up the addressing to 32 bits which gives us 4,294,967,296 memory addresses or up it to 64 Bits which allows addresses up to 1.8447 x 10^19 memory addresses lol I'm not writing that one out.

So next time you hold a RAM chip in your hand be aware of the wonder you caress.

Hope you followed that…I’m sure there will be some that say they don’t used this or that lol, but it’s a good guestimate.

Thanks for staying with it. :)

Ghislain

Ilos
12-07-2013, 02:20 PM
I always said that the computer was build based on a human brain, it has what the brain has: Memory, Sound card (that's like having a mouth) etc,etc. So basically thees parts that the computer has they all correlate with our human parts in order to be able and communicate through it, and what the process basically does is translate those binary codes into letters to appear for us and what its using is the negative and positive electronic field, its like If we communicate with each other by touching our bodies with finger, blindly but with a sense of touche through nerve system.

Ghislain
12-07-2013, 07:32 PM
Ilos, I would not say what was described in the initial post resembled anything like the human brain.

In the run-of-the-mill computer information is stored in a linear fashion, the rules are supplied in a
linear fashion; it is all extremely clinical. Your average computer does not learn. If these computers
appear intelligent it is because someone with intelligence programmed them.

The senses reproduced are only sight and sound, it misses out on smell touch and taste.

This wasn't the point I was making; the point was twofold.

One was to show the simplicity of the computer if you follow the logic, or the complexity if you
don't, and two was to show what little understanding we have of the technology being used today.

I do believe there are some AI systems that come close to mimicking the way our brain works, one of
which is the Neural Network that learns rather than being programmed. However last time I looked they
were mimicking the brain capacity of a cockroach, but today who knows how far down that rabit hole
we have gone.

That’s a start I guess :)

Which part of the post lead you to the conclusion that computers are similar to brains? Perhaps I
misunderstood.

Ghislain

Ilos
12-08-2013, 07:25 AM
Hey Ghislain,
I know I just wanted to add up something I felt for computers :D
I just think that people don't always realize thees kind of things. To you, the technology of today might be simple and to some very complicated.
Would not say that we are mimicking the natures creatures to build up machines but I would say that yet again like always, nature plays a big role in everything what we do, creating..etc.
I do believe that one day, human race will build up AI machines, It is a dream that some are already pursuing and it will be done, its just of matter of when.. (at least I believe so).
Sorry I might of missed something from the topic but how I understood you, correct me if I'm wrong; is that you wanted to show how much data and how impressively the functionality of the machine is..

What is really interesting, I would say is that, those bites that send the information from one place to another, how do they communicate, the 0 and the 1 must be some sort of higher and lower voltage. Oo

Ghislain
12-08-2013, 02:44 PM
What I set out to do in the thread was to show our manufacturing capability. How do you get
billions of electrical components onto a tiny chip? While doing that I thought I would show the
process the computer uses to manipulate the data we store…a sort of by-product of my initial
intension, but I don’t think people are really interested in the how lol.

To store the amount of information electronically that you have on one PC you would have needed a
couple of warehouses about 20 years ago because all the BITs would have needed a valve; maybe a
little more than 20 yrs ago…I forget how old I am lol. My IPhone has 13.5GB of memory and I carry it
in my pocket; that’s 13.5 Billion little bytes of information. Now as we worked out in the first post that
would be 130 components per byte so that equates to 1755 Billion components just for the memory.
Must take ages to fit them all on :)

Does anyone remember the Spectrum 48k computer? lol you couldn’t store one picture from your
camera on that today.

TTL, which is transistor to transistor logic uses, 0 – 0.5V for a low or “0” state, and 2.7 – 5V for a high
or “1” state. This leaves room for noise on the system from stray or induced voltages.

Yes we build AI systems today, but nothing close to our own intelligence; as far as I know .

Just take a look around where you are now and asses the amount of information you can process
instantly, making decisions about it at the same time, using multiple senses. Quite fascinating isn’t
it? We take our abilities for granted until we try to replicate them mechanically.

We can use machines to collect data, but to reason what to do with that data once it is collected, or
learn from it, is the issue. At the moment we do the reasoning, There are many intelligent/complex
systems already in use today, they do more than just collect data, but you will find we give them
their rules, whereas we can make our own; it will be a scary day when the machine does that
without interaction from us.

HERE (http://en.wikipedia.org/wiki/Outline_of_artificial_intelligence) is an outline of some of the types of AI and intelligent systems today.

And HERE (http://en.wikipedia.org/wiki/Integrated_circuit#Fabrication) is how the chips are made.

I don’t know if it is common knowledge, but all computer information is 1’s and 0’s; for some examples.

01000001 = the letter “A”
01100001 = the letter “a”
01000010 = the letter “B”

Colours are stored in three bytes of information.

11111111 11111111 11111111 = white
11111111 00000000 00000000 = red
00000000 00000000 00000000 = black
11011100 00010100 00111100 = crimson

When you press the “Enter” key on your computer it sees 00001101

And all the while it is getting a torrent of 1’s and 0’s to instruct it what to do with all those other 1’s and 0’s.

Now try to imagine how the computer stores a colour picture or how it stores music :)
Every colour, shade, size; every note, tone, volume, etc…etc…

Now imagine trying to write about that and trying to make it sound interesting. :confused:

Ghislain

Ghislain
12-12-2013, 12:19 AM
Ilos

While on the subject of computers and brains I would like to look at an optical illusion.

I think I have used this in another thread somewhere.

http://thealchemyforum.com/Images/Illusion/Checker Shadow 1

Squares A and B are the same colour and shade, but try as you might your brain won't
let you see it.

Now if you scanned the colours with an electrical device it would see the squares as the
same colour; so perhaps the machines are already better than our brain as they don't hide
the truth.

http://thealchemyforum.com/Images/Illusion/Checker Shadow 2http://thealchemyforum.com/Images/Illusion/Checker Shadow 3.gif

There is another illusion that we can't see here and in a few weeks I will reveal it
if it hasn't been seen. The machine knows about it already. :)

Ghislain

Ilos
12-13-2013, 08:21 PM
Hey,
I past the first test I can see them now A has the same color as B :D
and this has to do with breaking of the light, the A square has more light and B square has a bit of shadow which makes the two squares have the same color.
What our brain is trying to do here is trying not to see visually but understand logically by judging the form and order of the chess board.

I am not sure about the second..!

Andro
12-13-2013, 08:37 PM
I passed the first test I can see them now A has the same color as B

Squinting (http://www.thefreedictionary.com/squint) usually does the trick with such optical tricks. Very easy to see the same color while squinting.

Illen A. Cluf
12-13-2013, 08:54 PM
There is another illusion that we can't see here and in a few weeks I will reveal it
if it hasn't been seen. The machine knows about it already. :)

Ghislain

The other illusion is that the cylinder is exactly as wide in diameter as it is tall.

Ilos
12-14-2013, 07:11 AM
Squinting usually does the trick with such optical tricks. Very easy to see the same color while squinting.
Yes that actually does work for allot of things. Thanks for the link also that helped :)


The other illusion is that the cylinder is exactly as wide in diameter as it is tall.

Or,, the A and B are in a straight line vertically, even tho they seem to be a bit distant sideways. :)

Ilos
12-14-2013, 01:19 PM
Ghislain,

Now imagine trying to write about that and trying to make it sound interesting.
Do you have work like that? I have heard that once you learn the programing language well, its no different than writing an essay


01000001 = the letter “A”
01100001 = the letter “a”
01000010 = the letter “B”

That's true, but what I want to know is, exmp; when I press the letter A on my keyboard, some sort of electronic pulse is send through the wire to the chip that understands that it is the letter A than processes the information to the other chip that translates it for us to see it visually on the monitor.
Or,, is there some other theory!

Ghislain
12-14-2013, 04:48 PM
Ilos

Below is an extended explanation of the addressing. I have taken one Byte of memory
from the initial post to use as an example.

https://thealchemyforum.com/Images/RAM/Extended%20Addressing

Note: only a selected memory byte will put its data onto the Data Bus

Get your head around that while I try to put together a further explanation in
Layman's terms to get to your point on the keyboard.

Ghislain

Ghislain
12-14-2013, 05:04 PM
Squinting (http://www.thefreedictionary.com/squint) usually does the trick with such optical tricks. Very easy to see the same color while squinting.

Androgynus, I had to create smaller pictures for the forum so it wasnt taking up too
much space. In doing so I think I lost some of the resolution and thus you can squint
to make the colours appear the same, but what you are doing is making the resolution
even worse and so the colours lose their individuality.

Try it with the original picture....


http://web.mit.edu/persci/people/adelson/images/checkershadow/checkershadow_illusion4med.jpg

My point was to show how our minds can fool us.

The reason I am mixing the computer jargon with the illusion stuff is to show how much
we miss while carrying out our daily routine.

Life is only what we want to see and we train our minds to achieve this.

Do you think it is possible to see those squares as the same colour without squinting if one
were to concentrate hard enough?

I can't do it :( what a mind fuck!


Ghislain

Andro
12-14-2013, 05:30 PM
Not all colors appeared the same when I squinted, only A and B.

With the higher resolution pic, I need more RAM to see the trick when I squint :)

In any case, perception IS reality, so whatever I see is 'real' to me, regardless of what the machine (or anyone else) sees.

"Seeing the world as it is" is thus a practical impossibility, because there is no such thing 'the world as it is'.

Virtual Data can be rendered into perceived reality only by relative/subjective interpretation/approximation.

We don't need machines and tricks or optical illusions to understand that we basically all see different worlds/versions, with just enough common ground to agree on a few basics.

And even this common ground (with its basics) isn't 'what really is', but only what most of us have in common in our mechanisms of interpretation/approximation.
_______________________________
IMSU (in my subjective understanding)

Ghislain
12-14-2013, 05:44 PM
The other illusion is that the cylinder is exactly as wide in diameter as it is tall.

Illen that wasn't the illusion I was refering to in my post, but you have brought up my favourite party trick.

Take a standard beer glass and make a large pile of items you can find; you can probably go to about 30cm's.

Try not to go higher or it wont work. :(

Ask people if they think the pile is higher than the glass is in circumference...they will usually say yes at half the height.

Now take a piece of string, or anything you can wrap around the glass to get the measurement and then see the surprise
on peoples faces as you unwrap it next to the pile and it far exceeds it. :)

I love that one; if you haven't tried this before then I am sure you will too.

Ghislain

Illen A. Cluf
12-14-2013, 05:55 PM
Since I am an avid homebrewer (mostly make the more difficult lagers) and enjoy beer, that trick will come in handy. Thanks for sharing it.

solomon levi
12-19-2013, 03:49 PM
it's like a brain because you have neurons that are either fired or not, 1 or 0,
and this is an electro-chemical action.

thanks for sharing this Ghislain.

Ghislain
12-19-2013, 06:10 PM
This could be the most boring post ever or the most interesting depending on your
perspective, but if one is going to see the simplicity of the subject then nothing can be taken
for granted.

BINARY…what is it?

When we talk of binary many people immediately think of “1’s” and “0’s”, but do they
understand the WHAT and the WHY of it?

Here is the explanation.

We can represent numbers in what is known as Bases, for instance we normally count in
decimal, which is base 10.

What is base 10?

Base 10 is a way to classify a “column” of numbers and in each column we can have one less
than the base number, so in base 10 (decimal) we can have up to nine in any one column and
if we exceed that then we have to put one into the next column and that represents an order
increment. The columns go up in order of the base number and in decimal this is 10 so the
columns looks like:

10,000 │ 1,000 │ 100 │10 │ 1 (or units)

Sounds confusing, but all it is saying is that we can have 1, 2, 3, 4, 5, 6, 7, 8 or 9 all under
one column, but if we add one more after we reach 9 the we put 1 into the next column and
start at zero again in the first column and we represent that as 10…one ten and no units. This
is the same for all the columns.

Columns are calculated by powers of the base, so column one in any base number is the
base number to the power of zero; if you didn’t already know, any number to the power of
zero is “one”; if you have a calculator that can do powers then put in the numbers and see
for yourself.

The next column is the base to the power of one. Any number to the power of one is the
number itself, i.e. it doesn’t change; again try it yourself; so ten to the power of one is just ten
and this will always be in the second column so if we know our BASE we know the second
column is representing whatever number is in it multiplied by the BASE…in the case of
decimal (base 10) 10 represents 1 x 10 = 10. To represent twenty we put 2 in the second
column and we get 2 x 10 = 20

Thus if we have 3 lots of 100’s, 5 lots of 10’s and 4 lots of 1’s we just write it as 354 and take
it for granted that this is what we have, three hundred and fifty four, so the number 354 in columns
looks like:

http://thealchemyforum.com/Images/RAM/BASE%2010.png

Now if we were to count in base 6, then each column could only have 1, 2, 3, 4, or 5, for if
we added one more after 5 we would put 1 into the next column and start at zero again in the
first column and we represent that as 10…one six and no units. Again the columns go up in
orders of the base. We can still have the number 354, but this is not the same value as we
had in base 10, for now we have 3 lots of 36’s, 5 lots of 6’s and 4 lots of 1’s; if we add this up
then we can see that 354 in base 6 only represents 142 in base 10.

http://thealchemyforum.com/Images/RAM/BASE%206.png

This doesn’t mean we can’t represent decimal 354 in base 6 it just means it is going to look
a little different as below:

http://thealchemyforum.com/Images/RAM/BASE%206%20(2).png

Therefore 1350 (Base 6) = 354 (base 10)

I hope that wasn’t too confusing because we are now going to apply the exact same
principle to base 2 (BINARY). In base 2 (binary) the highest number we can have in one
column is 1, for if we add another 1 to it we have to put 1 into the next column and start
column one at zero. I won’t write the explanation just look at the picture and see if you can
understand what is happening.

http://thealchemyforum.com/Images/RAM/BASE%202%20354.png

Therefore 101100010 (Base 2) = 354 (base 10)

Note: 1 in column 2 is 1 x 2 = 2 which is the BASE...get it? base 2.

The point I am trying to make is that if we see 10 then we say ten, but that is only true
in decimal; 10 in base 2 is two, 10 in base 7 is seven. We miss the true representation and that
is why we find working in anything other than decimal complex, when it isn't at all if you look
at it correctly.

If you understood that then you now know the WHAT! Now the WHY!

In an electrical circuit the easiest action to perform is to turn something “on” or “off”
and this can represent two states, which we can call “1” or “0” respectively; this then lends
itself so well to binary notation and there is the WHY, we can represent all we want in zero’s
and one’s.

I can understand if people find that a bit simple, this is not trying to tell your granny how to
suck eggs, but hopefully it puts things into the correct perspective to move on.

I find this interesting, but if others don’t then it is pointless for me to take this any further.
Please tell me if you are interested in more as this does take quite a bit of time to put into
layman’s terms. Also I have made it as simple as I can and if that isn’t simple enough I can
do no more.

This post isn’t irrelevant because we will later need to look at hexadecimal notation and
understanding the above makes that a lot simpler.

The next stage will be to look at how the computer deals with characters; if I get around to it
lol. :confused:

Ghislain

Ghislain
12-19-2013, 06:49 PM
Sol

Yes neurons fire and this is how information is sent, but the structure is completely
different in terms of storage and memory.

In a neural network, such as the brain, a memory is created by joining neurons into a
pattern. As you learn your brain adds weight to certain connections and subtracts
weight from others until it finds the most suitable pattern that works for it each time.
As you create a memory you physically change the structure of your brain.

This is why when someone hasn't carried out a task for some time they say they are a
little rusty. That is closer to the truth than they realise because if you don't use the
pattern you have created your brain starts to subtract weight to the connections and
only keeps an outline of what you first tried to remember. Once you return to that
memory it is still much quicker to relearn as you have an outline and do not have to
create a new pattern from scratch. This is why repetition is a good way to learn, you
create a strong pattern.

Man made Neural Network circuits are used for example in facial recognition, these
learn and store faces in a way we would not recognise, they are not programmed.

The maths involved in Neural Networks is horrendous lol.

There is a bit more to it, but thats the general principle.

Ghislain

Ghislain
12-23-2013, 02:19 AM
I have been sitting on a drawing I made while trying to put together an explanation of it.

The problem is where to start...the thing is that further writing is awkward to say the least without refering to the drawing.

Below is this drawing; it is a representation of the drawing in the first post expanded to show the CPU (Central Processing Unit). I have used the Zilog Z80 chip for its simplicity.

Not that as simple as it is the Z80 uses a 16 Bit Address Bus, but again for simplicity we will assume this as an 8 Bit Bus.

The drawing is rather large, but any smaller and it may have got messy; well messier :); Click on the pic for larger view.

http://thealchemyforum.com/Images/RAM/Z80%20Internal%20Achitecture.png (http://thealchemyforum.com/Images/RAM/Z80%20Internal%20Achitecture.png)

getting late so I will edit this tomorrow with some explanation.

Ghislain

Ghislain
12-24-2013, 11:59 PM
Unfortunately the previous post is on another page now so it is going to be a little hard to follow :(

Well I guess I left that too late to edit. There is not much else to add except to look at the internal structure of the Z80
chip, top left of the picture, and notice the registers.

There are certain specialised registers such as the SP, PC, IX, IYand then there are the general registers BC, DE, HL that
have some special functions when using certain instructions.

SP is the Stack Pointer
PC is the Program Counter
IX and IY are Index Registers

The registers are in two byte, 2x8 bit pairs and can also be used as 8 Bit, 1 byte single registers.

There are two other registers "A" (the accumulator) and "F" (the flag register), of these we only need to talk of the "A" register
in the next bit.

Note: for those interested in hacking, PC would be the register you want to manipulate to point to your program hacking routine.

N.B. I am not a hacker lol

If you are still following then the next post may explain a little more...

Ghislain

Ghislain
12-25-2013, 04:25 PM
Before we move on to the explanation of how the CPU manipulates data let's consider in more detail how an address is unique to one byte of memory storage space.

Below is a drawing of the "memory addresses" from fig.1 in the first post, up-ended to give a better view of the gate input patterns. You may notice the omission of NOT gates on certain input lines on the gates. This is not random; the gates are missing to form a binary pattern.

If you look at the inputs with the NOT gates, they require an input of zero to turn them on "0", and if you look at the inputs without NOT gates they require an input of one to turn them on "1".

Above each input I have placed the binary key needed to turn on the particular gate. You may now see that the pattern needed is the binary representation of the gates number. In this way we can be sure that at any given moment only one address in memory can be active and so no memory address can be accessed by mistake.

http://thealchemyforum.com/Images/RAM/AND%20gate%20addressing.png

We have already looked at the internal structure of the Z80 chip, top left of the picture in post 20, and taken note of the registers.

The PC register is used by the CPU and is called the Program Counter, the user does not have to worry about this one as the CPU will patch it in and out on the address bus on its own depending on the instruction it receives. The PC addresses the current instruction within the program; it is not used to fetch data for the user, it just fetches instructions for the CPU. It is when the instruction tells the CPU to fetch a bit of data from memory it will switch to the register pair that the instruction tells it to use to address the data in memory.

You may see how few registers there are performing all the tasks your computer is executing. It all appears to happen straight away, but even the screen you are looking at right now has been created from memory using the CPU registers to turn on every pixel one by one then give it its colour and brightness; imagine how many pixels that is.

Computing is like juggling with numbers!

There are many different makes of CPU’s and many different instruction sets. The instruction set is built into the chip itself.

One example of an instruction for the Z80 is:

LD A,(HL)

The LD part can be considered as the word “Load” and this instruction is telling the CPU to load the “A” register with the data in memory pointed to by the address held on the HL register.

Below you can see this instruction and explanation on a page (103) taken from the “Z80 CPU Users Manual”. Click on the pic to go to the PDF for the whole manual and complete instruction set.

http://thealchemyforum.com/Images/RAM/LD%20A,(HL).png (http://www.zilog.com/appnotes_download.php?FromPage=DirectLink&dn=UM0080&ft=User%20Manual&f=YUhSMGNEb3ZMM2QzZHk1NmFXeHZaeTVqYjIwdlpHOWpjeTk2 T0RBdmRXMHdNRGd3TG5Ca1pnPT0=)


This instruction will be carried out as soon as the PC has pointed to the memory location containing the instruction. The CPU will switch the address bus from the PC to the HL register. Note that in the pic above the <-r-> is replaced with 111 for the “A” register, giving the data instruction the form 01111110. Note: r = register and can be replaced with any of the registers listed.

The whole operation can be seen in the .GIF below. Note: At the beginning of the GIF image you will see the word “START” in the bottom left. At this point the PC register contains the address 00000111 decimal 7, and the HL register contains the address 00001110 decimal 15. The address 00001001 decimal 9 holds the instruction. (note: don’t try to understand any of the other data in memory as I just made it up to fill in the spaces for the purpose of the example :))

http://thealchemyforum.com/Images/RAM/Memory%20Addressing%20Gif.gif

If you want to reset the gif to "START" refresh the web page.

Ghislain

Ghislain
12-26-2013, 12:23 PM
Back in post 6 I said there was another illusion. I'm not sure if that is the correct terminology, for the illusion is something hidden.

There are two ways this could have been spotted, but if you still are unaware then you can go back to post 6 and the hidden will be revealed.

You can see in post 6 that it was mentioned that the machine already knows, this was a precondition for if this was not the case then this would not have been possible.

Please note that I have no special priviledges here on the forum so when a post can no longer be edited I am bound by the same rules as everyone here.

Ghislain

Edit: in the post above, where it said "you will see the word "START" in the bottom left", that should have read "bottom right", but I guess you know that now :)

Ghislain
01-12-2014, 02:40 AM
what I want to know is, exmp; when I press the letter A on my keyboard, some sort of electronic pulse is send through the wire to the chip that understands that it is the letter A than processes the information to the other chip that translates it for us to see it visually on the monitor.
Or,, is there some other theory!


OK finally we get to the character set. How does the computer place a character on the screen after you press a key on your keyboard?

A quick note; I have set up some graphics on separate links so that you can open them in a new window and look at them while reading the text. Right click on the links and then click on "open link in new window"...might make things a little easier. Also note that even though this post may seem a little long it will give you an idea of what your computer actually does if you take a little time to follow and understand this post...I hope you do as it took me a lot longer to write it than it will for you to read it ;).

There are many ways to skin a cat, and in computing there are many ways to carry out a task; especially text manipulation.

I will show one “simple” way this is done. The reason for this is that there are many algorithms used today to manipulate the text you see on the screen and what is stored to print that text. To give you an example if you type into MS WORD, “The cat sat on the Mat”, and save it as a text file, the file would be approximately 24 bytes in size. Now save the same file as a word document and the file size will be approximately 9,000+ bytes long as the Word file needs to store all the formatting that goes along with the text; we won’t be looking at that lol.

The Keyboard (http://en.wikipedia.org/wiki/Scancode) has a matrix that will put a data/instruction byte onto a data bus and send it to the computer via an input port. The data byte value will depend on which key or combination of keys has been pressed. This is beyond the scope of this post, but the link may give a bit more information.

This data could be a control code, such as “cursor up”, or it could be a character. As you can imagine we can send a lot of different types of data to the computer via the keyboard, but we are only interested here in the character code.

The computer industry set up a standard for character codes so that we can all sing from the same hymn sheet; this is known as the American Standard Code for Information Interchange (ASCII).

You can see the codes and their reference numbers HERE (http://thealchemyforum.com/Images/RAM/Extended%20Character%20Set.png), this is the key codes and the resulting characters using the Arial font; most fonts will follow this same pattern except specialist fonts like “Webdings” and such; with a little effort you can even create your own character set.

You can access any of these codes in any text editor (even when writing a forum post) by turning on the “Num Lock” key on your computer and then, while holding down the “Alt” key, type in the reference number on your number keypad; the character will appear after you release the “Alt” key.

Example: Alt 171 = ½, Alt 30 = ▲

The Explanation

In the gif at the end of post 22 we fetched a byte of data, addressed by the HL register, from a memory location and put it into the “A” register. In a similar way we can get a byte of data from a keyboard. The keyboard matrix sends out a code, this is interpreted by the keyboard driver and the end result is that the ASCII code for the character key pressed is stored in the “A” register of the CPU.

The ASCII code for the capital letter “A” is 01000001 (decimal 65), which is the byte of data we happened to retrieve from the HL location in memory in the above post.

The “A” register does not care where the code comes from i.e. it could come from the keyboard or a text file stored in memory; you can now find the map or graphic for the character in memory.

When you select a font in a text editor the graphics for that particular font is transferred into RAM memory and each character is store in the same amount of bytes. So first let’s look at a character and its makeup.

http://thealchemyforum.com/Images/RAM/Char%20A%20Thumbnail.png (http://thealchemyforum.com/Images/RAM/Character%20A%20Breakdown.png)



In the gif above you can see that the Capital letter “A” is made up of pixels. If you click on the image you will see an exploded view of this and how the computer stores it; remember to open in new widow.

In the blow up you can see that there is a thick black line down the centre of the character, this is to show that the character is broken down into eight bit segments (1 Byte) and that there are twenty-four bytes of information in this character, 0 to 23.

How is this translated to what we see on the screen?

Imagine the screen you are looking at is a window into a section of your computer’s memory and this section of memory is reserved just for this. Each pixel on your screen corresponds to one Bit in a Byte of memory; if that Bit is “1” you see it, if it is “0” you don’t.

It is a bit more complex as there is the colour and hue of the pixel to take into consideration, Even a black character is coloured to give the illusion (http://en.wikipedia.org/wiki/Illusion) of crisp staight lines. Again if you look at the blown up link for the character I have included, on the right hand side, an image of what the character would look like if all the pixels were black. We won’t cover colour attributes here.

I am not conversant with computer graphics so this is a crude example of how the information from the keyboard gets onto your screen.

The character maps for display are stored in memory in the same order they are in the ASCII character set.

The accumulator (A register) now carries out a calculation to find the first byte of the character sent to it from the keyboard. It does this by multiplying the number of bytes in a character by the position of the character in the character set.

The capital letter “A” has the position 65 (Bin 01000001) and we know the character images in our example are stored in 24 bytes of memory, so 65 x 24 = 1560 (Bin 11000011000) gives us the location within the character image file of the first byte for the capital letter “A”.This result is stored in the BC register set.

We would already know the address where the character images have been loaded into memory, let’s make up a section of memory and say we loaded the images starting at address 32500 (Bin 111111011110100). This number is stored in the HL register set.

We now add the HL, BC registers, 32500 + 1560 = 34060 (Bin 1000010100001100), and store the result in the HL register set. HL now points to the address where the first byte of the capital letter “A’s” image is stored in memory.

For our screen structure let's assume that the screen width is 80 bytes wide, that the first byte of screen memory is the top left of the screen and the rows of lines run consecutively down the screen. Now if we put Bin 11111111 into that memory we would get a dash “─” in the top left corner of the screen, i.e. all the eight pixels would be turned on.

The next byte of memory would display next to the first byte to the right “──” giving you a longer dash and so on. If we get to the eighty first byte we would place a dash under our first entry on the next line down giving us a thicker line in the top left of the screen "▬". We have assumed the screen is 80 bytes wide and know the character itself is 12 bytes high and two bytes wide, now we have to do an increment of 80 x 12 to get down to the first byte of screen memory to place our character, from the bottom up. There is one extra line to tidy things up and leave a space above the character so that it is not touching the top of the screen or the letters that may be above it; 80 x 12 puts us 13 pixel lines down.

On each pass of our program we will place two character bytes next to each other and as the character is 24 bytes we need 12 passes. Again let’s make up the place in memory that is seen on the display where we are going to transfer the image to. if we say the first byte of screen memory is 45000 (Bin 1010111111001000) and store this in the DE register set. We now do the calculation 80 x 12 and store this in the BC register set and add DE and BC storing the result in DE, so we get 45000 + 960 = 45960 (Bin 1011001110001000) and store this in the DE register set.

Note: this address is easy to find as it is the address where the cursor image has been flashing away on the screen. Also note that different operating systems may have a different screen structure.

The last thing we need is the address in memory of the program that instructs the CPU what to do with this information. This we will store at memory location 20000 (Bin 100111000100000) and store that in the PC register set ready to send data to the Instruction Register IR (this is a single byte register not to be confused with the Interrupt Register set (IR) as shown in the schematic in post 20 )

OK now we know what we want to do lets see it in action.

Below is the operation of the CPU when placing a character onto the monitor. This is written in Assmbly Language and the presentation is in video format to allow the viewer to pause at positions of thier choice to take further time to study what is going on as there is quite a lot to take in, as simple as it is. In the top left corner of the screen there is a changing reference point so the user can return to any given page for revision.

In the screen pixel display you will see some greyed out pixels, these show the pixel position pointed to by the DE register; eight pixels = 1 byte of information.

I have called the program CHAR_PRNT for Character Print and this would be the entry point of the program and the name to address the program ("call" instruction) within the control loop of the program.

The entry conditions are:

B register - holds the number of lines that make up the character.
C register - holds the number of bytes in the screen width +1
DE register - holds the address of the screen memory in which to add the image data.
HL register - holds the address of the font memory byte to be sent to the monitor at DE

In the following program listing the bold text is the program instructions the rest is a description of the instruction.

There are two labels used here, CHAR_PRNT and NEXT_LN the purpose of these is expalined below and in the video.

LD A,(HL) CHAR_PRNT; This loads the A register with the data from the font memory pointed to by the address held on the HL register.
LD (DE),A; This loads the byte of screen memory addressed by DE with the data now on the A register.
INC HL; This increases the address held on the HL register by one to point to the next byte of font data for the character build.
INC DE; This increases the screen position address held on the DE register to point to the next screen position.
LD A,(HL); This loads the A register with the second byte of data from the font memory pointed to by the address held on the HL register.
LD (DE),A; This loads the next byte of screen memory next to the first with the data now on the A register. (Character is two bytes wide)
LD A,C; This loads the page width into the A register to use as a counter for the amount of bytes to decrease the DE register for the next screen position.

Note the next three instructions create a loop that will execute until the A register DECreases to zero. The NEXT_LN part is a label that takes the form of the current address of the instruction it is written next to; when the label is then used in another instruction it is replaced by that address. Labels are normally written to the left but as many forums don't have indent capability I have written them on the right just to keep things tidy.

DEC DE NEXT_LN; This is the beginning of a loop that will DECrease the DE register until it points to the screen position above the first byte of screen data.
DEC A; This DECreases the count in the A register.
JP NZ,NEXT_LN; JP=Jump and the NZ=Not Zero, so the program will jump if the A register is not zero to NEXT_LN the address of the DEC DE instruction.

When the A register reaches zero the subroutine exits the loop and the rest of the program continues

INC HL; This increments the font memory position address held on the HL register to point to the next data byte of the character image in memory.
DEC B; This DECreases the count held in the B register for the number of lines left for the character build.
JP NZ,CHAR_PRNT The program will jump to the first instruction in the subroutine if the B register has not reached zero; this is another loop between this position and the first instruction where the label CHAR_PRNT was placed in the label field.

When the B register reaches zero the subroutine exits the CHAR_PRNT loop and continues.

RET; RET=RETurn and returns the Program Counter to the address just after a CALL instruction that would be used to access this subroutine; the call instruction could be used anywhere in memory and would look like CALL CHAR_PRNT.

Note: I have used the colours that the character is actually built up with, but this program does not account for this and would normally do this in black & white. The video below is a .WMV file and will play in Windows Media Player or similar

http://forum.alchemyforums.com/attachment.php?attachmentid=845 (http://thealchemyforum.com/Images/RAM/Building Character A The Movie.wmv)

If that seemed a little long winded remember the computer, depending on the speed of its clock, can perform the whole program in nano-seconds and that you only have to write the code once. In higher level languages much of the program would be written for you, but you have less control over how it performs these operations; swings and roundabouts.

In the words of Forest Gump, "That's all I have to say about that!"

Welcome to the world of computer programming!

Ghislain

Edit: It has been a while since I dabbled with this subject so if anyone spots any mistakes please let me know and I'll correct them.

Ghislain
01-16-2014, 10:02 PM
It is not necessary to understand the technology ... if you can’t follow it then take this part of what I say for granted as it isn’t the point of this thread.


Perhaps some who have an interest in how computers work may have gathered some useful information from the previous posts, however computing was not the primary intension of this thread as I said in the first post.

This brings me to the point of this thread; it is that to find the answers we seek we have to be sure we are asking the right question.

I don't know what that question is and thus I ask many hoping that I may recognise the right one if it comes along.


"The important thing is not to stop questioning. Curiosity has its own reason for existing. One cannot help but be in awe when he contemplates the mysteries of eternity, of life, of the marvelous structure of reality. It is enough if one tries merely to comprehend a little of this mystery every day. Never lose a holy curiosity."

-- Albert Einstein (http://en.wikipedia.org/wiki/Albert_Einstein)


All authority of any kind, especially in the field of thought and understanding, is the most destructive, evil thing. Leaders destroy the followers and followers destroy the leaders. You have to be your own teacher and your own disciple. You have to question everything that man has accepted as valuable, as necessary.

-- J. Krishnamurti (http://en.wikipedia.org/wiki/J._Krishnamurti)


The genius of our ruling class is that it has kept a majority of the people from ever questioning the inequity of a system where most people drudge along, paying heavy taxes for which they get nothing in return.

-- Gore Vidal (http://en.wikipedia.org/wiki/Gore_Vidal)


What we observe is not nature itself, but nature exposed to our method of questioning.

-- Werner Heisenberg (http://en.wikipedia.org/wiki/Werner_Heisenberg)


The creative individual has the capacity to free himself from the web of social pressures in which the rest of us are caught. He is capable of questioning the assumptions that the rest of us accept.

-- John W. Gardner (http://en.wikipedia.org/wiki/John_W._Gardner)


“He who has a why can endure any how”

-- Friedrich Nietzsche (http://en.wikipedia.org/wiki/Friedrich_Nietzsche)


“The power to question is the basis of all human progress.”

-- Indira Gandhi (http://en.wikipedia.org/wiki/Indira_Gandhi)


“You can tell whether a man is clever by his answers. You can tell whether a man is wise by his questions.”

-- Naguib Mahfouz (http://en.wikipedia.org/wiki/Naguib_Mahfouz)


“Go to your bosom: Knock there, and ask your heart what it doth know”

-- William Shakespeare (http://en.wikipedia.org/wiki/William_Shakespeare)


It is not the possession of truth, but the success which attends the seeking after it, that enriches the seeker and brings happiness to him.

-- Max Planck (http://en.wikipedia.org/wiki/Max_Planck)





“The test of a good teacher is not how many questions he can ask his pupils that they will answer readily, but how many questions he inspires them to ask him which he finds it hard to answer”

-- Alice Wellington Rollins (http://bio19c.com/-biography1319_alice_wellington_rollins_(1847-1897))


“He who asks a question is a fool for five minutes; he who does not ask a question remains a fool forever”

-- Unknown Author


Ghislain

JinRaTensei
06-19-2016, 01:49 AM
You also said "with a higher grade of understanding things become simpler and not complexer." I wrote a thread to indicate how simplicity does in fact become very complex, you may like to peruse that.

Thread:

http://forum.alchemyforums.com/showthread.php?4745-Flat-Earth&p=42608#post42608

This is a thought experiment regarding the above mentioned thread. The task is to see if systems strive towards complexity or simplicity.

The way I personally express reality is in principles and not in functions and numbers so please excuse me for simply not being able to expand on any specifics.

To set a basis for my assumptions I have to throw some thoughts/opinions/personal principles out there first. I wil try to boil everything down to its simplest core.

What does a system or computer "want" to do in general? It wants to express data.
What is data? Data is information.

So if a computer "wants" to express information than what is the highest principle it "will" "want" to strive towards? It will either want to express all information there is in existence or it will "want" to express increasingly more data with less "effort" and thereby be able to enhance its ability to express.

So to sum these thoughts up a computer will strive towards either maximum information or maximum data.

This is the starting assumption on which everything following is build on so everybody will have to decide for themselves if they can/want to agree with this because if not obviously the following will only enhance "disagreement".

How can a system or computer achieve maximum information or maximum expression?
It will have to find a way to either achieve maximum information input or it will have to find a way to achieve maximum expression output.

What will achieve this?
It will have to strive either towards maximum information storage or maximum processing ability.

Maximum information storage (Path A for matters of keeping it simple)

If a computer is finite in its materialistic "body" than more information storage will mean it will have to find ways to arrange the information it receives more efficiently.
How does a system do such a thing? By arranging the information it receives in ways which need less room to express themself as before or create additional room.

So the computer has to find ways to decrease complexity because complexity needs more finite room to express itself than simplicity.

If the computer is able to express the same information it does now while not using the same room it uses now more room will be free for other information.

How does a computer decrease complexity? It has to increase the expression ability of the "single parts of information" so they can express the same amount of information they do now without using the same amount of room.

How does a computer do that if "1" and "0" or "yes" and "no" are in our dualistic thinking pretty much the simplest way of expressing anything?
It has to find a way to either break this duality further down or it has to find a way to express more than now with the current duality.

Can there be a way of expressing something in a singularity? Yes there is if for instance "111111" or "yes yes yes yes" finds a way to differentiate between itself.

Obviously "11111" is all the same so how will it differentiate?By adding or subtracting information from a single part.
How can this be achieved? By positioning.The room/space itself has to become information. If the position of a 1 gives further information about this 1 which differentiates it from other 1´s it is the same as having 1 and 0 or information and no information.

(Damn I would need some kind of figure/picture to express this in a logical fashion since language by its nature is bound to our dualistic view and can not express this but an images can. But imagine all computers right now as being a 2 dimensional room and than imagine making this room 3 dimensional. Imagine this additional dimension gives the computer "depth" as in the difference between a 2 dimensional image of a car and a 3 dimensional real car.
Now imagine this 3rd dimension being in its simplest form additional room/space. Now imagine the computer expressing again in a dualistic fashion with 1 and 0 if information occupies this room or not.)
PS: offcourse this third dimension in itself would need information and room to express itself. So the information it needs to impress itself must be lower than the information it is able to express or store.

I would like to expand further on this point but it is impossible for me to do so with words. Just imagine that this 3rd dimension or "extra room" does not even have to express itself as room/space in that sense but could be sound waaves or vibration for instance.
I think up to this point for path A will at least give an idea what I mean. I hope so at least ^^

Maximum expression ability (Path B)

How does a computer/system enhance its ability to express information? It enhances the amount of expression every "single piece of information" has or it decreases the amount of information which is needed to express the same it does now.

How does a computer do this? It finds "ways"/patterns which need less information to express the same it does now by giving information to the pattern/way itself which is used. Or it finds information which needs less patterns/ways than it does now to express itself.

Since the goal from Path A is to store all information there is in existence we have to assume there is no other information in existence which it could find to do so.
So the only way to achieve maximum expression is to find patterns which need less information to express the same they do now.

How can a computer achieve such patterns? It has to find a way to either decrease the amount of room the current patterns use or it has to find a way to increase the information of the current patterns without increasing the room which this information uses.

How can a computer achieve this?
It has to find a way to express patterns more efficiently than now or it has to find a way to use room more efficiently than now.

How does a computer do this?

It has to decrease complexity since simplicity needs less room to express the same information as complexity

How does a computer do this?

Pretty much the same as in Path A from here on out. Except that the computer will not create "additional room" or a 3rd dimesion with which to express more information but will try to decrease the 2 dimensions (From the example with the 2D car picture to 3D real car object) to 1 dimension. And by that will not try to express more information by "positioning" on the additional 3rd dimension but will try to need less expression by removing one dimension and by that start to interpret the void or nothing which in language is a postulate and paradox which again I can not explain with words and in the case of Path B could also not be described with an image. But it could be descripted with vibration/soundwave.

The computer would create a pattern in which "00000" or "nononono" or simply nothing would be an default information in itself and the only differentiating would be if and where a "1" or "yes" appears.
Again I can not describe this further with words and again naturally the pattern created to do so would have to use less information to express itself than it creates/saves

I hope I could at least give an idea of what I mean and apologize if this is hard to follow for others or simply wrong but in this case I actually have an valid excuse since this concept expands on dualism and can by its nature not fully be expressed in words but just outlined....than again maybe I am also just "wrong" in which case I am very thankful to be able to achieve more input and expand my horizon ^^.

Ghislain
06-19-2016, 09:16 AM
At the risk of seeming pedantic, a computer has no desire to do anything, everything it inputs or outputs is done according to its creator; perhaps not in certain AI applications.

I agree with most of what you say JinRaTensei, there has been an ever growing capacity to store more data, and there have been algorithms to reduce the amount of data that needs to be stored, eg JPEG for pictures, MPEG for video, zip file compression for text and other information.

The data we need is interpreted for us and we are protected from the mass of data in the form of the outputs; this is one of the things I was trying to portray here, for we use the technology without wondering or even caring about the process involved.

However the reason why I asked you to look here is because what starts out as something simple like the 1 or the 0, becomes much more complicated once you look into the way it is processed and thus simplicity leads to complexity.

Do you agree?

Ghislain

Ghislain
06-19-2016, 09:25 AM
In post 24 of this thread is a video to show how the computer puts letters on a screen for us to read. It works with the capital letter "A" ASCII code, decimal 65 or binary 1000001.

I put it in video form so the viewer could pause it at any point they wish to spend more time on. The box in the bottom right contains notes of explanation.

Remember that these words you are reading were put here just like that. The box at the bottom left represents a section of the output display in pixels.

Note: as complicated as that may have seemed, that was a simplified version of what really happens, for the letters you see here may look black, but in fact to make them look smooth they are actually multi-coloured and this means more data has to be stored to tell the computer what attribute to allocate to each pixel; a pictorial image of this can also be seen in post 24. If you click on that picture you can see an exploded view with the 1's and 0's. The video program only assumed the pixels are all black, the colour present was just artistic license ;)

Ghislain.

JinRaTensei
06-19-2016, 01:49 PM
At the risk of seeming pedantic, a computer has no desire to do anything, everything it inputs or outputs is done according to its creator; perhaps not in certain AI applications.

You do not sound pedantic but in my opinion this is beside the point.
When I say the computer "wants" or strives "towards to" I am talking about progress in the sense of animism.
Because in hermetic terms alchemists talk about medals striving towards becoming their optimal state like alchemists say "lead strives towards becoming gold". But it does not matter at all if the computer strives towards anything itself or not. It is about the general principle.
So no matter if a human,a rock or a fish is the one operating the computer/ inputting the data because the principle remains the same. This principle in short is the striving of all systems towards their optimal state. Computers will still progress, imo, in the way I describe although humans are the ones doing the building and advancing. Because their is no other optimum, in principle, in this dualistic reality.



However the reason why I asked you to look here is because what starts out as something simple like the 1 or the 0, becomes much more complicated once you look into the way it is processed and thus simplicity leads to complexity.

I agree and although I can´t even lie about having understood most of what you wrote in this thread I still, imo, understand the reasoning/principle behind it.
And this is why I assume that pretty much everything you wrote is correct. But (here I go with my "buts" again ^^ ) you are looking at the halfway point, imo. Yes complexity will gradually increase until the point it either can no longer or it becomes to energetically "costly" to "hold" a state which is not optimum.
After this halfway point complexity will decrease and simplicity will increase with the increase of understanding and the increase of better patterns and ways to organize information
A great example of this you yourself gave is "fig 2". All the complexity of "fig 1" decreases because it would be suboptimal to hold this state.


Now you can see in Figure.1 that these AND gates have eight inputs and only one output so to get the eight input configuration you need four AND gates together, but this gives four outputs and we only want one.


Why is it that we only want one output if theoretically we could build a system which operates with 8,16 or even 1024 outputs.
Why is it that computer code operates on the most simplest expression of difference as in "1" and "0" or "yes" and "no"(or nothing).
Why do we not use a system with lets say "1", "2" and "0"? Because it is unneeded complexity and thereby wasted energy,storing space and processing ability. The basic computer code has already striven towards the most simplest form of expression we humans are able to conceive and thereby giving it the most "freedom of expression" or ability to store and express information in the most efficient way.

What will happen when our thinking, as a whole finds a way to express this more simple? Everything in and of computers will increase, advance and speed up
What will happen when our thinking, as a whole finds a way to express this more complex? Everthing in and of computers will decrease
Why is it that we can not shake off this principle?

To sum this up, imo, in a way we both are correct. You are correct that everything is becoming more complex and by that "appearing" to advance. And this "appearing" is something real which we all can experience in day to day life if we compare computer systems of today with computer systems 20 years ago.
But this is, imo, due to the inability of us current humans to express it in an ever increasing simplicity. This is the reason why basic computer codes even if they are "faster" and can calculate "more" they still need much more "room" or datastrings to do so. It is a mirrage.

Just ask yourself what is the more efficient system, ever increasing complexity and ever increasing amounts of data needed to express or ever increasing simplicity
and ever decreasing amounts of data needed to express.
What is the better system? Windows 15 in the future which will maybe be a 100 gb big "data pack" or Windows 15 in the future which will maybe be a 10 mb big "data pack". The only reason we do not recognize this is because the data storage abilities/ hard drives have advanced simultaneously. and how did they do so?
By finding patterns/ algorhythms which are much more efficient and by using material components which are much more efficient.

With increase of consciousness or comprehension, imo, things become more simple and not complex because complexity is always a lack of comprehension.

Other example what about cars. With advancement in fuel burning methods the fuel needed to drive 100km has constantly decreased and not increased.
Putting the example of cars on the example of computers it would mean that cars would now use much much more fuel than before although also having much more speed,safety and structural advancement. People would not recognize as long as more fuel is no problem just like people do not recognize that more data needed to express something is no advancement.And the reason people do not recognize is because processors/micro chips/other material parts have advanced, too. But our thinking has not really.
So we will continue to increase complexity up to the point at which the material can no longer compensate for the lack of efficiency in the data and at that "halfway point" people will find ways to express the data in more simple ways and by that continue to advance perfomance

Ghislain
07-01-2016, 03:44 PM
This kills two birds with one stone...a video to make you question, and a title that fits with my own :)


http://www.youtube.com/watch?v=e6N_LlNQQ5Y&ab_channel=Freshtastical

Ghislain