Professional Documents
Culture Documents
MDD Uc1c1v1 GB Retranscription Digital Information
MDD Uc1c1v1 GB Retranscription Digital Information
DIGITAL INFORMATION
When we think about the digital economy, when we think about "digital" in general, when we
think about information technology, we are interested in everything that is made possible by
the use of digital information.
To apprehand a digital culture, let's start with this fundamental element that is digital
information... and at least once, let's open the hood and look at how it works inside the
machine - very concretely.
It works with zeros. With ones. Is there anything else? No, nothing else.
● Either there is no electricity in the wire - and we consider that we have a Zero.
● Or there is electricity in the wire - and we consider that we have a One.
It's easy: a wire, electricity, and a switch are all you need. You don't need to manage intensity
levels precisely to represent more values... Yet with just ones and zeros, we can do a lot.
We can represent everything we need for logical reasoning. We can easily represent True and
False. Without going into detail, we can deal with
● The OR operator, to signify that one or the other of two propositions is true;
● The AND operator - when two propositions must be true, one and the other;
● And finally the NO operator to reverse the value of a proposition - making it false if it is
true and vice versa.
Now it turns out that with OR, AND, NOT, we can represent all possible logical relationships.
1
Beyond logic, binary allows us to count
Mathematically, we say that the numbers will be represented in base 2. Each b here
corresponds to a 0 or a 1. Depending on its position, it contributes differently to the value of
the number represented. This value is calculated by adding the products of each digit to a
power of 2. The digit - 1 or 0 - in position 0 is multiplied by 2 to the power of 0, the digit in
position n is multiplied by 2 to the power of n. In this example, you have 0 multiplied by 2 to
the power of 0, plus 1 multiplied by 2 to the power of 1, plus 1 multiplied by 2 to the power of
2, plus 0 multiplied by 2 to the power of 3, plus 0 multiplied by 2 to the power of 4, plus 1
multiplied by 2 to the power of 5, which gives us… 38.
A simple addition
Now, let's see how to make a simple addition with electricity. We want to add 1 with 1. I made
it clear that it was a simple addition! So we get 2. 2 in binary! So 1 0.
A simple adder
2
And here is finally an OR gate: there is always
electricity in the outgoing wire, unless both the
incoming wires have no electricity.
Since we want to add 1 and 1, we put electricity into the two incoming wires of the circuit. All
you have to do is follow the flow of the current.
● Let's start with the B-wire. Since it brings electricity to the entrance of the gate NO,
there's no electricity coming out of that gate.
● The A-wire, quietly propagates its electricity. Since there is electricity in one wire, but no
electricity in the other, there's no electricity out.
Let's go back to tracking the B-wire. It brings electricity to the AND gate.
The A-wire, on its side, brings electricity to the entrance of the NO gate. So there's no electricity
coming out of that gate.
B, brings electricity to the entrance of this AND gate. A does the same. Since there's electricity
in both entrances to this AND gate, there's electricity coming out. Here is the carry-over, which
can later give the 1 of the result 1 0.
If a previous carry-over is to be taken into account, it makes the circuit a bit more complex.
3
An adder at the transistor level
By replacing all the logic gates with their respective electronic circuits, we obtain the
transistor-based circuit, allowing a very simple addition to be made.
4
32/64 bit microprocessor?
We also understand what it means for a processor to be a 32 or 64-bit processor. It’s simply the
number of incoming wires. In our example, there were two.
Abstraction stack
Thus, at the machine level, at the computer level, it’s only about electricity and a lot of
switches. To use these circuits, programs are written in binary. That is, a series of 0's and 1's
which indicate whether or not there’s electricity in the incoming wires.
So for each type of processor, there is an assembler language. It’s more compact than binary
language. It consists of blocks, of a few letters, and 1's and 0's. An assembler translates this
language into binary. However, this is still very difficult to use.
The so-called "high-level languages" were therefore created. These are, for example, Java,
Python, C++, Perl, Lisp, Ada, etc. These languages are generally close to English. Much easier to
use by human developers. Compilers and interpreters are used to translate them automatically
into assembler language.
These languages are said to be "high level" in the abstraction stack because they are distant
from the details of electronic circuits. They disregard the electronic specifics. A machine
language depends on the machine under consideration. A program in Java or Python is written
once, and for all computers. Successive translations will take into account the specificities of
the targeted machine.
The program written in a high-level language defines, in particular, an interface with the user
(click, voice command, etc.). This mode of interaction can be considered as a language that is
even more abstracted from the details of the machine.
5
Conclusion
We're not interested in the details of the electronics. Nevertheless, we have to keep in mind
that in computing, in the end, everything comes down to electricity in wires. We can talk about
virtual reality immersion, artificial intelligence, Big Data, etc... at the end of the day, it's just
electricity in wires and a lot of switches.