Sei sulla pagina 1di 50

SEMANA 3

MICROPROCESADORES Y
MICROCONTROLADORES
Unidad de Aprendizaje II
Microprocesador, arquitectura y registros
principales
TEMA
CALSIFICACION DEL MICROPROCESADOR
Mg. Flix R. Pucuhuayla Revatta

CLASIFICACIN DE LOS
MICROPROCESADORES

Mg. Flix Pucuhuayla Revatta

Mg. Flix Pucuhuayla Revatta

Parte I Microprocesadores

Arquitecturas
segn el Hardware
Von Neuman
Segmentada
Hardware

Arquitecturas
segn el Software

CISC
RISC
CRISC

Volver

ARQUITECTURA
Las instrucciones que ms se utilizan son las
instrucciones de registros por lo que los fabricantes
disean las arquitecturas del microprocesador segn se
administren los registros.
Segn lo anterior se pueden diferenciar dos
arquitecturas:
- La arquitectura CISC
- La arquitectura RISC

Parte I Microprocesadores

ARQUITECTURA CISC

Complex Instruction Set Computer

Set de instrucciones grande


Ofrece una amplia gama de operaciones
Facilita el trabajo de programacin
Reduce el tamao del cdigo de programa
Incrementa el costo de aprender la programacin

Volver

ARQUITECTURA CISC
CISC (Complex Instruction Set Code): En
este tipo de
arquitectura se utilizan
instrucciones muy complejas por lo que el
microprocesador tiene que realizar varios
accesos a la memoria. Para la ejecucin de
las instrucciones se necesitan varios ciclos
de reloj, lo que hace que sea ms lento el
ordenador.

Parte I Microprocesadores

ARQUITECTURA RISC

Reduced Instructio Set Computer


Pocas instrucciones
Ms fcil de aprender el mtodo de programacin
Mayor tamao del cdigo de programa

Combinacin de CISC con RISC

Complex-Reduced Instruction Set Computer


Volver

ARQUITECTURA RISC

RISC (Reduced Instruction Set Code): Este


tipo de aruitectura es el que actualmente se
utiliza en los microprocesdore. En este tipo
de arquitectura se utilizan instrucciones ms
sencillas que se pueden realizar en un solo
ciclo de reloj.

Ejemplo de Arquitectura Bsica


Bus de Datos

BIU

Bus Interno

Bus de Direcciones
Bus de Control

Unidad
de
Control

Registro de
Banderas

Unidad
Aritmtica Lgica

Registros de
Uso General
Volver

Reloj
Cada vez que al microprocesador le llega un impulso
de reloj, este ejecuta las rdenes de cada momento.
Esto sirve para que las rdenes se ejecuten de
manera ordenada. L frecuencia del reloj se mide en
Hertzios (Hz).
Por ejemplo el Intel core i7 tiene una velocidad de
reloj de 3,33 GHz.

Volver

Memoria cach
La memoria cach es un memoria voltil de gran
velocidad en la que se almacenan una serie de datos
para su rpido acceso.
Su funcin es la de almacenar instrucciones y datos
a los que el microprocesador esta continuamente
accediendo. Par que el microprocesador tenga un
buen rendimiento tiene que haber un acceso rpido
y fluido.

Existen tres tipos de memoria cach:


- La memoria cach interna
- La memoria cach externa
- La memoria cach de tercer nivel

Memoria cach interna


Memoria cache interna (tambin denominada
primaria, de primer nivel o L1): Esta memoria est
situada dentro del microprocesador y contiene los
datos que ms utiliza el microprocesador. Estas
memorias estn diseadas para eliminar el tiempo
que se perda en los accesos al exterior.

Atrs

Memoria cach externa


Memoria cache externa (tambin denominada de
segundo nivel o L2): Esta memoria esta diseada
para evitar el acceso a las memorias RAM que son
ms lentas.

Atrs

Memoria cach de tercer nivel


Memoria cache de tercer nivel (tambin denominada
L3): Esta memoria es muy poco utilizada en la
actualidad. Es una memoria ms lenta que la
memoria cache interna y la memoria cache externa
pero sigue siendo ms rpida que la memoria RAM.

Volver

Ncleo o core
El ncleo es la parte ms importante del
microprocesador. El microprocesador esta formado
por la ALU, la UC, los registros y los buses internos.
Intel desarrollo la tecnologa HyperThredind que se
trata bsicamente de simular dos
microprocesadores lgicos dentro de un solo
microprocesador fsico, ejecutando varios
subprocesos en paralelo.
En la actualidad existe el microprocesador core i7
que incluye 4 ncleos ms 4 threads o ncleos
virtuales.
Volver

