Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Chapter 1 - Computer Technology: Classes of Computers

Download as odt, pdf, or txt
Download as odt, pdf, or txt
You are on page 1of 8

AC José G.

Domínguez

Chapter 1 | Computer Technology

Classes of computers
Desktop Computers: designed to deliver good performance to a single user at a low cost usually
executing a 3º party software, usually incorporating a graphics display, a keyboard, a mouse…
Servers: used to run larger programs for multiple, simultaneous users, typically accessed only via a
network and a that places a greater emphasis on dependability* and often, security.
Supercomputers: A high performance, high cost class of server with hundreds to thousands of
processors, terabytes of memory and petabytes* of storage that are used for high-end scientific and
engineering applications. These computer can perform over 100 petaFLOPS and current computers
work at tens of teraFLOPS, so around 10000 times faster.
Embedded computers: A computer inside another device used to run a specific application. They
are the largest class of computer spanning* the widest range of applications and performance. They
can be found in electric appliances, touching pads, security cameras… Theses computers are usually
found inside larger systems, machines or devices and they are expected to complete a specific task
over and over for a long time with an assured dependability. Since they perform the same action
thousands of times, they can be designed in an efficient way, other main features are low- energy
consumption and cheap production.

Figura 1: IBM Blue Figura 2:


Gene/P supercomputer Embedded
computers

Below the program


An Operating System is a software that facilitates the use of a computer system, it constitutes the
interface between users and system applications, it also provides an environment that simplifies the
development and operation of these applications. Some tasks performed by this software are:
• Handle basic input and output operations.
• Allocate storage and memory.
• Provides for protected sharing among multiple applications.

Dependability = fiabilidad petabyte = 2^50 bytes or 2^10 terabytes


To span = abarcar
AC José G. Domínguez

Compiler
It translates programs written in high-level language (java, c…) into instructions that the hardware
can execute.

Advantages of higher-level languages


It allows to to think in a more natural language and it improves the programmer productivity,
since it a more understandable code that it is easier to debug and validate. It also improves the
program maintainability and it allows programs to be independent from the computers on which
they are developed (compilers and assemblers can convert high-level languages to binary
instructions of any machine).
The emergence of optimizing compilers that can produce very efficient assembly code for target
machines has led to the decreasing of programming at assembler level.

Under the Covers


The 5 classic components of a computer: input, output, control, datapath and memory. The datapath
and control unit are said to make up the processor.
The datapath is a collection of data units such as arithmetic logic units or multipliers that perform
data processing operations, buses and registers. The datapath can be called ALU.
The control unit is a component of the processor that directs the operation to the processor. It
typically uses a binary decoder to convert coded instructions into timing and control signals.

CPU specifications
AC José G. Domínguez

Clock speed: A processor’s clock speed refers to the number of clock cycles that are performed
every second. The higher the clock speed the more tasks the processor can complete in a period of
time.

Core count: A core is basically a microprocessor inside the CPU. The more cores a processor has,
the faster it can handle multiple-processes which is important for multi-tasking and heavy work
loads.

Threads: <<SO>>A thread is the smallest execution sequence of programmed instructions that can
be managed independently by a scheduler and it’s a component of the process. Multiple threads of a
given process could be executed concurrently, sharing resources such as memory and executable
code.<<SO>>
They represent the number of virtual cores a processor can simulate. As said before, more cores and
more threads, more efficiency at dividing its processing power among different tasks.

L caches: most computers have 3 L caches to store data necessary to perform tasks. They are
named as L1, L2… with the capacity of increasing capacity within each level. If the data processor
needs can’t be found at L1, then it seeks this data from the cache L2 and so on. They are the fastest
places a processor can access data.

Instruction Set Architecture | ISA


The abstract interface between the hardware and the lowest level software that encompasses*
all the necessary information to write a machine language program including instructions, registers,
memory access, I/O… It enables implementations of varying cost and performance to run identical
software.
The CPU doesn’t just receive data, it also receive instructions that tells the processor what to do
with that data. CPU can have an instruction set bigger or smaller than others ( computer ISA >
calculator ISA), 2 computer might havef similar size ISA but different code for an specific
instruction ( PCA: sum 3 and 4 → 1010111, PCB → 1110011).
A Huawei phone and an Iphone have almost the same ISA, but they have different ABI.
ABI stands for Application Binary Instruction, an it is the combination of the ISA and the operating
software interface.

To encompass: abarcar, incluir.


AC José G. Domínguez

Moore’s law
Gordon Moore has been many years in the Intel board.

A sea change is at hand


The goal is to double the number of cores in each chip every generation, about every 2 years.
AC José G. Domínguez

Performance metrics

Throughput vs Response Time


There are performance metrics for desktop computers, embedded systems and servers.
Having a better CPU doesn’t mean that you are going to have a better performance always.

Speed performance

Relative Performance

Performance factors

Machine clock rate

Improving performance
The problem in this slide says that computer B need 1.2 times more cycles to run the program than
computer A, why is that? Why not 1.3 or 1.4? Well, the number of cycles needed for a certain action
depends of the CPI (cycles per instructions) and IBA of the computer.

Using the performance Equation


AC José G. Domínguez

CPU performance
AC José G. Domínguez

Chapter 2 | Instruction Sets: The language of the computer

2.1 Instruction set

Register Operands
Intel uses a different terminology than the one we have studied in the slides.
RISC-V Registers

addw x0,x1,x2 takes the result to trash, to zero, since register x0 has
a constant value → 0.

slli x3, x3, 3


shift logical left immediate in x3 the value x3, 3 times → if you
shift to the left 3 times to the left is like multiplying by 8.

x5-x7 and x28-x31 registers are temporary.

Memory operands
There are data which are word or half words.

Logical operations

Shift Operations
AC José G. Domínguez

You might also like