Anda di halaman 1dari 11

Unidad 1.

Introducción a la Arquitectura de Computadoras

1. Introducción a la Arquitectura de Computadores

La arquitectura de computadoras es el diseño conceptual y la estructura operacional


fundamental de un sistema que conforma una computadora. Es decir, es un modelo y una
descripción funcional de los requerimientos y las implementaciones de diseño para varias partes
de una computadora, con especial interés en la forma en que la unidad central de proceso (CPU)
trabaja internamente y accede a las direcciones de memoria.

La arquitectura de una computadora explica la situación de sus componentes y permite


determinar las posibilidades de un sistema informático, con una determinada configuración,
pueda realizar las operaciones para las que se va a utilizar. La arquitectura básica de cualquier
ordenador completo está formada por solo 5 componentes básicos: procesador, memoria RAM,
disco duro, dispositivos de entrada/salida y software.

1.1 Conceptos Iniciales de la Arquitectura de Computadores

Un computador es un sistema secuencial síncrono complejo que procesa información, esta se


trata de información binaria, utilizando solamente los dígitos de valores lógicos ‘1’ y ‘0’. Estos
valores lógicos binarios se corresponden con valores de tensión eléctrica, de manera que un ‘1’
lógico corresponde a un nivel alto a 5 voltios y un ‘0’ lógico corresponde a un nivel bajo de
tensión cercano a 0 voltios; estos voltajes dependen de la tecnología que utilicen los dispositivos
del computador.

1.1.1 Procesador

Es el cerebro del sistema, encargado de procesar todos los datos e informaciones. A pesar
de que es un dispositivo muy sofisticado no puede llegar a hacer nada por sí solo. Para hacer
funcionar a este necesitamos algunos componentes más como lo son memorias, unidades de
disco, dispositivos de entrada/salida y los programas. El procesador o núcleo central está
formado por millones de transistores y componentes electrónicos de un tamaño microscópico.
El procesamiento de las tareas o eventos que este realiza va en función de los nanosegundos,
haciendo que los miles de transistores que contiene este trabajen en el orden de los MHz. La
información binaria se introduce mediante dispositivos periféricos que sirven de interfaz entre
el mundo exterior con el usuario. Estos periféricos lo que van a hacer será traducir la información
que el usuario introduce en señales eléctricas, que serán interpretadas como unos y ceros, los
cuales son interpretados de una manera más rápida por la computadora, ya que el lenguaje
maquina utiliza el código binario para ser interpretado por el computador.

Un sistema jerárquico es un conjunto de sistemas interrelacionados, cada uno de los


cuales se organiza de manera jerárquica, uno tras otro, hasta que alcanza el nivel más bajo de
subsistema elemental. Una posible clasificación seria:

1. Nivel de Componente. Los elementos de este nivel son difusiones de impurezas tipo P y de
tipo N en silicio, polisilicio cristalino y difusiones de metal que sirven para construir los
transistores.

2. Nivel Electrónico. Los componentes son transistores, resistencias, condensadores y diodos


construidos con las difusiones del nivel anterior. Esta tecnología de muy alta escala de
integración o VLSI es la que se utiliza en la fabricación de circuitos integrados. En este nivel se
construyen las puertas lógicas a partir de transistores.

3. Nivel Digital. Se describe mediante unos y ceros son las puertas lógicas, biestables y otros
módulos tanto combinacionales como secuenciales. Este nivel es la aplicación del algebra
booleana y las propiedades de la lógica digital.

4. Nivel RTL. El nivel de transferencia de registros RTL será el preferido para la descripción de
los computadores. Elementos típicos en este nivel de abstracción son los registros y módulos
combinacionales aritméticos.

5. Nivel PMS. Este nivel es el más alto de la jerarquía. Las siglas PMS provienen del ingles
Processor Memory Switch. Con elementos de jerarquía los buses, memorias, procesadores y
otros módulos de alto nivel.

1.2 Arquitectura Clásica de un Computador Modelo Von Neumann

La arquitectura Von Neumann tiene sus orígenes en el trabajo del matemático John Von
Neumann desarrollado con John Mauchly y John P. Eckert y divulgado en 1945 en la Moore
School de la Universidad de Pensilvania, Estados Unidos, en el que se presentaba e EDVAC (
Electronic Discrete Variable Automatic Computer). De aquí surgió la arquitectura del programa
almacena en memoria y búsqueda/ejecución secuencial de instrucciones. En términos generales
una computadora tiene que realizar 3 funciones:

