“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.

1 – Computing and Logics

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.

2 – Matherialized  Abstraction

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.

3 – Binary Arithmetic

4 – Image and Sound

5 – Logical Circuits

6 –Arithmetic and Logic

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.

7 – Processor (CPU)

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.

 8 – Motherboard

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.

 9 – Main Memory

10 – Cache Memory

11 – Hard Disk Drive

 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.

12 – File Systems

13 – Operating Systems

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.

14 – Internet

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 ComputadoresJosé Delgado, Carlos Ribeiro – FCA

Curso de Organização de ComputadoresRui Mano – http://wwwusers.rdc.puc-rio.br/rmano/rmano.html

O ComputadorB. Piropo – Colunas de ForumPCs

Arquitectura de ComputadoresAlberto José Proença – http://gec.di.uminho.pt/discip/TextoAC/indice.html

Sistemas DigitaisGuilherme Arroz, Carlos Sêrro – http://sd.tagus.ist.utl.pt/files/Folhas_v11.pdf

Sistemas OperativosJosé 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 ScienceMordechai Ben-Ari – Springer

Manual de EletrotecniaPaulo Peixoto – ANFEI

Famílias e Tecnologias DigitaisBertoldo 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 NMOSProf. 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 RAMMarcelino Santos – https://dspace.ist.utl.pt/bitstream/2295/44002/1/aula14-15.pdf

A Cache PrimerPaul Genua – Freescale Semiconductor, Austin TX

Controlador de Memória DinâmicaN. 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 InternetJames F. Kurose, Keith W. Ross – Addison-Wesley

Engenharia de Redes InformáticasEdmundo Monteiro, Fernando Boavida – FCA

Redes de ComputadoresJosé Gouveia, Alberto Magalhães – FCA

Administração de Redes InformáticasFernando 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/