part1 cso

13
Introduction The processor (CPU, for Central Processing Unit ) is the computer's brain. It allows the processing of numer ic data, meaning information entered in binary form, and the execution of instructions stored in memory. The first microprocessor (Intel 4004) was invented in 1971. It was a 4-bit calcul ation device with a speed of 108 kHz. Since then, microprocessor power has grown exponentially. So what exactly are these little pieces of silicone that run our computers? Operation The processor (called CPU, for Central Processing Unit ) is an electr onic circuit that operat es at the speed of an internal clock thanks to a quartz crystal that, when subjected to an electrical currant, send pulses, called "peaks". The clock speed (also called cycle), corresponds to the number of pulses per second, written in Hertz (Hz). Thus, a 200 MHz computer has a clock that sends 200,000,000 pulses per second. Clock frequency is generally a multiple of the system frequency (FSB, Front-Side Bus), meaning a multiple of the motherboard frequency. With each clock peak, the processor performs an action that corresponds to an instruction or a part thereof.  A meas ure cal led CPI (Cycles Per Instruction) gives a representation of the average number of clock cycles req uir ed for a mic ropr ocessor to exe cut e an instruction. A mic rop roc esso r’s pow er can thus be characterized by the number of instructions per second that it is capable of processing. MIPS(mill ions of instructions per second) is the unit used and corresponds to the processor frequency divided by the CPI . Instructions  An instruction is an elementary operation that the processor can accomplish. Instructions are stored in the main memory, waiting to be processed by the processor. An instruction has two fields: the operation code, which represents the action that the processor must execute; the operand code, which defines the parameters of the action. The operand code depends on the operation. It can be data or a memory address.

Transcript of part1 cso

Page 1: part1 cso

7/31/2019 part1 cso

http://slidepdf.com/reader/full/part1-cso 1/13

Introduction

The processor (CPU, for Central Processing Unit ) is the computer's brain. It allows the processing of 

numeric data, meaning information entered in binary form, and the execution of instructions stored in

memory.

The first microprocessor (Intel 4004) was invented in 1971. It was a 4-bit calculation device with a speed

of 108 kHz. Since then, microprocessor power has grown exponentially. So what exactly are these little

pieces of silicone that run our computers?

Operation

The processor (called CPU, for Central Processing Unit ) is an electronic circuit that operates at the speed

of an internal clock thanks to a quartz crystal that, when subjected to an electrical currant, send pulses,

called "peaks". The clock speed (also called cycle), corresponds to the number of pulses per second,

written in Hertz (Hz). Thus, a 200 MHz computer has a clock that sends 200,000,000 pulses per second.

Clock frequency is generally a multiple of the system frequency (FSB, Front-Side Bus), meaning a multiple

of the motherboard frequency.

With each clock peak, the processor performs an action that corresponds to an instruction or a part thereof.

 A measure called CPI (Cycles Per Instruction) gives a representation of the average number of clock cycles

required for a microprocessor to execute an instruction. A microprocessor’s power can thus be

characterized by the number of instructions per second that it is capable of processing. MIPS(millions of 

instructions per second) is the unit used and corresponds to the processor frequency divided by the CPI .

Instructions

 An instruction is an elementary operation that the processor can accomplish. Instructions are stored in the

main memory, waiting to be processed by the processor. An instruction has two fields:

• the operation code, which represents the action that the processor must execute;

• the operand code, which defines the parameters of the action. The operand code depends on the

operation. It can be data or a memory address.

Page 2: part1 cso

7/31/2019 part1 cso

http://slidepdf.com/reader/full/part1-cso 2/13

Operation Code Operand Field

The number of bits in an instruction varies according to the type of data (between 1 and 4 8-bit bytes).

Instructions can be grouped by category, of which the main ones are:

• Memory Access: accessing the memory or transferring data between registers.

• Arithmetic Operations: operations such as addition, subtraction, division or multiplication.

• Logic Operations: operations such as AND, OR, NOT, EXCLUSIVE NOT, etc.

• Control: sequence controls, conditional connections, etc.

Registers

When the processor executes instructions, data is temporarily stored in small, local memory locations of 8,

16, 32 or 64 bits called registers. Depending on the type of processor, the overall number of registers can

vary from about ten to many hundreds.

The main registers are:

• the accumulator register ( ACC ), which stores the results of arithmetic and logical operations;

• the status register (PSW , Processor Status Word ), which holds system status indicators (carry

digits, overflow, etc.);

• the instruction register (RI ), which contains the current instruction being processed;

• the ordinal counter (OC or PC for Program Counter ), which contains the address of the next

instruction to process;