ü Procesamiento de Datos

ü Almacenamiento de Datos

ü Transferencia de Datos

Tal que un PC (Personal Computer) debe procesar datos, transformando la información recibida,
de igual forma tiene que almacenar datos, como resultado final de estas. También debe de
realizar transferencia de datos entre su entorno y el mismo. La arquitectura de un computador
hace referencia a la organización de sus elementos en módulos con una funcionabilidad definida
y a la iteración entre ellos. En el esquema de la Figura 1.1 se muestra la estructura básica de Von
Neumann que debe llevar una computadora para su correcta operación.

FIGURA 1.1: ESTRUCTURA BÁSICA DE UNA COMPUTADORA.


· CPU (por el acrónimo en inglés de central processing unit) : La unidad central de proceso
es el corazón del computador. Controla el flujo de datos, los procesa, y gobierna el
secuenciamiento de las acciones en todo el sistema. Para ello necesita un oscilador externo o
reloj que sincroniza las operaciones y marca la velocidad de proceso, este va marcando la
evolución del CPU y mide su velocidad de funcionamiento; en forma no afortunada la frecuencia
del reloj del CPU viene limitada por la tecnología del CPU y del computador completo ya
dependiendo de los periféricos, sus tarjetas graficas, memorias, etc. Por lo tanto, el uso excesivo
de los recursos que tenga la computadora puede resultar un sobrecalentamiento que deteriore
parcial o totalmente la CPU.

· Memoria: es la responsable del almacenamiento de datos.

· Entrada/Salida: transfiere datos entre el entorno exterior y el computador. En él se


encuentran los controladores de periféricos que forman la interfaz entre los periféricos, la
memoria y el procesador.

· Sistema de interconexión: Buses; es el mecanismo que permite el flujo de datos entre la


CPU, la memoria y los módulos de entrada/salida. Aquí se propagan las señales eléctricas que
son interpretadas como unos y ceros lógicos.

· Periféricos: estos dispositivos son los que permiten la entrada de datos al computador, y
la salida de información una vez procesada. Un grupo de periféricos puede entenderse como un
conjunto de transductores entre la información física externa y la información binaria
interpretable por el computador. Ejemplos de estos dispositivos son el teclado, el monitor, el
ratón, el disco duro y las tarjetas de red.

1.2.1 Unidad Central de Procesamiento

Controla el funcionamiento de los elementos de un computador. Desde que el sistema es


alimentado por una corriente, este no deja de procesar información hasta que se corta dicha
alimentación. La CPU es la parte más importante del procesador, debido a que es utilizado para
realizar todas las operaciones y cálculos del computador. La CPU tiene a su vez otra estructura
interna que se muestra en la Figura 1.2.

FIGURA 1.2: ESTRUCTURA DE LA CPU Y SU CONEXIÓN CON LA MEMORIA.


· Unidad de Control (UC): La unidad de control se encarga de leer de la memoria las
instrucciones que debe de ejecutar y de secuenciar el acceso a los datos y operaciones a realizar
por la unidad de proceso. La UC genera las señales de control que establecen el flujo de datos
en todo el computador e interno en la CPU. Una instrucción no es más que una combinación de
unos y ceros. Consta de un código de operaciones binarias para ejecutar la instrucción, la UC la
almacena en un registro especial, interpreta su código de operación y ejecuta la secuencia de
acciones adecuada, en pocas palabras decodifica la instrucción.

· Unidad Aritmética Lógica o ALU (por su acrónimo en ingles Arithmetic Logic Unit): Es la
parte de la CPU encargada de realizar las transformaciones de los datos. Gobernada por la UC,
la ALU consta de una serie de módulos que realizan operaciones aritméticas y lógicas. La UC se
encarga de seleccionar la operación a realizar habilitando los caminos de datos entre los diversos
operadores de la ALU y entre los registros internos.

· Registros Internos: el almacenamiento de los resultados a la ejecución de las instrucciones


en la memoria principal podría ser lento y excesivamente tendría muchos datos en el sistema
de interconexión con la memoria, con lo que el rendimiento bajaría. De la misma manera
también se almacenan en registros internos la configuración interna del CPU o la información
durante la última operación de la ALU. Los principales registros de un CPU son:

1. Contador de programa.- se encarga de almacenar la dirección de la siguiente instrucción a


ejecutar.

2. Registro de Instrucción.- se almacena la instrucción capturado en memoria y la que se está


ejecutando.

3. Registro de Estado.- compuesto por una serie de bits que informan el resultado obtenido
en la última operación de la ALU.

4. Registro Acumulador.- algunos CPU’s realizan operaciones aritméticas en un registro


llamado acumulador, su función es la de almacenar los resultados de las operaciones aritméticas
y lógicas.

El ciclo para ejecutar cualquier instrucción se divide en ciclo de búsqueda y ciclo de


instrucción como es ilustrado en el esquema de la Figura 1.3 . El primero hace que el CPU genere
señales adecuadas para acceder a la memoria y leer la instrucción; el segundo es similar; la
diferencia entre los dos es el código de operación de cada instrucción.

FIGURA 1.3: CICLOS DE LA MAQUINA VON NEUMANN


1.2.2 Memoria

En la memoria se almacena el programa y los datos que va a ejecutar el CPU. Las


instrucciones son códigos binarios interpretados por la unidad de control, los datos de igual
manera se almacenan de forma binaria.

Las diversas tecnologías de almacenamiento, dependen del tiempo de acceso a los datos;
por lo tanto se realiza un diseño jerárquico de la memoria del sistema para que esta pueda
acceder rápidamente a los datos. El principio de que sea más rápida la memoria haciendo que
tenga velocidades similares al CPU, sirve para diseñar el sistema de memoria. La memoria
principal de los computadores tiene una estructura similar a la mostrada en el esquema de la
Figura 1.4. Se considera como una matriz de celdas en la que la memoria puede acceder a los
datos aleatoriamente.

FIGURA 1.4: ESQUEMA DE UNA MEMORIA DE ACCESO ALEATORIO.

Dicha matriz está organizada en palabras, cada una de las cuales tiene asignada una
dirección que indica su posición. Cada palabra está formada por una serie de celdas a las que se
accede en paralelo; en cada una se almacena un bit y estos son los que definen las instrucciones.

1.2.3 Entrada/Salida

Como sabemos una computadora tiene dispositivos de entrada y salida como son los que
contiene el gabinete, disco duro, placa madre, unidades de CD o DVD, etc. El problema principal
que existe entre ellos es su tecnología y que tienen características diferentes a los del CPU, estos
también necesitan una interfaz de cómo se van a entender con el CPU, al igual que el procesador
y el controlador periférico para intercambiar datos entre la computadora.

En la Figura 1.5 se muestra como cada control de periférico tiene una dirección única en
el sistema. La interfaz de E/S decodifica el bus de direcciones para detectar que el CPU se dirige
a él. El direccionamiento es muy similar a la de las memorias. El bus de datos se utiliza para el
paso de datos entre el periférico y la memoria. Las líneas especiales de control sirven para
coordinar y sincronizar la transferencia.

FIGURA 1.5: ESQUEMA DE UNA INTERFAZ DE ENTRADA/SALIDA.

1.2.4 Sistema de Interconexión: Buses.

La conexión de los diversos componentes de una computadora, tales como discos duros,
tarjetas madres, unidades de CD, teclados, ratones, etc. se efectúan a través de los buses. Un
bus se define como un enlace de comunicación compartido que usa múltiples cables para
conectar subsistemas. Cada línea es capaz de transmitir una tensión eléctrica que representa un
‘1’ o un ‘0’. Cuando hay varios dispositivos en el mismo bus, habrá uno que podrá enviar una
señal que será procesada por los demás módulos. Si se mandan los datos al mismo tiempo
marcara un error o una contención del bus, por lo que el acceso estará denegado. Según si
criterio de funcionabilidad los buses se dividen en:

· Buses de datos: es el que se utiliza para transmitir datos entre los diferentes dispositivos
del computador.

· Buses de Direcciones: sirve para indicar la posición del dato que se requiere acceder.

· Bus de Control: sirven para seleccionar al emisor y al receptor en una transacción del bus.

· Bus de alimentación: sirve para proporcionar a los dispositivos voltajes distintos.

1.2.5 Periféricos.