Unidad de coma flotante


La unidad de coma flotante se encarga de realizar
operaciones aritmticas en coma flotante (desplaza
la coma a cualquier posicin de un nmero).
Mientras la unidad de coma flotante esta trabajando,
la ALU queda libre para realizar otras operaciones

Volver

QU TIPO DE ENUNCIADOS ENTIENDE LA COMPUTADORA?

En una computadora, toda la data es almacenada y


procesada en forma de cdigo binario, o sea, en forma
de
cadenas
de
0's
y
1's
.
Las instrucciones y data son almacenados en la
memoria de la computadora usando cdigo binario.
Llamamos al 0 y 1 binary digit (bit)

Bits and Bytes

The bi-valued bit is the fundamental unit of memory.

Bits may be

switched on or off, states corresponding to values of 1 and 0. The byte


is the next level of organization above the bit. Bytes represent a group
of bits. Although byte size is not fixed by physical or human law, there
is a widely accepted standard: 8 bits comprise 1 byte. Given a binary
numbering scheme, one byte can take on 256 values, ranging from
00000000 to 11111111.

Bytes may be used to represent integers, floating point numbers, and


even characters (either letters or symbols).

Fixed character values are established by two major standards, ASCII


and Unicode.

El nico lenguaje de programacin que una computadora


puede directamente ejecutar es el conjunto primitivo de
instrucciones propio de la mquina, lenguaje de mquina
o cdigo de mquina.
Lenguaje de mquina es el lenguaje de programacin que
la computadora entiende.

Nombre de Instruccin
Add
Subtract

Lenguaje de Mquina
0110
0100

Los programadores de las primeras computadoras,


al final de la dcada de los aos 1940 tenan que
programar en lenguaje de mquina .

Caractersticas de Lenguaje de Mquina


(bajo nivel, low level)

"Machine dependent" un programa escrito para un


tipo de mquina tiene que ser re-escrito para otro
tipo de mquina.(no es porttil)
Fcil de cometer errores
Difcil encontrar errores

Nivel Medio

Assembly language : abreviaciones mnemnica ,


add, para sumar versus 0110 en cdigo binario.
Tambin es dependiente de mquina.

A Bright Idea
Devise a set of abbreviations (mnemonics) corresponding
to the ML statements
Create a program (the assembler) to translate them into
ML.

ADD
R1
MOVE

34,

R1,1200
CMPR
R1,
R2

Assembler

Assembly language
statements
(mnemonics)

1001110011
1001011010
0110110111
Machine
language
statements

LENGUAJE DE ALTO NIVEL


Lenguajes de alto nivel : Pueden expresar
algoritmos a un nivel ms alto de abstraccin.
Estn diseados para facilitarle a los humanos el
escribir programas y el leerlos. Algunos lenguajes
de alto nivel son C , Pascal, FORTRAN, BASIC,
COBOL, C++ .

Lenguaje de Alto Nivel


Portable code : Un programa(cdigo) es porttil
puede correr sin ser modificado en mquinas
diferentes slo compilandolos con el compilador
apropiado.
Es importante reconocer que para que la
computadora pueda ejecutar las instrucciones
escritas en un programa de alto nivel stas primero
tienen que ser traducidas a lenguaje de mquina.

Compilador

Compilador : Un compilador es un programa que


traduce un programa escrito en un lenguaje de alto
nivel como C++ , a lenguaje de mquina.
(Recordar que ese es el nico lenguaje que la
computadora entiende).

Contrast Assembler and HLL Compiler


Assembler translates
one mnemonic into
one ML statement

Compiler

z = x + y;

Compiler translates
one HL statement into
several ML statements

1010110011110101
0000000000010000
0010111010110101
0000000000010010
0010111011111101
0000000000010100

Summary of "Levels" of Computer Languages

Low level
ML in binary language
Medium Level
Assembly language

High Level
as in C++

Hard to read, not


portable
Mnemonics, easier to
read, still not portable
Reads like English and
algebra, portable

Qu es programacin?
Computadora: dispositivo programable que puede
almacenar, retirar y procesar data.
Programacion de Computadora : Es el proceso de
planear una sucesion de pasos para que la
computadora siga.
Paso 1
Paso 2
paso 3 paso n

