“The Logic of a Computer” Synopsis
How does the Computer Operate? How does it Sum? How does it execute our programs? These were some of the questions that took us through a research which, as it was evolving, we decided to write about. The execution of graphics as a way of better clarifying our doubts quickly arose, turning the text into their perfect complement. And so this work arose.
The Computing Science is complex, but its complexity is the sum of many elemental simplicities. In this approach we start by the set of simplicities that compose its complexity. In order to get there we tried in all the the covered topics to always make their decomposition in their most elementary parts. Logic and the use of logical reasoning (the basis of all this Science) are always present at all the expositions, never introducing any concepts without first making their deduction in a logical manner.
In short, the computer is a machine of switches which it turns on and off depending on the operations it wants to execute. How it does it is what we are going to see. It’s at this kind of level that we always want to start any approach. Hence the symbolic title we gave to this work:
The paths (circuits) that the CPU messengers (bits) run through in order to turn on and off switches (transistors).
Throughout this text you will find the “links” to the individual synopsis of each chapter.
We started with the abstraction which is the Mathematical Logic and the Boolean Algebra, the origin of the Computing Science. We connected these Mathematic/Philosophic abstractions expressed as true/false to the 1/0 which is the vocabulary of the Computer language.
We built the electrical circuits which allow us to convert the 1/0 states of our abstractions into with/without voltage states, i.e., we took our abstractions into the level of the machine knowledge. Here we make a first approach to the referred switches, the Transistors.
With logically deduced combinations of the most elementary logical Gates, we built the circuits that will allow the Computer to perform the various operations necessary to perform the orders of its creator. Here we introduce the important concept of Clocked Logic, the Clock, which allows the computer to synchronize all of its operations and wherever possible we made our analysis focusing on this Clocked Logic. Along the way and to relieve some pressure we made an approach to digital Image and Sound, how they become numbers and how they are returned in order to be again understandable by our senses.
With these circuits we built a CPU that will allow the computer to be unlike any calculating machine and run at any moment the instructions of the program that is the will of its creator. We have created a small program and executed it decomposed into operations of our imaginary CPU. This is where we will see how, in obedience to the decomposed instructions of a program, the computer turns on and off the necessary switches (transistors) to build the circuits that will execute them.
We analyzed the way how physically are interconnect all the Computer components on the Motherboard, the great printed board where every component is connected, enhancing its various elements and their evolution in the most recent years.
We addressed with some depth, due the importance they have in the operation and performance of the CPU, the various Memory levels: RAM or Main Memory, Cache Memory and the HDD, how they operate, how they are organized and how they interconnect with each other.
We returned to the abstraction addressing the Operating Systems, the great commanders of the computer operation and its File Systems, the ones which logically organize the huge amount of information that the computer keeps in the HDD for its operation and to fulfill out our wishes.
We abandoned the world of the computer isolated within itself and started to look at it in a global world where all the computers can connect with each other and obtain essential elements for its operation. We did this by analyzing the Internet, the large global network, following the route of the bits, this time encapsulated in autonomous units of information which we’ll call Packets, from the moment we click an hiperlink until we get the information corresponding to it.
We want this work to be dynamic, constantly updated, improving its content and introducing new content. We rely on all those who are interested by this work. We have created a Forum where we want everyone to see his (her) questions answered and his (her) critics commented, obviously always in a constructive manner. Thy doubts, questions, comments and critics will be the source for the dynamic we want.
Who am I and why this work
I am a Civil Engineer, project manager. The passion I always nourished for the Computer Science and wondering how the computer works led me to research the logic of its operation. Without any pressure, as an outsider/student (I have even attended the Master Degree in Computer Science) without career goals in the area, I went step by step into achieving the goal I set out and understood within a natural evolution, how that wonderful machine works.
Having this in mind I established a path, starting with the most basic questions and proceeding with the research in order to get beyond every doubt step by step. With logical reasoning and logical deductions I could go from simplicity to complexity.
As I imagine that a lot more people can have the same curiosity, I decided to write the way how I was seizing what I needed to get to the goal that I set out, so that anyone curious with enough knowledge and interest in this Science can understand how it works, i.e. what is the logic behind each procedure. It’s just enough to follow the path that I myself followed.
This work is an exposition of the knowledges acquired by me and how I managed to acquire them in the context of a study with a particular purpose.
Bibliography
Wikipedia – The strongest support element for all themes. It’s difficult to say where. It’s easier to say everywhere. It was the most searched where with a lot of work I could find an answer for almost everything. But technically too deep for whom searches for basic explanations.
Introdução à informática – Luís Gouveia – http://www2.ufp.pt/~lmbg/textos/intro_inf.pdf
Arquitetura de Computadores – José Delgado, Carlos Ribeiro – FCA
Curso de Organização de Computadores – Rui Mano – http://wwwusers.rdc.puc-rio.br/rmano/rmano.html
O Computador – B. Piropo – Colunas de ForumPCs
Arquitectura de Computadores – Alberto José Proença – http://gec.di.uminho.pt/discip/TextoAC/indice.html
Sistemas Digitais – Guilherme Arroz, Carlos Sêrro – http://sd.tagus.ist.utl.pt/files/Folhas_v11.pdf
Sistemas Operativos – José Alves Marques, Paulo Ferreira, Carlos Ribeiro, Luís Veiga, Rodrigo Rodrigues – FCA
Tecnologia dos Equipamentos Informáticos – Rui Vasco Monteiro, Filipe Neves, João Pereira, Nuno Rodrigues, Ricardo Martinho – FCA
Fundamentos da Programação Utilizando Múltiplos Paradigmas – João Pavão Martins e Maria dos Remédios Cravo – IST Press
Mathematical Logic for Computer Science – Mordechai Ben-Ari – Springer
Manual de Eletrotecnia – Paulo Peixoto – ANFEI
Famílias e Tecnologias Digitais – Bertoldo Schneider Jr, Fábio Kurt Schneider – www.pessoal.utfpr.edu.br/bertoldo/Downloads/FamiliasDig.PDF
Introdução à Microeletrónica – Fernando Rangel – UFRN, Brasil
Apontamentos sobre famílias lógicas – ISCTE
Família NMOS – Prof. Fabiano Fruett – dsif.fee.unicamp.br
Transístores como chaves – www.centelhas.com.br/biblioteca/transistores_como_chaves.pdf
Introduction to Semiconductor Technology – Friedrich Alexander Universitat
Memórias RAM – Marcelino Santos – https://dspace.ist.utl.pt/bitstream/2295/44002/1/aula14-15.pdf
A Cache Primer – Paul Genua – Freescale Semiconductor, Austin TX
Controlador de Memória Dinâmica –N. Borges Carvalho, R. Vieira Silva, A. Nunes Cruz – Revista do DETUA,Vol 2, nº5, Janeiro 1996
Synchronous DRAM User’s Manual – ELPIDA Documento nº E0124N10
How to use SDRAM – ELPIDA Documento nº E0123N81
Synchronous DRAM MT48LC32M8A2 256 Mb 8Meg x 8Bit x 4 Bank Datasheet – MICRON
Synchronous DRAM Module MT8LSDT3264A (I) 256 MB Datasheet – MICRON
SDRAM – 48SD3208 256 Mb SDRAM 8 Meg x 8 bit x 4 Banks Datasheet – MAXWELL
Synchronous DRAM – 256Mb J-die SDRAM Specification – SAMSUNG
SDRAM Unbuffered Module based on 256 Mb J-die Datasheet – SAMSUNG
Computer Networking, a Top-Down Approach Featuring the Internet – James F. Kurose, Keith W. Ross – Addison-Wesley
Engenharia de Redes Informáticas – Edmundo Monteiro, Fernando Boavida – FCA
Redes de Computadores – José Gouveia, Alberto Magalhães – FCA
Administração de Redes Informáticas – Fernando Boavida, Mário Bernardes, Pedro Vapi – FCA
How NTFS Works Local File Systems – http://technet.microsoft.com/en-us/library/cc781134(WS.10).aspx
NTFS.com File System Structure, Recovery Software, Hard Disk Internals – http://www.ntfs.com/
Linux NTFS Driver – http://linux-ntfs.sourceforge.net/ntfs/index.html
Hard Disk Drive Reference Guide – Storage Review
Como tudo funciona – http://www.hsw.uol.com.br/
Guia do Hardware – http://www.guiadohardware.net/dicas/
Clube do Hardware – http://www.clubedohardware.com.br/