Se entenderán todos aquellos dispositivos que son necesarios para suministrar datos a
la computadora o visualizar los resultados. Los periféricos se conectan mediante un bus especial
a su controlador o al modulo de E/S.

Entre los periféricos de entrada tenemos al teclado, ratones, pantallas, digitalizadoras


y más. Otros dispositivos periféricos fundamentales para la interacción del hombre con la
computadora son las terminales de video y las tarjetas graficas.
1.3 Tecnología de los computadores.

Las tendencias tecnológicas van avanzando con el paso del tiempo, así mismo en
términos informáticos y de electrónica van saliendo circuitos integrados digitales más veloces,
lo cual también va ligado en términos monetarios altos, las actualizaciones de un sistema de
computo sale relativamente costoso dependiendo de las características de la tecnología que se
le este implementando. Los circuitos integrados como sabemos hoy en día estos se van haciendo
aun más pequeños ya que existen muchos avances en la tecnología en las ciencias de la
miniaturización como son la micro y nanotecnología que estos ocupan, ya que los dispositivos
que antes eran enormes y ocupaban el tamaño de una habitación ahora son tan pequeños que
pueden caber en la palma de nuestras manos. Lo que implica que los sistemas avancen son los
siguientes términos:

· Tecnología: los transistores utilizados por los dispositivos de un computador son los
llamados transistores de unión bipolar o BJT que estos a su vez generaron familias tecnológicas
como lo son los TTL. Esta tecnología ha tenido como ventajas su facilidad para suministrar
corriente y su rapidez, apareciendo como desventaja su alto consumo de energía en
comparación con los CMOS; esta segunda tecnología se basa en la utilización de transistores de
efecto de campo, es elegida actualmente para fabricar la mayoría de los CPU’s. otra tecnología
como la BiCMOS combina en un solo proceso tecnológico de transistores BJT y CMOS tratando
de combinar las ventajas de ambos.

· Velocidad: hace referencia al tiempo de respuesta y los retrasos inevitables que aparecen
en su funcionamiento. Esto hace que los CI más sencillos dependan de la tecnología utilizada. El
problema de la velocidad estribara en que la ejecución paralela requerirá más circuitería y el
circuito seria mayor.

· Escala de Integración: los CIs (Circuitos Integrados) CMOS se construyen a partir de la


litografía que se aplican mascaras que proyectan las siluetas de los polígonos que forman a los
transistores. Se trata la oblea químicamente y en las diferentes fusiones se hacen los
transistores; estos se dividen en segmentos que pueden alcanzar a las micras de tamaño. Cuanto
mejor y preciso sea el proceso de la creación de las difusiones, los tamaños serán menores, y
por tanto en una misma superficie de silicio se podría incluir más lógica.

· Tamaño: depende de la fabricación del CI ya sea sencillo o que tan complejo pueda ser
este para las operaciones para la cual fue programado.

1.3.1 Circuitos de Memoria.

El almacenamiento de la información se hace a través de dispositivos de memoria que


almacenan la información de forma binaria para después tener la posibilidad de recuperar
dichos datos. Estos contribuyen una jerarquía en la que están más cerca de la CPU los
dispositivos más rápidos y en niveles más alejados los dispositivos más lentos. Los parámetros
más importantes para medir los circuitos de memoria son:

· Tiempo de Acceso: es el tiempo necesario para poder recuperar la información de los


dispositivos de memoria.
· Densidad de información: depende de la tecnología utilizada ya que ocupan un espacio
distinto por cada bit de información.

· Volatilidad: se refiere a la pérdida de información si no se mantiene en alimentación al


circuito, esta información debe de recuperarse de forma automática cuando se conecte de
nuevo la alimentación y comience el funcionamiento de la computadora.

a) RAM estática asíncrona.

Es una memoria volátil, de acceso rápido que puede almacenar y leer información su
característica es que la hace ideal para ser memoria principal en los ordenadores, la celda de
almacenamiento de la SRAM contiene 4 transistores MOS que almacenan 1 y 0 mientras se
mantenga la alimentación del circuito.

b) RAM estática síncrona

Utiliza la misma tecnología que las SRAM, con lo que son volátiles y de rápido acceso.
La diferencia es que existe una señal de reloj que sincroniza el proceso de lectura y escritura. Las
memorias cache externas de algunos microprocesadores son de este tipo para facilitar el acceso
de datos en modo ráfaga y acelerar el proceso de acceso a bloques de memoria.