• the buffer register , which temporarily stores data from the memory.

Cache Memory

Cache memory (also called buffer memory ) is local memory that reduces waiting times for information

stored in the RAM (Random Access Memory). In effect, the computer's main memory is slower than that of 

the processor. There are, however, types of memory that are much faster, but which have a greatly

increased cost. The solution is therefore to include this type of local memory close to the processor and to

Page 3: part1 cso

7/31/2019 part1 cso

http://slidepdf.com/reader/full/part1-cso 3/13

temporarily store the primary data to be processed in it. Recent model computers have many different

levels of cache memory:

• Level one cache memory (called L1 Cache, for Level 1 Cache) is directly integrated into the

processor. It is subdivided into two parts:

• the first part is the instruction cache, which contains instructions from the RAM that have

been decoded as they came across the pipelines.

• the second part is the data cache, which contains data from the RAM and data recently

used during processor operations.

Level 1 caches can be accessed very rapidly. Access waiting time approaches that of internal processor registers.

• Level two cache memory (called L2 Cache, for Level 2 Cache) is located in the case along with

the processor (in the chip). The level two cache is an intermediary between the processor, with its

internal cache, and the RAM. It can be accessed more rapidly than the RAM, but less rapidly than the

level one cache.

•Level three cache memory (called L3 Cache, for Level 3 Cache) is located on the motherboard.

 All these levels of cache reduce the latency time of various memory types when processing or transferringinformation. While the processor works, the level one cache controller can interface with the level twocontroller to transfer information without impeding the processor. As well, the level two cache interfaces withthe RAM (level three cache) to allow transfers without impeding normal processor operation.

Control Signals

Control signals are electronic signals that orchestrate the various processor units participating in the

execution of an instruction. Control signals are sent using an element called a sequencer . For example,

the Read / Write signal allows the memory to be told that the processor wants to read or write information.

Functional Units

The processor is made up of a group of interrelated units (or control units). Microprocessor architecture

varies considerably from one design to another, but the main elements of a microprocessor are as follows:

•  A control unit that links the incoming data, decodes it, and sends it to the execution unit:The

control unit is made up of the following elements:

• sequencer (or monitor and logic unit ) that synchronizes instruction execution with the

clock speed. It also sends control signals;

•ordinal counter that contains the address of the instruction currently being executed;

• instruction register that contains the following instruction.

•  An execution unit (or  processing unit ) that accomplishes tasks assigned to it by the instruction

unit. The execution unit is made of the following elements:

• The arithmetical and logic unit (written ALU). The ALU performs basic arithmetical

calculations and logic functions (AND, OR, EXCLUSIVE OR, etc.);

• The floating point unit (written FPU) that performs partial complex calculations which

cannot be done by the arithmetical and logic unit.

Page 4: part1 cso

7/31/2019 part1 cso

http://slidepdf.com/reader/full/part1-cso 4/13

• The status register ;

• The accumulator register .

•  A bus management unit (or input-output unit ) that manages the flow of incoming and outgoing

information and that interfaces with system RAM;

The Role of Memory

The term "memory" applies to any electronic component capable of temporarily storing data. There are two

main categories of memories:

• internal memory that temporarily memorises data while programs are running. Internal memory

uses microconductors, i.e. fast specialised electronic circuits. Internal memory corresponds to what we

callrandom access memory (RAM).

• auxiliary memory (also called physical memory or external memory ) that stores information over 

the long term, including after the computer is turned off. Auxiliary memory corresponds to magnetic

storage devices such as the hard drive, optical storage devices such as CD-ROMs and DVD-ROMs, aswell as read-only memories.

Technical Characteristics

The main characteristics of a memory are:

• Capacity, representing the global volume of information (in bits) that the memory can store

• Access time, corresponding to the time interval between the read/write request and the availability

of the data• Cycle time, representing the minimum time interval between two successive accesses

• Throughput, which defines the volume of information exchanged per unit of time, expressed in bits

per second

• Non-volatility, which characterises the ability of a memory to store data when it is not being

supplied with electricity

The ideal memory has a large capacity with restricted access time and cycle time, a high throughput and is

non-volatile.

However, fast memories are also the most expensive. This is why memories that use different technologies

are used in a computer, interfaced with each other and organised hierarchically.

Page 5: part1 cso

7/31/2019 part1 cso

http://slidepdf.com/reader/full/part1-cso 5/13

The fastest memories are located in small numbers close to the processor. Auxiliary memories, which are

not as fast, are used to store information permanently.

Types of Memories

Random Access Memory

Random access memory, generally called RAM is the system's main memory, i.e. it is a space that allows

