You are on page 1of 5

Original

The early microcomputers had limited power, but there are many tasks which are
satisfied by this limited power. More recently, the technology has advanced to the point
where microprocessors have achieved very substantial computer power. What we
attempt to do is to look at these processors from a software point of view, since we are
not interested in the hardware level design.
The challenge for describing what a programmer needs to know about the architectural
features of microprocessors. Until recently, microprocessors development has shown a
trend to even more complex hardware, including specialized features intended to
support the use of high-level languages and operating systems. As VLSI techniques
have allowed architects to pack more transistors on a chip.
It looked for a while as though the microprocessor products of Intel and Motorola would
dominate the market place in high performance personal computers. However,
requirements for ever increasing performance, combined with continuing work in design
and implementation of microprocessor architectures, has recently lead to an explosion
of alternative architectures. These alternative architectures are based on new concept of
microprocessor design.
One of the distinguishing characteristics of microprocessor is that it is usually
implemented in VLSI. This means that the complete machinery of the computer is
present on a single chip, or possibly a very small number of chips.
When experienced programmers open up a manual describing a new microprocessor
for the very first time, there are certain questions that they have learned to ask: What is
the register structure like? What data types are supported by the machine? Are there
any interesting or unusual instructions? Does it support tasking or virtual memory? How
are interrupts handled?
Three common places to jump in an look at a new microprocessor are the register set,
the instruction set and the addressing modes. These aspects of a computer architecture
are particularly important to assembly language programmers and compiler writers, who
must understand this part of the processor perfectly in order to take advantage of the
machine. Ideally, high-level language programmers need to know nothing about the
inner workings of a processor for which their programs are compiled.
In addition to the user or applications view of a microprocessor, an operating system
designer must understand those features of the processor that are intended for
implementing system tasks, including:
 Tasking and process management. These issues have to do with the support
provided in the hardware that allows two or more tasks with separate threads of
control to execute on the processor as if each of them were executing
simultaneously.
 Memory management and cache control. These issues have to do with how an
operating system controls a task's use of memory. Most microprocessor have
hardware support for virtual memory, allowing a task's addressable memory to be
larger than the real memory on a machine, as well as allowing several tasks to
share that memory.
 Exceptions (traps and interrupts). Exceptions are events that cause the normal
execution of a program to be interrupted. The can occur due to an internal event
as an attempt to to divide by zero (a trap), or due to an external event such as a
keyboard stroke (an interrupt).
 Coprocessor and floating-point unit support. The ability to perform floating-point
computations in hardware is particularly important given the fact that
microprocessor are commonly used to build workstations for scientific and
engineering use.

Two of the major issues in the design of an architecture area are the register structure of
the machine and the set of addressing modes provided by the hardware. Deciding on
structure of the register set generally involves deciding how many registers a processor
should have, and the degree to which any or all of the registers should have specialized
functions. In the design of a set of addressing modes, the designer must decide which
particular addressing modes will be useful, and how they will be specified in the
instruction, both of these issues have a significant impact on the final design on the
instruction formats of a machine.
The number of registers which are to be included on a machine is a fundamental
parameter that has a significant effect on the instruction formats of a processor. The
trade-off is very simple: the more registers there are, the more bits are required in the
instruction format to reference those registers.
The term general register was first used in conjunction with the IBM 360 architecture,
referring to a register that can all be used in identical ways (p. 6).
In choosing a set of addressing modes the issues of complexity versus utility arise just
as in the case of register size (p. 7).