c) RAM Dinámica.

La DRAM tiene capacidades que accede con un solo transistor, en vez de celdas con
varios transistores. El problema es que las capacidades se descargan mediante la corriente de
pérdidas de transistores y aparte son lentas comparadas con la SRAM; tienen una estructura de
forma de matriz, estando multiplexadas las direcciones en forma de filas y columnas, tienen
modos de acceso más rápido en lo que suministra la parte alta de dirección; este modo de acceso
se denomina modo pagina y acelera el acceso al no tener que suministrar para cada acceso la
dirección de página completa.

d) Memorias ROM

Las memorias de solo lectura una vez que han sido escritas o programadas solo se
puede leer el contenido de las celdas, se suelen utilizar para almacenar el código que permite
arrancar a los sistemas; estas se fabrican para aplicaciones masivas con mascaras de silicio. Hay
3 tips de memorias ROM que pueden ser programadas en el laboratorio, algunas pueden ser
borradas.

· Memoria PROM: son memorias ROM programables eléctricamente mediante un


programador especial que genera picos de alta tensión, que funden físicamente unos fusibles
grabando en el dispositivo de forma permanente. Tienen el inconveniente que no pueden ser
borradas y para su lectura requieren una tarjeta especial.

· Memoria EPROM: se programan también con un dispositivo de programación conectado


al ordenador la diferencia con la PROM es que estas si se pueden borrar; se realiza mediante
rayos UV, para que suceda esto las EPROM tienen una ventana de cuarzo pequeña transparente
en la cual se hace la exposición de la matriz de celdas como se muestra en la figura 1.6. Una vez
programadas se tiene que etiquetar esta ventana para evitar que sea borrada accidentalmente.
FIGURA 1.6 MEMORIA EPROM

· Memoria EEPROM: son memorias programables y borrables mediante un dispositivo


especial que se conectara al ordenador.

e) Memoria FLASH

Son memorias que tienen un comportamiento igual a una SRAM, pero en su escritura
es diferente, deben ser primero borradas y después escritas; este tipo de memorias tienen
internamente un registro de instrucción y una maquina de estados que genera las señales
necesarias para borrar/escribir en un bloque o en toda la memoria.

La memoria se divide en varias capas o niveles con una estructura cuya forma puede recordarnos
a una estructura piramidal. La tabla 1.1 que se muestra a continuación nos muestra el tamaño
máximo y mínimo que pueden presentarnos las memorias flash, así como el tiempo que tardan
al accesar a la información.

Nombre Tamaño Máximo Tiempo de Acceso

Registros Hasta 200 Bytes Menos de 10 Nanosegundos

Memoria Caché Hasta 512 Bytes Entre 10 y 30 Nanosegundos

Memoria Principal Más de 1 Gigabyte Entre 30 y 100 Nanosegundos

Tabla 1.1. Capas en la que se divide la memoria.

1.4 La Mejor Configuración.

Lo primero que debemos de tomar en cuenta para la configuración de nuestro equipo


es para que va a ser destinado, es decir, que programas serán utilizados en el. Por ejemplo un
PC utilizado en una oficina ocupa Word, Excel e Internet, no necesita tener un procesador
poderoso, pero es indispensable proporcionarlo de una buena memoria RAM y un disco duro
rápido en cuanto a lectura y escritura de datos. En cambio cuando una computadora es
destinada para aplicaciones pesadas o para juegos con gráficos tridimensionales, lo principal es
tener un procesador rápido combinado con una buena y rápida tarjeta de gráficos.

1.4.1 La Placa Base


Es el componente principal, por lo tanto este se tiene que escoger con el más sumo
cuidado para que el ordenador tenga una calidad excelente al igual que su rendimiento en la
ejecución de tareas. Al comprar la placa base debemos ver qué tipo de procesador soporta, si
posee slots de expansión suficientes para los periféricos que deseemos instalar. Una placa se
confecciona usando una técnica llamada MPCB( Multiple Layer Contact Board), que consiste en
varias placas apiladas como si fueran una; este tipo de placas deben ser fabricadas de forma
minuciosa, pues un mínimo error en la posición de las pistas, haría que sufriese interferencias y
convertirán a la placa en inestable. La calidad de las placas no depende precisamente de la marca
pero si nos debemos cerciorar de la marca que estamos adquiriendo, ya que, para encontrar
controladores de los dispositivos de dicha placa será más fácil entrando a la página del
fabricante.