you to temporarily store data when a program is running.

Unlike data storage on an auxiliary memory such as a hard drive, RAM is volatile, meaning that it only

stores data as long as it supplied with electricity. Thus, each time the computer is turned off, all the data inthe memory are irremediably erased.

Read-Only Memory

Read-only memory, called ROM, is a type of memory that allows you to keep the information contained on

it even when the memory is no longer receiving electricity. Basically, this type of memory only has read-only

access. However, it is possible to save information in some types of ROM memory.

Flash Memory

Flash memory is a compromise between RAM-type memories and ROM memories. Flash memory

possesses the non-volatility of ROM memories while providing both read and write access However, the

access times of flash memories are longer than the access times of RAM.

Introduction to the concept of a bus

Page 6: part1 cso

7/31/2019 part1 cso

http://slidepdf.com/reader/full/part1-cso 6/13

 A bus, in computing, is a set of physical connections (cables, printed circuits, etc.) which can be shared by

multiple hardware components in order to communicate with one another.

The purpose of buses is to reduce the number of "pathways" needed for communication between the

components, by carrying out all communications over a single data channel. This is why the metaphor of a

"data highway" is sometimes used.

If only two hardware components communicate over the line, it is called a hardware port (such as aserial 

port or parallel port).

Characteristics of a bus

 A bus is characterised by the amount of information that can be transmitted at once. This amount,

expressed in bits, corresponds to the number of physical lines over which data is sent simultaneously. A 32-

wire ribbon cable can transmit 32 bits in parallel. The term "width" is used to refer to the number of bits that

a bus can transmit at once.

 Additionally, the bus speed is also defined by its frequency (expressed in Hertz), the number of datapackets sent or received per second. Each time that data is sent or received is called a cycle.

This way, it is possible to find the maximum transfer speed of the bus, the amount of data which it can

transport per unit of time, by multiplying its width by its frequency. A bus with a width of 16 bits and a

frequency of 133 MHz, therefore, has a transfer speed equal to:

16 * 133.106 = 2128*106 bit/s,

or 2128*106/8 = 266*106 bytes/s

or 266*106 /1000 = 266*103 KB/s

or 259.7*103 /1000 = 266 MB/s

Bus subassembly

In reality, each bus is generally constituted of 50 to 100 distinct physical lines, divided into three

subassemblies:

• The address bus (sometimes called the memory bus) transports memory addresses which the

processor wants to access in order to read or write data. It is a unidirectional bus.

Page 7: part1 cso

7/31/2019 part1 cso

http://slidepdf.com/reader/full/part1-cso 7/13

• The data bus transfers instructions coming from or going to the processor. It is a bidirectional bus.

• The control bus (or command bus) transports orders and synchonisation signals coming from the

control unit and travelling to all other hardware components. It is a bidirectional bus, as it also transmits

response signals from the hardware.

The primary buses

There are generally two buses within a computer:

• the internal bus (sometimes called the front-side bus, or FSB for short). The internal bus allows

the processor to communicate with the system's central memory (the RAM).

• the expansion bus (sometimes called the input/output bus) allows various motherboard

components (USB, serial, and parallel ports, cards inserted in PCI connectors, hard drives, CD-ROM

and CD-RW drives, etc.) to communicate with one another. However, it is mainly used to add new

devices using what are called expansion slots connected to the input/outpur bus.

Introduction to input-output ports

Input-output ports are material elements on the computer, allowing the system to communicate with exterior 

elements, in other words to exchange data, hence the name input-output interface (sometimes known

as I/O interface).

Serial port

Serial ports (also called RS-232, after the name of the standard they refer to) represent the first interfaces

to allow computers to exchange information with the "outside world ". The term serial refers to data sent viaa

single wire: the bits are sent one after the other (refer to section on data transmission for a presentation on

transmission modes).

Serial ports were originally able to only send data and not receive it, hence two-way ports were developed

(the ports on current computers are two-way); two-way serial ports therefore need two wires for 

communication.

Serial communication takes place asynchronously, meaning that no synchronisation signal (or clock ) is

required: the data may be sent at random intervals. In return, the peripheral must be able to distinguish the

Page 8: part1 cso

7/31/2019 part1 cso

http://slidepdf.com/reader/full/part1-cso 8/13

characters (one character is 8 bits in length) among the succession of bits which is sent.

This is why, in this type of transmission, each character is preceded by a START bit and followed by

aSTOP bit. These control bits, which are needed for serial transmission, waste 20% of the bandwidth (for 

10 bits sent, 8 are used to code the character and 2 are used for reception).