Qu es programacin?
Programa de Computadora : una sucesion de
instrucciones que se llevan a cabo por la
computadora
Programadores : las personas que escriben los
programas.

Qu es programacin?
Application software: set of programs that interface
with the user
System software
Manages internal operation of the physical device
Insulates user from hardware

Objectives in Programming
A program should solve a problem:

Correctly
Efficiently
Readably
In user-friendly
fashion

It actually solves the


problem
Without wasting time or
space
Understandable by another
person
In a way that is easy for its
user to use

Para resolver un problema usando una


computadora
Una computadora no es inteligente. No puede analizar un
problema y generar una solucion.
El humano (programador) debe analizar el problema,
desarrollar(un algoritmo) una sucesion de instrucciones
para resolver el problema y luego comunicarselo a la
computadora.
Podriamos entonces preguntarnos:?Cual es la ventaja de
usar una computadora si no puede resolver problemas?

Contestacin
Una vez se escriba la solucin como una sucesin de
instrucciones, la computadora puede repetir la solucin
bien rapidamente y consistentemente, muchas veces. Asi
que la computadora libera a los humanos de hacer tareas
repetitivas y aburridas.

El proceso de escribir un programa


consiste de varias fases.
Diseno
Analisar, especificar el algoritmo que resuelve el problema.

Codificacion
Escribir la solucion en la sintaxis de un lenguaje, documentacion

Prueba, Ejecucion, Debugging


Eliminar los bugs

Mantenimiento
Actualizar,modificar para acomodar cambios necesarios

Fases en el ciclo de vida de programacin

Problem-Solving(resolver el problema)

Implemantacin

Mantenimiento

Fase de Resolver el Problema


Analisar el problema y especificar que debe
hacer la solucin
desarrollar una solucin general (algoritmo)
para resolver el problema
Verificar que su solucin realmente resuelve el
problema.

Un Algoritmo es . . .
Un procedimiento paso a paso para
resolver un problema en un tiempo
finito.

Qu es un lenguaje de programacin ?

Es un lenguaje con reglas estrictas de


gramatica, smbolos y palabras especiales
que se usan para construir un programa ce
computadora.

Fase de Implementacin:
Programa
Traducir el algoritmo a un lenguaje de
programacin esto se conoce como codificar.
En C++ se usa:
Documentacin -- comentarios escritos
Compilerar -- Traducir su programa a lenguaje de
mquina.
Programa principal (main) -- Puede llamar a
subalgoritmos

Fase de Implementacin : Prueba


Probar su programa quiere decir correr (ejecutar) su
programa en la computadora, para determinar si
produce resultados correctos.
Si no es as, entonces hay que determinar lo que est
mal en el programa o en el algoritmo ---esto se
conoce como debugging

Fase de Mantenimiento
Use y Modifique el programa para cumplir con
combios en los requisitos o corregir errores
que se descubran conel uso.
Mantenimiento comienza cuando se comienza a
usar el programa, hay mucho esfuerzo enesta
rea.

Programming Life Cycle


1 Problem-Solving Phase
Analysis and Specification
General Solution ( Algorithm )
Verify

2 Implementation Phase
Concrete Solution ( Program )
Test

3 Maintenance Phase
Use
Maintain

Ejemplo:(Diseo de un programa)
Problema : Se quiere determinarel costo de
alfombrar un rea rectngular.
Anlisis :
Entrada: 1. Dimensiones(pies )
2. Costo por pie cuadrado
Salida :
Costo de alfombrar

Ejemplo:(Diseno de un programa)
Algoritmo:
1. Obtener dimensiones
obtener largo
obtener ancho
Obtener costo por pie cuadrado
2. Calcular costo
Calcular rea = ancho x largo
Calcular costo = rea x costo_por_pie_cuadrado
3. Mostrar los resultados

Mdulos

Calcular Costo
Costo por pie cuadrdo

Hacer el clculo de costo

Obtener dimensiones

Mostrar los resultado

Calcular rea

//Nombre
//fecha
//Seccin
//El propsito de este programa es calcular el costo de alfombrar un rea
rectangular.

#include<iostream.h>
int main()
{
int largo, ancho, costo_por_pie_cuadrado;
int area, costo;
cout << Oprima retrun despues de entrar u nmero\n;

GRACIAS

Mg. Flix Pucuhuayla Revatta

Potrebbero piacerti anche