1.4.2 Memoria RAM

Si la computadora tiene poca memoria RAM, nuestro sistema deberá utilizar nuestro
disco duro para almacenar aquellos programas que no caben en RAM esta es la llamada
Memoria Virtual; la cual por sobrecarga puede llegar a volver muy lento nuestro sistema. Por
otro lado, al instalar mas memoria RAM será un desperdicio pues no hará al sistema más rápido
se notara que se debe instalar más cuando el sistema se encuentre lento. Por ejemplo si se
trabaja con aplicaciones sencillas de oficina la mínima de RAM a ocupar seria de 64MB, pero lo
ideal sería 128MB; si se mantienen programas al mismo tiempo con 256MB es suficiente ya que
en si el uso de memoria RAM en la actualidad también depende de nuestro Sistema Operativo
ya que al pasar los años estos van evolucionando de forma creciente ocupando aplicaciones más
complejas por lo cual se necesita más RAM. Cuanta más memoria RAM el PC se mantendrá más
rápido por más tiempo ya que con el paso del tiempo hay aplicaciones más complejas y estas
hacen que el sistema sea más sofisticado.

1.4.3 Procesador

Depende para que se va a utilizar la computadora por ejemplo si esta será utilizada
para juegos valdría la pena invertir en un procesador como un Athlon o Pentium 4. Si es para
aplicaciones pequeñas con que tenga suficiente RAM es más que suficiente un procesador
Duron.

1.4.4 Disco Duro

Es importante saber el tiempo de acceso, la velocidad de rotación y la densidad del


disco duro. El tiempo de acceso determina cuanto tiempo tarda el cabezal de lectura en
encontrar el dato que debe leerse. La velocidad de rotación se mide en rpm, revoluciones por
minuto. La densidad o cantidad de datos que caben en cada disco duro, también determina su
rendimiento, pues los datos estarán más expuestos entre sí, serán localizados más rápidamente.

1.4.5 Tarjeta Grafica

Existen tarjetas de 2D y 3D. También existen tarjetas aceleradoras de 3D que deben


usarse con una tarjeta de 2D común. También existen las tarjetas graficas “combo”, que realizan
funciones de 2D y 3D. Al día de hoy, incluso las tarjetas graficas on board (se refiere a dispositivos
que vienen integrados en la placa madre) vienen con recursos 3D, aunque su rendimiento no se
compara en lo absoluto con el de una tarjeta grafica de calidad.

1.4.6 Tarjeta de Sonido


No tiene ninguna influencia con el rendimiento del equipo, solamente determina la
calidad de audio. Para uso normal, se utilizan las Sound Blaster generalmente con chipsets
Yamaha. Las tarjetas de sonido más caras marcan la diferencia si pretendemos trabajar en la
edición musical, o queremos oír música MIDI en máxima calidad. También existen las tarjetas de
sonido 3D, como la Sound Blaster Live, que generan sonidos que parecen venir de todas
direcciones. Este efecto es muy utilizado en teatros en casa, para escuchar el sonido de forma
más real.

1.5 Ampliaciones y Actualizaciones.

Realizar una ampliación significa cambiar algunos componentes de un equipo ya viejo


a fin de mejorar su rendimiento. Sin embargo, muchas veces, el equipo es tan viejo que sería
necesario cambiar casi todos los componentes para conseguir un rendimiento aceptable; en
este caso sería mejor comprar un equipo nuevo con las actualizaciones más recientes para un
rendimiento óptimo. El secreto de realizar una buena actualización es detectar los “puntos
débiles” de la configuración, los componentes para conseguir alcanzar un rendimiento aceptable
con el conjunto de los demás. Aparte hay que saber escoger los componentes en relación a la
calidad. Cabe mencionar que no es necesario comprar un equipo anticuado para hacer una
actualización que bien valga la pena porque si el equipo está muy anticuado lo mejor es comprar
uno nuevo con las actualizaciones que satisfagan las necesidades que requiere en ese momento
el usuario y así poder tener un equipo de vanguardia y bien actualizado.

Anda mungkin juga menyukai