Serial ports are generally built into the mother board, which is why the connectors behind the casing and

connected to the mother board by a wire cable can be used to connect an exterior element. Serial

connectors generally have 9 or 25 pins and take the following form (DB9 and DB25 connectors

respectively):

 A personal computer generally has between one and four serial ports.

Parallel port

Parallel data transmission involves sending data simultaneously on several channels (wires). The parallel

ports on personal computers can be used to send 8 bits (one octet) simultaneously via 8 wires.

The first two-way parallel ports allowed for speeds of 2.4Mb/s. Enhanced parallel ports have been

developed however to achieve higher speeds:

• The EPP (Enhanced Parallel Port ) achieves speeds of 8 to 16 Mbps

• The ECP (Enhanced Capabilities Port ), developed by Hewlett Packard and Microsoft . It has the

same characteristics as the EPP with in addition a Plug and Play feature, allowing the computer to

recognise the connected peripherals.

Parallel ports, like serial ports, are built into the mother board. DB25 connectors allow connection to an

exterior element (e.g. a printer).

Introduction to the USB

Page 9: part1 cso

7/31/2019 part1 cso

http://slidepdf.com/reader/full/part1-cso 9/13

USB (Universal Serial Bus) is as its name suggests, based on serial type architecture. However, it is an

input-output interface much quicker than standard serial ports. Serial architecture was used for this type of 

port for two main reasons:

• Serial architecture gives the user a much higher clock rate than a parallel interface because a

parallel interface does not support too high frequencies (in a high speed architecture, bits circulating on

each wire arrive with lag, causing errors);

• serial cables are much cheaper than parallel cables.

USB standards

So, from 1995, the USB standard has been developed for connecting a wide range of devices.

The USB 1.0 standard offers two modes of communication:

• 12 Mb/s in high speed mode,

• 1.5 Mb/s in low speed.

The USB 1.1 standard provides several clarifications for USB device manufacturers but does not change

anything in the speed. USB 1.1 certified devices carry the following logo:

The USB 2.0 standard makes it possible to obtain speeds which can reach 480 Mbit/s/ USB 2.0 certified

devices carry the following logo:

If there is no logo, the best way of determining if something is a low or high speed USB is to consult the

product documentation insofar as the connectors are the same.

Compatibility between USB 1.0, 1.1 and 2.0 is assured. However, the use of a USB 2.0 device in a low

speed USB port (i.e. 1.0 or 1.1) will limit the speed to 12Mbit/s maximum. Furthermore, the operatingsystem is likely to display a message explaining that the speed will be restricted.

Types of connectors

There are two types of USB connectors:

Page 10: part1 cso

7/31/2019 part1 cso

http://slidepdf.com/reader/full/part1-cso 10/13

• Connectors known as type A, where the shape is rectangular and generally used for less

bandwidth intensive devices (keyboard, mouse, webcam, etc.);

• Connectors known as type B, where the shape is square and mainly used for high speed devices

(external hard disks, etc.);

1. Power supply +5V (VBUS) 100mA maximum

2. Data (D-)

3. Data (D+)

4. Mass (GND)

Operation of the USB

One characteristic of USB architecture is that it can supply electricity to devices to which it connects, with a

limit of 15 W maximum per device. To do so, it uses a cable made up of four wires (the GND mass,

the BUS supply and two data wires called D- and D+).

The USB standard allows devices to be chained by using a bus or star topology. So, devices can either be

connected one to another or branched.

Branching is done using boxes called "hubs" comprising of a single input and several outputs. Some are

active (supplying electric energy), others passive (power supplied by the computer).

Communication between the host (computer) and devices is carried out according to

a protocol(communication language) based on the token ring principle. This means that bandwidth is

temporarily shared between all connected devices. The host (computer) issues a signal to begin the

Page 11: part1 cso

7/31/2019 part1 cso

http://slidepdf.com/reader/full/part1-cso 11/13

sequence every millisecond (ms), the time interval during which it will simultaneously give each device the

opportunity to "speak". When the host wants to communicate with a device, it transmits a token (a data

packet, containing the address of the device coded over 7 bits) designating a device, so it is the host that

decides to "talk" with the devices. If the device recognises its address in the token, it sends a data packet

(between 8 and 255 bytes) in response, if not it passes the packet to the other connected devices. Data is

exchanged in this way is coded according to NRZI coding.

Since the address is coded over 7 bits, 128 devices (2^7) can simultaneously be connected to a port of this

type. In reality, it is advisable to reduce this number to 127 because the 0 address is a reserved address.

(see later).

Due to the maximum length of the cable between two devices of 5 metres and a maximum number of 5

