JB2
Posted: Tue Jan 07, 2020 7:44 pm
Jack and The Beanstalk
Well, my intention was not really to recount a fairy story; I could have entitled this topic “How your Computer Works” or more correctly “How I think your computer Works”.
With those two potential titles at the back of my mind, I am hoping the title chosen has prompted some to read to this point if only out of natural curiosity.
My first problem in trying to explain (even to myself) what is undoubtedly a highly complex topic, in what I hope will be a rational, easy to understand way, was where to start and in what order to proceed? Explanation of such complexity does not lend itself to taking a nice sequential path.
So, I did what many engineers do when faced with a problem: I looked around to see what nature did, and do things the same way. If I tried to tackle things in the same order as we followed the educational process (es) that we’ve all been through, it may prove to be the easiest and quickest path to full understanding.
We are all individuals, with mindsets that are unique to each of us. No one can know exactly what is in another persons’ mind unless they tell us. Even then we don’t know whether they’re telling us the truth or a lie. Just as beauty is in the eye of the beholder, so truth or lie is in the mind of the recipient. (a fact which many political commentators conveniently forget – how many times recently have I heard the question “does telling the truth matter”?)
In nature, communication is always between two. Even when only one person is involved, such as reading and writing, it is between that person as a writer and that same person as a reader. To achieve understanding of what we may have written is always, in the first instance, to write then “read and modify” to make sure we’re conveying the message we intend. Once we introduce a third party as reader, then correct understanding is achieved by question and answer.
Truth or lie translates into electronic or programming terms as true or false.
In the real world inter-personal communication is not so clear cut. Between total truth and total lie there exists a grey area where statements contain something which may be interpreted either way. Perhaps the full truth is extremely complex and would take days or months to fully explain. We don’t have time for this and it may not be vital at the current level of understanding anyway, so we may try to convey a rough “picture of things” by analogy and/or exaggeration or both.
I would ask you, the reader, to mull the foregoing around in your mind. I’ve done so and come to the conclusion that truth/falsehood represents a digitisation of our thinking process and enables us to mentally translate “things” to logical true/false statements ideally suited to electronic manipulation.
Of course, in this process, we have lost all the information in-between that can only be processed in the human (animal) mind.
Our natural way of thinking makes it very easy, perhaps too easy, to wander off-topic to things that lead nowhere, or perhaps would be relevant but take us on a path so long that we never actually get anywhere. I’ll try to resist that. But I feel, I must at this stage state what I’m hoping to ultimately achieve.
It is not that you, the reader, will be able to say: “my computer works like …….”.
It is that you will be able to say to yourself: “I know how my computer works and am confident in my own mind that the picture I have is correct”.
For this to come about it will require readers to mull over the facts, inter-relationships, concepts and exaggerations, whilst rationalising it all in their own mind. Some factors will be illustrated in different ways, some in more than one way. Ultimately however, everything should fit together to give a clear picture, unique to each reader, rather like some clear image emerging out of a fog. This, after all, is just the normal learning process we take for granted.
Of course, I will not know any of this unless I get questions or feedback in some way. Nor will I know if such knowledge is of any value. Nor will I know if I have made mistakes in my reasoning unless it is challenged.
Let’s get back to Jack.
When my parents took me to that pantomime many years ago now, I had no idea that it was teaching me anything. I had no idea if what it was teaching would ever be useful let alone in a programming context of 2020.
But it was. In fact, it was teaching quite a lot. Jack did not take his beans to market as his mother instructed, whether just lazy or curious – the reason does not matter – he scattered them on what turned out to be a fertile patch of land. A beanstalk grew etc, etc.
This story brings together the inter-relationships of real-world entities: animal, vegetable and mineral. It illustrates Jack getting out of the real world (climbing the beanstalk) into a world that can only be imagined.
It illustrates how, even in this imaginary world proportionality must be maintained a Giant (animal), a Castle (mineral) and a Beanstalk (vegetable).
Notice there are TWO categories: Real and Imaginary.
Consider this in conjunction with the TWO categories mentioned earlier: True or False.
Now the TWO categories of Reader and Writer.
Now we’re ready to take a first peek into Mathematics. We can consider mathematics as addressing TWO separate categories of calculation: Real and Imaginary.
The first of these (Real) is what we’re all familiar with: addition, multiplication and so on. Such calculations are ideally matched directly to the workings of a digital computer.
The second (Imaginary), some of us may not be so familiar with. It embraces such things as infinitesimal calculus and matrix manipulation. We need not go into this in any more detail at this stage. Suffice to say calculations made in this category do not directly match the workings of a digital computer. The human mind is not just the only place where they’ll be understood it is also the only place where they can be undertaken.
It is simply impossible to breach the gap between real and imaginary other than mentally.
But, because mathematical calculations are essentially abstract, we can effectively bridge the gap, allowing us to calculate the imaginary factors in the same way as real. And, as we know a bridge runs between TWO points. In this case the start point occurs when the evaluation of a calculation gets close to zero, but not quite, and the endpoint gets close to infinity, but not quite.
Now, of course, the further apart the start point and end point are, the longer the bridge will be, and the longer the bridge the more time it will take to cross. The bridging process has introduced Time. (When we move on to understanding the electronics, we shall see we cannot simply walk faster as we may do in real-life.)
A brief look at Time
It is appropriate at this point to take a brief look at time. We all know that nothing can be done in zero time. Nor can we learn anything in zero time. By using Jack and the Beanstalk I have in effect compressed learning time, by not explaining the imaginary category of mathematics in any detail, I have, at least for the time being, reduced explanation time to that required to read the above paragraph. Ok, I know it told you nothing!
Telling the Time
Of course, we can all tell the time. Easy just look at our watch.
But is that all it is telling us? On the face of it yes, but it also gives us some insight into both the real world and electronics that we shall need later. We can read the hour reasonably closely as it moves past a numerical graduation on the watch face. But now look at the second hand – trying to read its’ position to within a second is not so easy. In fact, the marked graduations represent a digitised time difference, whereas the hands themselves are moving continuously.
As we shall see (or reason) later, it is just not possible to identify exact instant the second hand initially finds itself over any fixed graduation on the watch face – it is always just before or just after. We can always make the separation smaller, the hands thinner, leading to the concept of thresholds. In real life we’re always dealing with thresholds (Bride over the threshold – but when exactly?). It is the same with electronics; we can never measure anything exactly; time is a factor – so any measurement is always before or after some threshold.
The thing to note at this stage is that the difference between the “working” of things in real life and the “working” of things in electronics is simply one of speed. (There are other differences that we’ll come to later.)
Bridging the Gap
To explain how we can bridge this timing gap, it is easier if I ask you to forget about your watch for a while and instead think about a time-piece that preceded it – a Grandfather Clock. It ticks and tocks.
It ticks and tocks from one side of the bridge to the other; the time it takes to do this being regulated by a “swinging” pendulum. The rate at which it swings is controlled by TWO factors – the length of the pendulum and the weight it is carrying. We can, of course, vary either independently, but it is natural law that determines the rate of swing.
If we were to attach a pen to the end of the pendulum so that it was able to write on a moving sheet of paper behind, it would draw a sinusoidal wave shape.
The foregoing corresponds to exactly what is going on within the electronic wizardry of a digital computer – the natural laws of physics which control pendulum swing rate exactly apply in just the same way as the natural laws of physics which control the frequency of an inbuilt oscillator exactly. (I will expand on this later.)
There are of course differences between electronic and real-world operations, but for the purposes of understanding what is going on, in this instance it is simply timing which we can conveniently ignore. The pendulum takes seconds to swing, the oscillator takes micro-seconds or less to swing.
Processing Information
Pr
Well, my intention was not really to recount a fairy story; I could have entitled this topic “How your Computer Works” or more correctly “How I think your computer Works”.
With those two potential titles at the back of my mind, I am hoping the title chosen has prompted some to read to this point if only out of natural curiosity.
My first problem in trying to explain (even to myself) what is undoubtedly a highly complex topic, in what I hope will be a rational, easy to understand way, was where to start and in what order to proceed? Explanation of such complexity does not lend itself to taking a nice sequential path.
So, I did what many engineers do when faced with a problem: I looked around to see what nature did, and do things the same way. If I tried to tackle things in the same order as we followed the educational process (es) that we’ve all been through, it may prove to be the easiest and quickest path to full understanding.
We are all individuals, with mindsets that are unique to each of us. No one can know exactly what is in another persons’ mind unless they tell us. Even then we don’t know whether they’re telling us the truth or a lie. Just as beauty is in the eye of the beholder, so truth or lie is in the mind of the recipient. (a fact which many political commentators conveniently forget – how many times recently have I heard the question “does telling the truth matter”?)
In nature, communication is always between two. Even when only one person is involved, such as reading and writing, it is between that person as a writer and that same person as a reader. To achieve understanding of what we may have written is always, in the first instance, to write then “read and modify” to make sure we’re conveying the message we intend. Once we introduce a third party as reader, then correct understanding is achieved by question and answer.
Truth or lie translates into electronic or programming terms as true or false.
In the real world inter-personal communication is not so clear cut. Between total truth and total lie there exists a grey area where statements contain something which may be interpreted either way. Perhaps the full truth is extremely complex and would take days or months to fully explain. We don’t have time for this and it may not be vital at the current level of understanding anyway, so we may try to convey a rough “picture of things” by analogy and/or exaggeration or both.
I would ask you, the reader, to mull the foregoing around in your mind. I’ve done so and come to the conclusion that truth/falsehood represents a digitisation of our thinking process and enables us to mentally translate “things” to logical true/false statements ideally suited to electronic manipulation.
Of course, in this process, we have lost all the information in-between that can only be processed in the human (animal) mind.
Our natural way of thinking makes it very easy, perhaps too easy, to wander off-topic to things that lead nowhere, or perhaps would be relevant but take us on a path so long that we never actually get anywhere. I’ll try to resist that. But I feel, I must at this stage state what I’m hoping to ultimately achieve.
It is not that you, the reader, will be able to say: “my computer works like …….”.
It is that you will be able to say to yourself: “I know how my computer works and am confident in my own mind that the picture I have is correct”.
For this to come about it will require readers to mull over the facts, inter-relationships, concepts and exaggerations, whilst rationalising it all in their own mind. Some factors will be illustrated in different ways, some in more than one way. Ultimately however, everything should fit together to give a clear picture, unique to each reader, rather like some clear image emerging out of a fog. This, after all, is just the normal learning process we take for granted.
Of course, I will not know any of this unless I get questions or feedback in some way. Nor will I know if such knowledge is of any value. Nor will I know if I have made mistakes in my reasoning unless it is challenged.
Let’s get back to Jack.
When my parents took me to that pantomime many years ago now, I had no idea that it was teaching me anything. I had no idea if what it was teaching would ever be useful let alone in a programming context of 2020.
But it was. In fact, it was teaching quite a lot. Jack did not take his beans to market as his mother instructed, whether just lazy or curious – the reason does not matter – he scattered them on what turned out to be a fertile patch of land. A beanstalk grew etc, etc.
This story brings together the inter-relationships of real-world entities: animal, vegetable and mineral. It illustrates Jack getting out of the real world (climbing the beanstalk) into a world that can only be imagined.
It illustrates how, even in this imaginary world proportionality must be maintained a Giant (animal), a Castle (mineral) and a Beanstalk (vegetable).
Notice there are TWO categories: Real and Imaginary.
Consider this in conjunction with the TWO categories mentioned earlier: True or False.
Now the TWO categories of Reader and Writer.
Now we’re ready to take a first peek into Mathematics. We can consider mathematics as addressing TWO separate categories of calculation: Real and Imaginary.
The first of these (Real) is what we’re all familiar with: addition, multiplication and so on. Such calculations are ideally matched directly to the workings of a digital computer.
The second (Imaginary), some of us may not be so familiar with. It embraces such things as infinitesimal calculus and matrix manipulation. We need not go into this in any more detail at this stage. Suffice to say calculations made in this category do not directly match the workings of a digital computer. The human mind is not just the only place where they’ll be understood it is also the only place where they can be undertaken.
It is simply impossible to breach the gap between real and imaginary other than mentally.
But, because mathematical calculations are essentially abstract, we can effectively bridge the gap, allowing us to calculate the imaginary factors in the same way as real. And, as we know a bridge runs between TWO points. In this case the start point occurs when the evaluation of a calculation gets close to zero, but not quite, and the endpoint gets close to infinity, but not quite.
Now, of course, the further apart the start point and end point are, the longer the bridge will be, and the longer the bridge the more time it will take to cross. The bridging process has introduced Time. (When we move on to understanding the electronics, we shall see we cannot simply walk faster as we may do in real-life.)
A brief look at Time
It is appropriate at this point to take a brief look at time. We all know that nothing can be done in zero time. Nor can we learn anything in zero time. By using Jack and the Beanstalk I have in effect compressed learning time, by not explaining the imaginary category of mathematics in any detail, I have, at least for the time being, reduced explanation time to that required to read the above paragraph. Ok, I know it told you nothing!
Telling the Time
Of course, we can all tell the time. Easy just look at our watch.
But is that all it is telling us? On the face of it yes, but it also gives us some insight into both the real world and electronics that we shall need later. We can read the hour reasonably closely as it moves past a numerical graduation on the watch face. But now look at the second hand – trying to read its’ position to within a second is not so easy. In fact, the marked graduations represent a digitised time difference, whereas the hands themselves are moving continuously.
As we shall see (or reason) later, it is just not possible to identify exact instant the second hand initially finds itself over any fixed graduation on the watch face – it is always just before or just after. We can always make the separation smaller, the hands thinner, leading to the concept of thresholds. In real life we’re always dealing with thresholds (Bride over the threshold – but when exactly?). It is the same with electronics; we can never measure anything exactly; time is a factor – so any measurement is always before or after some threshold.
The thing to note at this stage is that the difference between the “working” of things in real life and the “working” of things in electronics is simply one of speed. (There are other differences that we’ll come to later.)
Bridging the Gap
To explain how we can bridge this timing gap, it is easier if I ask you to forget about your watch for a while and instead think about a time-piece that preceded it – a Grandfather Clock. It ticks and tocks.
It ticks and tocks from one side of the bridge to the other; the time it takes to do this being regulated by a “swinging” pendulum. The rate at which it swings is controlled by TWO factors – the length of the pendulum and the weight it is carrying. We can, of course, vary either independently, but it is natural law that determines the rate of swing.
If we were to attach a pen to the end of the pendulum so that it was able to write on a moving sheet of paper behind, it would draw a sinusoidal wave shape.
The foregoing corresponds to exactly what is going on within the electronic wizardry of a digital computer – the natural laws of physics which control pendulum swing rate exactly apply in just the same way as the natural laws of physics which control the frequency of an inbuilt oscillator exactly. (I will expand on this later.)
There are of course differences between electronic and real-world operations, but for the purposes of understanding what is going on, in this instance it is simply timing which we can conveniently ignore. The pendulum takes seconds to swing, the oscillator takes micro-seconds or less to swing.
Processing Information
Pr