Introduction to Microprocessors (Conference 2) TEEL 4011

Download Report

Transcript Introduction to Microprocessors (Conference 2) TEEL 4011

Cap. 12 Microprocesadores
(Conferencia 3)
TEEL 4011
Prof. Jaime José Laracuente-Díaz
Referencia: Floyd
Memory
unit:
RAM, ROM,
and hard
disk
Input Port
Output Port
CPU
(Microprocessor)
Figura 12-1 Un Sistema de Computadora Básico
Microprocesadores
• Como ya hemos definido el microprocesador
es un VLS-IC que posee todas las funciones de
un CPU en un sencillo empaque.
• Este posee varias unidades destinadas a un
trabajo o uso particular:
– ALU = Arithmetic Logic Unit
– Register Array
– Control Unit
ALU
Register
Array
Control Unit
Fig. 12-2 Three basic elements of a microprocessor
Microprocesadores
• ALU = es el elemento clave del
microprocesador. Esta dirigido por el Control
Unit para realizar operaciones aritmeticsa
com osuma, resta, lógica (NOT, AND, OR y
XOR). La data que se le suminitsra al ALU
proviene del Register Array.
Microprocesadores
• Register Array = es el grupo de registros
contenidos en el microprocesador. Mientras se
ejecuta un programa la data y el address son
temporeramente almacenados en estos
registros.
• El ALU puede acceder estos registros con más
rapidez haciendo que el programa se ejecute
de manera más eficiente.
Microprocesadores
• Registers
– General purpose registers = pueden ser utilizados
para cualquier propósito según requiera el
programa.
– Specific registers = son destinados para usos en
especifico del programa.
– Invisible registers = el programador no puede
asignar ningún uso a estos registros.
Microprocesadores
• Control Unit – esta a cargo del procesamiento
de instrucciones. Provee el “timing” y las
señales de control para manipular data desde
y hacia el micro y para sincronizar la ejecución
de las instrucciones.
Microprocessor Buses
• Address Bus = es una “calle de una sola
dirección” a través de la cual el micro envía un
“address code” hacia la memoria u otro
dispositivo externo.
– El numero de “conductive path” especifica el
tamaño del mismo.
– Los primeros micros tenían address buses de 16
líneas con capacidad para acceder 2 ^ 16
localizaciones de memoria.
• Aumento: 16  20  24  32  36
Microprocessor Buses
– Ejemplo: Pentium IV tiene 36 líneas de “address bus” por lo tanto
puede alcanzar 2 ^ 36 localizaciones de memoria.
• Data Bus = es una “calle en dos direcciones” a
través de la cual data y códigos de
instrucciones (instruction codes) son enviados
hacia el micro o el resultado de una operación
es enviado desde el micro.
Microprocessor Buses
• Control Bus = es utilizado por el micro para
para coordinar sus operaciones y para
comunicarse con dispositivos externos.
– Posee señales que activan tanto la memoria como
un puerto de input/output en el momento
adecuado para leer o escribir.
– También son utilizadas para insertar estados de
espera especiales para dispositivos mas lentos y
prevenir la solicitud y uso inadecuado de un “bus”,
lo que se conoce como: “bus contention”.
Microprocessor Buses
• “bus contention” = ocurre cuando dos
o más dispositivos se están tratando
de comunicar al mismo tiempo o sea
de colocar data en el mismo “bus” en
el mismo momento.
Microprocessor Programming
• Los micros posee un “instruction set” en el cual los
diseñadores incluyen por ejemplo en el Pentium
cientos de instrucciones divididas en siete grupos,
estos son:
–
–
–
–
–
–
–
Data transfer
Arithmetic
Bit manipulation
Loops and jumps
Strings
Subroutines and interrupts
Processor control
Microprocessor Programming
• Cada instrucción consiste en una secuencia de “1’s” y
“0’s” o un “binary string”, el cual es decodificado por
el micro antes de que se comience a ejecutar el
proceso.
• Estas secuencias de dígitos binarios se conocen como
el lenguaje de maquina (machine language).
• Como les mencioné antes las primeras computadoras
se programaban en lenguaje de máquina.
Microprocessor Programming
• Para simplificar la tarea se creó el “Assembly
Language”.
– Es un lenguaje de bajo-nivel el cual posee
instrucciones en una forma similar al ingles que
pueden ser directamente traducidas a
instrucciones en secuencias de dígitos binarios o
patrones de data.
• Ejemplo:
– MOV AX,BX to 11000010 01 01
English-like
Assembly
Language
Assembler
Binary
Figure 12-3 Block diagram of microprocessor programming
Microprocessor Programming
• English like instructions = mnemonics
• Cada lenguaje de assembly es específico para
cada familia de microprocesador.
• Ofrece el beneficio de que el programador
posee control total del micro y los programas
se ejecutan de forma más rápida en el mismo.
• El programador puede controlar de manera
mas efectiva los procesos de “interrupts” que
con otros lenguajes.
Microprocessor Programming
• Existen otros lenguajes de programacion que
son independientes de la familia de micro,
estos son:
– BASIC
– FORTRAN
– C/C++
– JAVA