Traducción
Los primeros microordenadores tenían un poder limitado, pero hay muchas tareas que
se satisfacen con este poder limitado. Más recientemente, la tecnología ha avanzado
hasta el punto en que los microprocesadores han logrado una potencia de computadora
muy sustancial. Lo que intentamos hacer es mirar estos procesadores desde el punto
de vista del software, ya que no estamos interesados en el diseño a nivel de hardware.
El desafío para describir lo que un programador necesita saber sobre las características
arquitectónicas de los microprocesadores. Hasta hace poco, el desarrollo de
microprocesadores ha mostrado una tendencia hacia un hardware aún más complejo,
incluidas características especializadas destinadas a fomentar el uso de lenguajes y
sistemas operativos de alto nivel. Como las técnicas VLSI han permitido a los
arquitectos empacar más transistores en un chip.
Durante un tiempo pareció que los productos de microprocesador de Intel y Motorola
dominarían el mercado de las computadoras personales de alto rendimiento. Sin
embargo, los requisitos para un rendimiento cada vez mayor, combinado con el trabajo
continuo en el diseño y la implementación de arquitecturas de microprocesador,
recientemente han llevado a una explosión de arquitecturas alternativas. Estas
arquitecturas alternativas se basan en un nuevo concepto de diseño de
microprocesador.
Una de las características distintivas del microprocesador es que generalmente se
implementa en VLSI. Esto significa que la maquinaria completa de la computadora está
presente en un solo chip, o posiblemente en un número muy pequeño de chips.
Cuando los programadores experimentados abren un manual que describe un nuevo
microprocesador por primera vez, hay ciertas preguntas que han aprendido a hacer:
¿Cómo es la estructura del registro? ¿Qué tipos de datos son compatibles con la
máquina? ¿Hay alguna instrucción interesante o inusual? ¿Soporta tareas o memoria
virtual? ¿Cómo se manejan las interrupciones?
Tres lugares comunes para ver un nuevo microprocesador son el conjunto de registros,
el conjunto de instrucciones y los modos de direccionamiento. Estos aspectos de la
arquitectura de una computadora son particularmente importantes para los
programadores de lenguaje ensamblador y los escritores de compiladores, que deben
comprender esta parte del procesador perfectamente para aprovechar la máquina.
Idealmente, los programadores de lenguaje de alto nivel no necesitan saber nada sobre
el funcionamiento interno de un procesador para el cual se compilan sus programas.
Además de la vista del usuario o las aplicaciones de un microprocesador, el diseñador
de un sistema operativo debe comprender las características del procesador destinadas
a implementar tareas del sistema, que incluyen:
 Tareas y gestión de procesos. Estos problemas tienen que ver con el soporte
proporcionado en el hardware que permite que dos o más tareas con hilos de
control separados se ejecuten en el procesador como si cada una de ellas se
ejecutara simultáneamente.
 Gestión de memoria y control de caché. Estos problemas tienen que ver con
cómo un sistema operativo controla el uso de memoria de una tarea. La mayoría
de los microprocesadores tienen soporte de hardware para memoria virtual, lo
que permite que la memoria direccionable de una tarea sea más grande que la
memoria real en una máquina, así como también permite que varias tareas
compartan esa memoria.
 Excepciones (trampas e interrupciones). Las excepciones son evnets que
provocan la interrupción de la ejecución normal de un programa. Esto puede
ocurrir debido a un evento interno como un intento de dividir por cero (una
trampa) o debido a un evento externo como un golpe de teclado (una
interrupción).
 Coprocesador y soporte de unidad de punto flotante. La capacidad de realizar
cálculos de punto flotante en hardware es particularmente importante dado el
hecho de que los microprocesadores se usan comúnmente para construir
estaciones de trabajo para uso científico y de ingeniería.

Dos de los principales problemas en el diseño de un área de arquitectura son la


estructura de registro de la máquina y el conjunto de modos de direccionamiento
proporcionados por el hardware. Decidir sobre la estructura del conjunto de registros
generalmente implica decidir cuántos registros debe tener un procesador y el grado en
que cualquiera o todos los registros deben tener funciones especializadas. En el diseño
de un conjunto de modos de direccionamiento, el diseñador debe decidir qué modos de
direccionamiento particulares serán útiles y cómo se especificarán en la instrucción,
ambos problemas tienen un impacto significativo en el diseño final en los formatos de
instrucción de una máquina.
El número de registros que se incluirán en una máquina es un parámetro fundamental
que tiene un efecto significativo en los formatos de instrucciones de un procesador. La
compensación es muy simple: cuantos más registros haya, más bits se requieren en el
formato de instrucción para hacer referencia a esos registros.
El término registro general se usó primero junto con la arquitectura IBM 360,
refiriéndose a un registro que se puede usar de manera idéntica (p. 6).
Al elegir un conjunto de modos de direccionamiento, surgen problemas de complejidad
versus utilidad, como en el caso del tamaño del registro (p. 7).

You might also like