hubs (supplied), it is possible to create a chain 25 meters in length.

USB ports support Hot plug and play. So, devices can be connected without turning off the computer (hot

plug). When a device is connected to the host it detects the addition of a new item thanks to a change in

the tension between the D+ and D- wires. At this time, the computer sends an initialisation signal to the

device for 10ms, then it supplies the current using the GND and VBUS wires (up to 100mA). The device is

then supplied with electric current and temporarily takes over the default address (0 address). The following

stage consists of supplying it with its definitive address (this is the listing procedure). To do so, the computer 

interrogates devices already connected to know their addresses and allocates a new one, which identifies it

by return. The host, having all the necessary characteristics is then able to load the appropriate driver.

Presentation of FireWire Bus (IEEE 1394)

The IEEE 1394 bus (name of the standard to which it makes reference) was developed at the end of 1995

in order to provide an interconnection system that allows data to circulate at a high speed and in real time.The company Apple gave it the commercial name "FireWire", which is how it is most commonly known.

Sony also gave it commercial name, i.Link. Texas Instruments preferred to call it Lynx .

FireWire is a port that exists on some computers that allows you to connect peripherals (particularly digital

cameras) at a very high bandwidth. There are expansion boards (generally in PCI or PC Card / 

PCMCIA format) that allow you to equip a computer with FireWire connectors. FireWire connectors and

cables can be easily spotted thanks to their shape as well as the following logo:

Overview

The ATA ( Advanced Technology Attachment ) standard is a standard interface that

allows you to connect storage peripherals to PC computers. The ATA standard was

developed on May 12, 1994 by the ANSI (document X3.221-1994).

Page 12: part1 cso

7/31/2019 part1 cso

http://slidepdf.com/reader/full/part1-cso 12/13

Despite the official name "ATA", this standard is better known by the commercial

term IDE (Integrated Drive Electronics) or Enhanced IDE (EIDE or E-IDE).

The ATA standard was originally intended for connecting hard drives, however an

extension called ATAPI(ATA Packet Interface) was developed in order to be able tointerface other storage peripherals (CD-ROM drives, DVD-ROM drives, etc.) on an ATA

interface.

Since the Serial ATA standard (written S-ATA or SATA) has emerged, which allows you

to transfer data over a serial link, the term "Parallel ATA" (written PATA or P-ATA)

sometimes replaces the term "ATA" in order to differentiate between the two standards.

The Principle

The ATA standard allows you to connect storage peripherals directly with the

motherboard thanks to aribbon cable, which is generally made up of 40 parallel wires

and three connectors (usually a blue connector for the motherboard and a black

connector and a grey connector for the two storage peripherals).

Introduction

The Serial ATA standard (S-ATA or SATA) is a standard bus allowing high-speed storage peripherals to be

connected to PC computers.

The Serial ATA standard was introduced in February 2003 in order to compensate for limitations of 

the ATA standard (better known by the name "IDE " and retroactively called Parallel ATA), which uses a

parallel transmission mode. Indeed, the parallel transmission mode is not designed to work with high

frequencies due to problems related to electro-magnetic disturbances between the different wires.

The S-ATA standard cables and peripherals can be identified by the presence of the following logo:

Principle of the Serial ATA

Page 13: part1 cso

7/31/2019 part1 cso

http://slidepdf.com/reader/full/part1-cso 13/13

The Serial ATA standard is based on serial communication. A data path is used to transmit the data and

another path is used to transmit acknowledgements of receipt. On each of these data paths, data are

transmitted via the LVDS (Low Voltage Differential Signalling ) transmission mode which involves

transferring a signal to a wire and its opposite to a second wire to allow the receiver to recreate the signal

by difference. The control data are transmitted on the same path as the data using a specific sequence of 

bits to distinguish them.

Thus the communication requires two transmission paths, each one comprising two wires, with a total of 

four wires used for the transmission.

Introduction to the SCSI interface

The SCSI standard (Small Computer System Interface) is an interface used to connect several different

types of peripherals to a computer via a card, known as the SCSI adaptor or SCSI controller (generally

connected using a PCI connector).

The number of peripherals that can be connected depends on the width of the SCSI bus. With an 8-bit bus,

8 physical units can be connected and 16 for a 16-bit bus. Since the SCSI controller represents a separate

physical unit, the bus can therefore accommodate 7 (8-1) or 15 (16-1) peripherals

PC Card Bus Introduction

The PC Card bus was developed in 1989 by the PCMCIA (Personal Computer Memory 

Card International Association, which is the name sometimes given to the bus)

consortium in order to extend current peripheral equipment connectivity on mobile

computers.