Hardware e Software das Tecnologias de Informação

Hardware e Software das Tecnologias de Informação
V 0.2, V.Lobo, EN/ISEGI, 2013
Hardware e
Software das TI
O mundo é apenas uma sequência de 0s e 1s
Prof. Doutor Victor Lobo
Licenciatura em Sistemas e Tecnologias de Informação
Objectivo desta disciplina

Programa (traços gerais)
 1.
Introdução às máquinas de computação
Representação de dados
 3. Álgebra de Boole
 4. Sistemas Digitais
 5. Arquitectura de Computadores
 6. Microprocessadores
 7. Sistemas de Memória
 8. Periféricos
 9. Sistemas Operativos e Linguagens de
programação
Compreender o HARDWARE
 2.
 De
que dispositivos são feitos os computadores ?
que é a arquitectura de um computador ?
 O que é um microprocessador ?
O

Compreender os tipos de SOFTWARE
 Linguagem
máquina
de alto nível
 Sistemas operativos e “device drivers”
 Linguagens
Porque é que é importante ?

Para compreender o mundo que nos rodeia !

Porque só compreendendo como são as
máquinas podemos compreender:
 As suas limitações
 As suas potencialidade
 Como escolhê-las e comprá-las,
e fazer bom uso
delas

Porque faz parte do curriculum de STI…
 Para
Bibliografia

Livro de texto
 Computer
Organization and
Architecture, Linda Null & Julia Lobur,
Jones and Bartlett, 2006
 Outros
 Introdução às Ciências da Computação

An Invitation to Computer Science, 5th Ed, G.Michael
Schneider, Judith Gersting

Breve introdução com hardware recente

Introdução geral a S.I.

acabar o curso é preciso saber isto (!)

Tecnologias de Informação, Sérgio Sousa,
FCA, 2009.
Introduction to Information Systems, Rainer,
Turban et al., John Wiley & Sons, 2011
1
Hardware e Software das Tecnologias de Informação
V 0.2, V.Lobo, EN/ISEGI, 2013
Bibliografia (mais detalhada)
Avaliação


Sistemas Digitais e Microprocessaores

Digital Fundamentals (10th Ed), Floyd, Prentice-Hall, 2010
 Sistemas Digitais, Padilha, McGraw-Hill
Exame Final
 Obrigatório

Trabalhos
 Mini-Testes


Sistemas Operativos
Modern Operating Systems (3rd Ed), Tannenbaum, Prentice-Hall,
2007
 Sistemas Operativos, Alves Marques et al., FCA, 2009.



Datas:
23-Set
30-Set
7-Out
14-Out
4-Nov
11-Nov
18-Nov
25-Nov
2-Dez
9-Dez
(recup)
de pesquisa bibliográfica e apresentação (10%)
Lista de temas disponível no site da cadeira
Fazer uma apresentação de 10 min e relatório de 2 páginas.
 NOTA
Apresentações dos trabalhos
de Programação em Assembler (20%)
Data de Entrega: 2 Janeiro
 Trabalho

(10+10%)
Datas: 3 de Outubro & 11 de Novembro
 Trabalho

para todos (50 % da nota)
MÍNIMA EM TODAS AS PROVAS – 9 valores
Horário de dúvidas e contactos

Email: [email protected]
 Dúvidas



2ª Feira às 18:30 (ou quando combinarmos)
Por mail em qualquer altura
Sempre que estiver no ISEGI (!)
 Material

de apoio
www.isegi.unl.pt/docentes/vlobo
 Mudanças

de aulas
Não há aula de HSTI no dia 21 e 24 de Outubro
1.3 An Example System
Um exemplo:
Computadores e a sua história
O que é isto tudo??
2
Hardware e Software das Tecnologias de Informação
V 0.2, V.Lobo, EN/ISEGI, 2013
Elementos básicos de um computador

Arquitectura básica de Von Neumann
Computadores
Digitais

Saída de dados
Unidade de Processamento
 Manipular
os dados, fazer as contas,
processar a informação

 Guardar

Operações
Unidade de Armazenamento
os dados
Memória
Controlo
de aritmética
e lógica
(p/dados e
programa)
Unidade de Entrada/Saída (I/O)
 Comunicar
com o exterior
Entrada de dados
Componentes do sistema
Componentes do sistema

Visão externa

(rede,
scanner,
etc)
Bus de sistema / bus de expansão
Visão interna
Memória principal
CPU
processamento
dos dados e
controlo do sistema
Teclado
Monitor
(video)
Ligação através de
uma “placa
controladora” e
programa (“driver”)
dedicado
Impressora
Disco/
Disquettes
Outros
História das máquinas de computação

Máquinas que servem para processar informação


História das máquinas de computação

Fazer contas, guardar dados, automatizar processos
 Máquina
de Turing, artigo “sobre os números
computáveis”
 Primeiras máquinas “modernas”
Antes dos computadores


Ábacos
Máquina de Pascal e de Leibniz



Tabelas de logaritmos, e “computador moderno mecânico”
Máquinas de Hollerith



Leitura de cartões, e processamento rudimentar de informação
Máquinas analógicas dedicadas
2ª Grande guerra
 ENIAC
Máquinas de Babbage


Somas e subtracções com rodas dentadas
Calculadores de tiro para artilharia
Trabalho teórico dos anos 30

/ Colossus / outros
Computadores de 1ª Geração
 Válvulas
 UNIVAC (Sperry), ERA,
 Aprox. 1945 - 1953
IBM 650
3
Hardware e Software das Tecnologias de Informação
V 0.2, V.Lobo, EN/ISEGI, 2013
História das máquinas de computação

Computadores de 2ª Geração
 Transistors discretos
 IBM 7095,1401, primeiros
História das máquinas de computação
Computadores de 4ª Geração

 VLSI,
PDP
 1954-1965

Cray
1.5 Historical Development

workstations / minicomputadores / mainframes /
supercomputadores
Computadores de 3ª Geração
 Circuitos integrados
 IBM 360, PDP-8, DEC-10,
 1965-1980
Moore’s Law (1965)
 Gordon
1.5 Historical Development

Moore, Intel founder
density of transistors in an integrated
circuit will double every year.”
cost of capital equipment to build
semiconductors will double every four years.”
 In
 “The
density of silicon chips doubles every 18
months.”
Rock’s Law
 In
2005, a chip plants under construction
cost over $2.5 billion.
$2.5 billion is more than the gross domestic
product of some small countries, including
Belize, Bhutan, and the Republic of Sierra
Leone.
 For
Moore’s Law to hold, Rock’s Law must
fall, or vice versa. But no one can say which
will give out first.
1968, a new chip plant cost about $12,000.
At the time, $12,000 would buy a nice home in
the suburbs.
An executive earning $12,000 per year was
“making a very comfortable living.”
But this “law” cannot hold forever ...

Rock, Intel financier
 “The
Contemporary version:
1.5 Historical Development
Rock’s Law
 Arthur
 “The

microprocessadores
 1980 - …(1ºp em 1974)
 Computadores pessoais /
1.6 The Computer Level Hierarchy

Computers consist of many things besides
chips.

Before a computer can do anything worthwhile,
it must also use software.

Writing complex programs requires a “divide
and conquer” approach, where each program
module solves a smaller problem.

Complex computer systems employ a similar
technique through a series of virtual machine
layers.
4
Hardware e Software das Tecnologias de Informação
V 0.2, V.Lobo, EN/ISEGI, 2013
1.6 The Computer Level Hierarchy

Each virtual machine
layer is an abstraction of
the level below it.

The machines at each
level execute their own
particular instructions,
calling upon machines at
lower levels to perform
tasks as required.


Level 4: Assembly Language Level
 The


1.6 The Computer Level Hierarchy

Level 2: Machine Level
 Also
known as the Instruction Set
Architecture (ISA) Level.
 Consists
of instructions that are particular to
the architecture of the machine.
Level 3: System Software Level
 Controls executing processes on the system.
 Protects system resources.
 Assembly language instructions often pass
through Level 3 without modification.
Level 1: Control Level
 A control unit decodes and executes
instructions and moves data through the
system.
 Control units can be microprogrammed or
hardwired.
 A microprogram is a program written in a lowlevel language that is implemented by the
hardware.
 Hardwired control units consist of hardware
that directly executes machine instructions.
Level 5: High-Level Language Level
level with which we interact when we write
programs in languages such as C, Pascal, Lisp,
and Java.
upon assembly language produced
from Level 5, as well as instructions
programmed directly at this level.
1.6 The Computer Level Hierarchy
execution and user interface level.
level with which we are most familiar.
 The
 Acts

Level 6: The User Level
 Program
Computer circuits
ultimately carry out the
work.
1.6 The Computer Level Hierarchy

1.6 The Computer Level Hierarchy
 Programs
written in machine language need
no compilers, interpreters, or assemblers.
1.6 The Computer Level Hierarchy

Level 0: Digital Logic Level
 This level is where we find digital circuits
(the chips).
 Digital circuits consist of gates and wires.
 These components implement the
mathematical logic of all other levels.
5
Hardware e Software das Tecnologias de Informação
V 0.2, V.Lobo, EN/ISEGI, 2013
1.7 The von Neumann Model

On the ENIAC, all programming was done at
the digital logic level.

Programming the computer involved moving
plugs and wires.

A different hardware configuration was needed
to solve every unique problem type.
Configuring the ENIAC to solve a “simple” problem
required many days labor by skilled technicians.
1.7 The von Neumann Model

Today’s stored-program computers have the
following characteristics:
 Three hardware systems:
A central processing unit (CPU)
A main memory system
 An I/O system
1.7 The von Neumann Model

Inventors of the ENIAC, John Mauchley and
J. Presper Eckert, conceived of a computer
that could store instructions in memory.

The invention of this idea has since been
ascribed to a mathematician, John von
Neumann, who was a contemporary of
Mauchley and Eckert.

Stored-program computers have become
known as von Neumann Architecture systems.
1.7 The von Neumann Model

This is a general
depiction of a von
Neumann system:

These computers
employ a fetchdecode-execute
cycle to run
programs as
follows . . .


 The
capacity to carry out sequential instruction
processing.
 A single data path between the CPU and main
memory.

This single path is known as the von Neumann
bottleneck.
1.7 The von Neumann Model

The control unit fetches the next instruction from
memory using the program counter to determine where
the instruction is located.
1.7 The von Neumann Model

The instruction is decoded into a language that the ALU
can understand.
6
Hardware e Software das Tecnologias de Informação
V 0.2, V.Lobo, EN/ISEGI, 2013
1.7 The von Neumann Model

Any data operands required to execute the instruction
are fetched from memory and placed into registers
within the CPU.
1.8 Non-von Neumann Models
1.7 The von Neumann Model

The ALU executes the instruction and places results in
registers or memory.
1.8 Non-von Neumann Models

Conventional stored-program computers have
undergone many incremental improvements
over the years.

In the late 1960s, high-performance computer
systems were equipped with dual processors
to increase computational throughput.

These improvements include adding
specialized buses, floating-point units, and
cache memories, to name only a few.

In the 1970s supercomputer systems were
introduced with 32 processors.


But enormous improvements in computational
power require departure from the classic von
Neumann architecture.
Supercomputers with 1,000 processors were
built in the 1980s.

In 1999, IBM announced its Blue Gene
system containing over 1 million processors.

Adding processors is one approach.
1.8 Non-von Neumann Models
Conclusion

Parallel processing is only one method of
providing increased computational power.


More radical systems have reinvented the
fundamental concepts of computation.
This chapter has given you an overview of the
subject of computer architecture.


These advanced systems include genetic
computers, quantum computers, and dataflow
systems.
You should now be sufficiently familiar with
general system structure to guide your studies
throughout the remainder of this course.


At this point, it is unclear whether any of these
systems will provide the basis for the next
generation of computers.
Subsequent chapters will explore many of these
topics in great detail.
7