COMPUTER ENGLISH for
INTERMEDIATES Ing. Galina Vítková, CSc.
Specialist terminology consultant – Ing. Dušan Húsek, CSc.
All rights reserved
Prague 2006
COMPUTER ENGLISH FOR INTERMEDIATES Development of communication skills
Contents Introduction UNIT 1
Computers – historical review General computer vocabulary, acronyms, presentation, exercises 1 – 4
UNIT 2
Computer Architecture Computer architecture vocabulary, acronyms, presentation, exercises 1 – 4
UNIT 3
CPU – Central Processing Unit CPU vocabulary, acronyms, note taking, presentation, exercises 1 – 4
UNIT 4
Microprocessors Microprocessor vocabulary, acronyms, presentation, exercises 1 – 4
UNIT 5
Computer Memory Computer memory vocabulary, acronyms, presentation, exercises 1 – 5
UNIT 6
Virtual Memory Virtual memory vocabulary, acronyms, presentation, exercises 1 – 4
UNIT 7
Computer Motherboard Computer motherboard vocabulary, acronyms, oral (and written) presentation, exercises 1 – 4
UNIT 8
Computer Hardware Computer hardware vocabulary, acronyms, oral (and written) presentation, exercises 1 – 4
UNIT 9
Computer Software Computer software vocabulary, acronyms, note taking, presentation, exercises 1 – 5
UNIT 10
Computer Clusters Computer clusters vocabulary, acronyms, oral (and written) presentation, exercises 1 – 5
UNIT 11
Distributed File Systems DFS vocabulary, acronyms, presentation, exercises 1 – 5
UNIT 12
Apollo Guidance Computer Associate vocabulary, acronyms, note taking, oral (and written) presentation, exercises 1 – 5 Key to Exercises
1
UNIT 1 Computers – historical review (History of computing hardware) Based on Wikipedia, the free encyclopedia
Prior to the advent of machines that resemble today's CPUs, computers such as ENIAC (Electronic Numerical Integrator and Computer) had to be physically rewired in order to perform different tasks. These machines are often referred to as "fixed-program computers" because of their need to be physically reconfigured in order to run a different program. Since the term "CPU" is generally defined as a software (program) executing device, the earliest devices that could rightly be called CPUs came with the advent of the stored-program computer. The idea of a stored-program computer was already present during the design of the ENIAC, but was not initially used in that computer because of speed considerations. On 30 June 1945, before the ENIAC was even completed, a mathematician John von Neumann published the paper entitled "First Draft of a Report on the EDVAC (Electronic Discrete Variable Automatic Computer)". It outlined the design of a stored-program computer that would eventually be completed in August 1949. The EDVAC was designed to perform a certain number of instructions (or operations) of various types. These instructions could be combined to create useful programs for the EDVAC to run. Significantly, the programs written for the EDVAC were stored in high-speed computer memory rather than specified by the physical wiring of the computer. This overcame a severe limitation of the ENIAC, which was the large amount of time and effort it took to reconfigure the computer to perform a new task. With von Neumann's design the program or software, that the EDVAC ran, could be changed simply by changing the contents of the computer's memory. It should be noted that while von Neumann is most often credited with the design of the stored-program computer because of his design of the EDVAC, others before him such as Konrad Zuse had suggested similar ideas. Additionally, the so-called Harvard architecture of the Harvard Mark I, which was completed before the EDVAC, also utilized a stored-program design using a punched paper tape rather than electronic memory. The key difference between the von Neumann and Harvard architectures is that the latter separates the storage and treatment of CPU instructions and data, while the former uses the same memory space for both. Most modern CPUs are primarily von Neumann in design, but elements of the Harvard architecture are commonly seen as well. Being digital devices, all CPUs deal with discrete states and therefore require some kind of switching elements to differentiate between and change these states. During the height of electromechanical and electronic computers, electrical relays and vacuum tubes (thermionic valves) were commonly used as switching elements. Although these had distinct speed advantages over earlier, purely mechanical designs, they were unreliable for various reasons. For example, building direct current sequential logic circuits out of relays requires additional hardware to cope with the problem of contact bounce. While vacuum tubes do not suffer from contact bounce, they must heat up before becoming fully operational and eventually stop functioning altogether. Usually, when a tube failed, the CPU would have to be diagnosed to locate the failing component so it could be replaced. In fact, early electronic (vacuum tube based) computers were generally faster, but less reliable than electromechanical (relay based) computers. Tube computers like the EDVAC tended to average eight hours between failures, whereas relay computers like the Harvard Mark I failed very rarely. In the end, tube based
4
CPUs became dominant because the significant speed advantages afforded generally outweighed the reliability problems. Most of these early synchronous CPUs ran at low clock rates compared to modern microelectronic designs. Clock signal frequencies ranging from 100 kHz to 4 MHz were very common at this time, limited largely by the speed of the switching devices they were built with. Discrete transistors and IC CPUs. The design and complexity of CPUs improved as various technologies facilitated building smaller and more reliable electronic devices. The first such improvement came with the advent of the transistor. Transistorised CPUs during the 1950s and 1960s no longer had to be built out of bulky, unreliable, and fragile switching elements like electrical relays and vacuum tubes. With transistors more complex and reliable CPUs were built onto one or several printed circuit boards containing discrete (individual) components. During this period, a method of manufacturing many transistors in a compact space gained popularity. The integrated circuit (IC) allowed a great deal of transistors to be manufactured on a single semiconductor-based die, or "chip". At first only very basic non-specialized digital circuits such as NOR gates were miniaturized into ICs. CPUs based upon these "building block" ICs are generally referred to as "small-scale integration" (SSI) devices. SSI ICs, such as the ones used in the Apollo guidance computer, usually contained transistor counts numbering in multiples of ten. To build an entire CPU out of SSI ICs required thousands of individual chips, but still consumed much less space and power than earlier discrete transistor designs. As microelectronic technology advanced, an increasing number of transistors were placed on ICs, thus decreasing the quantity of individual ICs needed for a complete CPU. MSI and LSI (medium- and large-scale integration) ICs increased transistor counts to hundreds, then thousands. In 1964 IBM introduced its System/360 architecture, which was used in a series of computers that could run the same programs with different speed and performance. This was significant at a time when most electronic computers were incompatible with one another, even those made by the same manufacturer. To facilitate this improvement, IBM utilized the concept of a microprogram (often called "microcode"), which still sees widespread usage in modern CPUs. The System 360 architecture was so popular that it dominated the mainframe computer market for the next few decades and left a legacy that is still continued by similar modern computers like the IBM zSeries. In the same year (1964), the Digital Equipment Corporation (DEC) introduced another influential computer aimed at the scientific and research markets, the PDP-8. DEC would later introduce the extremely popular PDP-11 line that originally was built with SSI ICs, but was eventually implemented with LSI components once these became practical. In stark contrast with its SSI and MSI predecessors, the first LSI implementation of the PDP-11 contained a CPU comprised of only four LSI integrated circuits. Transistor-based computers had several distinct advantages over their predecessors. Aside from facilitating increased reliability and lower power consumption, transistors also allowed CPUs to operate at much higher speeds because of the short switching time of a transistor in comparison to a tube or relay. Thanks to both the increased reliability as well as the dramatically increased speed of the switching elements (which were almost exclusively transistors by this time), CPU clock rates in the tens of MHz were obtained during this period. Additionally, while discrete transistors and IC CPUs were in heavy usage, new highperformance designs like SIMD (Single Instruction Multiple Data) vector processors began to appear. These early experimental designs later gave rise to the era of specialized supercomputers like those made by Cray Inc.
5
Vocabulary clock rate, clock frequency, clock speed kmitočet hodin, taktovací frekvence, sloužící k synchronizaci operací počítače, mimo jiné určuje jakou rychlostí se provádějí operace procesoru; je pro daný procesor stabilní a je řízena jednotkou, která tuto rychlost procesoru udává bez ohledu na druh činnosti; taktovací frekvence je jedno z nejdůležitějších měřítek výkonnosti procesoru, i když není měřítkem jediným contact bounce kmitání kontaktů (relé),odskok kontaktů (relé) debouncing eliminace vlivu kmitání kontaktů debouncing circuit obvod eliminující kmitání kontaktů chip set čipová sada physical wiring fyzické propojení (zde konkrétní propojení) semiconductor-based die or chip čip též integrovaný obvod switching time doba přepínání thermionic valve elektronka to bounce kmitat, odrazit se zpět obrazovka, základní část monitoru nebo televizního vacuum tube, cathode-ray tube (CRT) přijímače – typ vakuové elektronky, zakončené stínítkem, na němž se vytváří obraz Abbreviations AC (Alternating current) DEC (Digital Equipment Corporation ) EDVAC (Electronic Discrete Variable Automatic Computer) ENIAC (Electronic Numerical Integrator and Computer)
Střídavý proud DEC, výrobce počítačů (pohlcen HP) Architektura elektronického počítače navržená von Neumannem v roce 1945 (realizováno v 1949) Elektronický číslicový integrátor a kalkulátor, tj. elektronkový číslicový počítač zkonstruovaný roku 1946 v USA IC (integrated circuit) Integrovaný obvod LSI (large- scale integration) Velký stupeň integrace MSI (medium-scale integration) Střední stupeň integrace PCB (Printed Circuit Board) Deska tištěných spojů SIMD (Single Instruction Multiple Data) Jedna instrukce, vícenásobná data, tj. jedna instrukce se provádí na více datech, vektorové zpracování, vektorový procesor SSI (small-scale integration) Nízký stupeň integrace
Exercise 1 Make sentences putting the given words into a correct order:
6
1 2 3 4 5 6 7
"First Draft of a Report on the EDVAC" - published - entitled - On 30 June 1945 - a mathematician - the paper - John von Neuman. EDVAC - could be combined - The instructions - to create - useful programs – for the. CPUs - discrete states - these states – therefore – between - some kind – require - of switching – elements - to differentiate - and change – and - deal with - All. CPU - a vacuum tube - the failing component – When – the – failed - would have - to be diagnosed - to locate. Early – computers – but - electronic computers - generally faster – than - less reliable - were electromechanical. CPUs - the reliability – became – outweighed – problems - the significant - speed advantages – generally – dominant – because - Tube based. CPUs – electronic - and complexity - building smaller – facilitated – of – increased as – technologies - and more reliable – various - The design - devices.
Exercise 2 Make questions concerning the words in bold italics:
1 2 3 4 5 6 7
SIMD designs rely on the general-purpose portions of the CPU to handle the program details. SIMD instructions handle the data manipulation only. Smaller-scale SIMD operations have now become widespread in personal computer hardware. Today the term SIMD is associated almost entirely with these smaller units. First electronic computers needed to be physically rewired in order to perform different tasks. John von Neuman published the paper entitled "First Draft of a Report on the EDVAC" on 30 June 1945. Instructions of various types could be combined to create useful programs for the EDVAC to run.
Exercise 3 Fill in the gaps using words from the box below:
SSI transistors individual chip basic advanced increased counts space manufacturing During the 1950s and 1960s, a method of … (1) … many transistors in a compact space gained popularity. The integrated circuits allowed a great deal of … (2) … to be manufactured on a single semiconductor-based die, or " … (3) … ". At first only very … (4) … nonspecialized digital circuits such as NOR gates were miniaturized into ICs. CPUs based upon these "building block" ICs are generally referred to as "small-scale integration" ( … (5) …) devices. SSI ICs usually contained transistor … (6) … numbering in multiples of ten. Building an entire CPU out of SSI ICs required thousands of individual chips, which still consumed much less … (7) … and power than earlier discrete transistor designs. As microelectronic technology … (8) … , an increasing number of transistors were placed on ICs, thus decreasing the quantity of … (9) … ICs needed for a complete CPU. MSI and LSI ICs … (10) … transistor counts to hundreds, then thousands.
7
Exercise 4 Decide which answer (A, B, C, D) best fits each gap:
Contact bounce (also called chatter) is a … (1) … problem with mechanical switches and relays. Switch and relay contacts are … (2) … made of springy metals that are forced into contact by an actuator. When the contacts … (3) … together, their momentum and elasticity act together to cause bounce. The result is a rapidly pulsed electrical current instead of a … (4) … transition from zero to full current. The waveform is then further … (5) … by the parasitic inductance and capacities in the switch and wiring, resulting in a series of damped sinusoidal … (6) …. This effect is usually unnoticeable in AC main circuits, where the bounce happens too quickly to … (7) … most equipment, but causes problems in some analogue and logic circuits that are not designed to … (8) … with … (9) … voltages. 1
A common
B
general
C joint
D ordinary
2
A ordinarily
B
usually
C generally
D habitually
3
A hit
B
knock
C pound
D strike
4
A pure
B
clean
C unadulterated
D chaste
5
A altered
B
shaped
C modified
D changed
6
A vacillations
B
oscillations
C fluctuations
D variations
7
A affect
B
influence
C direct
D induce
8
A get by
B
cope
C grapple
D manage
9
A swinging
B
varying
C oscillating
D vibrating
8
UNIT 2
Computer architecture Based on Wikipedia, the free encyclopedia
In general, computer architecture refers to the conceptual design and fundamental operational structure of a computer system. It is a functional description of requirements (especially speeds and interconnections) and design implementations for the various parts of a computer — focusing largely on the way by which the CPU performs internally and accesses addresses in memory. "Architecture" hence typically refers to the fixed internal structure of the CPU to perform logical operations. It may also include the built-in interface (i.e. opcode) by which hardware resources (i.e. CPU, memory, and also a motherboard, peripherals) may be used by the software. More specific usages of the term include: • The design of a computer's CPU architecture, instruction set, addressing modes, and techniques such as SIMD and MIMD parallelism. •
More general wider-scale hardware architectures, such as cluster computing and NonUniform Memory Access (NUMA) architectures.
•
Definition a set of machine attributes that a programmer should understand in order to successfully program the specific computer.
Design goals The most common goals in computer architecture revolve around the tradeoffs between cost and performance. Nevertheless, other considerations, such as a size, a weight, and power consumption, may be a factor as well. Generally, cost is held constant, determined by either system or commercial requirements, and speed and storage capacity are adjusted to meet the cost target. Computer retailers describe the performance of their machines in terms of clock speed (usually in MHz or GHz). This refers to the cycles per second of the main clock of the CPU. However, this metric is somewhat misleading, as a machine with a higher clock rate may not necessarily have higher performance. Modern CPUs can execute multiple instructions per clock cycle, which dramatically speeds up a program. Other factors aid speed, such as the mix of functional units, bus speeds, available memory, and the type and order of instructions in the programs being run. But there are also different types of speed. Interrupt latency is the guaranteed maximum response time of the system to an electronic event (e.g. when the disk drive finishes moving some data). This number is affected by a very wide range of design choices, e.g. adding cache usually makes latency worse (slower), but makes other things faster. Computers that control machinery usually need low interrupt latencies, because the machine cannot, will not or should not wait. For example, computer-controlled anti-lock brakes should not wait for the computer to finish what it's doing - they should brake. Benchmarking tries to take all these factors into account. In computing, a benchmark is the result of measuring the time a computer takes to run through a series of test programs. The term, benchmark, is also commonly used for specially-designed benchmarking programs themselves. Benchmarking is usually associated with assessing performance characteristics of computer hardware, but there are circumstances when the technique is also applicable to software. Software benchmarks are, for example, run against compilers or database
9
management systems. Benchmarks provide a method of comparing the performance of various subsystems across different system architectures. Although benchmarking shows strengths, it may not help one to choose a computer. Often the measured machines split on different measures. For example, one system might handle scientific applications quickly, while another might play popular video games more smoothly. Furthermore, designers have been known to add special features to their products, whether in hardware or software, features which permit a specific benchmark to execute quickly, but which do not offer similar advantages to other, more general computational tasks. Naive users are apt to be unaware of such deceptive tricks. The general scheme of optimization is to find the costs of the different parts of the computer. In a balanced computer system, the data rate will be constant for all parts of the system, and cost will be allocated proportionally to assure this. The exact form of the computer system will depend on the constraints and goals it was optimized for. For businesses, and many general computing tasks, it is a good compromise to never let the computer run out of memory. This event would halt the program, and greatly inconvenience the user. Instead of halting the program, many computer systems save less-frequently used blocks of memory to the rotating mechanical storage. In essence, the mechanical storage becomes main memory. However, mechanical storage is thousands of times slower than electronic memory. Computer architecture on a future horizon Conventional processing architectures could be broken due to implementation of configurable computing. Here the program code causes the compiler to create intermediate code suitable for runtime reconfigurable field-programmable gate arrays. In these arrays during the scope of program objects the configurable logic represents the calculating structure able to perform as desired. Since many objects can potentially perform in parallel on data this ultimatively constitutes an advanced parallel processing architecture. Configurable computing could be categorized under computing in memory which is inspired by the function of the neuronal brain, where the processor and the memory eventually cannot be distinguished from each other.
Vocabulary baud rate benchmark, bench mark benchmarking cache
configurable computing data rate field-programmable gate array gate array
přenosová rychlost dat v baudech [bit/s] vyhodnocení (výsledek) běhu testu, sada testů pro měření výkonu počítače měření výkonnosti pomocí (standardních) testovacích sad programů vyrovnávací paměť, tj. rychlá paměť mezi hlavní pamětí a procesorem počítače, do níž se průběžně ukládají data, čtená z hlavní paměti konfigurovatelné počítání přenosová rychlost dat programovatelné hradlové pole hradlové pole, tj. čip, jehož základní architektura spočívá ve vytvoření velkého množství bran (gate), tento čip se rovněž nazývá application-specific integrated circuit (ASIC)
10
hardware interrupt
hardwarové přerušení, tj. Přerušení v systému generované nějakou z jeho hardwarových komponent
interrupt flag interrupt latency interrupt mask tradeoff, trade-off
příznak přerušení latentní doba do přerušení maska přerušení kompromis, dohoda
Acronyms ASIC (Application Specific Integrated Circuit) CPU (Central processing unit) MIMD (Multiple Instruction, Multiple Data) NUMA (Non-Universal Memory Architecture OR Non-Uniform Memory Access) SIMD (Single Instruction Multiple Data)
Integrovaný obvod pro specifické použití Základní jednotka Vícenásobné instrukce, vícenásobná data, více paralelních procesorů zpracovává různá data Neuniverzální paměťová architektura NEBO Neuniformní přístup k paměti Jedna instrukce, vícenásobná data, tj. jedna instrukce se provádí na více datech, vektorové zpracování, vektorový procesor
Exercise 1 Make sentences putting the given words into a correct order: 1 Computer – typically – to the – internal – structure – CPU – to perform – logical – refers – operations – architecture – fixed – of the –. 2 It may – the built-in – by which – resources – used – also include – interface – by the software – hardware – may be –. 3 Architecture – defined – of machine – that – should – understand – to program the specific – as a set – computer – is often – attributes – a programmer – in order –. 4 Nevertheless – considerations, – a size, – and power – a factor – as well – other – such as – a weight, – consumption – , may be –. 5 Computer – describe – of their – in terms – speed – (usually – or GHz) – retailers – the performance – machines – of clock – in MHz –. 6 The performance – to the – per second – of the main – of the CPU – refers – cycles – clock –. 7 Modern – can – multiple – per clock cycle, – which – speeds up – instructions – a program – CPUs – execute – dramatically –.
Exercise 2 Make questions concerning the words in bold italics:
1
In computer architecture, a bus transfers data or power between computer components inside a computer or between computers.
2
The bus can logically connect several peripherals over the same set of wires.
3
Each bus defines its set of connectors to physically plug devices, cards or cables together.
11
4
The most common goals in computer architecture revolve around the tradeoffs between cost and performance.
5
Computers that control machinery usually need low interrupt latencies.
6
Benchmarking tries to take all these factors into account by measuring the time a computer takes to run through a series of test programs.
7
Benchmarking is usually associated with assessing performance characteristics of computer hardware.
Exercise 3 Fill in the gaps using words from the box below:
a computer applications designers features execute offer benchmarking deceptive computational
split
Although … (1) … shows strengths, it may not help one to choose … (2) … . Often the measured machines … (3) … on different measures. For example, one system might handle scientific … (4) … quickly, while another might play popular video games more smoothly. Furthermore, … (5) … have been known to add special features to their products, whether in hardware or software, … (6) … which permit a specific benchmark to … (7) … quickly but which do not … (8) … similar advantages to other, more general … (9) … tasks. Naive users are apt to be unaware of such … (10) … tricks. Exercise 4 Decide which answer (A, B, C, D) best fits each gap:
In strictly mathematical … (1) … of computer science the term object is used in a purely mathematical sense to refer to any "thing". While this … (2) … is useful in the discussion of … (3) … theory, it is not concrete enough to serve as a … (4) … datatype in the discussion of more concrete branches (such as programming) that are closer to actual … (5) … and information processing. There, objects are still conceptual entities, but generally … (6) … directly to a contiguous block of computer memory of a specific size at a specific location. This is because computation and information processing ultimately … (7) … a form of computer memory. Objects in this sense are fundamental primitives needed to … (8) … define concepts such as references, variables, and name binding. This is why the rest of this article will … (9) …on the concrete interpretation of the object rather than the abstract one. 1
A subdivisions
B
branches
C boughs
D parts
2
A explication
B
version
C interpretation
D explanation
3
A apart
B
abstract
C complex
D brief
4
A unsophisticated
B
simple
C primitive
D uncultured
5
A estimation
B
reckoning
C computation
D calculation
6
A correspond
B
agree
C fit
D conform
7
A request
B
demand
C require
D need
8
A correctly
B
exactly
C precisely
D accurately
12
9
A concentrate
B
sharpen
C focus
D converge
13
UNIT 3
Central processing unit Based on Wikipedia, the free encyclopedia The phrase "Central processing unit" (CPU) or sometimes simply processor is, in general terms, a functional description of a certain class of logic machines that can execute complex computer programs. This broad definition can easily be applied to many early computers that existed long before the term "CPU" ever came into widespread usage. However, the term itself and its acronym have been in use at least since the early 1960s. The form, design and implementation of CPUs have changed dramatically since the earliest examples, but their fundamental operation has remained much the same. Appearance of the integrated circuit (IC) have allowed increasingly complex CPUs to be designed and manufactured in very small spaces (in the order of millimeters). Both the miniaturization and standardization of CPUs have increased the presence of these digital devices in modern life far beyond the limited application of dedicated computing machines. Modern microprocessors appear in everything from automobiles and cell phones to children's toys. CPU operation The fundamental operation of most CPUs, regardless of the physical form they take, is to execute a sequence of stored instructions called a program. Discussed here are devices that conform to the common Von Neumann architecture. The program is represented by a series of instructions (represented by a number or sequence of numbers) that are kept in some kind of computer memory. There are four steps that nearly all von Neumann CPUs use in their operation: fetch, decode, execute, and writeback. The first step, fetch, involves retrieving an instruction from program memory. The location in program memory is determined by a program counter (PC), which stores a number that identifies the current position in the program. In other words, the program counter keeps track of the CPU's place in the current program. After an instruction is fetched, the PC is incremented by the length of the instruction word in terms of memory units. Often the instruction to be fetched must be retrieved from relatively slow memory, causing the CPU to stall while waiting for the instruction to be returned. This issue is largely addressed in modern processors by cache and superscalar architecture. In the decode step, the instruction is broken up into parts that have significance to other portions of the CPU. The way in which the numerical instruction value is interpreted is defined by the CPU's Instruction set architecture (ISA). Often, one group of numbers in the instruction, called the opcode, indicates which operation to perform. The remaining parts of the number usually provide information required for that instruction, such as operands for an addition operation. Such operands may be given as a constant value, or as a place to locate a value: a register or a memory address. In older designs the portions of the CPU responsible for instruction decoding were unchangeable hardware devices. However, in more abstract and complicated CPUs and ISAs, a microprogram is often used to assist in translating instructions into various configuration signals for the CPU. This microprogram is often rewritable and can be modified to change the way the CPU decodes instructions even after it has been manufactured.
13
Block diagram of a simple CPU After the fetch and decode steps, the execute step is performed. During this step, various portions of the CPU are connected, so they can perform the desired operation. If, for instance, an addition operation was requested, an ALU (Arithmetic Logic Unit) will be connected to a set of inputs and a set of outputs. The inputs provide the numbers to be added, and the outputs will contain the final sum. The final step, writeback, simply "writes back" the results of the execute step to some form of memory. Very often the results are written to some internal CPU register for quick access. In other cases they may be written to slower, but cheaper and larger, main memory. Some types of instructions manipulate the program counter rather than directly produce result data. These are generally called "jumps" and facilitate behavior like loops, conditional program execution, and functions in programs. After the execution of the instruction and writeback the resulting data, the entire process repeats, with the next instruction cycle normally fetching the next-in-sequence instruction. In more complex CPUs than the one described here, multiple instructions can be fetched, decoded, and executed simultaneously. Many instructions will also change the state of digits in a "flags" register. These flags can be used to influence how a program behaves, since they often indicate the outcome of various operations. For example, one type of "compare" instruction considers two values and sets a number in the flags register according to which one is greater. This flag could then be used by a later jump instruction to determine program flow.
Vocabulary cache
vyrovnávací paměť, tj. rychlá paměť mezi hlavní pamětí a procesorem počítače, do níž
14
instruction mainframe, mainframe computer opcode, operation code
program counter, instruction counter writeback
se průběžně ukládají data, čtená z hlavní paměti příkaz, instrukce mainframe, střediskový/velký počítač operační kod, tj. část instrukcí strojového jazyka, která určuje, jaký druh činností počítač přímo provede. čítač instrukcí doslova zpětný zápis — zde výpis (výsledků) na nějaké médium
Acronyms Aritmeticko-logická jednotka, tj. část procesoru provádějící vlastní aritmetické a logické operace, zpravidla podle vestavěného mikrokódu CPU (Central Processing Unit) Základní jednotka IBM (International Business Machines IBM (Mezinárodní korporace pro výrobu Corporation (or colloquially Big podnikových (atelských) strojů) (hovorově Velká Blue)) Modrá)) IC (Instruction Counter) Čítač instrukcí IC (Integrated Circuiit) Integrovaný obvod ISA (Industry Standard Architecture) Standardní průmyslová sběrnice, tj. Standard sběrnice počítačů PC, původně 8, nyní výhradně 16ti bitová ISA (Instruction Set Architecture) Architektura instrukční sady PC (Program Counter) Programový čítač qubit (sometimes qbit) (quantum bit) Kvantový bit TTL (Transistor-Transistor Logic) Logika tranzistor- tranzistor VLSI (Very Large Scale Integration) Velmi velký stupeň integrace ALU (Arithmetic Logic Unit)
Exercise 1 Make sentences putting the given words into a correct order:
1 2 3 4 5 6 7
The – is represented by – of numbers – kept – kind – that – memory – program – a series – are – in some – of computer –. The first – involves – an instruction – memory – step – retrieving – from program –. In other words, – the current – counter – track – CPU's place – program – of the – in the – keeps – program –. One – numbers – instruction – indicates – operation – to perform – group of – in the –, called – which – the opcode, –. The – is often – and can – to – the way – instructions – decodes – microprogram – rewritable – be modified – change – the CPU –. The final – simply – the results – execute – to some – memory – step – "writes back" – of the – step – form of –. Some – of instructions – the program – rather – directly – produce – data – types – manipulate – counter – than – result –. 15
Exercise 2 Make questions concerning the words in bold italics:
1 2
This broad definition can easily be applied to many early computers. Appearance of integrated circuits have allowed increasingly complex CPUs to be designed and manufactured in very small spaces. 3 A number that a program counter stores identifies the current position in the program. 4 Often the instruction to be fetched must be retrieved from relatively slow memory. 5 The flags can be used to influence how a program behaves. 6 The results are very often written to some internal CPU register for quick access. 7 Some types of instructions manipulate the program counter rather than directly produce result data. 8 In more complex CPUs multiple instructions can be fetched, decoded, and executed simultaneously. 9 Many instructions will also change the state of digits in a "flags" register. 10 This flag could be used by a later jump instruction to determine a program flow.
Exercise 3 Fill in the gaps using words from the box below:
purposes
inexpensive accelerated allowed particular presence standardization
limited appear
spaces
The old and costly methodology of designing custom CPUs for a … (1) … application has largely given way to the development of … (2) … and standardized classes of processors that are suited for one or many … (3) …. This trend, which generally began in the era of discrete transistor mainframes and minicomputers, rapidly … (4) … with the popularization of the integrated circuits. The integrated circuits have therefore … (5) … increasingly complex CPUs to be designed and manufactured in very small … (6) … (in the order of millimetres). Both the miniaturization and … (7) … of CPUs have increased the … (8) … of these digital devices in modern life far beyond the … (9) … application of dedicated computing machines. Modern microprocessors … (10) … in everything from automobiles and cell phones to children's toys. Exercise 4 Decide which answer (A, B, C, D) best fits each gap:
Minicomputer (colloquially, mini) is a largely obsolete … (1) … for a class of multi-user computers which make up the middle … (2) … of the computing spectrum, in between the largest multi-user systems (traditionally, mainframe computers) and the smallest single-user systems. More modern terms for such machines include midrange systems (… (3) … in IBM parlance), workstations (common in Sun Microsystems and general UNIX/Linux parlance), and servers. The term "minicomputer" … (4) … in the 1960s to describe the "small" third generation computers that became possible with the use of transistor and … (5) … memory technologies. They usually took up one or a few cabinets, compared with mainframes that would usually fill a … (6) … . Starting in the 1980s, many minicomputers used VLSI circuits often making the hardware organization much less … (7) … . As microcomputers developed in the 1970s and 80s, minicomputers filled the mid-range area between low powered
16
microcomputers and high … (8) … mainframes. The classical mini was a 16-bit computer, while the … (9) … higher performance 32-bit minis were often referred to as superminis. 1
A expression
B
term
C name
D title
2
A range
B
scope
C area
D extent
3
A usual
B
familiar
C common
D ordinary
4
A developed
B
became
C evolved
D progressed
5
A gist
B
substance
C essence
D core
6
A room
B
space
C area
D margin
7
A patent
B
visible
C apparent
D obvious
8
A capability
B
capacity
C competence
D aptitude
9
A beginning
B
initial
C emerging
D incipient
17
UNIT 4
Microprocessors Based on Wikipedia, the free enciclopedia A microprocessor (sometimes abbreviated µP or uP) is a digital electronic component with miniaturized tranzistors on a single semiconductor integrated circuit (IC). One or more microprocessors typically serve as a central processing unit (CPU) in a computer system or handheld device. Microprocessors made possible the advent of microcomputers. Before this, electronic CPUs were typically made from bulky discrete switching devices (and later small-scale integrated circuits) containing the equivalent of only a few transistors. By integrating the processor onto one or a very few large-scale integrated circuit packages (containing the equivalent of thousands or millions of discrete transistors), the cost of processor power was greatly reduced. Since the advent of the ICs in the mid-1970s, the microprocessor has become the most prevalent implementation of the CPU, nearly completely replacing all other forms. The evolution of microprocessors has been known to follow Moore's law when it comes to steadily increasing performance over the years. This law suggests that the complexity of an integrated circuit, with respect to minimum component cost will double in about 18 months. This rule has been generally followed, unconsciously, since the early 1970s. From their humble beginnings as the drivers for calculators, the continued increase in power has led to the dominance of microprocessors over every other form of computer; every system from the largest mainframe to the smallest handheld computers now uses a microprocessor at its core. Since the introduction of the first microprocessor (the Intel 4004) in 1970 and the first widely used microprocessor (the Intel 8080) in 1974, this class of CPUs has almost completely overtaken all other implementations. This fact, combined with the advent of the personal computer, has led to the term "CPU" being applied almost exclusively to microprocessors in the past few decades. Previous generations of CPUs were implemented as discrete components and numerous small integrated circuits on one or more circuit boards. Microprocessors, on the other hand, are CPUs manufactured on a very small number of ICs; usually just one. The overall smaller CPU size as a result of being implemented on a single die means faster switching time because of physical factors like decreased gate parasitic capacitance. This has allowed synchronous microprocessors to have clock rates ranging from tens of MHz to several GHz. The term microchip (or simply chip) is used rather loosely in electronics. While it refers to the actual semiconductor die before packaging, usually the term is applied to the entire packaged integrated circuits. The die, integrated circuit unit results from die cutting a wafer. The wafer is a thin slice of semiconducting material, such as a silicon crystal, upon which microcircuits are constructed by doping (for example, diffusion or ion implantation), etching, and deposition of various materials. Wafers are thus of key importance in the fabrication of ICs. Wafers are made in various sizes ranging from 1 inch (25.4 mm) to 11.8 inches (300 mm), and thicknesses of the order of 0.5 mm. Generally, they are cut from a boule of semiconductor using a diamond saw, then polished on one or both faces. In the manufacturing of micro-electronic devices, die cutting or dicing is a process of reducing a wafer containing multiple identical ICs to dice each containing one of those circuits. During this process, a wafer with up to thousands of circuits is cut into individual 18
pieces, each called a die. In between the functional parts of the circuits, a thin non-functional spacing is foreseen where a saw can safely cut the wafer without damaging the circuit. This spacing is called the scribe. The width of the scribe is very small, typically around 100 µm. A very thin and accurate saw is therefore needed to cut the wafer into pieces. Usually the dicing is performed with a water-cooled circular saw with diamond-tipped teeth. While the complexity, size, construction, and general form of CPUs have changed drastically over the past sixty years, it is notable that the basic design and function has not changed much at all. Almost all common CPUs today can be very accurately described as von Neumann stored-program machines. As the aforementioned Moore's law continues to hold true, concerns about the limits of integrated circuit transistor technology have become much more prevalent. Extreme miniaturization of electronic gates is causing the effects of phenomena like electromigration and subthreshold leakage to become much more significant. Electromigration decreases the reliability of ICs. In the worst case it leads to the loss of one or more connections and causes the failure of the entire circuit. The reliability of interconnections is of great interest in the field of space travel and for military purposes. Moreocer, it is very important also with civilian applications like for example the anti-lock braking system of cars. Thus, high technological and economic values are attached to the electromigration effect. Subthreshold leakage is the current that flows from the drain to source of a MOSFET (metal oxide semiconductor field-effect transistor) when the transistor is supposed to be off. In the past the subthreshold leakage of transistors has been very small, but as transistors have been scaled down, subthreshold leakage can compose nearly 50% of total power consumption. The reason for this is that the supply voltage has continually scaled down to reduce the dynamic power consumption of integrated circuits (the power that is consumed when the transistor is switching from an on-state to an off-state) which depends on the square of the supply voltage. As the supply voltage is scaled down, to maintain performance, the threshold voltage has to be reduced in the same proportion. As threshold voltages are reduced, subthreshold leakage rises exponentially. These newer concerns are among the many factors causing researchers to investigate new methods of computing such as a quantum computer, as well as to expand the usage of parallelism and other methods that extend the usefulness of the classical von Neumann model. The quantum computer is any device for computation that makes direct use of distinctively quantum mechanical phenomena, such as superposition and entanglement, to perform operations on data. In a classical (or conventional) computer, the amount of data is measured by bits; in a quantum computer, it is measured by qubits (quantum bits, sometimes qbits). The basic principle of quantum computation is that the quantum properties of particles can be used to represent data, and that devised quantum mechanisms can be used to perform operations with the data.
Vocabulary
(gate) parasitic capacitance advent
parazitní kapacitance nástup, předvečer 19
anti-lock braking system of cars circuit board diamond-tipped die die cutting or dicing doping handheld devices, handhelds ion implantation quantum computer quantum entanglement scribe smartphone subthreshold leakage wafer
anti-lock brzdicí systém auta deska obvodu diamantový hrot křemíková kostka řezání křemíkového plátku (na kostky) legování (polovodiče) kapesné přístroje (do dlaně) iontová implantace kvantový počítač kvantové zapletení, kvantově korelované stavy technologická mezera (čára) pro řez označení “chytrého” telefonu vybaveného operačním systémem Windows podprahový únik vafle, tenký plátek křemíku, který slouží k výrobě integrovaných obvodů
Acronyms
CPU (Central Processing Unit) IC (Integrated Circuit) MOSFET (Metal Oxide Semiconductor Field-Effect Transistor) qubit (sometimes qbit / quantum bit)
Základní jednotka IO (Integrovaný Obvod) Tranzistor řízený polem s hradlem izolovaným kysličníkem Kvantový bit
Exercise 1 Make sentences putting the given words into a correct order:
1 2 3 4 5 6 7 8 9
One – in a – microprocessors – system – serve – central – computer – or more – typically – unit – as a – processing – . Since – the microprocessor – has – the most – implementation – the mid-1970s – become – prevalent – of the CPU – . component – integrated – The – of an – circuit with – to minimum – cost will – in about – complexity – double – respect – 18 months – . handheld – from the – Now – system – largest – the smallest – computers – microprocessor – at its core – every – mainframe to – uses a – . implemented – The – smaller – size as a – being – on a single – faster –time – overall – CPU – result of – die means – switching – . Generally, – they – cut from a – semiconductor – using a – diamond – saw,– polished – on one or – faces – are – boule of – then – both – . During – process, – with up – of circuits – into – pieces, – each – a die – this – a wafer – to thousands – is cut – individual – called – . over – have – The – construction, – and general – of CPUs – changed – the past – years –, size, – complexity – form – drastically – sixty – . connections – case – In the – it leads – of one or – and causes – of the entire – worst – to the loss – more – circuit – the failure – . 20
10 The supply – has – continually – down to – dynamic – consumption circuits – voltage – scaled – reduce the – power – of integrated – .
Exercise 2 Make questions concerning the words in bold italics:
1
The supply voltage has continually scaled down to reduce the dynamic power consumption of integrated circuits. 2 These newer concerns cause researchers to investigate new methods of computing. 3 Earlier, electronic CPUs were typically made from bulky discrete switching devices. 4 The Moore´s Law has been generally followed, unconsciously, since the early 1970s. 5 The term microchip is usually applied to the entire packaged integrated circuits. 6 Wafers are cut from a boule of semiconducting material using a diamand saw. 7 The dicing is usually performed with a water-cooled circular saw with diamondtipped teeth. 8 Almost all common CPUs today can be very accurately described as von Neumann stored-program machines. 9 Extreme miniaturization of electronic gates cause much more significant electromigration and subthreshold leakage. 10 In the worst case electromigration leads to the loss of one or more connections and causes the failure of the entire circuit.
Exercise 3 Fill in the gaps using words from the box below: leakage current consumption reduced
small total subthreshold
on-state rises scaled
Subthreshold leakage is … (1) … that flows from the v to source of a MOSFET (metal oxide semiconductor field-effect transistor) when the transistor is supposed to be off. In the past the … (2) … leakage of transistors has been very … (3) …, but as transistors have been scaled down, subthreshold … (4) … can compose nearly 50% of … (5) … power consumption. The reason for this is that the supply voltage has continually scaled down to reduce the dynamic … (6) … of integrated circuits (the power that is consumed when the transistor is switching from an … (7) … to an off-state) which depends on the square of the supply voltage. As the supply voltage is … (8) … down, to maintain performance, the threshold voltage has to be … (9) … in the same proportion. As threshold voltages are reduced, subthreshold leakage … (10) … exponentially.
Exercise 4 Decide which answer (A, B, C, D) best fits each gap:
Quantum entanglement is a quantum mechanical phenomenon in which the quantum states of two or more …(1) … s have to be described with reference to each other, even though the … (2) … objects may be spatially … (3) …. This leads to correlation between observable physical … (4) … of the systems. For example, it is possible to prepare two particles in a … (5) … quantum state such that when one is observed to be spin-up, the other one will always be observed to be spin-down and vice versa, this despite the fact that it is impossible to … (6) …, according to quantum mechanics, which set of measurements will be observed. As a result, measurements … (7) … on one system seem to be instantaneously … (8) … other 21
systems entangled with it. However, this time … (9) … information cannot be transmitted through entanglement faster than the speed of light. 1
A object
B
thing
C matter
D entity
2
A singular
B
personal
C individual
D particular
3
A isolated
B
separated
C detached
D disjointed
4
A characteristics
B
qualities
C features
D properties
5
A one
B
single
C only
D solitary
6
A predict
B
forsee
C prophesy
D forecast
7
A accomplished
B
executed
C performed
D achieved
8
A affecting
B
influencing
C impacting
D inducing
9
A standard
B
customary
C conventional
D classical
22
UNIT 5
Computer memory Based on Wikipedia, the free encyclopedia
The term computer memory refers to the parts of a digital computer which retain physical state (data) for some interval of time. Most computers possess four kinds of memory: registers in the CPU, CPU caches (generally some kind of static RAM) both inside and adjacent to the CPU, main memory (generally dynamic RAM) which the CPU can read and write to directly and reasonably quickly; and disc storage, which is much slower, but also much larger. Very often the term memory identifies data storage that comes in the form of chips, and the word storage is used for memory that exists on tapes or disks. Moreover, the term memory is usually used as a shorthand for physical memory, which refers to the actual chips capable of holding data. Some computers also use virtual memory, which expands physical memory onto a hard disk. An analogy is to think of the storage as human memory, with the hard disk as long-term memory, and the memory as short-term memory. In other words, computer memory or computer storage refers to the computer components, devices and recording media that retain binary information for some interval of time. In casual language, memory usually refers to forms of storage which are fast, but lose their contents in a case of power loss, and storage refers to forms of storage which are slower, but suitable for long-term retention. Memory can be categorized in different ways by technology or properties: •
Memory primary access by the CPU or secondary (indirect) access by the CPU. This distinction is primarily based on the speed of access to the memory.
•
Memory volatile or non-volatile is a distinction based on technology (magnetic vs. electrical, etc.). Volatile memory loses its contents when it loses power; non-volatile storage does not.
•
Random-Access or Sequential-Access is a distinction based on the mechanism of reading the memory.
•
Read-only memory, or read-write is a distinction based on properties of the memory. Read only memory, or ROM, is not modifiable.
•
Mutable (Read-write) vs. Immutable (Read only) storage.
Each type of storage is suited for different purposes, and most computers contain several types: primary, secondary, and volatile. Primary vs. secondary storage. Primary storage contains data that are actively being used (for example, the programs currently being run and the data they are operating on). It is typically high-speed, relatively small, is often (but not always) volatile. It is sometimes referred to as "Main Memory." It can be accessed immediately and randomly. Secondary storage, also known as peripheral storage, is where the computer stores information that is not necessarily in current use. It is typically slower and higher-capacity than primary storage. It is almost always non-volatile. It is slow due to serial access (thus it is also termed Serial Access Memory).
23
Mutable vs. immutable storage. Data stored in mutable storage can be overwritten at any time. Data stored in immutable storage cannot be overwritten. Systems can be made more secure by storing programs and static data in immutable storage, where they cannot be changed by an attacker. Dynamic data is stored in mutable storage because it must be changed from time to time. Most operating systems store all programs and data on hard disk drives, which are inherently mutable storage devices. File system permissions can be used to make certain areas of the hard disk logically immutable. However, the superuser is normally not affected by these permissions thus allowing some attacks to succeed. RAM (Random-Access Memory). In personal computers this is the same as main memory. When used by itself, the term RAM refers to read and write memory. Most RAM is volatile. SRAM (Static RAM) stores data in flip flops, it only requires steady flow of electricity to maintain its contents. DRAM (Dynamic RAM) stores data in capacitors, which gradually lose charge and "forget". It requires periodic refresh cycles to restore the data. ROM (Read-Only Memory). Computers almost always contain a small amount of read-only memory that holds instructions for starting up the computer. PROM (Programmable ROM) is a memory chip on which a program can be stored. But once the PROM has been used, you cannot wipe it clean and use it to store something else. EPROM (Erasable Programmable ROM) is a special type of PROM that can be erased by exposing it to ultraviolet light. It must be removed from the board, erased, then reprogrammed. EEPROM (Electrically Erasable Programmable ROM) is a special type of PROM that can be erased by electrical signals, often the same ones that program it with new data. It can stay on the board and be reprogrammed in a system. Cache memory. In computer science, a cache is a collection of data duplicating original values stored elsewhere or computed earlier, where the original data is expensive (usually in terms of access time) to fetch or compute relative to reading the cache. Once the data is stored in the cache, future use can be made by accessing the cached copy rather than refetching or recomputing the original data, so that the average access time is lower. Caches have proven extremely effective in many areas of computing because access patterns in typical computer applications have locality of reference. There are several sorts of locality, but we mainly mean that the same data are often used several times, with accesses that are close together in time, or that data near to each other are accessed close together in time. Capacity and performance. Storage capacity is the total amount of stored information that a storage device or medium can hold. It is expressed as a quantity of bits or bytes. Latency is the time it takes to access a particular location in storage. The relevant unit of measurement is typically a nanosecond for primary storage, a millisecond for secondary storage, and a second for tertiary storage. It may make sense to separate read latency and write latency, and in case of sequential access storage, minimum, maximum and average latency. Throughput is the rate at which information can be read from or written to the storage. In computer storage, throughput is usually expressed in terms of megabytes per second or MB/s, though bit rate may also be used. As with latency, read rate and write rate may need to be differentiated.
Vocabulary baud bit rate, baud rate
jednotka rychlosti přenosu dat (bit/s) přenosová rychlost, definuje rychlost přenosu dat z datového média na jiné datové médium, baud rate udává počet změn signálu učiněných za sekundu, nelze 24
apriorně slučovat pojem bps s pojmem baud cache
vyrovnávací paměť, tj. rychlá paměť mezi hlavní pamětí a procesorem počítače, do níž se průběžně ukládají data, čtená z hlavní paměti
capacitor
kondenzátor
flip flop (flip-flop), latch
západka, klopný obvod, tj. elektronický obvod, který slouží pouze k zachování jednoho stavu, jako je např. vypnuto/zapnuto
immutable storage
nezměnitelné záznamové zařízení
latency
latence
mutable storage
proměnlivé záznamové zařízení
nonvolatile memory
paměť nezávislá na napájení, neztrácí svůj obsah při výpadku proudu
serial access
seriový přístup
storage, storage device
zařízení, které je schopno zaznamenávat nebo naopak číst počítačové informace - data v digitálním tvaru
throughput
propustnost, tj. míra propustnosti datového přenosu nebo rychlost zpracování dat samostatnou operační jednotkou, vyjadřuje maximální kapacitu přenosu mezi dvěma zařízeními v počtu přenesených bajtů (bitů) za časovou jednotku (sekundu)
volatile memory
druh paměti, která při výpadku napájení ztrácí svůj obsah, například paměť RAM, která musí být neustále obnovována dobíjecími impulsy
Acronyms RAM (Random-Access Memory)
Paměť s libovolným (náhodným) výběrem (přístupem)
SRAM (Static RAM)
Statická paměť RAM, informace je udržována staticky, nemusí se periodicky obnovovat jako u DRAM, proto je rychlejší
DRAM (Dynamic RAM)
Dynamická paměť RAM, uchovávanou informaci je nutné periodicky obnovovat
ROM (Read-Only Memory)
Paměť pouze pro čtení, trvalá (permanentní) paměť
PROM (Programmable ROM)
Programovatelná paměť ROM
EPROM (Erasable Programmable ROM)
Vymazatelná PROM, zpravidla ultrafialovým zářením
EEPROM (Electrically Erasable Programmable ROM)
Elektricky vymazatelná PROM
25
Exercise 1 Make sentences putting the given words into a correct order:
1
the term – identifies – storage – that – in the form – memory – Very often – of chips – data – comes – . 2 Some – memory – also – use – memory, – virtual – which – physical – onto – disk – computers – expands – a hard – . 3 Memory – be – in different – by technology – categorized – can – or – ways – properties – . 4 storage – data – are – being – contains – Primary – actively – that – used – . 5 storage, – known – storage, – for storing – that – necessarily – use – Secondary – also – as peripheral – is utilized – is not – information – in current – . 6 Most – systems – all – data – on hard – drives – operating – disk – programs and – store – . 7 File system – can be – to make – areas – hard – logically – immutable – permissions – used – disk – certain – of the – . 8 Computers – contain – starting up – amount – memory for – always – the computer – almost – a small – of read-only – . 9 is – duplicating – values – elsewhere or – a collection – earlier – A cache – of data – original – stored – computed – . 10 Caches – extremely – many – of computing – because – patterns – have – locality – effective in – of reference – have proven – areas – access – .
Exercise 2 Make questions beginning with the words in brackets:
1
The term computer memory refers to the parts of a computer which retain physical state for some time interval. (What … to?) 2 Most computers possess four kinds of memory. (How many …?) 3 The term memory identifies data storage that comes in the form of chips. (What kind …?) 4 The term storage refers to forms of storage which are slower, but suitable for longterm retention. (What … to?) 5 Memory can be categorized in different ways by technology or properties. (What … by?) 6 Primary storage contains data that are actively being used (e.g. the programs currently being run). (What data …?) 7 Systems can store programs and static data in immutable storage in order to be more secure. (Where …?) 8 Static RAM requires steady flow of electricity to maintain its contents. (Why …?) 9 Erasable programmable ROM can be erased by exposing it to ultraviolet light. (How …?) 10 Caches have proven extremely effective in many areas of computing because access patterns in typical computer applications have locality of reference. (Why …?)
Exercise 3 Fill in the gaps using words from the previous text:
adjacent elsewhere cache average patterns extremely several refetching together possess accessed duplicating
26
Most computers … (1) … four kinds of memory: registers in the CPU, CPU cashes, both inside and … (2) … to the CPU, main memory and disc storage, which is much slower, but also much larger. A CPU cache is a collection of data … (3) … original values stored … (4) … or computed earlier, where the original data is expensive (usually in terms of access time) to fetch or compute relative to reading the … (5) … . Once the data is stored in the cache, future use can be made by accessing the cached copy rather than … (6) … or recomputing the original data, so that the … (7) … access time is lower. Caches have proven … (8) … effective in many areas of computing because access … (9) … in typical computer applications have locality of reference. There are … (10) … sorts of locality, but we mainly mean that the same data are often used several times, with accesses that are close … (11) … in time, or that data near to each other are … (12) … close together in time. Exercise 4 Decide which answer (A, B, C, D) best fits each gap:
The … (1) … components of a general-purpose computer are arithmetic and logic unit, … (2) … circuitry, storage space, and input/output devices. If storage was removed, the device we had would be a simple calculator instead of a computer. The … (3) … to store instructions that form a computer program, and the information that the instructions … (4) … is what makes stored program architecture computers … (5) … . A digital computer … (6) … all information using the binary numeral system. Text, numbers, pictures, audio, and nearly any other form of information can be … (7) … into a string of bits, or binary digits. A … (8) … of information can be manipulated by any computer whose storage space is large enough to … (9) … the corresponding data, or the binary representation of the piece of information. Various forms of storage, based on various … (10) … phenomenon, have been invented. So far, no practical universal storage medium exists, and all forms of storage have some … (11) … . Therefore a computer system usually contains several kinds of storage, each with an individual … (12) …. 1
A central
B
fundamental
C essential
D vital
2
A rule
B
manage
C govern
D control
3
A capability
B
aptitude
C ability
D faculty
4
A manipulate
B
handle
C manage
D jockey
5
A adaptable
B
multilateral
C versatile
D universal
6
A stands for
B
represents
C symbolizes
D designates
7
A changed
B
transformed
C transmuted
D converted
8
A piece
B
section
C fragment
D portion
9
A provide
B
accommodate
C supply
D conform
10
A normal
B
inherent
C natural
D unaffected
11
A drawbacks
B
disadvantages
C shortcomings
D flaws
12
A aim
B
design
C object
D purpose
27
Exercise 5 Match the words in Colomn A to the expressions in Colomn B:
Colomn B
Colomn A 1
cache memory
a
storage, also known as peripheral storage, is where the computer stores information that is not necessarily in current use
2
primary storage
b
computers almost always contain a small amount of this memory that holds instructions for starting up the computer
3
immutable storage
c
a collection of data duplicating original values stored elsewhere or computed earlier, where the original data is expensive (usually in terms of access time) to fetch or compute
4
secondary storage
d
data stored in this storage can be overwritten at any time
5
ROM (read-only memory)
e
the rate at which information can be read from or written to the storage
6
throughput
f
storage containing data that are actively being used; it is typically high-speed, relatively small, sometimes referred to as "Main Memory"
7
mutable storage
g
data stored in this storage cannot be overwritten
28
UNIT 6
Virtual memory Based on Wikipedia, the free encyclopedia Virtual memory or virtual memory addressing is a memory management technique, used by a multitasking computer operating system wherein non-contiguous memory is presented to a software application as contiguous memory. The contiguous memory is referred to as the virtual address space. Virtual memory addressing is typically used in paged memory systems. This in turn is often combined with memory swapping, whereby memory pages stored in primary storage are written to secondary storage, thus freeing faster primary storage for other processes to use. In technical terms, virtual memory allows software to run in a memory address space, whose size and addressing are not necessarily tied to the computer's physical memory. Background. Many applications require access to more information than can be stored in physical memory. This is especially true when the operating system allows multiple processes/memory to run seemingly in parallel. The modern solution is to use virtual memory, in which a combination of special hardware and operating system software makes use of both kinds of memory to make it look as if the computer has a much larger main memory than it is actually. It usually provides the ability to simulate a main memory of almost any size. The total size of the virtual memory can be 232 for a 32 bit system, or approximately 4 Gigabytes. Newer 64 bit chips and operating systems use 64 or 48 bit addresses and can index much more virtual memory. This makes the job of the application programmer much simpler. No matter how much memory the application needs, it can act as if it has access to a main memory of that size and can place its data wherever in that virtual space that it likes. The programmer can also completely ignore the need to manage the moving of data back and forth between the different kinds of memory. Basic operation. When virtual memory is used, or when a main memory location is read or written to by the CPU, hardware within the computer translates the address of the memory location generated by the software (the virtual memory address) into either: •
the address of a real memory location (the physical memory address) which is assigned within the computer's physical memory to hold that memory item, or
•
an indication that the desired memory item is not currently resident in main memory.
In the former case, the memory reference operation is completed, just as if the virtual memory were not involved. In the latter case, the operating system is invoked to handle the situation, since the actions needed before the program can continue are usually quite complex. The effect of this is to swap sections of information between the physical memory and the disk; the area of the disk which holds the information which is not currently in physical memory is called the swap file (early Windowses, and others), page file (Windows), or swap partition. The translation from virtual to physical addresses is implemented by an MMU (Memory Management Unit). This may be either a module of the CPU, or an auxiliary, closely coupled chip. The operating system is responsible for deciding which parts of the program simulated main memory are kept in physical memory. The operating system also maintains the translation tables or page tables which provide the mappings between virtual and physical
29
addresses, for use by the MMU. In most computers, these translation tables are stored in physical memory. The hardware that supports virtual memory almost always supports memory protection mechanisms as well. The MMU may have the ability to vary its operation according to the type of memory reference (for reading, writing or execution), as well as the privilege mode of the CPU at the time the memory reference was made. This allows the operating system to protect its own code and data (such as the translation tables used for virtual memory) from corruption by an erroneous application program and to protect application programs from each other and (to some extent) from themselves (e.g. by preventing writes to areas of memory which contain code). History. Before the development of the virtual memory technique, programmers in the 1940s and 1950s had to manage two-level storage (main memory or RAM, and secondary memory in the form of hard disks or earlier, magnetic drums) directly. Virtual memory was developed in approximately 1959-1962, at the University of Manchester for the Atlas Computer, completed in 1962. However, Fritz-Rudolf Güntsch, one of Germany's pioneering computer scientists and later the developer of the Telefunken TR 440 mainframe, claims to have invented the concept in his doctoral dissertation in 1957. Like many technologies in the history of computing, virtual memory was not accepted without challenge. Before it could be regarded as a stable entity, many models, experiments, and theories had to be developed to overcome the numerous problems with virtual memory. Specialized hardware had to be developed that would take a "virtual" address and translate it into an actual physical address in memory (secondary or primary). Some worried that this process would be expensive, hard to build, and take too much processor power to do the address translation. By 1969 the debates over virtual memory for commercial computers were over. An IBM research team, lead by David Sayre, showed that the virtual memory overlay system worked consistently better than the best manual-controlled systems. Nevertheless, early personal computers in the 1980s were developed without virtual memory, on the assumption that such issues would only apply to large-scale commercial computers. Virtual memory was introduced for Microsoft Windows only in Windows 3.1 (1992), but available to Apple Macintosh starting with System 7 (1991).
Vocabulary address space addressing contiguous memory memory swapping, memory swap
non-contiguous memory
adresní prostor, tj. rozsah paměťových míst, která lze adresovat adresování, metoda používaná k určování umístění objektů přiléhající, souvislá paměť při této funkci umísťuje operační systém odkládaná data na disk do speciálně vytvořeného pro tento účel souboru, zvaného swap file nesouvislá paměť
30
paged address
paged memory system, paged memory management unit
paging
primary storage secondary storage swap
swap file or page file or swap partition
virtual address space virtual memory
stránkovaná adresa, tj. jde o způsob určování adresy v paměti, kterým je logická (sekvenční) adresa převáděna na fyzickou, určenou pomocí segmentů a stránek část základního hardware, který provádí řízení paměti, u moderních procesorů (vyšší řady procesorů firem Intel a Motorola) je tato jednotka přímo součástí procesoru stránkování, tj. technika tvorby virtuální paměti, jejíž jednotlivé bloky se nazývají stránky a jsou umísťovány na konkrétní fyzické adresy systému primární paměť sekundární paměť přesunout, přehodit, zde přesunout program z rychle přístupné paměti do paměti pomalejší, popřípadě provedení opačného postupu ("swap out", "swap in") odkládací soubor, swapovací soubor, má obvykle název signalizující jeho dočasnost (např. TMPFILE.SWP, FILE.$$$ apod.), a aplikace jej obvykle při svém ukončení sama automaticky smaže virtuální adresní prostor virtuální paměť, tj. paměť vytvořená v určité oblasti na pevném disku; v systémech s virtuální pamětí (např. Windows ) pak programy využívají celého paměťového rozsahu bez rozlišování mezi druhy pamětí
Acronyms MMU (Memory Management Unit) TLB or TLAB (Translation LookAside Buffer)
Jednotka správy paměti, výkonná jednotka procesoru Tabulka překladu adres realizovaná jako asociativní zápisníková paměť pro překlad virtuálních adres na fyzické, využívá ji procesorová MMU
Exercise 1 Make sentences putting the given words into a correct order:
1 2 3
Virtual memory – software – a memory – space, – may not – allows – which – physical memory – to run in – address – be tied to – . require – to more – than – stored in – applications – physical memory – Many – information – access – can be – . This is – when – system – multiple – to run – true – parallel – especially – allows – the operating – processes – seemingly in – . 31
4
usually – the ability – a main memory – any – It – size – to simulate – provides – of almost – . 5 can – the need – the moving – back – between the – kinds of – completely – The programmer – forth – to manage – ignore – of data – and – memory – different – . 6 or – may be – a module – an auxiliary, – coupled – MMU – chip – The – either – of the – CPU, – closely – . 7 The – system is – for deciding – the simulated – memory – physical memory – operating – which – main – responsible – parts of – are kept in – . 8 reference – MMU – operation – have – to vary – according to – of memory – The – may – the ability – its – the type – . 9 not accepted – technologies – Like – in the history – virtual – was – without – many – of computing, – memory – memory – challenge – . 10 memory – experiments, – Many – developed – and theories – had – to overcome – problems – with virtual – models, – to be – the numerous – .
Exercise 2 Make questions concerning the words in bold italics:
1 2
Virtual memory addressing is typically used in paged memory systems. The size and addressing capacity of the address space are not necessarily tied to the computer physical memory. 3 Using of the virtual memory provides the ability to simulate a main memory of almost any size. 4 In case of the indication the operating system is invoked to handle the situation. 5 The area of the disk which holds the information which is not currently in physical memory is called a swap file. 6 The translation from virtual to physical addresses is implemented by a Memory Management Unit. 7 The translation tables maintained by the operating system provide mappings between virtual and physical addresses. 8 The hardware that supports virtual memory almost always supports memory protection mechanisms as well. 9 The MMU may have the ability to vary its operation according to the type of memory reference. 10 The operating system protects its own code and data from corruption by erroneous application programs.
Exercise 3 Fill in the gaps using words from the box below:
approximately entity manage challenge developed power numerous technologies expensive address techniques Before the development of the virtual memory … (1) …, programmers in the 1940s and 1950s had to … (2) … two-level storage (main memory or RAM, and secondary memory in the form of hard disks or earlier, magnetic drums) directly. Virtual memory was developed in … (3) … 1959-1962, at the University of Manchester for the Atlas Computer, completed in 1962. Like many … (4) … in the history of computing, virtual memory was not accepted without … (5) … . Before it could be regarded as a stable … (6) …, many models, experiments, and theories had to be … (7) … to overcome the … (8) … problems with virtual
32
memory. Specialized hardware had to be developed that would take a "virtual" … (9) … and translate it into an actual physical address in memory (secondary or primary). Some worried that this process would be … (10) …, hard to build, and take too much processor … (11) … to do the address translation. Exercise 4 Decide which answer (A, B, C, D) best fits each gap:
Since programs rarely … (1) … all parts of their code and data at one point in time, the concept of virtual memory can be … (2) … by writing pages to a disk, and reading pages from the disk when they are needed. ... (3) ... computer architectures use … (4) … means to speed up paging. For example on the Intel i386 architecture used in personal computers, the CPU employs a special cache called Translation Lookaside Buffer (TLB), which … (5) … the mapping between a virtual memory address and the physical address it is … (6) … . This mapping is … (7) … by page table lookups until the physical page is evicted or swapped out, the … (8) … expensive page table lookups need not be repeated, since the result is cached in the TLB. It is a job of the operating system to … (9) … a particular entry from the TLB when this mapping becomes invalid. But as long as the entry is valid it can … (10) … thousands or millions of page table references. 1
A use
B
apply
C utilize
D employ
2
A executed
B
performed
C implemented
D put through
3
A Novel
B
Present
C Modern
D Contemporary
4
A miscellaneous
B
various
C different
D varied
5
A contains
B
comprises
C embodies
D includes
6
A upheld
B
supported
C backed by
D sustained
7
A gained
B
obtained
C got
D acquired
8
A numerically
B
calculatably
C countably
D computationally
9
A delete
B
remove
C cancel
D erase
10
A rescue
B
shelter
C save
D preserve
33
UNIT 7
Motherboards Based on Wikipedia, the free enciclopedia A motherboard is a printed circuit board used in a personal computer. It is also known as the mainboard and occasionally abbreviated to mobo or MB. A motherboard houses the BIOS (Basic Input/Output System), which is the simple software run by a computer when initially turned on. A typical motherboard provides attachment points for one or more of the following: CPU, a graphics card, a sound card, a hard disk controller, a hard-drive, disk drives, memory (RAM), and external peripheral devices. All of the basic circuitry and components required for a computer to function sit either directly on the motherboard or in an expansion slot of the motherboard or are connected with a cable. The most important component on a motherboard is the chipset which consists of two components or chips known as the Northbridge and Southbridge. These chips determine, to an extent, the features and capabilities of the motherboard. The northbridge (fast bridge) typically handles communications between the CPU, RAM, AGP (Accelerated Graphics Port) or PCI, and PCI Express (Peripheral Component Interconnect Express), and the southbridge. Some northbridges also contain integrated video controllers. The southbridge (slow bridge) implements the ‘slower’ capabilities of the motherboard in a northbridge/southbridge chipset computer architecture. The names the northbridge and the southbridge are derived from drawing the architecture in the fashion of a map. The CPU would be at the top of the map at due north. The CPU would be connected to the chipset via a fast bridge (the northbridge) located north of other system devices. The northbridge would then be connected to the rest of the chipset via a slow bridge (the southbridge) located south of other system devices. The southbridge is given responsibility for the slower devices on a typical microcomputer. A particular southbridge will usually work with several different northbridges, but these two chips must be designed to work together; there is no industry wide standard for interoperability between different core logic chipset designs. Traditionally this interface between a northbridge and a southbridge was simply the PCI bus, however since this created a performance bottleneck, most current chipsets use a different (often proprietary) interface with higher performance. There are usually a number of expansion card slots to allow peripheral devices and cards to be inserted. Each slot is compatible with one or more industry bus standards. Commonly available buses include: PCI, PCI-X, AGP, and PCI Express. ISA (Industry Standard Architecture) was the original bus for connecting cards to a PC. Despite significant performance limitations, it was not superseded by the more advanced but incompatible MCA (Micro Channel Architecture) or the equally advanced and backwardcompatible EISA (Extended Industry Standard Architecture) bus. It endured as a standard feature in PCs till the end of the 20th century, aided first by the brief dominance of the VESA (Video Electronic Standards Association). The more recent PCI bus is the current industry standard, which initially was a high-speed supplement to ISA for high-bandwidth peripherals (notably graphics cards, network cards, and SCSI - Small Computer System Interface - host adaptors), and gradually replaced ISA as a general-purpose bus. An AGP slot is a high speed, single-purpose port designed solely for connecting high performance graphics cards (which produce video output) to the monitor. Both AGP and PCI buses are marked for replacement
34
by PCI Express, although this is unlikely to happen prior to 2006 because of the large established base of AGP/PCI motherboards and add-in cards. A typical motherboard of 1999 might have had one AGP slot, four PCI slots, and one (or two) ISA slots; since about 2002 the last ISA slots in new boards have been replaced with extra PCI slots. Sometimes an Advanced Communications Riser or ACR slot is used instead on less expensive motherboards. As of 2001, most PCs also support Universal Serial Bus (USB) connections, and the controller and ports required for this are usually integrated onto the motherboard. An ethernet interface and a basic audio processor are now almost universally integrated into current motherboards as well. Generally, motherboards are air cooled with heat sinks on the larger chips such as the northbridge and CPU, and they have monitored sockets for case fans. Newer motherboards have integrated temperature sensors to detect motherboard and CPU temperatures, which can be used by the BIOS or operating system to regulate fan speed. The removal of waste thermal energy became a major concern for workstation PCs around 2000, with the problem becoming more severe over time as computer systems continued to consume more and more power. A study of the German computer magazine in 2003 found that some spurious computer crashes and general reliability issues ranging from screen image distortions to I/O read/write errors can surprisingly be attributed not to software or peripheral hardware but to aging PC motherboards. Motherboard voltage regulation uses electrolytic capacitors. These capacitors exhibit aging effects which depend on the temperature of the parts, since their water based electrolytes slowly evaporate leading to capacity loss and motherboard malfunctions due to voltage instabilities. While most capacitors are rated for 2000 hours at 105 degrees Celsius, their expected design life roughly doubles for every 10 degrees below this. At 45 degrees a lifetime of 15 years can be expected, which appears reasonable for a computer motherboard. In the past, many manufacturers delivered substandard capacitors, which would reduce this life expectancy figure. With inadequate case cooling this can become a serious problem. It is, however, possible to find and replace broken capacitors on PC motherboards. Motherboards are available in a variety of form factors, which usually correspond to a variety of computer case sizes. A form factor is a standardised motherboard size. The most popular motherboard form factor today is ATX, which evolved from its predecessor, the Baby AT, a smaller version of the AT (Advanced Technology) form factor. Generally speaking, nowadays a standard computer will have an ATX form factor motherboard: only special cases require different formfactors. Notebook computers generally use highly integrated, customized and miniaturized motherboards designed by the manufacturers. This is one of the reasons that notebook computers are difficult to upgrade and expensive to repair - often the failure of one integrated component requires the replacement of the entire motherboard, which is also more expensive than a regular motherboard due to the large number of integrated components in it.
Vocabulary
35
add-in card, add-on card, expanding card attachment points backward-compatibility
bus
bus master
client electrolytic capacitors Ethernet
Ethernet addres
motherboard
Northbridge, North Bridge
slot
Southbridge, South Bridge
thin/light client
přídavná karta připojovací body zpětná kompatibilita, tj. software či hardware umí pracovat se staršími verzemi tohoto prvku, nová verze programu umí načítat i ukládat soubory, se kterými umí pracovat i starší verze, a nová hardwarová komponenta umí využívat ovladače vytvořené pro jeho starší verzi sběrnice, tj. skupina speciálních vodičů a obvodů umístěných na základní desce, určená pro vzájemnou komunikaci a přenos dat mezi procesorem a ostatními základními komponentami počítače; sběrnice se charakterizují počtem vodičů; nejrozšířenější počítače mají počet datových vodičů 8, 16, popř. 32 okruh, který řídí činnost sběrnice a zejména přiřazuje priority různým procesům a činnostem; jeho činnost se nazývá busmastering klient, hierarchicky podřazená součást systému využívající služeb vyšší úrovně elektrolytický kondenzátor architektura počítačové sítě, používaná dnes zejména v oblasti lokálních počítačových sítí, navržená firmami Intel, DEC a Xerox; struktura této sítě je sběrnicová (dlouhý kabel s napojenými kratšími kabely vedoucími k stanicím sítě) a nekruhová (token-ring) ethernetová adresa, též MAC adresa, 48-bitové číslo identifikující konkrétní síťovou (ethernetovou) kartu ve formě dvanáctimístného znakového řetězce, nebo šesti hexadecimálních 256-bitových čísel oddělených dvojtečkami základní deska, nachází se uvnitř počítače; jsou na ní umístěny hlavní integrované obvody, sběrnicový systém, konektory pro připojení adaptérů a paměťových čipů a další elektronické součástky "horní polovina" čipové sady; slouží jako styčný bod pro procesor, RAM paměť, většinou i video akcelerátor přes AGP sběrnici speciální zásuvka (slot), tj. konektor na základní desce počítače, sloužící k připojení dalších rozšiřujících zařízení; počet slotů je důležitou charakteristikou počítače, která udává fyzické možnosti jeho rozšiřování "dolní polovina" čipové sady; integruje rozhraní jako IDE, FDD, klávesnici, paralelní a sériové porty, případně USB, FireWire atd.; mnohdy tento obvod slouží i jako brána pro ISA sběrnici, síťová či zvuková karta atd. štíhlý/lehký klient - program či počítač, jehož velká většina funkcí a činností je vykonávána na serveru, ke
36
kterému je trvale připojen (pojem je v současné době živý díky Network Computer)
Acronyms
ACR (Actual Compression Ratio) ACR (Advanced Communication Riser) AGP (Accelerated Graphics Port)
AT (Advanced Technology) ATX (Advanced Technology Extended) BIOS (Basic Input/Output System) BTX (Balanced Technology Extended) EISA (Extended OR Enchanced Industry Standard Architecture) ISA (Industry Standard Architecture) MB Mb MB (Mother Board) MCA (Micro Channel Architecture) MCA (Multiprocessor Communication Adapter) PCI (Peripheral Component Interconnect)
Aktuální kompresní poměr, tj. poměr mezi skutečnou velikostí souborů a místa pro jejich uložení v komprimovaném tvaru Levnější (než PCI) sběrnice pro připojování periférií Zrychlené grafické rozhraní, nově navržený zvláštní typ sběrnice pro spojení paměti a procesorů Intel nové generace (Merced) s propustností až 30krát vyšší než PCI Vyspělá technologie, také označení třídy počítačů PC uvedené na trh v roce 1984 s procesorem 80286 Vyspělá technologie rozšířená Základní systém vstupu a výstupu, také název obvodu PROM s programovým kódem pro BIOS v počítačích PC Rozšířená vyvážená technologie, specifikace PC skříně a základních desek zohledňující lepší tepelné poměry jiné uspořádání komponent a ventilátorů Rozšířená (nebo vylepšená) ISA, 32 bitová sběrnice výrobců počítačů konkurujících IBM Standardní průmyslová sběrnice MegaByte, 1024 KB, tj. 1048576 bajtů MegaBit, 1024 Kb, tj. 1048576 bitů Základní deska počítače Mikrokanálová architektura, 32 bitová sběrnice počítačů PS/2 fy IBM Multiprocesorový komunikační adaptér Standard pro připojení periferních zařízení, standard vysokorychlostní sběrnice, takt 33 MHz, šířka dat 32 bitů, přenosová rychlost 133 MB/s Standard pro připojení periferních zařízení rozšířený
PCI-X (Peripheral Component Interconnect Extended) SCSI (Security Control Systems, Jméno společnosti, SCSI je její ochranná známka Inc.) SCSI (Small Computer System Rozhraní malých počítačových systémů nebo Standardní OR Standard Interface) rozhrání, tj standard rozhraní pro připojování periferních zařízení k počítačům PC
37
USB (Universal Serial Bus)
WT (Workstation Technlogy (Extended))
Univerzální sériová sběrnice, nová sběrnicová norma pro PC fy Compaq, Digital, IBM, Intel, Microsoft, NEC a Northern Telecom, přenosová rychlost 12 Mb/s Technologie pracovní stanice (rozšířená)
Exercise 1 Make sentences putting the given words into a correct order:
1 2
A – houses – Input– Basic – motherboard - System – the - /Output - . chipset – motherboard – of two – known – northbridge – southbridge – The – on a – consists – chips – as the – and – . 3 capabilities – southbridge – the ‘slower’ – motherboard – of the – implements – The –. 4 card – There – devices – usually – of expansion – slots – peripheral – and cards – inserted – are – a number – allowing – to be – . 5 cards to – port – slot – speed – designed – AGP – solely for – high performance – the monitor – An – is a high – connecting – graphics – . 6 Since – 2002 – ISA slots – motherboards – been replaced – extra – the last – in new – about – have – with – PCI slots – . 7 An – and a – universally – interface – audio – are – almost – integrated – current – motherboards – ethernet – basic – processor – now – into – . 8 Newer – sensors – have – temperature – to detect – motherboard – temperatures – motherboards – integrated – and CPU – . 9 energy – removal – thermal – became – concern – for workstation – around 2000 – The – of waste – a major – PCs – . 10 form – most – motherboard – factor – is ATX, – evolved – predecessor – the – AT – The – popular – today – which – from its – Baby – .
Exercise 2 Make questions beginning with the words in brackets:
1 2 3 4 5 6 7 8 9
All of the basic circuitry and components required for a computer to function sit either directly on the motherboard or in expansion slots. (Where … ?) The northbridge and southbridge determine, to an extent, the features and capabilities of the motherboard. (What … ?) EISA bus endured as a standard feature in PCs till the end of the 20th century. (When … ?) A typical motherboard of 1999 might have had one AGP slot, four PCI slots, and one (or two) ISA slots. (How many … ?) Since about 2002 the last ISA slots in new boards have been replaced with extra PCI slots. (What … with?) An ethernet interface and a basic audio processor are now almost universally integrated into current motherboards. (Where … ?) Newer motherboards have integrated temperature sensors to detect motherboard and CPU temperatures. (What … for?) Electrolytic capacitors exhibit aging effects depending on the temperature of the parts. (What … ?) Motherboard form factors usually correspond to a variety of computer case sizes. (What … to?)
38
10 Notebook computers are difficult to upgrade and expensive to repair - often the failure of one integrated component requires the replacement of the entire motherboard. (Why … ?) Exercise 3 Fill in the gaps using words from the box below:
aging distortions electrolytic 2003 evaporate doubles attributed reasonable manufacturers crashes broken instabilities A study of the German computer magazine in … (1) … found that some spurious computer … (2) … and general reliability issues ranging from screen image … (3) … to I/O read/write errors can surprisingly be … (4) … not to software or peripheral hardware but to aging PC motherboards. Motherboard voltage regulation uses … (5) … capacitors. These capacitors exhibit … (6) … effects which depend on the temperature of the parts, since their water based electrolytes slowly … (7) … leading to capacity loss and motherboard malfunctions due to voltage … (8) …. While most capacitors are rated for 2000 hours at 105 degrees Celsius, their expected design life roughly … (9) … for every 10 degrees below this. At 45 degrees a lifetime of 15 years can be expected, which appears … (10) … for a computer motherboard. In the past, many … (11) … delivered substandard capacitors, which would reduce this life expectancy figure. With inadequate case cooling this can become a serious problem. It is, however, possible to find and replace … (12) … capacitors on PC motherboards. Exercise 4 Decide which answer (A, B, C, D) best fits each gap:
The names the northbridge and the southbridge are … (1) … from drawing the architecture in the fashion of a map. The CPU would be at the top of the map at due north. The CPU would be … (2) … to the chipset via a … (3) … bridge (the northbridge) located north of other system devices. The northbridge would then be connected to the rest of the chipset via a slow bridge (the southbridge) … (4) … south of other system devices. The southbridge is given responsibility for the … (5) … devices on a typical microcomputer. A … (6) … southbridge will … (7) … work with several different northbridges, but these two chips must be designed to work together; there is no industry … (8) … standard for interoperability between different … (9) … logic chipset designs. Traditionally this interface between a northbridge and a southbridge was simply the PCI bus, however since this created a performance … (10) …, most current chipsets use a different (often … (11) …) interface with higher performance. A deducted B descended C infered D derived 1 2
A linked
B
connected
C related
D associated
3
A fast
B
active
C rapid
D quick
4
A situated
B
located
C placed
D set
5
A slower
B
tardy
C gradual
D sluggish
6
A (the) only
B
single
C individuual
D particular
7
A usually
B
habitually
C generally
D ordinarily
8
A wide
B
expanded
C vast
D spacious
39
9
A essence
B
nucleus
C core
D substance
10
A bottleneck
B
constriction
C blockage
D obstacle
11
A patent
B
possessive
C branded
D proprietary
40
UNIT 8
Computer hardware Based on Wikipedia, the free encyclopedia
Computer hardware is the physical parts of a computer, as distinguished from the computer software or computer programs and data that operate within the hardware. The hardware of a computer is infrequently changed, in comparison with software and data which are "soft" in the sense that they are readily created, modified or erased on the computer. Firmware is special software that rarely, if ever, needs to be changed and so is stored on hardware devices such as read-only memory (ROM) where it is not readily changed (and therefore is "firm" rather than just "soft"). Most computer hardware is not seen by normal users because it is enclosed as embedded systems in automobiles, microwave ovens, electrocardiograph machines, compact disc players, and many other household appliances. In other words, an embedded system is a special-purpose computer system, which is completely encapsulated by the device it controls. Personal computers, the computer hardware familiar to the most people, form only a small minority of computers (about 0.2% of all new computers produced in 2003). A typical personal computer consists of a chassis in desktop or tower shape and the following parts: •
Motherboard or a system board with slots for expansion cards and holding parts including: o
Central processing unit (CPU).
o
Random Access Memory (RAM) - for program execution and short term data storage, so the computer does not have to take the time to access the hard drive to find something. More RAM can contribute to a faster PC.
o
Buses (a bus is a subsystem that transfers data or power between computer components inside a computer or between computers):
PCI (Peripheral Component Interconnect standard) bus
PCI Express or AGP (Accelerated Graphics Port also called Advanced Graphics Port) bus
ISA (Industry Standard Architecture) bus is a computer bus standard for IBM compatibles (outdated)
USB (Universal Serial Bus) provides a serial bus standard for connecting devices.
•
Power supply - a case that holds a transformer, voltage control and fan.
•
Storage controllers of IDE - Integrated Drive Electronics (or ATA - Advanced Technology Attachment, i.e. a standard interface for connecting storage devices such as hard discs and CD-ROM drives inside personal computers), SATA (Serial ATA is a computer bus technology primarily designed for transfer of data to and from a hard disc), SCSI (Small Computer System Interface) or other type, that control hard disc, 40
floppy disc, CD-ROM and other drives. the controllers sit directly on the motherboard (on-board) or on expansion cards. •
Video display controller that produces the output for the computer display.
•
Computer bus controllers (parallel, serial, USB, FireWire) to connect the computer to external peripheral devices such as printers or scanners.
•
Some type of a removable media writer: o
o
•
CD - the most common type of removable media, cheap but fragile
CD-ROM Drive
CD Writer.
DVD (sometimes known as "Digital Versatile Disc" or "Digital Video Disc") is an optical disc storage media format that can be used for data storage, including movies with high video and sound quality.
DVD-ROM Drive
DVD Writer
DVD-RAM Drive.
o
Floppy disk.
o
Zip drive (a medium-capacity removable disk storage system)
o
Tape drive (also known as a streamer, is a peripheral device that reads and writes data stored on a magnetic tape) - mainly for backup and long-term storage.
Internal storage - keeps data inside the computer for later use: o
Hard disk (a non-volatile data storage device) - for medium-term storage of data.
o
Disk array controller (a computer hardware device which provides secondary storage services to computer systems, often in large servers.
•
Sound card - translates signals from the system board into analog voltage levels, and has terminals to plug in speakers.
•
Networking - to connect the computer to the Internet and/or other computers:
•
o
Modem – for dial-up connections
o
Network card – for DSL/Cable internet, and/or connecting to other computers.
Other peripherals.
In addition, hardware can include external components of a computer system. The following are either standard or very common. •
Input or Input devices
41
•
o
Text input devices (Keyboard)
o
Pointing devices (Mouse, Trackball)
o
Gaming devices (Joystick, Gamepad)
o
Image, Video input devices (Image scanner, Webcam – i.e. a real time camera whose images can be accessed using the WWW, instant messaging, or a PC video calling application)
o
Audio input devices (Microphone, Headset)
Output or Output devices o
Image, Video output devices (Printer, Monitor)
Audio output devices (Speakers).
Vocabulary sběrnice, tj. skupina speciálních vodičů nebo obvodů umístěných na základní desce, určená pro vzájemnou komunikaci a přenos dat v počítači embedded system integrovaný (zabudovaný) systém FireWire rozhraní FireWire (rychlé - dle standardu IEEE 1394), druh vysokorychlostní sériové sběrnice firmware “firemní” programové vybavení nízké úrovně, uložené obvykle v nepřepisovatelné paměti ROM, tj. tyto programy jsou neměnné a nevyjímatelné floppy disk disketová jednotka (médium je disketa, pružný disk) gamepad herní ovladač joystick pákový ovladač, tj. periférie, která slouží především k ovládání počítačových her non-volatile memory pamět uchovávající informace nezávisle na napájení set of wires skupina vodičů streamer magnetopásková zálohovací jednotka threshold capability prahová schopnost trackball kulový ovladač volatile memory pamět závislá na napájení, při výpadku napájení ztrácí svůj obsah bus
Acronyms PCI (Peripheral Component Interconnect (standard)) USB (Universal Serial Bus)
Sběrnice standardu PCI, tj. standardu vysokorychlostní sběrnice, takt 33 MHz, šířka dat 32 bitů, přenosová rychlost 133 Mb/s Univerzální sériová sběrnice, nová sběrnicová norma pro PC fy Compaq, Digital, IBM, Intel, Microsoft, NEC a Northern Telecom,
42
přenosová rychlost 12 Mb/s ISA (Industry Standard Architecture) Standardní průmyslová architektura, standard sběrnice počítačů PC, původně 8, nyní výhradně 16ti bitová AGP (Accelerated Graphics Port) Zrychlené grafické rozhraní nebo AGP sběrnice, nová technologie (a také chipset) grafických karet od fy Intel, používá se pro vidoadaptéry AGP (Advanced Graphics Port) Pokročilé grafické rozhraní, nově navržený zvláštní typ sběrnice pro spojení paměti a procesorů Intel nové generace (Merced) s propustností až 30 krát vyšší než PCI DVD (Digital Versatile Disc) Digitální víceučelový disk, technologický nástupce CD-ROM DVD (Digital Video Disc) Digitální video disk, technologický nástupce CD-ROM IDE (Integrated Development Integrované vývojové prostředí, zpravidla Environment) zahrnuje provázaný editor, překladač, sestavovací program a debugger IDE (Integrated Device Electronics IDE – Integrované Diskové Elektronické many terms and synonyms for ATA exist, rozhraní, průmyslový standard pro připojení including abbreviations such as IDE) disků k PC založený na protokolu ATA, také označení řadičů HD integrovaných do jediného zařízení s vlastní mechanikou pevného disku ATA (Advanced Technology AT připojení – IBM standard pro počítače AT, Attachment) standardizace rozhraní IDE SATA (Serial Advanced Technology Sériové diskové rozhraní ATA, nástupce Attachment) stávajícícho ATA, bude začínat s rychlostí 1.5 Gb/s, postupně se bude zvyšovat až na 6 Gb/s SCSI (Small Computer System Interface) Rozhraní pro malé počítačové systémy, standard rozhraní pro připojování periferních zařízení k počítačům PC DSL (Digital Subscriber Link) Protokol přenosu dat pro abonenta po digitální lince, přenosové pásmo až 120 Kb/s, používá kanály B (2 x 64 Kb/s) i kanál D (16 Kb/s) Webcam (Real time camera) Webová kamerka (kamera pro přenos obrazu na Internet v reálném čase)
Exercise 1 Make sentences putting the given words into a correct order:
1 2
changed – needs – to be – and so is – on hardware – such as – ROM – rarely – Firmware – stored – devices – . An – system – special-purpose – which is – encapsulated – device – it – computer system, – by the – embedded – is a – completely – controls – .
43
3
computer – doesn't – take – to access – drive – to find – RAM the – something – Using – have to – the time – the hard – . 4 RAM – to a – contribute – faster – PC – More – can – . 5 Buses – data or – between – components – inside or between – power – computers – transfer – computer – a computer – . 6 computer – bus – disc – primarily – for transfer – to and from a – ATA – hard – Serial – designed – is a – technology – of data – . 7 Video – computer display – controller – output – for the – display – produces the – . 8 bus – peripheral – connect – scanners – to external – devices – printers or – controllers – Computer – the computer – such as – . 9 can be – for data – including – with high – sound – used – DVD – storage – movies – video and – quality – . 10 services – array – provides – storage – to computer – often in large – controller – servers – Disk – systems, – secondary – .
Exercise 2 Make questions beginning with the words in brackets:
1
Sound cards translate signals from the system board into analog voltage levels. (What … into ?) 2 Hardware can include external components of a computer system, i.e. input and output devices. (What … ?) 3 Image and Video input devices can be accessed using the WWW. (How … ?) 4 The hardware of a computer is infrequently changed, in comparison with software and data. (How often … ?) 5 Software and data are "soft" in the sense that they are readily created, modified or erased on the computer. (What sence … in ?) 6 Most computer hardware is not seen by normal users because it is enclosed as an embedded system in the devices it controls. ( Why … ?) 7 Disk array controllers provide secondary storage services to computer systems in large servers. (Where … ?) 8 The controllers sit directly on the motherboard (on-board) or on expansion cards. (Where … ?) 9 Unlike a point-to-point connection, a bus can logically connect several peripherals over the same set of wires. (What … ?) 10 These integrated circuits can be fitted on the motherboard itself. (Where … ?)
Exercise 3 Fill in the gaps using words from the previous text:
embedded programmable older facilitates tasks particular control combination encapsulated common An embedded system is a special-purpose computer system, which is completely … (1) … by the device it controls. An … (2) … system has specific requirements and performs predefined … (3) …, unlike a general-purpose personal computer. An embedded system is a programmed hardware device. A … (4) … hardware chip is the “raw material” and it is programmed with … (5) … applications. This is to be understood in comparison to … (6) … systems with full functional hardware or systems with general purpose hardware and externally loaded software. Embedded systems are a … (7) … of hardware and software which … (8) … mass production and variety of applications. The most … (9) … form of
44
computers in use today is the embedded computers used to control another devices. Embedded computers … (10) … machines from fighter planes to digital cameras. Exercise 4 Decide which answer (A, B, C, D) best fits each gap:
Computers can be extremely versatile. In fact, they are … (1) … information processing machines. According to the Charge-Turing thesis, a computer with a certain minimum threshold capability is in principle … (2) … of performing the tasks of any other computer, from those of a personal digital … (3) … to a supercomputer. Therefore, the same computer designs have been adapted for tasks from … (4) … company payrolls to controlling industrial robots. Modern electronic computers also have enormous speed and capacity for information processing compared to earlier designs, and they have become exponentially more … (5) … over the years (a phenomenon known as the Moore´s Law). Computers are … (6) … in many physical forms. The original computers had the size of a large room, and such … (7) … computing facilities still exist for specialized … (8) … computation and for the transaction processing … (9) … of large companies, generally called mainframes. Smaller computers for … (10) … use, called personal computers, and their … (11) … equivalent, the laptop computers, are ubiquitous information-processing and communication tools and are … (12) … what most non-experts think of as "a computer". However, the most … (13) … form of computer in use today is embedded computers, small computers used to control another devices. A entire B universal C general D total 1 2
A competent
B
qualified
C capable
D gifted
3
A helper
B
assistant
C aide
D deputy
4
A collecting
B
compiling
C performing
D processing
5
A powerful
B
strong
C forcible
D effective
6
A accessible
B
available
C valid
D in hand
7
A gigantic
B
immense
C enormous
D huge
8
A methodical
B
scientific
C systematic
D thorough
9
A commands
B
claims
C demands
D requirements
10
A individual
B
particular
C personal
D singular
11
A transferable
B
portable
C movable
D transportable
12
A possibly
B
perchance
C perhaps
D maybe
13
A mutual
B
ordinary
C general
D common
45
UNIT 9 Computer software Based on Wikipedia, the free encyclopedia Software or computer software is that part of a computer system which consists of encoded information, as opposed to the physical computer equipment (hardware) which is used to store and process this information. The term is roughly synonymous with computer programs but is more generic in scope. The term "software" was first used in this sense by John W. Tukey in 1957. In computer science and software engineering computer software is all information processed by computer systems, programs and data. The concept of software was first proposed by Alan Turing. Relationship to hardware. Computer hardware is the physical substrate which is required to store and execute (or run) the software. The computer software is loaded in RAM and executed on the central processing unit. At the lowest level software consists of a machine language specific to an individual processor. The machine language comprises groups of binary values signifying processor instructions and data. Software is generally written in highlevel languages that are easy and efficient for humans to use. High-level languages are compiled into the machine language. Relationship to data. Software has historically been considered an intermediary between electronic hardware and data, which the hardware processes according to instructions defined by the software. As computational science becomes increasingly complex, the distinction between software and data becomes less precise. Data has generally been considered either the output or input of software. However, data is not the only possible output or input. For example, configuration information can also be considered input, although not necessarily considered data. The output of a particular piece of software may be the input for another piece of software. Therefore, software may be considered an interface between hardware, data, or software. Software operation. Computer software has to be "loaded" into the computer memory. Once the software is loaded, the computer is able to operate the software. Computers operate by executing the computer program. This involves passing instructions from the application software, through the system software, to the hardware which ultimately receives the instruction as a machine code. Each instruction causes the computer to carry out an operation – moving data, carrying out a computation, or altering the flow of instructions. Kinds of software by operation are as follows: computer program as executable, source code or script, configuration. Classification of software. Practical computer systems divide software into three major classes: system software, application software and programming software. Nevertheless the distinction is somewhat arbitrary, and often blurred. System software helps run the computer hardware and computer system. It includes operating systems, device drivers, diagnostic tools, servers, windowing systems, utilities and more. Application software allows a user to accomplish one or more specific tasks. Typical applications include office suites, business application software, educational application software, databases and computer games. Most application software has a graphical user interface (GUI). Starting in the 1980s, the application software has been sold in mass-produced packages through retailers. Programming software usually provides some useful tools to help programmers to write computer programs and software using different programming language in a more convenient
46
way. The tools include a text editor, compiler, interpreter, linker, debugger and so on. Integrated development environment (IDE) merges those tools in a software bundle, and a programmer may not need to type a lot of commands for compiling, interpreting, debugging, tracing etc., because IDE mostly has GUI. Software programs and libraries. A software program is usually a directly executable part of the software. Software libraries are software components that are used by stand-alone programs, but which cannot be executed on their own. Users seeing of software. Users often see things differently than programmers. People who use modern general purpose computers (as opposed to embedded systems) usually see three layers of software performing a variety of tasks: platform, application, and user software. Platform software includes the basic input-output system (often described as firmware rather than software), device drivers, an operating system and typically a graphical user interface which, in total, allow a user to interact with the computer and its peripherals (associated equipment). Platform software often comes bundled with the computer, and users may not realize that it exists or that they have a choice to use different platform software. Application software or Applications are what most people think of when they think of software. Typical examples include office suites and video games. Application software is often purchased separately from computer hardware. Sometimes applications are bundled with the computer, but that does not change the fact that they run as independent applications. Applications are almost always independent programs from the operating system, though they are often tailored for specific platforms. Most users think of compilers, databases, and other "system software" as applications. User software or user-written software tailors systems to meet the users specific needs. User software include spreadsheet templates, word processor macros, scientific simulations, graphics and animation scripts. Even e-mail filters are a kind of user software. Users create this software themselves and often overlook how important it is. Software quality factors. A software product possesses the factor of: Understandability if the purpose of the product is clear. Completeness if all of its parts are present and each of its parts are fully developed. Conciseness if no excessive information is presented in it. Portability if it can be operated easily and well on computer configurations other than its current one. Consistency if it contains uniform notation, symbology and terminology within itself. Maintainability if it facilitates updating to satisfy new requirements. Testability (Software testing) if it facilitates the establishment of acceptance criteria and supports evaluation of its performance. Usability if it is convenient and practicable to use. Reliability (Software reliability) to the extent that it can be expected to perform its intended functions satisfactorily. Structuredness if it possesses a definite pattern of organisation in its constituent parts. Efficiency to the extent that it fulfills its purpose without waste of resources. Unfortunately, software quality factors cannot be measured exactly because of their vague description. So, metrics can be used to quantify software quality factors as non-functional requirements. It means that a set of questions relevant to the factor characteristic is worked out for every characteristic. Some types of a scoring formula could be developed based on the answers to these questions, from which a measure of the characteristics or quality factors may be obtained. Vocabulary
47
animation script bundle compiler
animační skript balík, souprava, svazek překladač (kompilátor), tj. programový prostředek určený pro převod zdrojového kódu programu do přímo a samostatně spustitelné podoby conciseness stručnost, výstižnost debugger ladicí program, který umožňuje vyhledávat a odstraňovat chyby ve zdrojovém programu decompiler zpětný překladač, tj. program, jehož úkolem je převést kompilovaný strojový kód zpět do původního zdrojového kódu interpret, tj. program, který přijímá příkazy uživatele z interpreter, command příkazové řádky, zpracuje je a předá je k provedení vlastnímu interpreter operačnímu systému linker spojovací program, který provádí spojení již hotových programů ve strojovém kódu za současného vyřešení vzájemných odkazů script file script soubor, tj. soubor obsahující sérii instrukcí (příkazů) pro daný program software bundle, bundled soubor programů, prodávaný společně s hardwarovými software produkty spreadsheet template šablona tabulkového kalkulátoru template šablona, tj. předem navržená a vytvořená struktura datového souboru nebo dokumentu tracing, trace trasování, krokování, tj. postup používaný programátory při tvorbě a ladění programového vybavení
Acronyms API (Application Programming Interface)
Aplikační programové rozhraní
Grafické uživatelské rozhrání GUI (Graphical User Interface) HD (High Density), (Hard Disc) Vysoká hustota (záznamu), Pevný disk IDE (Integrated Development Environment) Integrované vývojové prostředí, průmyslový standard pro připojení disků k PC založený na protokolu ATA RAM (Random Access Memory) Paměť s přímým přístupem
Exercise 1 Make sentences putting the given words into a correct order:
1
was – concept – software – first – by – The – of – proposed – Alan Turing – .
2
unit – executed – software is – in RAM – and – on the – processing – In computers – loaded – central – .
3
At the – specific – level – consists – language – to an – individual – lowest – software – of a machine – processor – .
48
4
Software – historically – been – an intermediary – electronic – and data – has – considered – between – hardware – .
5
output – of a – piece of – may be – for another – of software – The – particular – software – the input – piece – .
6
Users – not realize – they – a choice – different – platform – may – that – have – to use – software – .
7
product – the purpose – If – software – is clear, – possesses – of understandability – of a – the product – the factor – .
8
tailors – User-written – systems to – the users – needs – software – meet – specific –.
9
A – software – contains – notation, – symbology and – itself – consistent – product – uniform – terminology – within – .
10 could – Maintainability – that a – product – be easily – updated to – new – means – software – satisfy – requirements – .
Exercise 2 Make questions beginning with the words in brackets:
1
In computers software is loaded in RAM and executed on the central processing unit. (Where … in computers ?)
2
A machine language consists of groups of binary values signifying processor instructions and data. (What … of?)
3
Typical examples of the application software include office suites and video games. (What … ?)
4
Sound cards translate signals from the system board into analog voltage levels. (What … into?)
5
Unfortunately, software quality factors cannot be measured exactly because of their vague description. (Why …?)
6
A set of questions relevant to the factor characteristic should be worked out for every quality factor by software engineers. (Who … by ?)
7
Some types of a scoring formula could be developed based on the answers to the specific questions. (How …?)
8
The pressure of making software profitable will become the driving force of its future reliability improvement. (What … ?)
9
Practical computer systems divide software into three major classes: system software, application software and programming software. (How many … into?)
10 The system software helps run the computer hardware and computer system. (What … ?)
Exercise 3 Fill in the gaps using words from the previous text:
blurred tools games suites interface different through accomplish debugger convenient diagnostic distinction
49
Practical computer systems divide software into three major classes: system software, application software and programming software. Nevertheless, the … (1) … is somewhat arbitrary, and often … (2) … . System software helps run the computer hardware and computer system. It includes operating systems, device drivers, … (3) … tools, servers, windowing systems, utilities and more. Application software allows a user to … (4) … one or more specific tasks. Typical applications include office … (5) … , business application software, educational application software, databases and computer … (6) … . Most application software has a Graphical user … (7) … . Starting in the 1980s, the application software has been sold in mass-produced packages … (8) … retailers. Programming software usually provides some useful tools to help programmers to write computer programs and software using … (9) … programming languages in a more … (10) … way. The tools include a text editor, compiler, interpreter, linker, … (11) … and so on. The Integrated development environment merges those … (12) … in a software bundle, and a programmer may not need to type a lot of commands for compiling, interpreting, debugging, tracing etc., because IDE mostly has GUI. Exercise 4 Decide which answer (A, B, C, D) best fits each gap:
Reliability is a software quality factor, which cannot be … (1) … in its own right. It should be taken into … (2) … when … (3) … the quality of the software. Although the term "quality" could … (4) … a subjective rather than qualitative evaluation, software reliability is … (5) … meant to be measured using objective criteria. These … (6) … criteria are typically called metrics. Then again, much of the real … (7) … in improving the reliability of software has been practical, evolutionary and even ad hoc, brought on by the pressures of making software … (8) … manageable and even comprehensible, not to mention profitable. It is thought by some that the last … (9) … will become the driving force of future reliability improvement … (10) … as competition in the software development industry … (11) … new heights of intensity, and as … (12) … become more frustrated with software which fails to meet up to growing … (13) … . 1
A evaluated
B
appraised
C estimate
D assessed
2
A consideration
B
regard
C importance
D attention
3
A establishing
B
concluding
C determining
D ascertaining
4
A connote
B
imply
C suggest
D indicate
5
A often
B
generally
C usually
D commonly
6
A metrical
B
calculated
C measured
D prearranged
7
A work
B
achievement
C project
D occupation
8
A elaboration
B
amplification
C maturation
D development
9
A need
B
requirement
C demand
D claim
10
A efforts
B
attempts
C strivings
D exertions
11
A gains
B
attains
C approaches
D reaches
12
A customers
B
clients
C users
D consumers
50
A prospects
13
B
expectations
C anticipations
D hopes
Exercise 5 Match the words in Colomn A to the expressions in Colomn B:
Colomn A
Colomn B
1
Completeness
a
purpose of the software product is clear
2
Consistency
b
product can be operated easily and well on computer configurations other than its current one
3
Maintainability
c
product facilitates the establishment of acceptance criteria and supports evaluation of its performance
4
Portability
d
all of the product parts are present and each of its parts are fully developed
5
Understandability
e
product contains uniform notation, symbology and terminology within itself
6
Testability
f
product is convenient and practicable to use
7
Reliability
g
product facilitates updating to satisfy new requirements
8
Efficiency
h
product possesses a definite pattern of organisation in its constituent parts
9
Structuredness
i
product fulfills its purpose without waste of resources
j
product can be expected to perform its intended functions satisfactorily
10 Usability
51
UNIT 10
Computer clusters Based on Wikipedia, the free encyclopedia A computer cluster is a group of loosely coupled computers that work together closely, so that in many respects it can be viewed as though it were a single computer. Clusters inside are commonly, but not always, connected through fast local area networks. Clusters are usually deployed to improve speed and/or reliability over that provided by a single computer, while typically being much more cost-effective than single computers of comparable speed or reliability. Cluster categorizations High-availability (HA) clusters are implemented primarily for the purpose of improving the availability of services which the cluster provides. They operate by having redundant nodes, which are then used to provide service when system components fail. The most common size for an HA cluster is two nodes, which is the minimum required to provide redundancy. HA cluster implementations attempt to manage the redundancy inherent in a cluster to eliminate single points of a failure. There are many commercial implementations of HA clusters for many operating systems. The Linux-HA project is one commonly used free software HA package for the Lunix OS. Load balancing clusters operate by having all workload come through one or more loadbalancing front ends, which then distribute it to a collection of back end servers. Although they are implemented primarily for improved performance, they commonly include highavailability features as well. Such a cluster of computers is sometimes referred to as a server farm. A server farm is a collection of computer servers usually maintained by an enterprise to accomplish server needs far beyond the capability of one machine. Often, server farms will have both a primary and a backup server allocated to a single task, so that in the event of the failure of the primary server, a backup server will take over the primary server's function. Server farms are typically co-located with the network switches and/or routers which enable communication between the different parts of the cluster and the users of the cluster. There are many commercial load balancers available. High-performance clusters (HPC) are implemented primarily to provide increased performance by splitting a computational task across many different nodes in the cluster, and are most commonly used in scientific computing. One of the more popular HPC implementations is a cluster with nodes running Lunix as the OS and free software to implement the parallelism. This configuration is often referred to as a Beowulf cluster. Such clusters commonly run custom programs which have been designed to exploit the parallelism available on HP clusters. Many such programs use libraries such as MPI (Message Passing Interface) which are specially designed for writing scientific applications for HPC computers. HP clusters are optimized for workloads which require jobs or processes happening on the separate cluster computer nodes to communicate actively during the computation. These include computations where intermediate results from one node's calculations will affect future calculations on other nodes. Grid Computing or grid clusters are a technology closely related to cluster computing. The key differences between grids and traditional clusters are that grids connect collections of computers which do not fully trust each other, and hence operate more like a computing utility than like a single computer. In addition, grids typically support more heterogeneous collections than are commonly supported in clusters. Grid computing is optimized for 52
workloads which consist of many independent jobs or packets of work, which do not have to share data between the jobs during the computation process. Grids serve to manage the allocation of jobs to computers which will perform the work independently of the rest of the grid cluster. Resources such as storage may be shared by all the nodes, but intermediate results of one job do not affect other jobs in progress on other nodes of the grid. High-performance cluster implementations. The TOP500 organization publishes the 500 fastest computers twice a year, usually including many clusters in their list. TOP500 is a collaboration between the University of Mannheim (Germany), the University of Tennessee (the USA), and the National Energy Research Scientific Computing Center at the Lawrence Berkeley National Laboratory (the USA). In 2004 the top supercomputer was the Department of Energy´s BlueGene/L system (the USA) with performance of 280.6 TFlops. The second place is owned by another BlueGene/L system with performance of 91.29 TFlops. Clustering can provide significant performance benefits versus price. The System X supercomputer at Virginia Tech, the seventh most powerful supercomputer on the Earth as of November 2004, is a 12.25 TFlops computer cluster of 1100 Apple XServe G5 2.3 GHz dual processor machines (4 GB RAM, 80 GB SATA HD) running Mac OS X. The cluster initially consisted of Power Mac G5s; the XServe's are smaller, reducing the size of the cluster. The total cost of the previous Power Mac system was $5.2 million, a tenth of the cost of slower mainframe supercomputers. Cluster history The first commodity clustering product was ARCnet (Attached Resource Computer NETwork), developed by Datapoint in 1977. ARCnet is a local area network (LAN) protocol, similar in purpose to Ethernet or Token Ring. ARCnet was the first widely available networking system for microcomputers and became popular in the 1980s for office automation tasks. Since it has gained in the embedded systems market, where certain features of the protocol are especially useful. But ARCnet did not have a commercial success and clustering didn't really take off until DEC (Digital Equipment Corporation) released their VAXcluster product in the 1980s for the VAX/VMS operating system. The ARCnet and VAXcluster products not only supported parallel computing, but also shared file systems and peripheral devices. VAXcluster, now VMScluster, is still available on OpenVMS systems from HP Company running on Alpha and Itanium systems. The history of cluster computing is intimately tied to the evolution of networking technology. As networking technology has become cheaper and faster, cluster computers have become significantly more attractive. MSCS (Microsoft Cluster Server) is Microsoft's high-availability cluster service for Windows. Based on technology developed by DEC the current version supports up to eight nodes in a single cluster, typically connected to a SAN (Storage Area Network). A set of APIs (Application Programming Interface) support cluster-aware applications, generic templates provide support for non-cluster aware applications.
Vocabulary back end server Beowulf cluster failover front end
server na pozadí – podřízený server Beowulf klastr (klastrovací systém OS Linux) zotavení z chyby server v popředí – přijímá a rozděluje úlohy 53
Grid Computing Load balancing cluster router server farm TFlops workload
Grid Computing (výpočetní paradigma v síti nezávislých počítačů) klastr se systémem vyvážení zátěže směrovač serverová farma 1 TFlops = 1012 instrukcí v plovoucí čárce za sekundu zatížení / zátěž (výpočetní)
Acronyms API (Application Programming Interface)
Programové aplikační rozhraní
ARCnet (Attached Resource Computer NETwork)
ARCnet - síťový protokol sítě s hvězdicovou topologií, jedna z nejrozšířenějších LAN na počátku 80. let
DEC (Digital Equipment Corporation)
DEC (Digital Equipment Corporation) výrobce počítačů, pohlcen Hewlett Paccard
FLOPS (Floating Point Operations per Second)
Počet instrukcí v plovoucí čárce za sekundu, jednotka výpočetního výkonu
HA (High-Availability) cluster
Vysoce dostupný klastr (pracuje 24 hod. denně/7dní v týdnu)
HPC (High-Performance Cluster)
Vysoce výkonný klastr
LAN (Local Area Network)
Lokální počítačová síť
MPI (Message Passing Interface)
Rozhraní pro přenos zpráv
MSCS (MicroSoft Cluster Server)
MSCS , klastrový server Microsoft, kódové jméno WolfPack
OpenVMS (Open Virtual Memory System)
Operační systém OpenVMS (systém se stránkováním paměti)
RISC (Reduced Instruction Set Computer)
počítač s redukovanou instrukční sadou, jehož procesor provádí pouze omezenou množinu jednoduchých instrukcí, ale zato vysokou rychlostí
SAN (Storage Area Network)
Síť periferních pamětí, jejíž architektura využívá moderní metodu ukládání dat do jedné centrálně spravované datové základny
Exercise 1 Make sentences putting the given words into a correct order: 1 computers – In a – cluster – coupled – of – work – closely – computer – a loosely –
group – together – . 2 viewed – it were – In many – the computer – can be – as though – a single – respects – cluster – computer – . 3 Clusters are – deployed to – speed – reliability – provided – single – usually – improve – and/or – over those – by a – computer – .
54
4 5 6 7 8 9 10
clusters – High-availability – improve the – of services – they – availability – provide – which – . The most – required – size – HA cluster – nodes, – is the – to provide – common – for an – is two – which – minimum – redundancy – . There – many – implementations – high-availability – for many – operating – commercial – clusters – are – of – systems – . workload – clusters – Load – operate by – all – come – through – one or more – loadbalancing – front – balancing – having – ends – . High-performance – provide – performance – a computational – across – in the cluster – increased – nodes – task – clusters – by splitting – many – . Grid – connect – trust – of computers – do not – each other – clusters – collections – which – fully – . the 500 – TOP500 – publishes – fastest – twice – including – clusters – organization – list – The – computers – a year – many – on their – .
Exercise 2 Make questions beginning with the words in brackets:
1 2 3 4 5 6 7 8 9 10
Clusters commonly run programs designed to exploit the parallelism available on HP clusters. (What programs … ?) Many programs in libraries are specially designed for writing scientific applications for HPC computers. (What … for?) HP clusters enable computations where intermediate results from one node calculations will affect future calculations on other nodes. (Which … ?) Grid clusters typically support more heterogeneous collections than are commonly supported in clusters. (What … ?) Resources may be shared by all the nodes, but intermediate results of one job do not affect other jobs in progress on other nodes of the grid. (May … ?) ARCnet didn´t have a commercial success and clustering didn't really take off until DEC released their VAXcluster product. (When … ?) The history of cluster computing is intimately tied to the evolution of networking technology. (What … to?) Many modern supercomputers consist of giant server farms of high-speed processors. (What … of?) The processors of server farms are connected by either Gigabit Ethernet or custom interconnects such as Myrinet. (What … by?) Because of the sheer number of computers in large server farms, the failure of individual machines is a commonplace event. (Why … ?)
Exercise 3 Fill in the gaps using words from the previous text:
share trust utility nodes collections
heterogeneous commonly allocation resources independently clusters
Grid Computing or grid … (1) … are a technology closely related to cluster computing. The key differences between grids and traditional clusters are that grids connect … (2) … of computers which do not fully … (3) … each other, and hence operate more like a computing … (4) … than like a single computer. In addition, grids typically support more … (5) … collections than are … (6) … supported in clusters. Grid computing is optimized for workloads which consist of many independent jobs or packets of work, which do not have to … (7) … data between the jobs during the computation process. Grids serve to manage the … (8) … of jobs to computers which will perform the work … (9) … of the rest of the grid 55
cluster. The … (10) … such as storage may be shared by all the nodes, but intermediate results of one job do not affect other jobs in progress on other … (11) … of the grid. Exercise 4 Decide which answer (A, B, C, D) best fits each gap:
Server farms are … (1) … used for cluster computing. Many modern supercomputers … (2) … of giant server farms of high-speed processors connected by either Gigabit Ethernet or custom interconnects such as Myrinet. Another common … (3) … of server farms is for web hosting. Server farms are … (4) … being used instead of or in addition to mainframe computers by large enterprises, although server farms do not as yet … (5) … the same reliability … (6) … as mainframes. Because of the sheer number of computers in large server farms, the failure of … (7) … machines is a commonplace event, and the management of large server farms needs to take this into account, by providing … (8) … for redundancy, automatic failover, and rapid … (9) … of the server cluster. The performance of the very largest server farms (thousands of processors and up) is … (10) … limited by the performance of the data center cooling systems rather than by the … (11) … of the processors. For this reason, the … (12) … design parameter for such systems tends to be performance per watt of … (13) … heat, rather than performance per processor. 1
B B
commonly
2
A frequently A cover
incorporate
C usually C comprise
D generally D consist
3
A application
B
utilization
C use
D exercise
4
A increasingly
B
furthermore
C besides
D growing
5
A advance
B
attain
C reach
D approach
6
A stage
B
levels
C degree
D grade
7
A individual
B
single
C particular
D singular
8
A assistance
B
advocate
C sustain
D support
9
A refabrication
B
reorganization C reconfiguration D reconstruction
10
A distinctively
B
typically
C usually
D specifically
11
A accomplishment
B
production
C performance
D execution
12
A critical
B
crucial
C fastidious
D
13
A bred
B
produced
C created
D generated
indispensable
Exercise 5 Match the words in Colomn A to the expressions in Colomn B:
1
Colomn A High-availability clusters
a
2
High-performance clusters
b
3
Attached Resource Computer
c
Colomn B typically supports more heterogeneous collections than are commonly supported in clusters is based on technology developed by the Digital Equipment Corporation supports cluster-aware applications 56
4
NETwork Grid computing
d
5
Application programming interface
e
6
Microsoft Cluster Server
f
7
Server Farm
g
operate by having redundant nodes, which are used to provide service when system components fail a collection of computer servers usually maintained by an enterprise to accomplish server needs far beyond the capability of one machine are used to provide increased performance by splitting a computational task via many different nodes in the cluster was developed by the Datapoint in 1977
57
UNIT 11
Distributed file systems Based on Wikipedia, the free encyclopedia A Distributed File System (DFS) is a file system that supports sharing of files and resources in the form of persistent storage over a network. In general, a file system is a method for storing and organizing computer files and the data they contain to make it easy to find and access them. File systems may use a storage device such as a hard disk or CD-ROM and involve maintaining the physical location of the files, or they may be virtual and exist only as an access method for virtual data or for data over a network. More formally, a file system is a set of abstract data types that are implemented for the storage, hierarchical organization, manipulation, navigation, access, and retrieval of data. The first file servers were developed in the 1970s and Sun's Network File System (NFS) became the first widely used distributed file system after its introduction in 1985. Notable distributed file systems besides NFS are Andrew file system (AFS) and Common Internet File System (CIFS). A file server provides file to clients. A client interface for a file service is formed by a set of primitive file operations, such as creating a file, deleting a file, reading from a file, and writing to a file. The primary hardware component that a file server controls is a set of local secondary-storage devices on which files are stored, and from which they are retrieved according to the client requests. DFS clients, servers, and storage devices are dispersed among the machines of a distributed system or intranet. Accordingly, service activity has to be carried out across the network, and instead of a single centralized data repository, the system has multiple and independent storage devices. The concrete configuration and implementation of a DFS may vary - in some configurations servers run on dedicated machines while in others a machine can be both a server and a client. A DFS can be implemented as a part of a distributed operating system, or alternatively, by a software layer whose task is to manage the communication between conventional operating systems and file systems. The distinctive features of a DFS are the multiplicity and autonomy of clients and servers in the system. Ideally, a DFS should appear to its users to be a conventional, centralized file system. The multiplicity and dispersion of its servers and storage devices should be made invisible. That is, the client interface used by programs should not distinguish between local and remote files. It is up to the DFS to locate the files and to arrange for the transport of the data. The most important performance measurement of a DFS is the amount of time needed to satisfy service requests. In conventional systems this time consists of a disk-access time and a small amount of CPU-processing time. In a DFS, however, a remote access has the additional overhead attributed to the distributed structure. This overhead includes the time to deliver the request to a server, as well as the time to get the response across the network back to the client. For each direction, in addition to the transfer of the information, there is the CPU overhead of running the communication protocol software. The performance of a DFS can be viewed as another dimension of the DFS transparency. That is, the performance of an ideal DFS would be comparable to that of a conventional file system. A DFS should provide for multiple client processes on multiple machines not just accessing but also updating the same files. Hence updates to the file from one client should not interfere with access and updates from other clients. Concurrency control or locking may be either built into the file system or be provided by an add-on protocol.
58
A distributed data store is a network in which a user stores his or her information on a number of peer network nodes. The user also usually reciprocates and allows other users to use his or her computer as a storage node as well. Information may or may not be accessible to other users depending on the design of the network. Most of the peer to peer networks do not have distributed data stores in that the user's data is only available when their node is on the network. However, this distinction is somewhat blurred in a system such as BitTorrent, where it is possible for the originating node to go offline but the content to continue to be served. Still, this is only the case for individual files requested by the redistributors, as contrasted with a network such as Freenet where all computers are made available to serve all files. Thera are many examples distributed data store networks. GFS (Google File System) is one of them. The data in GFS is stored persistently, in very large, even multiple gigabyte-sized files which are only extremely rarely deleted, overwritten, or shrunk; files are usually appended to or read. It is also designed and optimized to run on Google's computing clusters, the nodes of which are comprised of cheap, "commodity" computers, which means precautions must be taken against the high failure rate of individual nodes and the subsequent data loss. Other design decisions select for high data throughputs, even when that makes latency worse. The nodes are divided into two types: Master nodes and Chunkservers. Chunkservers store the data files, with each individual file broken up into fixed size chunks (hence the name), similar to clusters or sectors in regular file systems. Each chunk is assigned a unique 64-bit label, and logical mappings of files to constituent chunks are maintained. The master server does not usually store the actual chunks, but rather all the metadata associated with the chunks, such as the tables mapping the 64-bit labels to chunk locations. All this metadata is kept current by the master server periodically receiving updates from each chunk server ("Heart-beat messages"). GFS can comprise only one master server. Metadata is very compact, mere kilobytes to the megabyte, and the Master server is typically one of the most capable nodes on the network; for reliability, there is typically a "shadow" Master server, mirroring the main Master server which steps in if the Master server fails. Also, a bottleneck rarely occurs, since clients request only the metadata, and typically cache it; subsequent interactions proceed directly with the chunkservers. Similarly, using a single Master server drastically cuts down on the software complexity that would be requisite to ensure data integrity, atomicity of operations, load balancing, and security.
Vocabulary client client interface concurrency control or locking chunk chunkserver latency multiplicity overhead
klient, tj. hierarchicky podřazená součást systému využívající služeb vyšší úrovně (viz client/server) rozhrání klienta správa paralelního přístupu nebo uzamykaní (pro zachování integrity dat) velká porce, souvislý, adresovatelný paměťový prostor – firemní technologie Google datový server, viz chunk latence multiplicita poskytnutí často nadbytečné podpory (paměť, výpočetní čas
59
procesoru) kritické funkci programu, u které záleží na tom, aby byla provedena s maximální prioritou a správně performance management storage device
řízení výkonnosti vnější paměť - pamětové zařízení, obecně jakékoli zařízení, které je schopno zaznamenávat nebo číst data v digitálním tvaru; obvykle obsahuje záznamovou a/nebo čtecí hlavu (head), mechanické zařízení pro pohyb médiem a převodník
Acronyms AFS (Andrew File System) APPC (Advanced Peer-to-Peer Communication) APPC (Advanced Program to Program Communication)
Andrewův souborový system fy Transarc Corporation, je určen pro velké unixové sítě Zdokonalené komunikace mezi rovnocennými uzly, protokol fy IBM, který je součástí SNA Pokročilá komunikace mezi programy, protokol fy IBM pro komunikaci mezi aplikacemi běžícími na různých počítačích sítě, je součástí SNA Pokročilé sítě s rovnocennými uzly
(Advanced Peer-to-Peer Networking) CIFS (Common Internet File System) Společný internetový souborový systém (má sjednotit protokoly UNIX, Linux, Win) DFS (Distributed File System) Distribuovaný souborový systém GFS (Google File System) Souborový systém Google P2P (peer to peer network) Síť peer to peer (rovný s rovným – pán s pánem), počítačové systémy umožňující uživatelům sdílet s ostatními soubory i další položky uložené v počítači SNA (Synchronous Network Architektura synchronní sítě Architecture) SNA (System Network Architecture) Architektura systémové sítě IBM APPN
Exercise 1 Make sentences putting the given words into a correct order:
1 2 3 4 5 6 7 8
A – supports – of files – and – in the form – storage – over a – DFS – sharing – resources – of persistent – network – . devices – File – may – storage – or they – virtual – systems – use – may be – . component – The – hardware – a set of – devices – primary – comprises – secondarystorage – local – . file – appear – Ideally, a – should – to its – to be a – centralized – system – DFS – conventional, – users –. dispersion – The – and – servers – devices – be made – multiplicity – of – DFS – and storage – should – invisible – . and – should – The – interface – programs – not distinguish – local – files – client – used by – between – remote – . DFS – a remote – has the – overhead – to the – distributed – In a – access – additional – attributed – structure – . users – Information – may not – to other – depending – of the network – may or – be accessible – on the design – . 60
9
The – server – one of – capable – on the – network – master – is typically – the most – nodes – . 10 viewed – The – of a – can be – dimension – of its – performance – DFS – as another – transparency – .
Exercise 2 Make questions beginning with the words in brackets:
1
In conventional systems the service time consists of a disk-access time and a small amount of CPU-processing time. (What … of?) 2 In the case of a remote access the overhead includes the time to deliver the request to a server and the time to get the response 3 back to the client. (When … ?) 4 Precautions must be taken against the high failure rate of individual nodes and the subsequent data loss. (What … against?) 5 The master server periodically receives updates of all metadata from each chunk server. (Where … from?) 6 A bottleneck rarely occurs, since clients request only the metadata, and typically cashe it. (Why … ?) 7 The master server doesn't usually store the actual chunks, but rather all the metadata associated with the chunks. (What data …?) 8 The Google File System can comprise only one master server. (How many … ?) 9 In a DFS a remote access has the additional overhead attributed to the distributed structure. (Why … ?) 10 The performance of an ideal DFS would be comparable to that of a conventional file system. (What … to?) 11 Concurrency control or locking may be either built into the file system or be provided by an add-on protocol. (Where …into?) (What … by?)
Exercise 3 Fill in the gaps using words from the previous text:
distributed requests conventional also
response direction dimension protocol remote interfere measurement locking
The most important performance … (1) … of a DFS is the amount of time needed to satisfy service … (2) … . In conventional systems this time consists of a disk-access time and a small amount of CPU-processing time. In a DFS, however, a … (3) … access has the additional overhead attributed to the … (4) … structure. This overhead includes the time to deliver the request to a server, as well as the time to get the … (5) … across the network back to the client. For each … (6) …, in addition to the transfer of the information, there is the CPU overhead of running the communication … (7) … software. The performance of a DFS can be viewed as another … (8) … of the DFS transparency. That is, the performance of an ideal DFS would be comparable to that of a … (9) … file system. A DFS should provide for multiple client processes on multiple machines not just accessing but … (10) … updating the same files. Hence updates to the file from one client should not … (11) … with access and updates from other clients. Concurrency control or … (12) … may be either built into the file system or be provided by an add-on protocol. Exercise 4 Decide which answer (A, B, C, D) best fits each gap:
Permissions for operations are … (1) … by a system of time-limited, expiring "leases", where the master server grants … (2) … to a process for a finite period of time during which no
61
other process will be granted permission by the … (3) … server to access the chunk. The … (4) … chunkserver, which is always the primary chunk holder, then … (5) … the changes to the chunkservers with the backup … (6) … . The changes are not saved until all chunkservers … (7) …, thus guaranteeing the completion and atomicity of the operation. Programs access the chunks by first … (8) … the master server for the locations of the desired chunks; if the chunks are not being operated on (if there are no outstanding … (9) …), the master … (10) … with the locations, and the program then contacts and receives the data from the chunkserver … (11) … . A managed B handled C controlled D directed 1 2
A allowance
B
leave
C authorization
D permission
3
A main
B
chief
C master
D handled
4
A modified
B
changed
C altered
D shape
5
A disseminates
B
propagates
C transmits
D spreads
6
A imitations
B
duplicates
C copies
D pieces
7
A concede
B
recognize
C admit
D acknowledge
8
A interrogating
B
questioning
C querying
D asking
9
A rents
B
leases
C hires
D rentals
10
A agrees
B
harmonizes
C matches
D accords
11
A immediately
B
instantly
C straight
D directly
Exercise 5 Match the words in Colomn A to the expressions in Colomn B:
1 2 3
Colomn A file system client interface
a b c
4 5
performance measurement of a DFS distributed file system distributed data store
6
master server
f
7
chunk
g
d e
Colomn B has multiple and independent storage devices is assigned a unique 64-bit label, and logical mappings of files is a method for storing and organizing computer files and the data they contain is formed by a set of primitive file operations stores all the metadata associated with the chunks is the amount of time needed to satisfy service requests is a network in which a user stores information on a number of peer network nodes
62
UNIT 12
Apollo Guidance Computer Based on Wikipedia, the free encyclopedia
The Apollo Guidance Computer (AGC) was the first recognizably modern embedded system, used in real-time by austronaut pilots to collect and provide flight information, and to automatically control all of the navigational functions of the Apollo spacecraft. It was developed for the Apollo program by the MIT (Massachusetts Institute of Technology) Instrumental Laboratory under Charles Stark Draper, with hardware design led by Eldon C. Hall. Based upon MIT documents, early architectural work seems to come from J.H. Laning Jr., Albert Hopkins, Ramon Alonso, and Hugh Blair-Smith. The actual flight hardware was fabricated by Raytheon. Each flight to the moon had two AGCs, one each in the command module (CM) and the lunar module (LM). The AGC ran each spacecraft's Prinary Guidance, Navigation and Control System, called by the acronym PGNCS (pronounced "pings"). The PGNCS was a self-contained inertial guidance system that allowed Apollo spacecraft to carry out their missions when communications with Earth were interrupted, either as expected, when the spacecraft were behind the moon, or in case of a communications failure. The Apollo command module and lunar module were each equipped with a version of PNGCS. PGNCS consisted of the following components: • an Inertial Measurement Unit (IMU) •
the Apollo Guidance Computer
•
resolvers to convert inertial platform angles to signals usable for servo control
•
an optical unit
•
a mechanical frame, called the Navigation Base (or Navbase), to rigidly connect the optical device and, in the LM, the rendezvous radar to the IMU
•
the AGC software
Each moon mission had two additional computers: •
A flight computer on the Saturn V booster instrumentation ring called the Launch Vehicle Digital Computer (LVDS) – a serial computer built by IBM Federal Systems Division. The Saturn V, popularly known as the Moon Rocket, was a multistage liquid-fuel expendable rocket used by NASA's Apollo and Skylab programs.
•
A small machine in the lunar module's Abort Guidance System (AGS), built by TRW, to be used in the event of failure of the PGNCS. The AGS could be used to take off from the moon, and to rendezvous with the command module, but not for landing.
The CM and LM used the same computer, inertial platform and resolvers. The main difference was the optical unit. The Navbase was different for each spacecraft as well, reflecting the differing mounting geometries. The LM's rendezvous radar was also connected to its Navbase. The Apollo flight computer was the first to use integrated circuits (ICs). The Block I version used 4,100 ICs, each containing a single 3-input NOR logical gate. The later Block II version
63
used dual 3-input NOR gates in a flat-pack; approximately 5,600 gates in all. The gates were made using resistor-transistor logic (RTL). They were interconnected by a technique called wire-wrap, in which the circuits are pushed into sockets, the sockets have square posts, and wire is wrapped around the posts. The edges of the posts bite the wire with tons of pressure per square inch, causing gas-tight connections that are more reliable than soldered PC boards. The wiring was then embedded in cast epoxy plastic. The decision to use a single IC design throughout the AGC avoided problems that plagued another early IC computer design. The computer's RAM was magnetic core memory (4K words) and ROM was implemented as core rope memory (32K words). Both had cycle times of 12 microseconds. The memory word length was 16 bits; 15 bits of data and 1 odd-parity bit. The CPU-internal 16-bit word format was 14 bits of data, 1 overflow bit, and 1 sign bit. Timing. The AGC was controlled by a 2.048 MHz crystal clock. The clock was divided by two to produce a four-phase 1.024 MHz clock which the AGC used to perform internal operations. The 1.024 MHz clock was also divided by two to produce a 512 kHz signal called the master frequency; this signal was used to synchronize external Apollo spacecraft systems. The master frequency was further divided through a SCALER, first by five using a ring counter to produce a 102.4 kHz signal. Then it was divided by two through 17 successive stages called F1 (51.2 kHz) through F17 (0.78125 Hz). The F10 stage (100 Hz) was fed back into the AGC to increment the real-time clock and other involuntary counters. The F17 stage was used to intermittently run the AGC when it was operating in the standby mode. The user interface unit was called the DSKY (display/keyboard); an array of numerals and a calculator-style keyboard. Commands were entered numerically, as two-digit "prog", "verb", and "noun" numbers. The numerals were green high-voltage electroluminiscent displays arranged in an array of seven segments per numeral to display numbers. The segments were driven by electromechanical relays, which limited the display update rate. Three 5-digit numbers could also be displayed in octal or decimal. Input was by pushbuttons. This "calculator-style" interface was the first of its kind, the prototype for all similar digital control panel interfaces. The command module had two DSKYs; one located on the main instrument panel and another located in the lower equipment bay near a sextant used for aligning the inertial guidance platform. Both DSKYs were driven by the same AGC. The lunar module had a single DSKY for its AGC. Vocabulary cast epoxy plastic core rope memory embedded system flat-pack human space-flight (mission) manned space-flight master frequency mounting geometry posts self-contained wire-wrap technique
odlitek z epoxidové pryskyřice (plastu) integrovaný systém (zakomponovaný) ploché pouzdro kosmický let s lidskou posádkou kosmický let s lidskou posádkou hlavní frekvence, řídící frekvence osazení, montážní rozměry vývody (součástek) autonomní (soběstačný) technika ovíjených spojů
64
Acronyms AGC (Apollo Guidance Computer) AGS (Abort Guidance System)
Naváděcí systém Apolla Naváděcí systém předčasného návratu (nouzový) CM (command module) Velitelský modul DSKY (display/keyboard) IDSKY - integrovaná zobrazovací jednotka a klávesnice ICs (integrated circuits) Integrovaný obvod IMU (Inertial Measurement Unit) Inerciální měřící jednotka LM (lunar module) Lunární LVDS (Launch Vehicle Digital Computer) Digitální počítač vypouštěciho modulu (na přídavné raketě) MIT (Massachusetts Institute of Technology) MIT Massachusetts technologický institut NASA (National Aeronautics and Space Národní organizace pro rozvoj letecví a Administration) kosmonautiky PGNCS (Prinary Guidance, Navigation and Primární naváděcí, navigační a řídící systém Control System) RTL (resistor-transistor logic) RTL logika (Logika resistor-tranistor)
Exercise 1 Make sentences putting the given words into a correct order:
1 2 3 4 5 6 7 8 9 10
computer – The – flight – was the – use – circuits – Apollo – first to – integrated – . Earth – The – allowed the – spacecraft – to carry out – when – with the – interrupted – PGNCS – Apollo – their missions – communications – were – . signals – Resolvers – inertial – angles to – usable – control – convert – platform – for servo – . Abort – System – could be – take off – moon, – and to – with the – command – The – Guidance – used to – from the – rendezvous – module – . Skylab – liquid-fuel – Saturn V – multistage – rocket – used by – Apollo and – programs – The – was a – NASA's - . 5-digit – numbers – could – displayed in – decimal – Three – also be – octal or – . 512 kHz – was – synchronize – Apollo – systems – The – signal – used to – external – spacecraft – . RAM – core memory – implemented –rope memory – The computer's – was magnetic – and ROM was – as core – . gas-tight – are more –than – PC boards – connections – The – reliable – soldered – . IC design – decision – a single – problems – throughout – the AGC – many – The – to use – avoided – .
Exercise 2 Make questions concerning the words in bold italics:
1
The Apollo command module and lunar module used the same computer, inertial platform and resolvers. 2 Early architectural work seems to come from J.H. Laning Jr., Albert Hopkins, Ramon Alonso, and Hugh Blair-Smith.
65
3 4 5 6 7 8 9 10
Serious problems plagued another early IC computer design. The segments were driven by electromechanical relays, which limited the display update rate. Electromechanical relays limited the display update rate. Three 5-digit numbers could also be displayed in octal or decimal. One of the two command module DSKYs was located on the main instrument panel. The numerals, green high-voltage electroluminiscent displays, were arranged in an array of seven segments. The gates were interconnected by a technique called wire-wrap, in which the circuits are pushed into sockets. The edges of the posts bite the wire with tons of pressure per square inch, causing gas-tight connections.
Exercise 3 Fill in the gaps using words from the box below:
undertaken originally successful Greek spacecraft Apollo achieved within exploration overall Project Apollo was a series of human space-flight missions …(1)… by the USA using the Apollo … (2) … and Saturn launch vehicle, conducted during the years 1961–1972. It was devoted to the goal of landing a man on the Moon and returning him safely to the Earth … (3) … the decade of the 1960s. This goal was … (4) … with the Apollo 11 mission in July 1969. The program continued into the early 1970s to carry out the initial hands-on scientific … (5) … of the Moon, with a total of six … (6) … landings. As of 2005, there has not been any further human space-flight beyond the low earth orbit. The later Skylab program and the joint American-Soviet Apollo-Soyuz Test Project used equipment … (7) … produced for Apollo, and are often considered to be part of the … (8) … program. The project name … (9) …, like earlier manned space-flight programs, comes from one of the … (10) … gods. Exercise 4 Decide which answer (A, B, C, D) best fits each gap:
The Charles Stark Draper Laboratory, Inc., formerly the MIT Instrumentation Laboratory, was … (1) … by Charles Stark Draper in the late 1930s to … (2) … students how to design the scientific … (3) … necessary to accurately measure and … (4) … motion. … (5) … the World War II, the Instrumentation Lab developed the Inertial navigation system; this … (6) … its principal focus after receiving the United States Department of Defence research contracts to develop navigation systems for ballistic missils. The "I Lab" developed the … (7) … systems for the Project Apollo and the Polaris missile. Draper spun off from MIT in 1973, in part … (8) … to anti-war protests. 1
A established
B
founded
C set
D constituted
2
A propagate
B
instruct
C teach
D practise
3
A instruments
B
tools
C means
D kits
4
A investigate
B
explore
C research
D study
5
A In the course of
B
Within
C During
D Inside
66
6
A occured
B
chanced
C became
D happened
7
A guidance
B
control
C steering
D ruling
8
A because
B
due
C for the sake
D on account
Exercise 5 Match the words in Colomn A to the expressions in Colomn B:
Colomn A 1
resolvers
a
2
Navigation Base
b
3 4
PGNCS DSKY
c d
5 6
Sextant Moon Rocket
e f
7
Apollo Guidance Computer
g
Colomn B was used for aligning the inertial guidance platform was a multistage liquid-fuel expendable rocket used by NASA's Apollo and Skylab programs was controlled by a 2.048 MHz crystal clock converted inertial platform angles to signals usable for servo control was a self-contained inertial guidance system was an array of numerals and a calculatorstyle keyboard rigidly connected the optical device and, in the LM, the rendezvous radar to the IMU
67
KEY TO EXERCISES UNIT 1
Computers – historical review
Exercise 1 Make sentences putting the given words into a correct order: 1 2 3 4 5 6 7
On 30 June 1945 a mathematician John von Neuman published the paper entitled "First Draft of a Report on the EDVAC". The instructions could be combined to create useful programs for the EDVAC to run. All CPUs deal with discrete states and therefore require some kind of switching elements to differentiate between and change these states. When a vacuum tube failed, the CPU would have to be diagnosed to locate the failing component. Early electronic computers were generally faster but less reliable than electromechanical computers. Tube based CPUs became dominant because the significant speed advantages generally outweighed the reliability problems. The design and complexity of CPUs increased as various technologies facilitated building smaller and more reliable electronic devices.
Exercise 2 Make questions concerning the words in bold italics: 1 2 3 4 5 6 7
What do SIMD designs rely on to handle the program details? What instructions handle the data manipulation only? Where have smaller-scale SIMD operations become widespread now? What is the term SIMD associated almost entirely with today? What did first electronic computers need in order to perform different tasks? When did John von Neuman publish the paper entitled "First Draft of a Report on the EDVAC"? What instructions could be combined to create useful programs for the EDVAC to run?
Exercise 3 Fill in the gaps using words from the box below: (1) – manufacturing, (2) – transistors, (3) – chip, (4) – basic, (5) – SSI (small-scale integration), (6) – counts, (7) – space, (8) – advanced, (9) – individual, (10) – increased
Exercise 4 Decide which answer (A, B, C, D) best fits each gap: (1) – A (common), (2) – B (usually), (3) – D (strike), (4) – A (pure), (5) – C (modified), (6) – B (oscillations), (7) – B (influence), (8) – B (cope), (9) – C (oscillating)
UNIT 2
Computer architecture
Exercise 1 Make sentences putting the given words into a correct order: 1 2 3 4 5 6 7
Computer architecture typically refers to the fixed internal structure of the CPU to perform logical operations. It may also include the built-in interface by which hardware resources may be used by the software. Architecture is often defined as a set of machine attributes that a programmer should understand in order to program the specific computer. Nevertheless other considerations, such as a size, weight, and power consumption, may be a factor as well. Computer retailers describe the performance of their machines in terms of clock speed (usually in MHz or GHz). The performance refers to the cycles per second of the main clock of the CPU. Modern CPUs can execute multiple instructions per clock cycle, which dramatically speeds up a program.
Exercise 2 Make questions concerning the words in bold italics:
68
1
What does a bus transfer between computer components inside a computer or between computers (in computer architecture)?
2
How can the bus logically connect several peripherals?
3
What does each bus define to physically plug devices, cards or cables together?
4
What do the most common goals in computer architecture revolve around?
5
Which computers usually need low interrupt latencies?
6
How does benchmarking (try to) take all these factors into account?
7
What is benchmarking usually associated with?
Exercise 3 Fill in the gaps using words from the box below: (1) – benchmarking, (2) – a computer, (3) – split, (4) – applications, (5) – designers, (6) – features, (7) – execute, (8) – offer, (9) – computational, (10) – deceptive
Exercise 4 Decide which answer (A, B, C, D) best fits each gap: (1) – B (branches), (2) – C (interpretation), (3) – B (abstract), (4) – C (primitive), (5) – C (computation), (6) – A (correspond), (7) – C (require), (8) – D (accurately), (9) – (focus)
UNIT 3
Computer CPU
Exercise 1 Make sentences putting the given words into a correct order: 1 2 3 4 5 6 7
The program is represented by a series of numbers that are kept in some kind of computer memory. The first step involves retrieving an instruction from program memory. In other words, the program counter keeps track of the CPU's place in the current program. One group of numbers in the instruction, called the opcode, indicates which operation to perform. The microprogram is often rewritable and can be modified to change the way the CPU decodes instructions. The final step simply "writes back" the results of the execute step to some form of memory. Some types of instructions manipulate the program counter rather than directly produce result data.
Exercise 2 Make questions concerning the words in bold italics: 1
What can this broad definition be easily applied to?
2
What have allowed increasingly complex CPUs to be designed and manufactured in very small spaces?
3
What does a number that a program counter stores identify?
4
Where must the instruction to be fetched often be retrieved from?
5
What can these flags be used for?
6
Where are the results very often written to for quick access?
7
What do some types of instructions manipulate rather than directly produce result data?
8
How can multiple instructions be fetched, decoded, and executed in more complex CPUs?
9
Where will many instructions also change the state of digits?
10 What could this flag be used by to determine a program flow?
Exercise 3 Fill in the gaps using words from the box below: (1) – particular, (2) – inexpensive, (3) – purposes, (4) – accelerated, (5) – allowed, (6) – spaces, standardization, (8) – presence, (9) – limited, (10) – appear
(7) –
69
Exercise 4 Decide which answer (A, B, C, D) best fits each gap: (1) – B (term), (2) – A (range), (3) – C (common), (4) – C (evolved), (5) – D (core), (6) – A (room), (7) – C (apparent), (8) – B (capacity), (9) – C (emerging)
UNIT 4 Microprocessors Exercise 1 Make sentences putting the given words into a correct order: 1 2 3
One or more microprocessors typically serve as a central processing unit in a computer system. Since the mid-1970s the microprocessor has become the most prevalent implementation of the CPU. The complexity of an integrated circuit with respect to minimum component cost will double in about 18 months. 4 Now every system from the largest mainframe to the smallest handheld computers uses a microprocessor at its core. 5 The overall smaller CPU size as a result of being implemented on a single die means faster switching time. 6 Generally, they are cut from a boule of semiconductor using a diamond saw, then polished on one or both faces. 7 During this process, a wafer with up to thousands of circuits is cut into individual pieces, each called a die. 8 The complexity, size, construction, and general form of CPUs have changed drastically over the past sixty years. 9 In the worst case it leads to the loss of one or more connections and causes the failure of the entire circuit. 10 The supply voltage has continually scaled down to reduce the dynamic power consumption of integrated circuits.
Exercise 2 Make questions concerning the words in bold italics: 1 2 3 4 5 6 7 8 9 10
What has continually scaled down to reduce the dynamic power consumption of integrated circuits? What do these newer concerns cause researchers to perform? What were electronic CPUs typically made from earlier? What Law has been generally followed, unconsciously, since the early 1970s? What is the term microchip usually applied to? What are wafers cut from using a diamond saw? What is the dicing usually performed with? How can almost all common CPUs today be very accurately described? What do extreme miniaturization of electronic gates cause? What does electromigration lead to in the worst case and what does it cause?
Exercise 3 Fill in the gaps using words from the box below: (1) – current, (2) – subthreshold, (3) – small, (4) – leakage, (5) – total, (6) – consumption, state, (8) – scaled, (9) – reduced, (10) – rises
(7) – on-
Exercise 4 Decide which answer (A, B, C, D) best fits each gap: (1) – A (object), (2) – C (individual), (3) – B (separated), (4) – D (properties), (5) – B (single), (6) – A (predict), (7) – C (performed), (8) – B (influencing), (9) – D (classical)
UNIT 5
Computer memory
Exercise 1 Make sentences putting the given words into a correct order: 1
Very often the term memory identifies data storage that comes in the form of chips.
70
2 3 4 5
Some computers also use virtual memory, which expands physical memory onto a hard disk. Memory can be categorized in different ways by technology or properties. Primary storage contains data that are actively being used. Secondary storage, also known as peripheral storage, is utilized for storing information that is not necessarily in current use. 6 Most operating systems store all programs and data on hard disk drives. 7 File system permissions can be used to make certain areas of the hard disk logically immutable. 8 Computers almost always contain a small amount of read-only memory for starting up the computer. 9 A cache is a collection of data duplicating original values stored elsewhere or computed earlier. 10 Caches have proven extremely effective in many areas of computing because access patterns have locality of reference.
Exercise 2 Make questions beginning with the words in brackets: 1 2 3 4 5 6 7 8 9 10
What does the term computer memory refer to? How many kinds of memory do most computers possess? What kind of data storage does the term memory identify? What does the term storage refer to?) What can memory be categorized by? What data does primary storage contain? Where can systems store programs and static data in order to be more secure? Why does static RAM only require steady flow of electricity? How can erasable programmable ROM be erased? Why have caches proven extremely effective in many areas of computing?
Exercise 3 Fill in the gaps using words from the previous text: (1) – possess, (2) – adjacent, (3) – duplicating, (4) – elsewhere, (5) – cache, (6) – refetching, average, (8) – extremely, (9) – patterns, (10) – several, (11) – together, (12) – accessed
(7) –
Exercise 4 Decide which answer (A, B, C, D) best fits each gap: (1) – B (fundamental), (2) – D (control), (3) – C (ability), (4) – A (manipulate), (5) – C (versatile), (6) – B (represents), (7) – D (converted), (8) – A (piece), (9) – B (accommodate), (10) – C (natural), (11) – A (drawbacks), (12) – D (purpose)
Exercise 5 Match the words in Column A to the expressions in Column B: 1 – c, 2 – f, 3 – g, 4 – a, 5 – b, 6 – e, 7 – d
UNIT 6
Virtual memory
Exercise 1 Make sentences putting the given words into a correct order: 1 2 3 4 5 6 7
Virtual memory allows software to run in a memory address space, which may not be tied to physical memory. Many applications require access to more information than can be stored in physical memory. This is especially true when the operating system allows multiple processes to run seemingly in parallel. It usually provides the ability to simulate a main memory of almost any size. The programmer can completely ignore the need to manage the moving of data back and forth between the different kinds of memory. The MMU may be either a module of the CPU, or an auxiliary, closely coupled chip. The operating system is responsible for deciding which parts of the simulated main memory are kept in physical memory.
71
8 9
The MMU may have the ability to vary its operation according to the type of memory reference. Like many technologies in the history of computing, virtual memory was not accepted without challenge. 10 Many models, experiments, and theories had to be developed to overcome the numerous problems with virtual memory.
Exercise 2 Make questions concerning the words in bold italics: 1 2 3 4 5 6 7 8 9 10
Where is virtual memory addressing typically used? What are the size and addressing capacity of the address space not necessarily tied to? What provides the ability to simulate a main memory of almost any size? When is the operating system invoked to handle the situation? How is the area of the disk that holds the information which is not currently in physical memory called? What is the translation from virtual to physical addresses implemented by? What mappings do the translation tables maintained by the operating system provide? What does the hardware that supports virtual memory almost always support as well? What may the MMU have the ability to vary its operation according to? What does the operating system protect its own code and data from corruption by?
Exercise 3 Fill in the gaps using words from the box below: (1) – techniques, (2) – manage, (3) – approximately, (4) – technologies, (5) – challenge, (6) – entity, (7) – developed, (8) – numerous, (9) – address, (10) – expensive, (11) – power
Exercise 4 Decide which answer (A, B, C, D) best fits each gap: (1) – A (use), (2) – C (implemented), (3) – C (Modern), (4) – B (various), (5) – A (contains), (6) – C (backed by), (7) – B (obtained), (8) – D (computationally), (9) – A (delete), (10) – C (save)
UNIT 7
Computer motherboard
Exercise 1 Make sentences putting the given words into a correct order: 1 2 3 4 5
A motherboard houses the Basic Input/Output System. The chipset on a motherboard consists of two chips known as the northbridge and southbridge. The southbridge implements the ‘slower’ capabilities of the motherboard. There are usually a number of expansion card slots allowing peripheral devices and cards to be inserted. An AGP slot is a high-speed port designed solely for connecting high performance graphics cards to the monitor. 6 Since about 2002 the last ISA slots in new motherboards have been replaced with extra PCI slots. 7 An ethernet interface and a basic audio processor are now almost universally integrated into current motherboards. 8 Newer motherboards have integrated temperature sensors to detect motherboard and CPU temperatures. 9 The removal of waste thermal energy became a major concern for workstation PCs around 2000. 10 The most popular motherboard form factor today is ATX, which evolved from its predecessor the Baby AT.
Exercise 2 Make questions concerning the words in bold italics: 1 2
Where do all of the basic circuitry and components required for a computer to function sit? What determine (, to an extent,) the features and capabilities of the motherboard? OR What do the northbridge and southbridge determine? 3 When did EISA bus endure as a standard feature in PCs?) 4 How many slots might a typical motherboard of 1999 have had?) 5 What have the last ISA slots in new boards been replaced with since about 2002? 6 Where are an ethernet interface and a basic audio processor almost universally integrated now? 7 What do newer motherboards have integrated temperature sensors for? 8 What exhibit aging effects depending on the temperature of the parts? OR What effects do electrolytic capacitors exhibit? OR What do electrolytic capacitors exhibit? 9 What do motherboard form factors usually correspond to? 10 Why are notebook computers difficult to upgrade and expensive to repair?
72
Exercise 3 Fill in the gaps using words from the box below: (1) – 2003, (2) – crashes, (3) – distortions, (4) – attributed, (5) – electrolytic, (6) – aging, (7) – evaporate, (8) – instabilities, (9) – doubles, (10) – reasonable, (11) – manufacturers, (12) – broken
Exercise 4 Decide which answer (A, B, C, D) best fits each gap: (1) – D (derived), (2) – B (connected), (3) – A (fast), (4) – B (located), (5) – A (slower), (6) – D (particular), (7) – A (usually), (8) – B (wide), (9) – C (core), (10) – A (bottleneck), (11) – D (proprietary)
UNIT 8
Computer hardware
Exercise 1 Make sentences putting the given words into a correct order: 1 2
Firmware rarely needs to be changed and so is stored on hardware devices such as ROM. An embedded system is a special-purpose computer system, which is completely encapsulated by the device it controls. 3 Using RAM the computer does not have to take the time to access the hard drive to find something. 4 More RAM can contribute to a faster PC. 5 Buses transfer data or power between computer components inside a computer or between computers. 6 Serial ATA is a computer bus technology primarily designed for transfer of data to and from a hard disc. 7 Video display controller produces the output for the computer display. 8 Computer bus controllers connect the computer to external peripheral devices such as printers or scanners. 9 DVD can be used for data storage including movies with high video and sound quality. 10 Disk array controller provides secondary storage services to computer systems, often in large servers.
Exercise 2 Make questions beginning with the words in brackets: 1 2
What do sound cards translate signals from the system board into? What can include external components of a computer system, i.e. input and output devices? OR What can hardware include? OR What components can hardware include? 3 How can image and video input devices be accessed? 4 How often is the hardware of a computer changed? 5 What sense are software and data "soft" in? 6 Why is most computer hardware not seen by normal users? 7 Where do disk array controllers provide secondary storage services to computer systems? 8 Where do the controllers sit? 9 What can logically connect several peripherals over the same set of wires? OR What can a bus logically connect over the same set of wires? 10 Where can these integrated circuits be fitted?
Exercise 3 Fill in the gaps using words from the previous text: (1) – encapsulated, (2) – embedded, (3) – tasks, (4) – programmable, (5) – particular, (6) – older, combination, (8) – facilitates, (9) – common, (10) – control
(7) –
Exercise 4 Decide which answer (A, B, C, D) best fits each gap: (1) – B (universal), (2) – C (capable), (3) – B (assistant), (4) – D (processing), (5) – A (powerful), (6) – B (available), (7) – C (enormous), (8) – B (scientific), (9) – D (requirements), (10) – A (individual), (11) – B (portable), (12) – C (perhaps), (13) – D (common)
UNIT 9
Computer software
Exercise 1 Make sentences putting the given words into a correct order:
73
1 2 3 4 5 6 7 8 9 10
The concept of software was first proposed by Alan Turing. In computers software is loaded in RAM and executed on the central processing unit. At the lowest level software consists of a machine language specific to an individual processor. Software has historically been considered an intermediary between electronic hardware and data. The output of a particular piece of software may be the input for another piece of software. Users may not realize that they have a choice to use different platform software. If the purpose of a software product is clear, the product possesses the factor of understandability. User-written software tailors systems to meet the users specific needs. A consistent software product contains uniform notation, symbology and terminology within itself. Maintainability means that a software product could be easily updated to satisfy new requirements.
Exercise 2 Make questions beginning with the words in brackets: 1 2 3
Where is software loaded and executed in computers? What does a machine language consist of? What do typical examples of the application software include? / What software includes office suites and video games? 4 What do sound cards translate signals from the system board into? 5 Why cannot software quality factors be measured exactly? 6 Who should a set of questions relevant to the factor characteristic be worked out for every quality factor by? 7 How could some types of a scoring formula be developed? 8 What will become the driving force of software future reliability improvement? 9 How many classes do practical computer systems divide software into? 10 What helps run the computer hardware and computer system? / What does the system software help run?
Exercise 3 Fill in the gaps using words from the previous text: (1) – distinction, (2) – blurred, (3) – diagnostic, (4) – accomplish, (5) – suites, (6) – games, interface, (8) – through, (9) – different, (10) – convenient, (11) – debugger, (12) – tools
(7) –
Exercise 4 Decide which answer (A, B, C, D) best fits each gap: (1) – A (evaluated), (2) – A (consideration), (3) – C (determining), (4) – A (connote), (5) – B (generally), (6) – C (measured), (7) – A (work), (8) – D (development), (9) – B (requirement), (10) – A (efforts), (11) – D (reaches), (12) – C (users), (13) – B (expectations)
Exercise 5 Match the words in Column A to the expressions in Column B: 1 – d, 2 – e, 3 – g, 4 – b, 5 – a, 6 – c, 7 – j, 8 – i, 9 – h, 10 – f
UNIT 10
Computer clusters
Exercise 1 Make sentences putting the given words into a correct order: 1 2 3
In a computer cluster a loosely coupled group of computers work together closely. In many respects the computer cluster can be viewed as though it were a single computer. Clusters are usually deployed to improve speed and/or reliability over those provided by a single computer. 4 High-availability clusters improve the availability of services which they provide. 5 The most common size for an HA cluster is two nodes, which is the minimum required to provide redundancy. 6 There are many commercial implementations of high-availability clusters for many operating systems. 7 Load balancing clusters operate by having all workload come through one or more load-balancing front ends. 8 High-performance clusters provide increased performance by splitting a computational task across many nodes in the cluster. 9 Grid clusters connect collections of computers which do not fully trust each other. 10 The TOP500 organization publishes the 500 fastest computers twice a year including many clusters on their list.
74
Exercise 2 Make questions beginning with the words in brackets: 1 2 3 4
What programs do clusters commonly run? What are many programs in libraries specially designed for? Which type of computations do HP clusters enable? What do grid clusters typically support? / What clusters typically support more heterogeneous collections? 5 May resources be shared by all the nodes? 6 When did ARCnet not have a commercial success? 7 What is the history of cluster computing intimately tied to? 8 What do many modern supercomputers consist of? 9 What are the processors of server farms connected by? 10 Why is the failure of individual machines in server farms a commonplace event?
Exercise 3 Fill in the gaps using words from the previous text: (1) – clusters, (2) – collections, (3) – trust, (4) – utility, (5) – heterogeneous, (6) – commonly, share, (8) – allocation, (9) – independently, (10) – resources, (11) – nodes
(7) –
Exercise 4 Decide which answer (A, B, C, D) best fits each gap: (1) – B (commonly), (2) – D (consist), (3) – C (use), (4) – A (increasingly), (5) – C (reach), (6) – B (levels), (7) – A (individual), (8) – D (support), (9) – C (reconfiguration), (10) – B (typically), (11) – C (performance), (12) – A (critical), (13) – D (generated)
Exercise 5 Match the words in Column A to the expressions in Column B: 1 – d, 2 – f, 3 – g, 4 – a, 5 – c, 6 – b, 7 – e
UNIT 11
Distributed File Systems
Exercise 1 Make sentences putting the given words into a correct order: 1 2 3 4 5 6 7 8 9 10
A DFS supports sharing of files and resources in the form of persistent storage over a network. File systems may use storage devices or they may be virtual. The primary hardware component comprises a set of local secondary-storage devices. Ideally, a DFS should appear to its users to be a conventional, centralized file system. The multiplicity and dispersion of DFS servers and storage devices should be made invisible. The client interface used by programs should not distinguish between local and remote files. In a DFS a remote access has the additional overhead attributed to the distributed structure. Information may or may not be accessible to other users depending on the design of the network. The master server is typically one of the most capable nodes on the network. The performance of a DFS can be viewed as another dimension of its transparency.
Exercise 2 Make questions beginning with the words in brackets: 1 2
What does the service time in conventional systems consist of? When does the overhead include the time to deliver the request to a server and the time to get the response back to the client? 3 What must precautions be taken against? 4 Where does the master server periodically receive updates of all metadata from? 5 Why does a bottleneck rarely occur? 6 What data does the master server usually store? 7 How many master servers can the Google File System comprise? 8 Why does a remote access in a DFS have the additional overhead? 9 What would the performance of an ideal DFS be comparable to? 10 Where may concurrency control or locking be built into? / What may concurrency control or locking be provided by?
75
Exercise 3 Fill in the gaps using words from the previous text: (1) – measurement, (2) – requests, (3) – remote, (4) – distributed, (5) – response, (6) – direction, protocol, (8) – dimension, (9) – conventional, (10) – also, (11) – interfere, (12) – locking
(7) –
Exercise 4 Decide which answer (A, B, C, D) best fits each gap: (1) – B (handled), (2) – D (permission), (3) – C (master), (4) – A (modified), (5) – B (propagates), (6) – C (copies), (7) – D (acknowledge), (8) – C (querying), (9) – B (leases), (10) – A (agrees), (11) – D (directly)
Exercise 5 Match the words in Column A to the expressions in Column B: 1 – c, 2 – d, 3 – f, 4 – a, 5 – g, 6 – e, 7 – b
UNIT 12
Apollo Guidance Computer
Exercise 1 Make sentences putting the given words into a correct order: 1 2
The Apollo flight computer was the first to use integrated circuits. The PGNCS allowed the Apollo spacecraft to carry out their missions when communications with the Earth were interrupted. 3 Resolvers convert inertial platform angles to signals usable for servo control. 4 The Abort Guidance System could be used to take off from the moon, and to rendezvous with the command module. 5 The Saturn V was a multistage liquid-fuel rocket used by NASA's Apollo and Skylab programs. 6 Three 5-digit numbers could also be displayed in octal or decimal. 7 The 512 kHz signal was used to synchronize external Apollo spacecraft systems. 8 The computer's RAM was magnetic core memory and ROM was implemented as core rope memory. 9 The gas-tight connections are more reliable than soldered PC boards. 10 The decision to use a single IC design throughout the AGC avoided many problems.
Exercise 2 Make questions concerning the words in bold italics: 1 2 3 4 5 6 7 8 9 10
What (components) did the Apollo command module and lunar module use the same? Who does early architectural work seem to come from? What problems plagued another early IC computer design? What were the segments driven by? What did electromechanical relays limit? What mode could three 5-digit numbers also be displayed in? Where was one of the two command module DSKYs located? What way were the numerals arranged in? What were the gates interconnected by? What pressure do the edges of the posts bite the wire with?
Exercise 3 Fill in the gaps using words from the previous text: (1) – undertaken, (2) – spacecraft, (3) – within, (4) – achieved, (5) – exploration, (6) – successful, – originally, (8) – overall, (9) – Apollo, (10) – Greek
(7)
Exercise 4 Decide which answer (A, B, C, D) best fits each gap: (1) – B (founded), (2) – C (teach), (3) – A (instruments), (4) – D (study), (5) – C (During), (6) – C (became), (7) – A (guidance), (8) – B (due)
76
Exercise 5 Match the words in Column A to the expressions in Column B: 1 – d, 2 – g, 3 – e, 4 – f, 5 – a, 6 – b, 7 – c
77
COMPUTER ENGLISH for
INTERMEDIATES Ing. Galina Vítková, CSc.
Specialist terminology consultant – Ing. Dušan Húsek, CSc.
All rights reserved
Prague 2006
COMPUTER ENGLISH FOR INTERMEDIATES Development of communication skills
Contents Introduction UNIT 1
Computers – historical review General computer vocabulary, acronyms, presentation, exercises 1 – 4
UNIT 2
Computer Architecture Computer architecture vocabulary, acronyms, presentation, exercises 1 – 4
UNIT 3
CPU – Central Processing Unit CPU vocabulary, acronyms, note taking, presentation, exercises 1 – 4
UNIT 4
Microprocessors Microprocessor vocabulary, acronyms, presentation, exercises 1 – 4
UNIT 5
Computer Memory Computer memory vocabulary, acronyms, presentation, exercises 1 – 5
UNIT 6
Virtual Memory Virtual memory vocabulary, acronyms, presentation, exercises 1 – 4
UNIT 7
Computer Motherboard Computer motherboard vocabulary, acronyms, oral (and written) presentation, exercises 1 – 4
UNIT 8
Computer Hardware Computer hardware vocabulary, acronyms, oral (and written) presentation, exercises 1 – 4
UNIT 9
Computer Software Computer software vocabulary, acronyms, note taking, presentation, exercises 1 – 5
UNIT 10
Computer Clusters Computer clusters vocabulary, acronyms, oral (and written) presentation, exercises 1 – 5
UNIT 11
Distributed File Systems DFS vocabulary, acronyms, presentation, exercises 1 – 5
UNIT 12
Apollo Guidance Computer Associate vocabulary, acronyms, note taking, oral (and written) presentation, exercises 1 – 5 Key to Exercises
1
UNIT 1 Computers – historical review (History of computing hardware) Based on Wikipedia, the free encyclopedia
Prior to the advent of machines that resemble today's CPUs, computers such as ENIAC (Electronic Numerical Integrator and Computer) had to be physically rewired in order to perform different tasks. These machines are often referred to as "fixed-program computers" because of their need to be physically reconfigured in order to run a different program. Since the term "CPU" is generally defined as a software (program) executing device, the earliest devices that could rightly be called CPUs came with the advent of the stored-program computer. The idea of a stored-program computer was already present during the design of the ENIAC, but was not initially used in that computer because of speed considerations. On 30 June 1945, before the ENIAC was even completed, a mathematician John von Neumann published the paper entitled "First Draft of a Report on the EDVAC (Electronic Discrete Variable Automatic Computer)". It outlined the design of a stored-program computer that would eventually be completed in August 1949. The EDVAC was designed to perform a certain number of instructions (or operations) of various types. These instructions could be combined to create useful programs for the EDVAC to run. Significantly, the programs written for the EDVAC were stored in high-speed computer memory rather than specified by the physical wiring of the computer. This overcame a severe limitation of the ENIAC, which was the large amount of time and effort it took to reconfigure the computer to perform a new task. With von Neumann's design the program or software, that the EDVAC ran, could be changed simply by changing the contents of the computer's memory. It should be noted that while von Neumann is most often credited with the design of the stored-program computer because of his design of the EDVAC, others before him such as Konrad Zuse had suggested similar ideas. Additionally, the so-called Harvard architecture of the Harvard Mark I, which was completed before the EDVAC, also utilized a stored-program design using a punched paper tape rather than electronic memory. The key difference between the von Neumann and Harvard architectures is that the latter separates the storage and treatment of CPU instructions and data, while the former uses the same memory space for both. Most modern CPUs are primarily von Neumann in design, but elements of the Harvard architecture are commonly seen as well. Being digital devices, all CPUs deal with discrete states and therefore require some kind of switching elements to differentiate between and change these states. During the height of electromechanical and electronic computers, electrical relays and vacuum tubes (thermionic valves) were commonly used as switching elements. Although these had distinct speed advantages over earlier, purely mechanical designs, they were unreliable for various reasons. For example, building direct current sequential logic circuits out of relays requires additional hardware to cope with the problem of contact bounce. While vacuum tubes do not suffer from contact bounce, they must heat up before becoming fully operational and eventually stop functioning altogether. Usually, when a tube failed, the CPU would have to be diagnosed to locate the failing component so it could be replaced. In fact, early electronic (vacuum tube based) computers were generally faster, but less reliable than electromechanical (relay based) computers. Tube computers like the EDVAC tended to average eight hours between failures, whereas relay computers like the Harvard Mark I failed very rarely. In the end, tube based
4
CPUs became dominant because the significant speed advantages afforded generally outweighed the reliability problems. Most of these early synchronous CPUs ran at low clock rates compared to modern microelectronic designs. Clock signal frequencies ranging from 100 kHz to 4 MHz were very common at this time, limited largely by the speed of the switching devices they were built with. Discrete transistors and IC CPUs. The design and complexity of CPUs improved as various technologies facilitated building smaller and more reliable electronic devices. The first such improvement came with the advent of the transistor. Transistorised CPUs during the 1950s and 1960s no longer had to be built out of bulky, unreliable, and fragile switching elements like electrical relays and vacuum tubes. With transistors more complex and reliable CPUs were built onto one or several printed circuit boards containing discrete (individual) components. During this period, a method of manufacturing many transistors in a compact space gained popularity. The integrated circuit (IC) allowed a great deal of transistors to be manufactured on a single semiconductor-based die, or "chip". At first only very basic non-specialized digital circuits such as NOR gates were miniaturized into ICs. CPUs based upon these "building block" ICs are generally referred to as "small-scale integration" (SSI) devices. SSI ICs, such as the ones used in the Apollo guidance computer, usually contained transistor counts numbering in multiples of ten. To build an entire CPU out of SSI ICs required thousands of individual chips, but still consumed much less space and power than earlier discrete transistor designs. As microelectronic technology advanced, an increasing number of transistors were placed on ICs, thus decreasing the quantity of individual ICs needed for a complete CPU. MSI and LSI (medium- and large-scale integration) ICs increased transistor counts to hundreds, then thousands. In 1964 IBM introduced its System/360 architecture, which was used in a series of computers that could run the same programs with different speed and performance. This was significant at a time when most electronic computers were incompatible with one another, even those made by the same manufacturer. To facilitate this improvement, IBM utilized the concept of a microprogram (often called "microcode"), which still sees widespread usage in modern CPUs. The System 360 architecture was so popular that it dominated the mainframe computer market for the next few decades and left a legacy that is still continued by similar modern computers like the IBM zSeries. In the same year (1964), the Digital Equipment Corporation (DEC) introduced another influential computer aimed at the scientific and research markets, the PDP-8. DEC would later introduce the extremely popular PDP-11 line that originally was built with SSI ICs, but was eventually implemented with LSI components once these became practical. In stark contrast with its SSI and MSI predecessors, the first LSI implementation of the PDP-11 contained a CPU comprised of only four LSI integrated circuits. Transistor-based computers had several distinct advantages over their predecessors. Aside from facilitating increased reliability and lower power consumption, transistors also allowed CPUs to operate at much higher speeds because of the short switching time of a transistor in comparison to a tube or relay. Thanks to both the increased reliability as well as the dramatically increased speed of the switching elements (which were almost exclusively transistors by this time), CPU clock rates in the tens of MHz were obtained during this period. Additionally, while discrete transistors and IC CPUs were in heavy usage, new highperformance designs like SIMD (Single Instruction Multiple Data) vector processors began to appear. These early experimental designs later gave rise to the era of specialized supercomputers like those made by Cray Inc.
5
Vocabulary clock rate, clock frequency, clock speed kmitočet hodin, taktovací frekvence, sloužící k synchronizaci operací počítače, mimo jiné určuje jakou rychlostí se provádějí operace procesoru; je pro daný procesor stabilní a je řízena jednotkou, která tuto rychlost procesoru udává bez ohledu na druh činnosti; taktovací frekvence je jedno z nejdůležitějších měřítek výkonnosti procesoru, i když není měřítkem jediným contact bounce kmitání kontaktů (relé),odskok kontaktů (relé) debouncing eliminace vlivu kmitání kontaktů debouncing circuit obvod eliminující kmitání kontaktů chip set čipová sada physical wiring fyzické propojení (zde konkrétní propojení) semiconductor-based die or chip čip též integrovaný obvod switching time doba přepínání thermionic valve elektronka to bounce kmitat, odrazit se zpět obrazovka, základní část monitoru nebo televizního vacuum tube, cathode-ray tube (CRT) přijímače – typ vakuové elektronky, zakončené stínítkem, na němž se vytváří obraz Abbreviations AC (Alternating current) DEC (Digital Equipment Corporation ) EDVAC (Electronic Discrete Variable Automatic Computer) ENIAC (Electronic Numerical Integrator and Computer)
Střídavý proud DEC, výrobce počítačů (pohlcen HP) Architektura elektronického počítače navržená von Neumannem v roce 1945 (realizováno v 1949) Elektronický číslicový integrátor a kalkulátor, tj. elektronkový číslicový počítač zkonstruovaný roku 1946 v USA IC (integrated circuit) Integrovaný obvod LSI (large- scale integration) Velký stupeň integrace MSI (medium-scale integration) Střední stupeň integrace PCB (Printed Circuit Board) Deska tištěných spojů SIMD (Single Instruction Multiple Data) Jedna instrukce, vícenásobná data, tj. jedna instrukce se provádí na více datech, vektorové zpracování, vektorový procesor SSI (small-scale integration) Nízký stupeň integrace
Exercise 1 Make sentences putting the given words into a correct order:
6
1 2 3 4 5 6 7
"First Draft of a Report on the EDVAC" - published - entitled - On 30 June 1945 - a mathematician - the paper - John von Neuman. EDVAC - could be combined - The instructions - to create - useful programs – for the. CPUs - discrete states - these states – therefore – between - some kind – require - of switching – elements - to differentiate - and change – and - deal with - All. CPU - a vacuum tube - the failing component – When – the – failed - would have - to be diagnosed - to locate. Early – computers – but - electronic computers - generally faster – than - less reliable - were electromechanical. CPUs - the reliability – became – outweighed – problems - the significant - speed advantages – generally – dominant – because - Tube based. CPUs – electronic - and complexity - building smaller – facilitated – of – increased as – technologies - and more reliable – various - The design - devices.
Exercise 2 Make questions concerning the words in bold italics:
1 2 3 4 5 6 7
SIMD designs rely on the general-purpose portions of the CPU to handle the program details. SIMD instructions handle the data manipulation only. Smaller-scale SIMD operations have now become widespread in personal computer hardware. Today the term SIMD is associated almost entirely with these smaller units. First electronic computers needed to be physically rewired in order to perform different tasks. John von Neuman published the paper entitled "First Draft of a Report on the EDVAC" on 30 June 1945. Instructions of various types could be combined to create useful programs for the EDVAC to run.
Exercise 3 Fill in the gaps using words from the box below:
SSI transistors individual chip basic advanced increased counts space manufacturing During the 1950s and 1960s, a method of … (1) … many transistors in a compact space gained popularity. The integrated circuits allowed a great deal of … (2) … to be manufactured on a single semiconductor-based die, or " … (3) … ". At first only very … (4) … nonspecialized digital circuits such as NOR gates were miniaturized into ICs. CPUs based upon these "building block" ICs are generally referred to as "small-scale integration" ( … (5) …) devices. SSI ICs usually contained transistor … (6) … numbering in multiples of ten. Building an entire CPU out of SSI ICs required thousands of individual chips, which still consumed much less … (7) … and power than earlier discrete transistor designs. As microelectronic technology … (8) … , an increasing number of transistors were placed on ICs, thus decreasing the quantity of … (9) … ICs needed for a complete CPU. MSI and LSI ICs … (10) … transistor counts to hundreds, then thousands.
7
Exercise 4 Decide which answer (A, B, C, D) best fits each gap:
Contact bounce (also called chatter) is a … (1) … problem with mechanical switches and relays. Switch and relay contacts are … (2) … made of springy metals that are forced into contact by an actuator. When the contacts … (3) … together, their momentum and elasticity act together to cause bounce. The result is a rapidly pulsed electrical current instead of a … (4) … transition from zero to full current. The waveform is then further … (5) … by the parasitic inductance and capacities in the switch and wiring, resulting in a series of damped sinusoidal … (6) …. This effect is usually unnoticeable in AC main circuits, where the bounce happens too quickly to … (7) … most equipment, but causes problems in some analogue and logic circuits that are not designed to … (8) … with … (9) … voltages. 1
A common
B
general
C joint
D ordinary
2
A ordinarily
B
usually
C generally
D habitually
3
A hit
B
knock
C pound
D strike
4
A pure
B
clean
C unadulterated
D chaste
5
A altered
B
shaped
C modified
D changed
6
A vacillations
B
oscillations
C fluctuations
D variations
7
A affect
B
influence
C direct
D induce
8
A get by
B
cope
C grapple
D manage
9
A swinging
B
varying
C oscillating
D vibrating
8
UNIT 2
Computer architecture Based on Wikipedia, the free encyclopedia
In general, computer architecture refers to the conceptual design and fundamental operational structure of a computer system. It is a functional description of requirements (especially speeds and interconnections) and design implementations for the various parts of a computer — focusing largely on the way by which the CPU performs internally and accesses addresses in memory. "Architecture" hence typically refers to the fixed internal structure of the CPU to perform logical operations. It may also include the built-in interface (i.e. opcode) by which hardware resources (i.e. CPU, memory, and also a motherboard, peripherals) may be used by the software. More specific usages of the term include: • The design of a computer's CPU architecture, instruction set, addressing modes, and techniques such as SIMD and MIMD parallelism. •
More general wider-scale hardware architectures, such as cluster computing and NonUniform Memory Access (NUMA) architectures.
•
Definition a set of machine attributes that a programmer should understand in order to successfully program the specific computer.
Design goals The most common goals in computer architecture revolve around the tradeoffs between cost and performance. Nevertheless, other considerations, such as a size, a weight, and power consumption, may be a factor as well. Generally, cost is held constant, determined by either system or commercial requirements, and speed and storage capacity are adjusted to meet the cost target. Computer retailers describe the performance of their machines in terms of clock speed (usually in MHz or GHz). This refers to the cycles per second of the main clock of the CPU. However, this metric is somewhat misleading, as a machine with a higher clock rate may not necessarily have higher performance. Modern CPUs can execute multiple instructions per clock cycle, which dramatically speeds up a program. Other factors aid speed, such as the mix of functional units, bus speeds, available memory, and the type and order of instructions in the programs being run. But there are also different types of speed. Interrupt latency is the guaranteed maximum response time of the system to an electronic event (e.g. when the disk drive finishes moving some data). This number is affected by a very wide range of design choices, e.g. adding cache usually makes latency worse (slower), but makes other things faster. Computers that control machinery usually need low interrupt latencies, because the machine cannot, will not or should not wait. For example, computer-controlled anti-lock brakes should not wait for the computer to finish what it's doing - they should brake. Benchmarking tries to take all these factors into account. In computing, a benchmark is the result of measuring the time a computer takes to run through a series of test programs. The term, benchmark, is also commonly used for specially-designed benchmarking programs themselves. Benchmarking is usually associated with assessing performance characteristics of computer hardware, but there are circumstances when the technique is also applicable to software. Software benchmarks are, for example, run against compilers or database
9
management systems. Benchmarks provide a method of comparing the performance of various subsystems across different system architectures. Although benchmarking shows strengths, it may not help one to choose a computer. Often the measured machines split on different measures. For example, one system might handle scientific applications quickly, while another might play popular video games more smoothly. Furthermore, designers have been known to add special features to their products, whether in hardware or software, features which permit a specific benchmark to execute quickly, but which do not offer similar advantages to other, more general computational tasks. Naive users are apt to be unaware of such deceptive tricks. The general scheme of optimization is to find the costs of the different parts of the computer. In a balanced computer system, the data rate will be constant for all parts of the system, and cost will be allocated proportionally to assure this. The exact form of the computer system will depend on the constraints and goals it was optimized for. For businesses, and many general computing tasks, it is a good compromise to never let the computer run out of memory. This event would halt the program, and greatly inconvenience the user. Instead of halting the program, many computer systems save less-frequently used blocks of memory to the rotating mechanical storage. In essence, the mechanical storage becomes main memory. However, mechanical storage is thousands of times slower than electronic memory. Computer architecture on a future horizon Conventional processing architectures could be broken due to implementation of configurable computing. Here the program code causes the compiler to create intermediate code suitable for runtime reconfigurable field-programmable gate arrays. In these arrays during the scope of program objects the configurable logic represents the calculating structure able to perform as desired. Since many objects can potentially perform in parallel on data this ultimatively constitutes an advanced parallel processing architecture. Configurable computing could be categorized under computing in memory which is inspired by the function of the neuronal brain, where the processor and the memory eventually cannot be distinguished from each other.
Vocabulary baud rate benchmark, bench mark benchmarking cache
configurable computing data rate field-programmable gate array gate array
přenosová rychlost dat v baudech [bit/s] vyhodnocení (výsledek) běhu testu, sada testů pro měření výkonu počítače měření výkonnosti pomocí (standardních) testovacích sad programů vyrovnávací paměť, tj. rychlá paměť mezi hlavní pamětí a procesorem počítače, do níž se průběžně ukládají data, čtená z hlavní paměti konfigurovatelné počítání přenosová rychlost dat programovatelné hradlové pole hradlové pole, tj. čip, jehož základní architektura spočívá ve vytvoření velkého množství bran (gate), tento čip se rovněž nazývá application-specific integrated circuit (ASIC)
10
hardware interrupt
hardwarové přerušení, tj. Přerušení v systému generované nějakou z jeho hardwarových komponent
interrupt flag interrupt latency interrupt mask tradeoff, trade-off
příznak přerušení latentní doba do přerušení maska přerušení kompromis, dohoda
Acronyms ASIC (Application Specific Integrated Circuit) CPU (Central processing unit) MIMD (Multiple Instruction, Multiple Data) NUMA (Non-Universal Memory Architecture OR Non-Uniform Memory Access) SIMD (Single Instruction Multiple Data)
Integrovaný obvod pro specifické použití Základní jednotka Vícenásobné instrukce, vícenásobná data, více paralelních procesorů zpracovává různá data Neuniverzální paměťová architektura NEBO Neuniformní přístup k paměti Jedna instrukce, vícenásobná data, tj. jedna instrukce se provádí na více datech, vektorové zpracování, vektorový procesor
Exercise 1 Make sentences putting the given words into a correct order: 1 Computer – typically – to the – internal – structure – CPU – to perform – logical – refers – operations – architecture – fixed – of the –. 2 It may – the built-in – by which – resources – used – also include – interface – by the software – hardware – may be –. 3 Architecture – defined – of machine – that – should – understand – to program the specific – as a set – computer – is often – attributes – a programmer – in order –. 4 Nevertheless – considerations, – a size, – and power – a factor – as well – other – such as – a weight, – consumption – , may be –. 5 Computer – describe – of their – in terms – speed – (usually – or GHz) – retailers – the performance – machines – of clock – in MHz –. 6 The performance – to the – per second – of the main – of the CPU – refers – cycles – clock –. 7 Modern – can – multiple – per clock cycle, – which – speeds up – instructions – a program – CPUs – execute – dramatically –.
Exercise 2 Make questions concerning the words in bold italics:
1
In computer architecture, a bus transfers data or power between computer components inside a computer or between computers.
2
The bus can logically connect several peripherals over the same set of wires.
3
Each bus defines its set of connectors to physically plug devices, cards or cables together.
11
4
The most common goals in computer architecture revolve around the tradeoffs between cost and performance.
5
Computers that control machinery usually need low interrupt latencies.
6
Benchmarking tries to take all these factors into account by measuring the time a computer takes to run through a series of test programs.
7
Benchmarking is usually associated with assessing performance characteristics of computer hardware.
Exercise 3 Fill in the gaps using words from the box below:
a computer applications designers features execute offer benchmarking deceptive computational
split
Although … (1) … shows strengths, it may not help one to choose … (2) … . Often the measured machines … (3) … on different measures. For example, one system might handle scientific … (4) … quickly, while another might play popular video games more smoothly. Furthermore, … (5) … have been known to add special features to their products, whether in hardware or software, … (6) … which permit a specific benchmark to … (7) … quickly but which do not … (8) … similar advantages to other, more general … (9) … tasks. Naive users are apt to be unaware of such … (10) … tricks. Exercise 4 Decide which answer (A, B, C, D) best fits each gap:
In strictly mathematical … (1) … of computer science the term object is used in a purely mathematical sense to refer to any "thing". While this … (2) … is useful in the discussion of … (3) … theory, it is not concrete enough to serve as a … (4) … datatype in the discussion of more concrete branches (such as programming) that are closer to actual … (5) … and information processing. There, objects are still conceptual entities, but generally … (6) … directly to a contiguous block of computer memory of a specific size at a specific location. This is because computation and information processing ultimately … (7) … a form of computer memory. Objects in this sense are fundamental primitives needed to … (8) … define concepts such as references, variables, and name binding. This is why the rest of this article will … (9) …on the concrete interpretation of the object rather than the abstract one. 1
A subdivisions
B
branches
C boughs
D parts
2
A explication
B
version
C interpretation
D explanation
3
A apart
B
abstract
C complex
D brief
4
A unsophisticated
B
simple
C primitive
D uncultured
5
A estimation
B
reckoning
C computation
D calculation
6
A correspond
B
agree
C fit
D conform
7
A request
B
demand
C require
D need
8
A correctly
B
exactly
C precisely
D accurately
12
9
A concentrate
B
sharpen
C focus
D converge
13
UNIT 3
Central processing unit Based on Wikipedia, the free encyclopedia The phrase "Central processing unit" (CPU) or sometimes simply processor is, in general terms, a functional description of a certain class of logic machines that can execute complex computer programs. This broad definition can easily be applied to many early computers that existed long before the term "CPU" ever came into widespread usage. However, the term itself and its acronym have been in use at least since the early 1960s. The form, design and implementation of CPUs have changed dramatically since the earliest examples, but their fundamental operation has remained much the same. Appearance of the integrated circuit (IC) have allowed increasingly complex CPUs to be designed and manufactured in very small spaces (in the order of millimeters). Both the miniaturization and standardization of CPUs have increased the presence of these digital devices in modern life far beyond the limited application of dedicated computing machines. Modern microprocessors appear in everything from automobiles and cell phones to children's toys. CPU operation The fundamental operation of most CPUs, regardless of the physical form they take, is to execute a sequence of stored instructions called a program. Discussed here are devices that conform to the common Von Neumann architecture. The program is represented by a series of instructions (represented by a number or sequence of numbers) that are kept in some kind of computer memory. There are four steps that nearly all von Neumann CPUs use in their operation: fetch, decode, execute, and writeback. The first step, fetch, involves retrieving an instruction from program memory. The location in program memory is determined by a program counter (PC), which stores a number that identifies the current position in the program. In other words, the program counter keeps track of the CPU's place in the current program. After an instruction is fetched, the PC is incremented by the length of the instruction word in terms of memory units. Often the instruction to be fetched must be retrieved from relatively slow memory, causing the CPU to stall while waiting for the instruction to be returned. This issue is largely addressed in modern processors by cache and superscalar architecture. In the decode step, the instruction is broken up into parts that have significance to other portions of the CPU. The way in which the numerical instruction value is interpreted is defined by the CPU's Instruction set architecture (ISA). Often, one group of numbers in the instruction, called the opcode, indicates which operation to perform. The remaining parts of the number usually provide information required for that instruction, such as operands for an addition operation. Such operands may be given as a constant value, or as a place to locate a value: a register or a memory address. In older designs the portions of the CPU responsible for instruction decoding were unchangeable hardware devices. However, in more abstract and complicated CPUs and ISAs, a microprogram is often used to assist in translating instructions into various configuration signals for the CPU. This microprogram is often rewritable and can be modified to change the way the CPU decodes instructions even after it has been manufactured.
13
Block diagram of a simple CPU After the fetch and decode steps, the execute step is performed. During this step, various portions of the CPU are connected, so they can perform the desired operation. If, for instance, an addition operation was requested, an ALU (Arithmetic Logic Unit) will be connected to a set of inputs and a set of outputs. The inputs provide the numbers to be added, and the outputs will contain the final sum. The final step, writeback, simply "writes back" the results of the execute step to some form of memory. Very often the results are written to some internal CPU register for quick access. In other cases they may be written to slower, but cheaper and larger, main memory. Some types of instructions manipulate the program counter rather than directly produce result data. These are generally called "jumps" and facilitate behavior like loops, conditional program execution, and functions in programs. After the execution of the instruction and writeback the resulting data, the entire process repeats, with the next instruction cycle normally fetching the next-in-sequence instruction. In more complex CPUs than the one described here, multiple instructions can be fetched, decoded, and executed simultaneously. Many instructions will also change the state of digits in a "flags" register. These flags can be used to influence how a program behaves, since they often indicate the outcome of various operations. For example, one type of "compare" instruction considers two values and sets a number in the flags register according to which one is greater. This flag could then be used by a later jump instruction to determine program flow.
Vocabulary cache
vyrovnávací paměť, tj. rychlá paměť mezi hlavní pamětí a procesorem počítače, do níž
14
instruction mainframe, mainframe computer opcode, operation code
program counter, instruction counter writeback
se průběžně ukládají data, čtená z hlavní paměti příkaz, instrukce mainframe, střediskový/velký počítač operační kod, tj. část instrukcí strojového jazyka, která určuje, jaký druh činností počítač přímo provede. čítač instrukcí doslova zpětný zápis — zde výpis (výsledků) na nějaké médium
Acronyms Aritmeticko-logická jednotka, tj. část procesoru provádějící vlastní aritmetické a logické operace, zpravidla podle vestavěného mikrokódu CPU (Central Processing Unit) Základní jednotka IBM (International Business Machines IBM (Mezinárodní korporace pro výrobu Corporation (or colloquially Big podnikových (atelských) strojů) (hovorově Velká Blue)) Modrá)) IC (Instruction Counter) Čítač instrukcí IC (Integrated Circuiit) Integrovaný obvod ISA (Industry Standard Architecture) Standardní průmyslová sběrnice, tj. Standard sběrnice počítačů PC, původně 8, nyní výhradně 16ti bitová ISA (Instruction Set Architecture) Architektura instrukční sady PC (Program Counter) Programový čítač qubit (sometimes qbit) (quantum bit) Kvantový bit TTL (Transistor-Transistor Logic) Logika tranzistor- tranzistor VLSI (Very Large Scale Integration) Velmi velký stupeň integrace ALU (Arithmetic Logic Unit)
Exercise 1 Make sentences putting the given words into a correct order:
1 2 3 4 5 6 7
The – is represented by – of numbers – kept – kind – that – memory – program – a series – are – in some – of computer –. The first – involves – an instruction – memory – step – retrieving – from program –. In other words, – the current – counter – track – CPU's place – program – of the – in the – keeps – program –. One – numbers – instruction – indicates – operation – to perform – group of – in the –, called – which – the opcode, –. The – is often – and can – to – the way – instructions – decodes – microprogram – rewritable – be modified – change – the CPU –. The final – simply – the results – execute – to some – memory – step – "writes back" – of the – step – form of –. Some – of instructions – the program – rather – directly – produce – data – types – manipulate – counter – than – result –. 15
Exercise 2 Make questions concerning the words in bold italics:
1 2
This broad definition can easily be applied to many early computers. Appearance of integrated circuits have allowed increasingly complex CPUs to be designed and manufactured in very small spaces. 3 A number that a program counter stores identifies the current position in the program. 4 Often the instruction to be fetched must be retrieved from relatively slow memory. 5 The flags can be used to influence how a program behaves. 6 The results are very often written to some internal CPU register for quick access. 7 Some types of instructions manipulate the program counter rather than directly produce result data. 8 In more complex CPUs multiple instructions can be fetched, decoded, and executed simultaneously. 9 Many instructions will also change the state of digits in a "flags" register. 10 This flag could be used by a later jump instruction to determine a program flow.
Exercise 3 Fill in the gaps using words from the box below:
purposes
inexpensive accelerated allowed particular presence standardization
limited appear
spaces
The old and costly methodology of designing custom CPUs for a … (1) … application has largely given way to the development of … (2) … and standardized classes of processors that are suited for one or many … (3) …. This trend, which generally began in the era of discrete transistor mainframes and minicomputers, rapidly … (4) … with the popularization of the integrated circuits. The integrated circuits have therefore … (5) … increasingly complex CPUs to be designed and manufactured in very small … (6) … (in the order of millimetres). Both the miniaturization and … (7) … of CPUs have increased the … (8) … of these digital devices in modern life far beyond the … (9) … application of dedicated computing machines. Modern microprocessors … (10) … in everything from automobiles and cell phones to children's toys. Exercise 4 Decide which answer (A, B, C, D) best fits each gap:
Minicomputer (colloquially, mini) is a largely obsolete … (1) … for a class of multi-user computers which make up the middle … (2) … of the computing spectrum, in between the largest multi-user systems (traditionally, mainframe computers) and the smallest single-user systems. More modern terms for such machines include midrange systems (… (3) … in IBM parlance), workstations (common in Sun Microsystems and general UNIX/Linux parlance), and servers. The term "minicomputer" … (4) … in the 1960s to describe the "small" third generation computers that became possible with the use of transistor and … (5) … memory technologies. They usually took up one or a few cabinets, compared with mainframes that would usually fill a … (6) … . Starting in the 1980s, many minicomputers used VLSI circuits often making the hardware organization much less … (7) … . As microcomputers developed in the 1970s and 80s, minicomputers filled the mid-range area between low powered
16
microcomputers and high … (8) … mainframes. The classical mini was a 16-bit computer, while the … (9) … higher performance 32-bit minis were often referred to as superminis. 1
A expression
B
term
C name
D title
2
A range
B
scope
C area
D extent
3
A usual
B
familiar
C common
D ordinary
4
A developed
B
became
C evolved
D progressed
5
A gist
B
substance
C essence
D core
6
A room
B
space
C area
D margin
7
A patent
B
visible
C apparent
D obvious
8
A capability
B
capacity
C competence
D aptitude
9
A beginning
B
initial
C emerging
D incipient
17
UNIT 4
Microprocessors Based on Wikipedia, the free enciclopedia A microprocessor (sometimes abbreviated µP or uP) is a digital electronic component with miniaturized tranzistors on a single semiconductor integrated circuit (IC). One or more microprocessors typically serve as a central processing unit (CPU) in a computer system or handheld device. Microprocessors made possible the advent of microcomputers. Before this, electronic CPUs were typically made from bulky discrete switching devices (and later small-scale integrated circuits) containing the equivalent of only a few transistors. By integrating the processor onto one or a very few large-scale integrated circuit packages (containing the equivalent of thousands or millions of discrete transistors), the cost of processor power was greatly reduced. Since the advent of the ICs in the mid-1970s, the microprocessor has become the most prevalent implementation of the CPU, nearly completely replacing all other forms. The evolution of microprocessors has been known to follow Moore's law when it comes to steadily increasing performance over the years. This law suggests that the complexity of an integrated circuit, with respect to minimum component cost will double in about 18 months. This rule has been generally followed, unconsciously, since the early 1970s. From their humble beginnings as the drivers for calculators, the continued increase in power has led to the dominance of microprocessors over every other form of computer; every system from the largest mainframe to the smallest handheld computers now uses a microprocessor at its core. Since the introduction of the first microprocessor (the Intel 4004) in 1970 and the first widely used microprocessor (the Intel 8080) in 1974, this class of CPUs has almost completely overtaken all other implementations. This fact, combined with the advent of the personal computer, has led to the term "CPU" being applied almost exclusively to microprocessors in the past few decades. Previous generations of CPUs were implemented as discrete components and numerous small integrated circuits on one or more circuit boards. Microprocessors, on the other hand, are CPUs manufactured on a very small number of ICs; usually just one. The overall smaller CPU size as a result of being implemented on a single die means faster switching time because of physical factors like decreased gate parasitic capacitance. This has allowed synchronous microprocessors to have clock rates ranging from tens of MHz to several GHz. The term microchip (or simply chip) is used rather loosely in electronics. While it refers to the actual semiconductor die before packaging, usually the term is applied to the entire packaged integrated circuits. The die, integrated circuit unit results from die cutting a wafer. The wafer is a thin slice of semiconducting material, such as a silicon crystal, upon which microcircuits are constructed by doping (for example, diffusion or ion implantation), etching, and deposition of various materials. Wafers are thus of key importance in the fabrication of ICs. Wafers are made in various sizes ranging from 1 inch (25.4 mm) to 11.8 inches (300 mm), and thicknesses of the order of 0.5 mm. Generally, they are cut from a boule of semiconductor using a diamond saw, then polished on one or both faces. In the manufacturing of micro-electronic devices, die cutting or dicing is a process of reducing a wafer containing multiple identical ICs to dice each containing one of those circuits. During this process, a wafer with up to thousands of circuits is cut into individual 18
pieces, each called a die. In between the functional parts of the circuits, a thin non-functional spacing is foreseen where a saw can safely cut the wafer without damaging the circuit. This spacing is called the scribe. The width of the scribe is very small, typically around 100 µm. A very thin and accurate saw is therefore needed to cut the wafer into pieces. Usually the dicing is performed with a water-cooled circular saw with diamond-tipped teeth. While the complexity, size, construction, and general form of CPUs have changed drastically over the past sixty years, it is notable that the basic design and function has not changed much at all. Almost all common CPUs today can be very accurately described as von Neumann stored-program machines. As the aforementioned Moore's law continues to hold true, concerns about the limits of integrated circuit transistor technology have become much more prevalent. Extreme miniaturization of electronic gates is causing the effects of phenomena like electromigration and subthreshold leakage to become much more significant. Electromigration decreases the reliability of ICs. In the worst case it leads to the loss of one or more connections and causes the failure of the entire circuit. The reliability of interconnections is of great interest in the field of space travel and for military purposes. Moreocer, it is very important also with civilian applications like for example the anti-lock braking system of cars. Thus, high technological and economic values are attached to the electromigration effect. Subthreshold leakage is the current that flows from the drain to source of a MOSFET (metal oxide semiconductor field-effect transistor) when the transistor is supposed to be off. In the past the subthreshold leakage of transistors has been very small, but as transistors have been scaled down, subthreshold leakage can compose nearly 50% of total power consumption. The reason for this is that the supply voltage has continually scaled down to reduce the dynamic power consumption of integrated circuits (the power that is consumed when the transistor is switching from an on-state to an off-state) which depends on the square of the supply voltage. As the supply voltage is scaled down, to maintain performance, the threshold voltage has to be reduced in the same proportion. As threshold voltages are reduced, subthreshold leakage rises exponentially. These newer concerns are among the many factors causing researchers to investigate new methods of computing such as a quantum computer, as well as to expand the usage of parallelism and other methods that extend the usefulness of the classical von Neumann model. The quantum computer is any device for computation that makes direct use of distinctively quantum mechanical phenomena, such as superposition and entanglement, to perform operations on data. In a classical (or conventional) computer, the amount of data is measured by bits; in a quantum computer, it is measured by qubits (quantum bits, sometimes qbits). The basic principle of quantum computation is that the quantum properties of particles can be used to represent data, and that devised quantum mechanisms can be used to perform operations with the data.
Vocabulary
(gate) parasitic capacitance advent
parazitní kapacitance nástup, předvečer 19
anti-lock braking system of cars circuit board diamond-tipped die die cutting or dicing doping handheld devices, handhelds ion implantation quantum computer quantum entanglement scribe smartphone subthreshold leakage wafer
anti-lock brzdicí systém auta deska obvodu diamantový hrot křemíková kostka řezání křemíkového plátku (na kostky) legování (polovodiče) kapesné přístroje (do dlaně) iontová implantace kvantový počítač kvantové zapletení, kvantově korelované stavy technologická mezera (čára) pro řez označení “chytrého” telefonu vybaveného operačním systémem Windows podprahový únik vafle, tenký plátek křemíku, který slouží k výrobě integrovaných obvodů
Acronyms
CPU (Central Processing Unit) IC (Integrated Circuit) MOSFET (Metal Oxide Semiconductor Field-Effect Transistor) qubit (sometimes qbit / quantum bit)
Základní jednotka IO (Integrovaný Obvod) Tranzistor řízený polem s hradlem izolovaným kysličníkem Kvantový bit
Exercise 1 Make sentences putting the given words into a correct order:
1 2 3 4 5 6 7 8 9
One – in a – microprocessors – system – serve – central – computer – or more – typically – unit – as a – processing – . Since – the microprocessor – has – the most – implementation – the mid-1970s – become – prevalent – of the CPU – . component – integrated – The – of an – circuit with – to minimum – cost will – in about – complexity – double – respect – 18 months – . handheld – from the – Now – system – largest – the smallest – computers – microprocessor – at its core – every – mainframe to – uses a – . implemented – The – smaller – size as a – being – on a single – faster –time – overall – CPU – result of – die means – switching – . Generally, – they – cut from a – semiconductor – using a – diamond – saw,– polished – on one or – faces – are – boule of – then – both – . During – process, – with up – of circuits – into – pieces, – each – a die – this – a wafer – to thousands – is cut – individual – called – . over – have – The – construction, – and general – of CPUs – changed – the past – years –, size, – complexity – form – drastically – sixty – . connections – case – In the – it leads – of one or – and causes – of the entire – worst – to the loss – more – circuit – the failure – . 20
10 The supply – has – continually – down to – dynamic – consumption circuits – voltage – scaled – reduce the – power – of integrated – .
Exercise 2 Make questions concerning the words in bold italics:
1
The supply voltage has continually scaled down to reduce the dynamic power consumption of integrated circuits. 2 These newer concerns cause researchers to investigate new methods of computing. 3 Earlier, electronic CPUs were typically made from bulky discrete switching devices. 4 The Moore´s Law has been generally followed, unconsciously, since the early 1970s. 5 The term microchip is usually applied to the entire packaged integrated circuits. 6 Wafers are cut from a boule of semiconducting material using a diamand saw. 7 The dicing is usually performed with a water-cooled circular saw with diamondtipped teeth. 8 Almost all common CPUs today can be very accurately described as von Neumann stored-program machines. 9 Extreme miniaturization of electronic gates cause much more significant electromigration and subthreshold leakage. 10 In the worst case electromigration leads to the loss of one or more connections and causes the failure of the entire circuit.
Exercise 3 Fill in the gaps using words from the box below: leakage current consumption reduced
small total subthreshold
on-state rises scaled
Subthreshold leakage is … (1) … that flows from the v to source of a MOSFET (metal oxide semiconductor field-effect transistor) when the transistor is supposed to be off. In the past the … (2) … leakage of transistors has been very … (3) …, but as transistors have been scaled down, subthreshold … (4) … can compose nearly 50% of … (5) … power consumption. The reason for this is that the supply voltage has continually scaled down to reduce the dynamic … (6) … of integrated circuits (the power that is consumed when the transistor is switching from an … (7) … to an off-state) which depends on the square of the supply voltage. As the supply voltage is … (8) … down, to maintain performance, the threshold voltage has to be … (9) … in the same proportion. As threshold voltages are reduced, subthreshold leakage … (10) … exponentially.
Exercise 4 Decide which answer (A, B, C, D) best fits each gap:
Quantum entanglement is a quantum mechanical phenomenon in which the quantum states of two or more …(1) … s have to be described with reference to each other, even though the … (2) … objects may be spatially … (3) …. This leads to correlation between observable physical … (4) … of the systems. For example, it is possible to prepare two particles in a … (5) … quantum state such that when one is observed to be spin-up, the other one will always be observed to be spin-down and vice versa, this despite the fact that it is impossible to … (6) …, according to quantum mechanics, which set of measurements will be observed. As a result, measurements … (7) … on one system seem to be instantaneously … (8) … other 21
systems entangled with it. However, this time … (9) … information cannot be transmitted through entanglement faster than the speed of light. 1
A object
B
thing
C matter
D entity
2
A singular
B
personal
C individual
D particular
3
A isolated
B
separated
C detached
D disjointed
4
A characteristics
B
qualities
C features
D properties
5
A one
B
single
C only
D solitary
6
A predict
B
forsee
C prophesy
D forecast
7
A accomplished
B
executed
C performed
D achieved
8
A affecting
B
influencing
C impacting
D inducing
9
A standard
B
customary
C conventional
D classical
22
UNIT 5
Computer memory Based on Wikipedia, the free encyclopedia
The term computer memory refers to the parts of a digital computer which retain physical state (data) for some interval of time. Most computers possess four kinds of memory: registers in the CPU, CPU caches (generally some kind of static RAM) both inside and adjacent to the CPU, main memory (generally dynamic RAM) which the CPU can read and write to directly and reasonably quickly; and disc storage, which is much slower, but also much larger. Very often the term memory identifies data storage that comes in the form of chips, and the word storage is used for memory that exists on tapes or disks. Moreover, the term memory is usually used as a shorthand for physical memory, which refers to the actual chips capable of holding data. Some computers also use virtual memory, which expands physical memory onto a hard disk. An analogy is to think of the storage as human memory, with the hard disk as long-term memory, and the memory as short-term memory. In other words, computer memory or computer storage refers to the computer components, devices and recording media that retain binary information for some interval of time. In casual language, memory usually refers to forms of storage which are fast, but lose their contents in a case of power loss, and storage refers to forms of storage which are slower, but suitable for long-term retention. Memory can be categorized in different ways by technology or properties: •
Memory primary access by the CPU or secondary (indirect) access by the CPU. This distinction is primarily based on the speed of access to the memory.
•
Memory volatile or non-volatile is a distinction based on technology (magnetic vs. electrical, etc.). Volatile memory loses its contents when it loses power; non-volatile storage does not.
•
Random-Access or Sequential-Access is a distinction based on the mechanism of reading the memory.
•
Read-only memory, or read-write is a distinction based on properties of the memory. Read only memory, or ROM, is not modifiable.
•
Mutable (Read-write) vs. Immutable (Read only) storage.
Each type of storage is suited for different purposes, and most computers contain several types: primary, secondary, and volatile. Primary vs. secondary storage. Primary storage contains data that are actively being used (for example, the programs currently being run and the data they are operating on). It is typically high-speed, relatively small, is often (but not always) volatile. It is sometimes referred to as "Main Memory." It can be accessed immediately and randomly. Secondary storage, also known as peripheral storage, is where the computer stores information that is not necessarily in current use. It is typically slower and higher-capacity than primary storage. It is almost always non-volatile. It is slow due to serial access (thus it is also termed Serial Access Memory).
23
Mutable vs. immutable storage. Data stored in mutable storage can be overwritten at any time. Data stored in immutable storage cannot be overwritten. Systems can be made more secure by storing programs and static data in immutable storage, where they cannot be changed by an attacker. Dynamic data is stored in mutable storage because it must be changed from time to time. Most operating systems store all programs and data on hard disk drives, which are inherently mutable storage devices. File system permissions can be used to make certain areas of the hard disk logically immutable. However, the superuser is normally not affected by these permissions thus allowing some attacks to succeed. RAM (Random-Access Memory). In personal computers this is the same as main memory. When used by itself, the term RAM refers to read and write memory. Most RAM is volatile. SRAM (Static RAM) stores data in flip flops, it only requires steady flow of electricity to maintain its contents. DRAM (Dynamic RAM) stores data in capacitors, which gradually lose charge and "forget". It requires periodic refresh cycles to restore the data. ROM (Read-Only Memory). Computers almost always contain a small amount of read-only memory that holds instructions for starting up the computer. PROM (Programmable ROM) is a memory chip on which a program can be stored. But once the PROM has been used, you cannot wipe it clean and use it to store something else. EPROM (Erasable Programmable ROM) is a special type of PROM that can be erased by exposing it to ultraviolet light. It must be removed from the board, erased, then reprogrammed. EEPROM (Electrically Erasable Programmable ROM) is a special type of PROM that can be erased by electrical signals, often the same ones that program it with new data. It can stay on the board and be reprogrammed in a system. Cache memory. In computer science, a cache is a collection of data duplicating original values stored elsewhere or computed earlier, where the original data is expensive (usually in terms of access time) to fetch or compute relative to reading the cache. Once the data is stored in the cache, future use can be made by accessing the cached copy rather than refetching or recomputing the original data, so that the average access time is lower. Caches have proven extremely effective in many areas of computing because access patterns in typical computer applications have locality of reference. There are several sorts of locality, but we mainly mean that the same data are often used several times, with accesses that are close together in time, or that data near to each other are accessed close together in time. Capacity and performance. Storage capacity is the total amount of stored information that a storage device or medium can hold. It is expressed as a quantity of bits or bytes. Latency is the time it takes to access a particular location in storage. The relevant unit of measurement is typically a nanosecond for primary storage, a millisecond for secondary storage, and a second for tertiary storage. It may make sense to separate read latency and write latency, and in case of sequential access storage, minimum, maximum and average latency. Throughput is the rate at which information can be read from or written to the storage. In computer storage, throughput is usually expressed in terms of megabytes per second or MB/s, though bit rate may also be used. As with latency, read rate and write rate may need to be differentiated.
Vocabulary baud bit rate, baud rate
jednotka rychlosti přenosu dat (bit/s) přenosová rychlost, definuje rychlost přenosu dat z datového média na jiné datové médium, baud rate udává počet změn signálu učiněných za sekundu, nelze 24
apriorně slučovat pojem bps s pojmem baud cache
vyrovnávací paměť, tj. rychlá paměť mezi hlavní pamětí a procesorem počítače, do níž se průběžně ukládají data, čtená z hlavní paměti
capacitor
kondenzátor
flip flop (flip-flop), latch
západka, klopný obvod, tj. elektronický obvod, který slouží pouze k zachování jednoho stavu, jako je např. vypnuto/zapnuto
immutable storage
nezměnitelné záznamové zařízení
latency
latence
mutable storage
proměnlivé záznamové zařízení
nonvolatile memory
paměť nezávislá na napájení, neztrácí svůj obsah při výpadku proudu
serial access
seriový přístup
storage, storage device
zařízení, které je schopno zaznamenávat nebo naopak číst počítačové informace - data v digitálním tvaru
throughput
propustnost, tj. míra propustnosti datového přenosu nebo rychlost zpracování dat samostatnou operační jednotkou, vyjadřuje maximální kapacitu přenosu mezi dvěma zařízeními v počtu přenesených bajtů (bitů) za časovou jednotku (sekundu)
volatile memory
druh paměti, která při výpadku napájení ztrácí svůj obsah, například paměť RAM, která musí být neustále obnovována dobíjecími impulsy
Acronyms RAM (Random-Access Memory)
Paměť s libovolným (náhodným) výběrem (přístupem)
SRAM (Static RAM)
Statická paměť RAM, informace je udržována staticky, nemusí se periodicky obnovovat jako u DRAM, proto je rychlejší
DRAM (Dynamic RAM)
Dynamická paměť RAM, uchovávanou informaci je nutné periodicky obnovovat
ROM (Read-Only Memory)
Paměť pouze pro čtení, trvalá (permanentní) paměť
PROM (Programmable ROM)
Programovatelná paměť ROM
EPROM (Erasable Programmable ROM)
Vymazatelná PROM, zpravidla ultrafialovým zářením
EEPROM (Electrically Erasable Programmable ROM)
Elektricky vymazatelná PROM
25
Exercise 1 Make sentences putting the given words into a correct order:
1
the term – identifies – storage – that – in the form – memory – Very often – of chips – data – comes – . 2 Some – memory – also – use – memory, – virtual – which – physical – onto – disk – computers – expands – a hard – . 3 Memory – be – in different – by technology – categorized – can – or – ways – properties – . 4 storage – data – are – being – contains – Primary – actively – that – used – . 5 storage, – known – storage, – for storing – that – necessarily – use – Secondary – also – as peripheral – is utilized – is not – information – in current – . 6 Most – systems – all – data – on hard – drives – operating – disk – programs and – store – . 7 File system – can be – to make – areas – hard – logically – immutable – permissions – used – disk – certain – of the – . 8 Computers – contain – starting up – amount – memory for – always – the computer – almost – a small – of read-only – . 9 is – duplicating – values – elsewhere or – a collection – earlier – A cache – of data – original – stored – computed – . 10 Caches – extremely – many – of computing – because – patterns – have – locality – effective in – of reference – have proven – areas – access – .
Exercise 2 Make questions beginning with the words in brackets:
1
The term computer memory refers to the parts of a computer which retain physical state for some time interval. (What … to?) 2 Most computers possess four kinds of memory. (How many …?) 3 The term memory identifies data storage that comes in the form of chips. (What kind …?) 4 The term storage refers to forms of storage which are slower, but suitable for longterm retention. (What … to?) 5 Memory can be categorized in different ways by technology or properties. (What … by?) 6 Primary storage contains data that are actively being used (e.g. the programs currently being run). (What data …?) 7 Systems can store programs and static data in immutable storage in order to be more secure. (Where …?) 8 Static RAM requires steady flow of electricity to maintain its contents. (Why …?) 9 Erasable programmable ROM can be erased by exposing it to ultraviolet light. (How …?) 10 Caches have proven extremely effective in many areas of computing because access patterns in typical computer applications have locality of reference. (Why …?)
Exercise 3 Fill in the gaps using words from the previous text:
adjacent elsewhere cache average patterns extremely several refetching together possess accessed duplicating
26
Most computers … (1) … four kinds of memory: registers in the CPU, CPU cashes, both inside and … (2) … to the CPU, main memory and disc storage, which is much slower, but also much larger. A CPU cache is a collection of data … (3) … original values stored … (4) … or computed earlier, where the original data is expensive (usually in terms of access time) to fetch or compute relative to reading the … (5) … . Once the data is stored in the cache, future use can be made by accessing the cached copy rather than … (6) … or recomputing the original data, so that the … (7) … access time is lower. Caches have proven … (8) … effective in many areas of computing because access … (9) … in typical computer applications have locality of reference. There are … (10) … sorts of locality, but we mainly mean that the same data are often used several times, with accesses that are close … (11) … in time, or that data near to each other are … (12) … close together in time. Exercise 4 Decide which answer (A, B, C, D) best fits each gap:
The … (1) … components of a general-purpose computer are arithmetic and logic unit, … (2) … circuitry, storage space, and input/output devices. If storage was removed, the device we had would be a simple calculator instead of a computer. The … (3) … to store instructions that form a computer program, and the information that the instructions … (4) … is what makes stored program architecture computers … (5) … . A digital computer … (6) … all information using the binary numeral system. Text, numbers, pictures, audio, and nearly any other form of information can be … (7) … into a string of bits, or binary digits. A … (8) … of information can be manipulated by any computer whose storage space is large enough to … (9) … the corresponding data, or the binary representation of the piece of information. Various forms of storage, based on various … (10) … phenomenon, have been invented. So far, no practical universal storage medium exists, and all forms of storage have some … (11) … . Therefore a computer system usually contains several kinds of storage, each with an individual … (12) …. 1
A central
B
fundamental
C essential
D vital
2
A rule
B
manage
C govern
D control
3
A capability
B
aptitude
C ability
D faculty
4
A manipulate
B
handle
C manage
D jockey
5
A adaptable
B
multilateral
C versatile
D universal
6
A stands for
B
represents
C symbolizes
D designates
7
A changed
B
transformed
C transmuted
D converted
8
A piece
B
section
C fragment
D portion
9
A provide
B
accommodate
C supply
D conform
10
A normal
B
inherent
C natural
D unaffected
11
A drawbacks
B
disadvantages
C shortcomings
D flaws
12
A aim
B
design
C object
D purpose
27
Exercise 5 Match the words in Colomn A to the expressions in Colomn B:
Colomn B
Colomn A 1
cache memory
a
storage, also known as peripheral storage, is where the computer stores information that is not necessarily in current use
2
primary storage
b
computers almost always contain a small amount of this memory that holds instructions for starting up the computer
3
immutable storage
c
a collection of data duplicating original values stored elsewhere or computed earlier, where the original data is expensive (usually in terms of access time) to fetch or compute
4
secondary storage
d
data stored in this storage can be overwritten at any time
5
ROM (read-only memory)
e
the rate at which information can be read from or written to the storage
6
throughput
f
storage containing data that are actively being used; it is typically high-speed, relatively small, sometimes referred to as "Main Memory"
7
mutable storage
g
data stored in this storage cannot be overwritten
28
UNIT 6
Virtual memory Based on Wikipedia, the free encyclopedia Virtual memory or virtual memory addressing is a memory management technique, used by a multitasking computer operating system wherein non-contiguous memory is presented to a software application as contiguous memory. The contiguous memory is referred to as the virtual address space. Virtual memory addressing is typically used in paged memory systems. This in turn is often combined with memory swapping, whereby memory pages stored in primary storage are written to secondary storage, thus freeing faster primary storage for other processes to use. In technical terms, virtual memory allows software to run in a memory address space, whose size and addressing are not necessarily tied to the computer's physical memory. Background. Many applications require access to more information than can be stored in physical memory. This is especially true when the operating system allows multiple processes/memory to run seemingly in parallel. The modern solution is to use virtual memory, in which a combination of special hardware and operating system software makes use of both kinds of memory to make it look as if the computer has a much larger main memory than it is actually. It usually provides the ability to simulate a main memory of almost any size. The total size of the virtual memory can be 232 for a 32 bit system, or approximately 4 Gigabytes. Newer 64 bit chips and operating systems use 64 or 48 bit addresses and can index much more virtual memory. This makes the job of the application programmer much simpler. No matter how much memory the application needs, it can act as if it has access to a main memory of that size and can place its data wherever in that virtual space that it likes. The programmer can also completely ignore the need to manage the moving of data back and forth between the different kinds of memory. Basic operation. When virtual memory is used, or when a main memory location is read or written to by the CPU, hardware within the computer translates the address of the memory location generated by the software (the virtual memory address) into either: •
the address of a real memory location (the physical memory address) which is assigned within the computer's physical memory to hold that memory item, or
•
an indication that the desired memory item is not currently resident in main memory.
In the former case, the memory reference operation is completed, just as if the virtual memory were not involved. In the latter case, the operating system is invoked to handle the situation, since the actions needed before the program can continue are usually quite complex. The effect of this is to swap sections of information between the physical memory and the disk; the area of the disk which holds the information which is not currently in physical memory is called the swap file (early Windowses, and others), page file (Windows), or swap partition. The translation from virtual to physical addresses is implemented by an MMU (Memory Management Unit). This may be either a module of the CPU, or an auxiliary, closely coupled chip. The operating system is responsible for deciding which parts of the program simulated main memory are kept in physical memory. The operating system also maintains the translation tables or page tables which provide the mappings between virtual and physical
29
addresses, for use by the MMU. In most computers, these translation tables are stored in physical memory. The hardware that supports virtual memory almost always supports memory protection mechanisms as well. The MMU may have the ability to vary its operation according to the type of memory reference (for reading, writing or execution), as well as the privilege mode of the CPU at the time the memory reference was made. This allows the operating system to protect its own code and data (such as the translation tables used for virtual memory) from corruption by an erroneous application program and to protect application programs from each other and (to some extent) from themselves (e.g. by preventing writes to areas of memory which contain code). History. Before the development of the virtual memory technique, programmers in the 1940s and 1950s had to manage two-level storage (main memory or RAM, and secondary memory in the form of hard disks or earlier, magnetic drums) directly. Virtual memory was developed in approximately 1959-1962, at the University of Manchester for the Atlas Computer, completed in 1962. However, Fritz-Rudolf Güntsch, one of Germany's pioneering computer scientists and later the developer of the Telefunken TR 440 mainframe, claims to have invented the concept in his doctoral dissertation in 1957. Like many technologies in the history of computing, virtual memory was not accepted without challenge. Before it could be regarded as a stable entity, many models, experiments, and theories had to be developed to overcome the numerous problems with virtual memory. Specialized hardware had to be developed that would take a "virtual" address and translate it into an actual physical address in memory (secondary or primary). Some worried that this process would be expensive, hard to build, and take too much processor power to do the address translation. By 1969 the debates over virtual memory for commercial computers were over. An IBM research team, lead by David Sayre, showed that the virtual memory overlay system worked consistently better than the best manual-controlled systems. Nevertheless, early personal computers in the 1980s were developed without virtual memory, on the assumption that such issues would only apply to large-scale commercial computers. Virtual memory was introduced for Microsoft Windows only in Windows 3.1 (1992), but available to Apple Macintosh starting with System 7 (1991).
Vocabulary address space addressing contiguous memory memory swapping, memory swap
non-contiguous memory
adresní prostor, tj. rozsah paměťových míst, která lze adresovat adresování, metoda používaná k určování umístění objektů přiléhající, souvislá paměť při této funkci umísťuje operační systém odkládaná data na disk do speciálně vytvořeného pro tento účel souboru, zvaného swap file nesouvislá paměť
30
paged address
paged memory system, paged memory management unit
paging
primary storage secondary storage swap
swap file or page file or swap partition
virtual address space virtual memory
stránkovaná adresa, tj. jde o způsob určování adresy v paměti, kterým je logická (sekvenční) adresa převáděna na fyzickou, určenou pomocí segmentů a stránek část základního hardware, který provádí řízení paměti, u moderních procesorů (vyšší řady procesorů firem Intel a Motorola) je tato jednotka přímo součástí procesoru stránkování, tj. technika tvorby virtuální paměti, jejíž jednotlivé bloky se nazývají stránky a jsou umísťovány na konkrétní fyzické adresy systému primární paměť sekundární paměť přesunout, přehodit, zde přesunout program z rychle přístupné paměti do paměti pomalejší, popřípadě provedení opačného postupu ("swap out", "swap in") odkládací soubor, swapovací soubor, má obvykle název signalizující jeho dočasnost (např. TMPFILE.SWP, FILE.$$$ apod.), a aplikace jej obvykle při svém ukončení sama automaticky smaže virtuální adresní prostor virtuální paměť, tj. paměť vytvořená v určité oblasti na pevném disku; v systémech s virtuální pamětí (např. Windows ) pak programy využívají celého paměťového rozsahu bez rozlišování mezi druhy pamětí
Acronyms MMU (Memory Management Unit) TLB or TLAB (Translation LookAside Buffer)
Jednotka správy paměti, výkonná jednotka procesoru Tabulka překladu adres realizovaná jako asociativní zápisníková paměť pro překlad virtuálních adres na fyzické, využívá ji procesorová MMU
Exercise 1 Make sentences putting the given words into a correct order:
1 2 3
Virtual memory – software – a memory – space, – may not – allows – which – physical memory – to run in – address – be tied to – . require – to more – than – stored in – applications – physical memory – Many – information – access – can be – . This is – when – system – multiple – to run – true – parallel – especially – allows – the operating – processes – seemingly in – . 31
4
usually – the ability – a main memory – any – It – size – to simulate – provides – of almost – . 5 can – the need – the moving – back – between the – kinds of – completely – The programmer – forth – to manage – ignore – of data – and – memory – different – . 6 or – may be – a module – an auxiliary, – coupled – MMU – chip – The – either – of the – CPU, – closely – . 7 The – system is – for deciding – the simulated – memory – physical memory – operating – which – main – responsible – parts of – are kept in – . 8 reference – MMU – operation – have – to vary – according to – of memory – The – may – the ability – its – the type – . 9 not accepted – technologies – Like – in the history – virtual – was – without – many – of computing, – memory – memory – challenge – . 10 memory – experiments, – Many – developed – and theories – had – to overcome – problems – with virtual – models, – to be – the numerous – .
Exercise 2 Make questions concerning the words in bold italics:
1 2
Virtual memory addressing is typically used in paged memory systems. The size and addressing capacity of the address space are not necessarily tied to the computer physical memory. 3 Using of the virtual memory provides the ability to simulate a main memory of almost any size. 4 In case of the indication the operating system is invoked to handle the situation. 5 The area of the disk which holds the information which is not currently in physical memory is called a swap file. 6 The translation from virtual to physical addresses is implemented by a Memory Management Unit. 7 The translation tables maintained by the operating system provide mappings between virtual and physical addresses. 8 The hardware that supports virtual memory almost always supports memory protection mechanisms as well. 9 The MMU may have the ability to vary its operation according to the type of memory reference. 10 The operating system protects its own code and data from corruption by erroneous application programs.
Exercise 3 Fill in the gaps using words from the box below:
approximately entity manage challenge developed power numerous technologies expensive address techniques Before the development of the virtual memory … (1) …, programmers in the 1940s and 1950s had to … (2) … two-level storage (main memory or RAM, and secondary memory in the form of hard disks or earlier, magnetic drums) directly. Virtual memory was developed in … (3) … 1959-1962, at the University of Manchester for the Atlas Computer, completed in 1962. Like many … (4) … in the history of computing, virtual memory was not accepted without … (5) … . Before it could be regarded as a stable … (6) …, many models, experiments, and theories had to be … (7) … to overcome the … (8) … problems with virtual
32
memory. Specialized hardware had to be developed that would take a "virtual" … (9) … and translate it into an actual physical address in memory (secondary or primary). Some worried that this process would be … (10) …, hard to build, and take too much processor … (11) … to do the address translation. Exercise 4 Decide which answer (A, B, C, D) best fits each gap:
Since programs rarely … (1) … all parts of their code and data at one point in time, the concept of virtual memory can be … (2) … by writing pages to a disk, and reading pages from the disk when they are needed. ... (3) ... computer architectures use … (4) … means to speed up paging. For example on the Intel i386 architecture used in personal computers, the CPU employs a special cache called Translation Lookaside Buffer (TLB), which … (5) … the mapping between a virtual memory address and the physical address it is … (6) … . This mapping is … (7) … by page table lookups until the physical page is evicted or swapped out, the … (8) … expensive page table lookups need not be repeated, since the result is cached in the TLB. It is a job of the operating system to … (9) … a particular entry from the TLB when this mapping becomes invalid. But as long as the entry is valid it can … (10) … thousands or millions of page table references. 1
A use
B
apply
C utilize
D employ
2
A executed
B
performed
C implemented
D put through
3
A Novel
B
Present
C Modern
D Contemporary
4
A miscellaneous
B
various
C different
D varied
5
A contains
B
comprises
C embodies
D includes
6
A upheld
B
supported
C backed by
D sustained
7
A gained
B
obtained
C got
D acquired
8
A numerically
B
calculatably
C countably
D computationally
9
A delete
B
remove
C cancel
D erase
10
A rescue
B
shelter
C save
D preserve
33
UNIT 7
Motherboards Based on Wikipedia, the free enciclopedia A motherboard is a printed circuit board used in a personal computer. It is also known as the mainboard and occasionally abbreviated to mobo or MB. A motherboard houses the BIOS (Basic Input/Output System), which is the simple software run by a computer when initially turned on. A typical motherboard provides attachment points for one or more of the following: CPU, a graphics card, a sound card, a hard disk controller, a hard-drive, disk drives, memory (RAM), and external peripheral devices. All of the basic circuitry and components required for a computer to function sit either directly on the motherboard or in an expansion slot of the motherboard or are connected with a cable. The most important component on a motherboard is the chipset which consists of two components or chips known as the Northbridge and Southbridge. These chips determine, to an extent, the features and capabilities of the motherboard. The northbridge (fast bridge) typically handles communications between the CPU, RAM, AGP (Accelerated Graphics Port) or PCI, and PCI Express (Peripheral Component Interconnect Express), and the southbridge. Some northbridges also contain integrated video controllers. The southbridge (slow bridge) implements the ‘slower’ capabilities of the motherboard in a northbridge/southbridge chipset computer architecture. The names the northbridge and the southbridge are derived from drawing the architecture in the fashion of a map. The CPU would be at the top of the map at due north. The CPU would be connected to the chipset via a fast bridge (the northbridge) located north of other system devices. The northbridge would then be connected to the rest of the chipset via a slow bridge (the southbridge) located south of other system devices. The southbridge is given responsibility for the slower devices on a typical microcomputer. A particular southbridge will usually work with several different northbridges, but these two chips must be designed to work together; there is no industry wide standard for interoperability between different core logic chipset designs. Traditionally this interface between a northbridge and a southbridge was simply the PCI bus, however since this created a performance bottleneck, most current chipsets use a different (often proprietary) interface with higher performance. There are usually a number of expansion card slots to allow peripheral devices and cards to be inserted. Each slot is compatible with one or more industry bus standards. Commonly available buses include: PCI, PCI-X, AGP, and PCI Express. ISA (Industry Standard Architecture) was the original bus for connecting cards to a PC. Despite significant performance limitations, it was not superseded by the more advanced but incompatible MCA (Micro Channel Architecture) or the equally advanced and backwardcompatible EISA (Extended Industry Standard Architecture) bus. It endured as a standard feature in PCs till the end of the 20th century, aided first by the brief dominance of the VESA (Video Electronic Standards Association). The more recent PCI bus is the current industry standard, which initially was a high-speed supplement to ISA for high-bandwidth peripherals (notably graphics cards, network cards, and SCSI - Small Computer System Interface - host adaptors), and gradually replaced ISA as a general-purpose bus. An AGP slot is a high speed, single-purpose port designed solely for connecting high performance graphics cards (which produce video output) to the monitor. Both AGP and PCI buses are marked for replacement
34
by PCI Express, although this is unlikely to happen prior to 2006 because of the large established base of AGP/PCI motherboards and add-in cards. A typical motherboard of 1999 might have had one AGP slot, four PCI slots, and one (or two) ISA slots; since about 2002 the last ISA slots in new boards have been replaced with extra PCI slots. Sometimes an Advanced Communications Riser or ACR slot is used instead on less expensive motherboards. As of 2001, most PCs also support Universal Serial Bus (USB) connections, and the controller and ports required for this are usually integrated onto the motherboard. An ethernet interface and a basic audio processor are now almost universally integrated into current motherboards as well. Generally, motherboards are air cooled with heat sinks on the larger chips such as the northbridge and CPU, and they have monitored sockets for case fans. Newer motherboards have integrated temperature sensors to detect motherboard and CPU temperatures, which can be used by the BIOS or operating system to regulate fan speed. The removal of waste thermal energy became a major concern for workstation PCs around 2000, with the problem becoming more severe over time as computer systems continued to consume more and more power. A study of the German computer magazine in 2003 found that some spurious computer crashes and general reliability issues ranging from screen image distortions to I/O read/write errors can surprisingly be attributed not to software or peripheral hardware but to aging PC motherboards. Motherboard voltage regulation uses electrolytic capacitors. These capacitors exhibit aging effects which depend on the temperature of the parts, since their water based electrolytes slowly evaporate leading to capacity loss and motherboard malfunctions due to voltage instabilities. While most capacitors are rated for 2000 hours at 105 degrees Celsius, their expected design life roughly doubles for every 10 degrees below this. At 45 degrees a lifetime of 15 years can be expected, which appears reasonable for a computer motherboard. In the past, many manufacturers delivered substandard capacitors, which would reduce this life expectancy figure. With inadequate case cooling this can become a serious problem. It is, however, possible to find and replace broken capacitors on PC motherboards. Motherboards are available in a variety of form factors, which usually correspond to a variety of computer case sizes. A form factor is a standardised motherboard size. The most popular motherboard form factor today is ATX, which evolved from its predecessor, the Baby AT, a smaller version of the AT (Advanced Technology) form factor. Generally speaking, nowadays a standard computer will have an ATX form factor motherboard: only special cases require different formfactors. Notebook computers generally use highly integrated, customized and miniaturized motherboards designed by the manufacturers. This is one of the reasons that notebook computers are difficult to upgrade and expensive to repair - often the failure of one integrated component requires the replacement of the entire motherboard, which is also more expensive than a regular motherboard due to the large number of integrated components in it.
Vocabulary
35
add-in card, add-on card, expanding card attachment points backward-compatibility
bus
bus master
client electrolytic capacitors Ethernet
Ethernet addres
motherboard
Northbridge, North Bridge
slot
Southbridge, South Bridge
thin/light client
přídavná karta připojovací body zpětná kompatibilita, tj. software či hardware umí pracovat se staršími verzemi tohoto prvku, nová verze programu umí načítat i ukládat soubory, se kterými umí pracovat i starší verze, a nová hardwarová komponenta umí využívat ovladače vytvořené pro jeho starší verzi sběrnice, tj. skupina speciálních vodičů a obvodů umístěných na základní desce, určená pro vzájemnou komunikaci a přenos dat mezi procesorem a ostatními základními komponentami počítače; sběrnice se charakterizují počtem vodičů; nejrozšířenější počítače mají počet datových vodičů 8, 16, popř. 32 okruh, který řídí činnost sběrnice a zejména přiřazuje priority různým procesům a činnostem; jeho činnost se nazývá busmastering klient, hierarchicky podřazená součást systému využívající služeb vyšší úrovně elektrolytický kondenzátor architektura počítačové sítě, používaná dnes zejména v oblasti lokálních počítačových sítí, navržená firmami Intel, DEC a Xerox; struktura této sítě je sběrnicová (dlouhý kabel s napojenými kratšími kabely vedoucími k stanicím sítě) a nekruhová (token-ring) ethernetová adresa, též MAC adresa, 48-bitové číslo identifikující konkrétní síťovou (ethernetovou) kartu ve formě dvanáctimístného znakového řetězce, nebo šesti hexadecimálních 256-bitových čísel oddělených dvojtečkami základní deska, nachází se uvnitř počítače; jsou na ní umístěny hlavní integrované obvody, sběrnicový systém, konektory pro připojení adaptérů a paměťových čipů a další elektronické součástky "horní polovina" čipové sady; slouží jako styčný bod pro procesor, RAM paměť, většinou i video akcelerátor přes AGP sběrnici speciální zásuvka (slot), tj. konektor na základní desce počítače, sloužící k připojení dalších rozšiřujících zařízení; počet slotů je důležitou charakteristikou počítače, která udává fyzické možnosti jeho rozšiřování "dolní polovina" čipové sady; integruje rozhraní jako IDE, FDD, klávesnici, paralelní a sériové porty, případně USB, FireWire atd.; mnohdy tento obvod slouží i jako brána pro ISA sběrnici, síťová či zvuková karta atd. štíhlý/lehký klient - program či počítač, jehož velká většina funkcí a činností je vykonávána na serveru, ke
36
kterému je trvale připojen (pojem je v současné době živý díky Network Computer)
Acronyms
ACR (Actual Compression Ratio) ACR (Advanced Communication Riser) AGP (Accelerated Graphics Port)
AT (Advanced Technology) ATX (Advanced Technology Extended) BIOS (Basic Input/Output System) BTX (Balanced Technology Extended) EISA (Extended OR Enchanced Industry Standard Architecture) ISA (Industry Standard Architecture) MB Mb MB (Mother Board) MCA (Micro Channel Architecture) MCA (Multiprocessor Communication Adapter) PCI (Peripheral Component Interconnect)
Aktuální kompresní poměr, tj. poměr mezi skutečnou velikostí souborů a místa pro jejich uložení v komprimovaném tvaru Levnější (než PCI) sběrnice pro připojování periférií Zrychlené grafické rozhraní, nově navržený zvláštní typ sběrnice pro spojení paměti a procesorů Intel nové generace (Merced) s propustností až 30krát vyšší než PCI Vyspělá technologie, také označení třídy počítačů PC uvedené na trh v roce 1984 s procesorem 80286 Vyspělá technologie rozšířená Základní systém vstupu a výstupu, také název obvodu PROM s programovým kódem pro BIOS v počítačích PC Rozšířená vyvážená technologie, specifikace PC skříně a základních desek zohledňující lepší tepelné poměry jiné uspořádání komponent a ventilátorů Rozšířená (nebo vylepšená) ISA, 32 bitová sběrnice výrobců počítačů konkurujících IBM Standardní průmyslová sběrnice MegaByte, 1024 KB, tj. 1048576 bajtů MegaBit, 1024 Kb, tj. 1048576 bitů Základní deska počítače Mikrokanálová architektura, 32 bitová sběrnice počítačů PS/2 fy IBM Multiprocesorový komunikační adaptér Standard pro připojení periferních zařízení, standard vysokorychlostní sběrnice, takt 33 MHz, šířka dat 32 bitů, přenosová rychlost 133 MB/s Standard pro připojení periferních zařízení rozšířený
PCI-X (Peripheral Component Interconnect Extended) SCSI (Security Control Systems, Jméno společnosti, SCSI je její ochranná známka Inc.) SCSI (Small Computer System Rozhraní malých počítačových systémů nebo Standardní OR Standard Interface) rozhrání, tj standard rozhraní pro připojování periferních zařízení k počítačům PC
37
USB (Universal Serial Bus)
WT (Workstation Technlogy (Extended))
Univerzální sériová sběrnice, nová sběrnicová norma pro PC fy Compaq, Digital, IBM, Intel, Microsoft, NEC a Northern Telecom, přenosová rychlost 12 Mb/s Technologie pracovní stanice (rozšířená)
Exercise 1 Make sentences putting the given words into a correct order:
1 2
A – houses – Input– Basic – motherboard - System – the - /Output - . chipset – motherboard – of two – known – northbridge – southbridge – The – on a – consists – chips – as the – and – . 3 capabilities – southbridge – the ‘slower’ – motherboard – of the – implements – The –. 4 card – There – devices – usually – of expansion – slots – peripheral – and cards – inserted – are – a number – allowing – to be – . 5 cards to – port – slot – speed – designed – AGP – solely for – high performance – the monitor – An – is a high – connecting – graphics – . 6 Since – 2002 – ISA slots – motherboards – been replaced – extra – the last – in new – about – have – with – PCI slots – . 7 An – and a – universally – interface – audio – are – almost – integrated – current – motherboards – ethernet – basic – processor – now – into – . 8 Newer – sensors – have – temperature – to detect – motherboard – temperatures – motherboards – integrated – and CPU – . 9 energy – removal – thermal – became – concern – for workstation – around 2000 – The – of waste – a major – PCs – . 10 form – most – motherboard – factor – is ATX, – evolved – predecessor – the – AT – The – popular – today – which – from its – Baby – .
Exercise 2 Make questions beginning with the words in brackets:
1 2 3 4 5 6 7 8 9
All of the basic circuitry and components required for a computer to function sit either directly on the motherboard or in expansion slots. (Where … ?) The northbridge and southbridge determine, to an extent, the features and capabilities of the motherboard. (What … ?) EISA bus endured as a standard feature in PCs till the end of the 20th century. (When … ?) A typical motherboard of 1999 might have had one AGP slot, four PCI slots, and one (or two) ISA slots. (How many … ?) Since about 2002 the last ISA slots in new boards have been replaced with extra PCI slots. (What … with?) An ethernet interface and a basic audio processor are now almost universally integrated into current motherboards. (Where … ?) Newer motherboards have integrated temperature sensors to detect motherboard and CPU temperatures. (What … for?) Electrolytic capacitors exhibit aging effects depending on the temperature of the parts. (What … ?) Motherboard form factors usually correspond to a variety of computer case sizes. (What … to?)
38
10 Notebook computers are difficult to upgrade and expensive to repair - often the failure of one integrated component requires the replacement of the entire motherboard. (Why … ?) Exercise 3 Fill in the gaps using words from the box below:
aging distortions electrolytic 2003 evaporate doubles attributed reasonable manufacturers crashes broken instabilities A study of the German computer magazine in … (1) … found that some spurious computer … (2) … and general reliability issues ranging from screen image … (3) … to I/O read/write errors can surprisingly be … (4) … not to software or peripheral hardware but to aging PC motherboards. Motherboard voltage regulation uses … (5) … capacitors. These capacitors exhibit … (6) … effects which depend on the temperature of the parts, since their water based electrolytes slowly … (7) … leading to capacity loss and motherboard malfunctions due to voltage … (8) …. While most capacitors are rated for 2000 hours at 105 degrees Celsius, their expected design life roughly … (9) … for every 10 degrees below this. At 45 degrees a lifetime of 15 years can be expected, which appears … (10) … for a computer motherboard. In the past, many … (11) … delivered substandard capacitors, which would reduce this life expectancy figure. With inadequate case cooling this can become a serious problem. It is, however, possible to find and replace … (12) … capacitors on PC motherboards. Exercise 4 Decide which answer (A, B, C, D) best fits each gap:
The names the northbridge and the southbridge are … (1) … from drawing the architecture in the fashion of a map. The CPU would be at the top of the map at due north. The CPU would be … (2) … to the chipset via a … (3) … bridge (the northbridge) located north of other system devices. The northbridge would then be connected to the rest of the chipset via a slow bridge (the southbridge) … (4) … south of other system devices. The southbridge is given responsibility for the … (5) … devices on a typical microcomputer. A … (6) … southbridge will … (7) … work with several different northbridges, but these two chips must be designed to work together; there is no industry … (8) … standard for interoperability between different … (9) … logic chipset designs. Traditionally this interface between a northbridge and a southbridge was simply the PCI bus, however since this created a performance … (10) …, most current chipsets use a different (often … (11) …) interface with higher performance. A deducted B descended C infered D derived 1 2
A linked
B
connected
C related
D associated
3
A fast
B
active
C rapid
D quick
4
A situated
B
located
C placed
D set
5
A slower
B
tardy
C gradual
D sluggish
6
A (the) only
B
single
C individuual
D particular
7
A usually
B
habitually
C generally
D ordinarily
8
A wide
B
expanded
C vast
D spacious
39
9
A essence
B
nucleus
C core
D substance
10
A bottleneck
B
constriction
C blockage
D obstacle
11
A patent
B
possessive
C branded
D proprietary
40
UNIT 8
Computer hardware Based on Wikipedia, the free encyclopedia
Computer hardware is the physical parts of a computer, as distinguished from the computer software or computer programs and data that operate within the hardware. The hardware of a computer is infrequently changed, in comparison with software and data which are "soft" in the sense that they are readily created, modified or erased on the computer. Firmware is special software that rarely, if ever, needs to be changed and so is stored on hardware devices such as read-only memory (ROM) where it is not readily changed (and therefore is "firm" rather than just "soft"). Most computer hardware is not seen by normal users because it is enclosed as embedded systems in automobiles, microwave ovens, electrocardiograph machines, compact disc players, and many other household appliances. In other words, an embedded system is a special-purpose computer system, which is completely encapsulated by the device it controls. Personal computers, the computer hardware familiar to the most people, form only a small minority of computers (about 0.2% of all new computers produced in 2003). A typical personal computer consists of a chassis in desktop or tower shape and the following parts: •
Motherboard or a system board with slots for expansion cards and holding parts including: o
Central processing unit (CPU).
o
Random Access Memory (RAM) - for program execution and short term data storage, so the computer does not have to take the time to access the hard drive to find something. More RAM can contribute to a faster PC.
o
Buses (a bus is a subsystem that transfers data or power between computer components inside a computer or between computers):
PCI (Peripheral Component Interconnect standard) bus
PCI Express or AGP (Accelerated Graphics Port also called Advanced Graphics Port) bus
ISA (Industry Standard Architecture) bus is a computer bus standard for IBM compatibles (outdated)
USB (Universal Serial Bus) provides a serial bus standard for connecting devices.
•
Power supply - a case that holds a transformer, voltage control and fan.
•
Storage controllers of IDE - Integrated Drive Electronics (or ATA - Advanced Technology Attachment, i.e. a standard interface for connecting storage devices such as hard discs and CD-ROM drives inside personal computers), SATA (Serial ATA is a computer bus technology primarily designed for transfer of data to and from a hard disc), SCSI (Small Computer System Interface) or other type, that control hard disc, 40
floppy disc, CD-ROM and other drives. the controllers sit directly on the motherboard (on-board) or on expansion cards. •
Video display controller that produces the output for the computer display.
•
Computer bus controllers (parallel, serial, USB, FireWire) to connect the computer to external peripheral devices such as printers or scanners.
•
Some type of a removable media writer: o
o
•
CD - the most common type of removable media, cheap but fragile
CD-ROM Drive
CD Writer.
DVD (sometimes known as "Digital Versatile Disc" or "Digital Video Disc") is an optical disc storage media format that can be used for data storage, including movies with high video and sound quality.
DVD-ROM Drive
DVD Writer
DVD-RAM Drive.
o
Floppy disk.
o
Zip drive (a medium-capacity removable disk storage system)
o
Tape drive (also known as a streamer, is a peripheral device that reads and writes data stored on a magnetic tape) - mainly for backup and long-term storage.
Internal storage - keeps data inside the computer for later use: o
Hard disk (a non-volatile data storage device) - for medium-term storage of data.
o
Disk array controller (a computer hardware device which provides secondary storage services to computer systems, often in large servers.
•
Sound card - translates signals from the system board into analog voltage levels, and has terminals to plug in speakers.
•
Networking - to connect the computer to the Internet and/or other computers:
•
o
Modem – for dial-up connections
o
Network card – for DSL/Cable internet, and/or connecting to other computers.
Other peripherals.
In addition, hardware can include external components of a computer system. The following are either standard or very common. •
Input or Input devices
41
•
o
Text input devices (Keyboard)
o
Pointing devices (Mouse, Trackball)
o
Gaming devices (Joystick, Gamepad)
o
Image, Video input devices (Image scanner, Webcam – i.e. a real time camera whose images can be accessed using the WWW, instant messaging, or a PC video calling application)
o
Audio input devices (Microphone, Headset)
Output or Output devices o
Image, Video output devices (Printer, Monitor)
Audio output devices (Speakers).
Vocabulary sběrnice, tj. skupina speciálních vodičů nebo obvodů umístěných na základní desce, určená pro vzájemnou komunikaci a přenos dat v počítači embedded system integrovaný (zabudovaný) systém FireWire rozhraní FireWire (rychlé - dle standardu IEEE 1394), druh vysokorychlostní sériové sběrnice firmware “firemní” programové vybavení nízké úrovně, uložené obvykle v nepřepisovatelné paměti ROM, tj. tyto programy jsou neměnné a nevyjímatelné floppy disk disketová jednotka (médium je disketa, pružný disk) gamepad herní ovladač joystick pákový ovladač, tj. periférie, která slouží především k ovládání počítačových her non-volatile memory pamět uchovávající informace nezávisle na napájení set of wires skupina vodičů streamer magnetopásková zálohovací jednotka threshold capability prahová schopnost trackball kulový ovladač volatile memory pamět závislá na napájení, při výpadku napájení ztrácí svůj obsah bus
Acronyms PCI (Peripheral Component Interconnect (standard)) USB (Universal Serial Bus)
Sběrnice standardu PCI, tj. standardu vysokorychlostní sběrnice, takt 33 MHz, šířka dat 32 bitů, přenosová rychlost 133 Mb/s Univerzální sériová sběrnice, nová sběrnicová norma pro PC fy Compaq, Digital, IBM, Intel, Microsoft, NEC a Northern Telecom,
42
přenosová rychlost 12 Mb/s ISA (Industry Standard Architecture) Standardní průmyslová architektura, standard sběrnice počítačů PC, původně 8, nyní výhradně 16ti bitová AGP (Accelerated Graphics Port) Zrychlené grafické rozhraní nebo AGP sběrnice, nová technologie (a také chipset) grafických karet od fy Intel, používá se pro vidoadaptéry AGP (Advanced Graphics Port) Pokročilé grafické rozhraní, nově navržený zvláštní typ sběrnice pro spojení paměti a procesorů Intel nové generace (Merced) s propustností až 30 krát vyšší než PCI DVD (Digital Versatile Disc) Digitální víceučelový disk, technologický nástupce CD-ROM DVD (Digital Video Disc) Digitální video disk, technologický nástupce CD-ROM IDE (Integrated Development Integrované vývojové prostředí, zpravidla Environment) zahrnuje provázaný editor, překladač, sestavovací program a debugger IDE (Integrated Device Electronics IDE – Integrované Diskové Elektronické many terms and synonyms for ATA exist, rozhraní, průmyslový standard pro připojení including abbreviations such as IDE) disků k PC založený na protokolu ATA, také označení řadičů HD integrovaných do jediného zařízení s vlastní mechanikou pevného disku ATA (Advanced Technology AT připojení – IBM standard pro počítače AT, Attachment) standardizace rozhraní IDE SATA (Serial Advanced Technology Sériové diskové rozhraní ATA, nástupce Attachment) stávajícícho ATA, bude začínat s rychlostí 1.5 Gb/s, postupně se bude zvyšovat až na 6 Gb/s SCSI (Small Computer System Interface) Rozhraní pro malé počítačové systémy, standard rozhraní pro připojování periferních zařízení k počítačům PC DSL (Digital Subscriber Link) Protokol přenosu dat pro abonenta po digitální lince, přenosové pásmo až 120 Kb/s, používá kanály B (2 x 64 Kb/s) i kanál D (16 Kb/s) Webcam (Real time camera) Webová kamerka (kamera pro přenos obrazu na Internet v reálném čase)
Exercise 1 Make sentences putting the given words into a correct order:
1 2
changed – needs – to be – and so is – on hardware – such as – ROM – rarely – Firmware – stored – devices – . An – system – special-purpose – which is – encapsulated – device – it – computer system, – by the – embedded – is a – completely – controls – .
43
3
computer – doesn't – take – to access – drive – to find – RAM the – something – Using – have to – the time – the hard – . 4 RAM – to a – contribute – faster – PC – More – can – . 5 Buses – data or – between – components – inside or between – power – computers – transfer – computer – a computer – . 6 computer – bus – disc – primarily – for transfer – to and from a – ATA – hard – Serial – designed – is a – technology – of data – . 7 Video – computer display – controller – output – for the – display – produces the – . 8 bus – peripheral – connect – scanners – to external – devices – printers or – controllers – Computer – the computer – such as – . 9 can be – for data – including – with high – sound – used – DVD – storage – movies – video and – quality – . 10 services – array – provides – storage – to computer – often in large – controller – servers – Disk – systems, – secondary – .
Exercise 2 Make questions beginning with the words in brackets:
1
Sound cards translate signals from the system board into analog voltage levels. (What … into ?) 2 Hardware can include external components of a computer system, i.e. input and output devices. (What … ?) 3 Image and Video input devices can be accessed using the WWW. (How … ?) 4 The hardware of a computer is infrequently changed, in comparison with software and data. (How often … ?) 5 Software and data are "soft" in the sense that they are readily created, modified or erased on the computer. (What sence … in ?) 6 Most computer hardware is not seen by normal users because it is enclosed as an embedded system in the devices it controls. ( Why … ?) 7 Disk array controllers provide secondary storage services to computer systems in large servers. (Where … ?) 8 The controllers sit directly on the motherboard (on-board) or on expansion cards. (Where … ?) 9 Unlike a point-to-point connection, a bus can logically connect several peripherals over the same set of wires. (What … ?) 10 These integrated circuits can be fitted on the motherboard itself. (Where … ?)
Exercise 3 Fill in the gaps using words from the previous text:
embedded programmable older facilitates tasks particular control combination encapsulated common An embedded system is a special-purpose computer system, which is completely … (1) … by the device it controls. An … (2) … system has specific requirements and performs predefined … (3) …, unlike a general-purpose personal computer. An embedded system is a programmed hardware device. A … (4) … hardware chip is the “raw material” and it is programmed with … (5) … applications. This is to be understood in comparison to … (6) … systems with full functional hardware or systems with general purpose hardware and externally loaded software. Embedded systems are a … (7) … of hardware and software which … (8) … mass production and variety of applications. The most … (9) … form of
44
computers in use today is the embedded computers used to control another devices. Embedded computers … (10) … machines from fighter planes to digital cameras. Exercise 4 Decide which answer (A, B, C, D) best fits each gap:
Computers can be extremely versatile. In fact, they are … (1) … information processing machines. According to the Charge-Turing thesis, a computer with a certain minimum threshold capability is in principle … (2) … of performing the tasks of any other computer, from those of a personal digital … (3) … to a supercomputer. Therefore, the same computer designs have been adapted for tasks from … (4) … company payrolls to controlling industrial robots. Modern electronic computers also have enormous speed and capacity for information processing compared to earlier designs, and they have become exponentially more … (5) … over the years (a phenomenon known as the Moore´s Law). Computers are … (6) … in many physical forms. The original computers had the size of a large room, and such … (7) … computing facilities still exist for specialized … (8) … computation and for the transaction processing … (9) … of large companies, generally called mainframes. Smaller computers for … (10) … use, called personal computers, and their … (11) … equivalent, the laptop computers, are ubiquitous information-processing and communication tools and are … (12) … what most non-experts think of as "a computer". However, the most … (13) … form of computer in use today is embedded computers, small computers used to control another devices. A entire B universal C general D total 1 2
A competent
B
qualified
C capable
D gifted
3
A helper
B
assistant
C aide
D deputy
4
A collecting
B
compiling
C performing
D processing
5
A powerful
B
strong
C forcible
D effective
6
A accessible
B
available
C valid
D in hand
7
A gigantic
B
immense
C enormous
D huge
8
A methodical
B
scientific
C systematic
D thorough
9
A commands
B
claims
C demands
D requirements
10
A individual
B
particular
C personal
D singular
11
A transferable
B
portable
C movable
D transportable
12
A possibly
B
perchance
C perhaps
D maybe
13
A mutual
B
ordinary
C general
D common
45
UNIT 9 Computer software Based on Wikipedia, the free encyclopedia Software or computer software is that part of a computer system which consists of encoded information, as opposed to the physical computer equipment (hardware) which is used to store and process this information. The term is roughly synonymous with computer programs but is more generic in scope. The term "software" was first used in this sense by John W. Tukey in 1957. In computer science and software engineering computer software is all information processed by computer systems, programs and data. The concept of software was first proposed by Alan Turing. Relationship to hardware. Computer hardware is the physical substrate which is required to store and execute (or run) the software. The computer software is loaded in RAM and executed on the central processing unit. At the lowest level software consists of a machine language specific to an individual processor. The machine language comprises groups of binary values signifying processor instructions and data. Software is generally written in highlevel languages that are easy and efficient for humans to use. High-level languages are compiled into the machine language. Relationship to data. Software has historically been considered an intermediary between electronic hardware and data, which the hardware processes according to instructions defined by the software. As computational science becomes increasingly complex, the distinction between software and data becomes less precise. Data has generally been considered either the output or input of software. However, data is not the only possible output or input. For example, configuration information can also be considered input, although not necessarily considered data. The output of a particular piece of software may be the input for another piece of software. Therefore, software may be considered an interface between hardware, data, or software. Software operation. Computer software has to be "loaded" into the computer memory. Once the software is loaded, the computer is able to operate the software. Computers operate by executing the computer program. This involves passing instructions from the application software, through the system software, to the hardware which ultimately receives the instruction as a machine code. Each instruction causes the computer to carry out an operation – moving data, carrying out a computation, or altering the flow of instructions. Kinds of software by operation are as follows: computer program as executable, source code or script, configuration. Classification of software. Practical computer systems divide software into three major classes: system software, application software and programming software. Nevertheless the distinction is somewhat arbitrary, and often blurred. System software helps run the computer hardware and computer system. It includes operating systems, device drivers, diagnostic tools, servers, windowing systems, utilities and more. Application software allows a user to accomplish one or more specific tasks. Typical applications include office suites, business application software, educational application software, databases and computer games. Most application software has a graphical user interface (GUI). Starting in the 1980s, the application software has been sold in mass-produced packages through retailers. Programming software usually provides some useful tools to help programmers to write computer programs and software using different programming language in a more convenient
46
way. The tools include a text editor, compiler, interpreter, linker, debugger and so on. Integrated development environment (IDE) merges those tools in a software bundle, and a programmer may not need to type a lot of commands for compiling, interpreting, debugging, tracing etc., because IDE mostly has GUI. Software programs and libraries. A software program is usually a directly executable part of the software. Software libraries are software components that are used by stand-alone programs, but which cannot be executed on their own. Users seeing of software. Users often see things differently than programmers. People who use modern general purpose computers (as opposed to embedded systems) usually see three layers of software performing a variety of tasks: platform, application, and user software. Platform software includes the basic input-output system (often described as firmware rather than software), device drivers, an operating system and typically a graphical user interface which, in total, allow a user to interact with the computer and its peripherals (associated equipment). Platform software often comes bundled with the computer, and users may not realize that it exists or that they have a choice to use different platform software. Application software or Applications are what most people think of when they think of software. Typical examples include office suites and video games. Application software is often purchased separately from computer hardware. Sometimes applications are bundled with the computer, but that does not change the fact that they run as independent applications. Applications are almost always independent programs from the operating system, though they are often tailored for specific platforms. Most users think of compilers, databases, and other "system software" as applications. User software or user-written software tailors systems to meet the users specific needs. User software include spreadsheet templates, word processor macros, scientific simulations, graphics and animation scripts. Even e-mail filters are a kind of user software. Users create this software themselves and often overlook how important it is. Software quality factors. A software product possesses the factor of: Understandability if the purpose of the product is clear. Completeness if all of its parts are present and each of its parts are fully developed. Conciseness if no excessive information is presented in it. Portability if it can be operated easily and well on computer configurations other than its current one. Consistency if it contains uniform notation, symbology and terminology within itself. Maintainability if it facilitates updating to satisfy new requirements. Testability (Software testing) if it facilitates the establishment of acceptance criteria and supports evaluation of its performance. Usability if it is convenient and practicable to use. Reliability (Software reliability) to the extent that it can be expected to perform its intended functions satisfactorily. Structuredness if it possesses a definite pattern of organisation in its constituent parts. Efficiency to the extent that it fulfills its purpose without waste of resources. Unfortunately, software quality factors cannot be measured exactly because of their vague description. So, metrics can be used to quantify software quality factors as non-functional requirements. It means that a set of questions relevant to the factor characteristic is worked out for every characteristic. Some types of a scoring formula could be developed based on the answers to these questions, from which a measure of the characteristics or quality factors may be obtained. Vocabulary
47
animation script bundle compiler
animační skript balík, souprava, svazek překladač (kompilátor), tj. programový prostředek určený pro převod zdrojového kódu programu do přímo a samostatně spustitelné podoby conciseness stručnost, výstižnost debugger ladicí program, který umožňuje vyhledávat a odstraňovat chyby ve zdrojovém programu decompiler zpětný překladač, tj. program, jehož úkolem je převést kompilovaný strojový kód zpět do původního zdrojového kódu interpret, tj. program, který přijímá příkazy uživatele z interpreter, command příkazové řádky, zpracuje je a předá je k provedení vlastnímu interpreter operačnímu systému linker spojovací program, který provádí spojení již hotových programů ve strojovém kódu za současného vyřešení vzájemných odkazů script file script soubor, tj. soubor obsahující sérii instrukcí (příkazů) pro daný program software bundle, bundled soubor programů, prodávaný společně s hardwarovými software produkty spreadsheet template šablona tabulkového kalkulátoru template šablona, tj. předem navržená a vytvořená struktura datového souboru nebo dokumentu tracing, trace trasování, krokování, tj. postup používaný programátory při tvorbě a ladění programového vybavení
Acronyms API (Application Programming Interface)
Aplikační programové rozhraní
Grafické uživatelské rozhrání GUI (Graphical User Interface) HD (High Density), (Hard Disc) Vysoká hustota (záznamu), Pevný disk IDE (Integrated Development Environment) Integrované vývojové prostředí, průmyslový standard pro připojení disků k PC založený na protokolu ATA RAM (Random Access Memory) Paměť s přímým přístupem
Exercise 1 Make sentences putting the given words into a correct order:
1
was – concept – software – first – by – The – of – proposed – Alan Turing – .
2
unit – executed – software is – in RAM – and – on the – processing – In computers – loaded – central – .
3
At the – specific – level – consists – language – to an – individual – lowest – software – of a machine – processor – .
48
4
Software – historically – been – an intermediary – electronic – and data – has – considered – between – hardware – .
5
output – of a – piece of – may be – for another – of software – The – particular – software – the input – piece – .
6
Users – not realize – they – a choice – different – platform – may – that – have – to use – software – .
7
product – the purpose – If – software – is clear, – possesses – of understandability – of a – the product – the factor – .
8
tailors – User-written – systems to – the users – needs – software – meet – specific –.
9
A – software – contains – notation, – symbology and – itself – consistent – product – uniform – terminology – within – .
10 could – Maintainability – that a – product – be easily – updated to – new – means – software – satisfy – requirements – .
Exercise 2 Make questions beginning with the words in brackets:
1
In computers software is loaded in RAM and executed on the central processing unit. (Where … in computers ?)
2
A machine language consists of groups of binary values signifying processor instructions and data. (What … of?)
3
Typical examples of the application software include office suites and video games. (What … ?)
4
Sound cards translate signals from the system board into analog voltage levels. (What … into?)
5
Unfortunately, software quality factors cannot be measured exactly because of their vague description. (Why …?)
6
A set of questions relevant to the factor characteristic should be worked out for every quality factor by software engineers. (Who … by ?)
7
Some types of a scoring formula could be developed based on the answers to the specific questions. (How …?)
8
The pressure of making software profitable will become the driving force of its future reliability improvement. (What … ?)
9
Practical computer systems divide software into three major classes: system software, application software and programming software. (How many … into?)
10 The system software helps run the computer hardware and computer system. (What … ?)
Exercise 3 Fill in the gaps using words from the previous text:
blurred tools games suites interface different through accomplish debugger convenient diagnostic distinction
49
Practical computer systems divide software into three major classes: system software, application software and programming software. Nevertheless, the … (1) … is somewhat arbitrary, and often … (2) … . System software helps run the computer hardware and computer system. It includes operating systems, device drivers, … (3) … tools, servers, windowing systems, utilities and more. Application software allows a user to … (4) … one or more specific tasks. Typical applications include office … (5) … , business application software, educational application software, databases and computer … (6) … . Most application software has a Graphical user … (7) … . Starting in the 1980s, the application software has been sold in mass-produced packages … (8) … retailers. Programming software usually provides some useful tools to help programmers to write computer programs and software using … (9) … programming languages in a more … (10) … way. The tools include a text editor, compiler, interpreter, linker, … (11) … and so on. The Integrated development environment merges those … (12) … in a software bundle, and a programmer may not need to type a lot of commands for compiling, interpreting, debugging, tracing etc., because IDE mostly has GUI. Exercise 4 Decide which answer (A, B, C, D) best fits each gap:
Reliability is a software quality factor, which cannot be … (1) … in its own right. It should be taken into … (2) … when … (3) … the quality of the software. Although the term "quality" could … (4) … a subjective rather than qualitative evaluation, software reliability is … (5) … meant to be measured using objective criteria. These … (6) … criteria are typically called metrics. Then again, much of the real … (7) … in improving the reliability of software has been practical, evolutionary and even ad hoc, brought on by the pressures of making software … (8) … manageable and even comprehensible, not to mention profitable. It is thought by some that the last … (9) … will become the driving force of future reliability improvement … (10) … as competition in the software development industry … (11) … new heights of intensity, and as … (12) … become more frustrated with software which fails to meet up to growing … (13) … . 1
A evaluated
B
appraised
C estimate
D assessed
2
A consideration
B
regard
C importance
D attention
3
A establishing
B
concluding
C determining
D ascertaining
4
A connote
B
imply
C suggest
D indicate
5
A often
B
generally
C usually
D commonly
6
A metrical
B
calculated
C measured
D prearranged
7
A work
B
achievement
C project
D occupation
8
A elaboration
B
amplification
C maturation
D development
9
A need
B
requirement
C demand
D claim
10
A efforts
B
attempts
C strivings
D exertions
11
A gains
B
attains
C approaches
D reaches
12
A customers
B
clients
C users
D consumers
50
A prospects
13
B
expectations
C anticipations
D hopes
Exercise 5 Match the words in Colomn A to the expressions in Colomn B:
Colomn A
Colomn B
1
Completeness
a
purpose of the software product is clear
2
Consistency
b
product can be operated easily and well on computer configurations other than its current one
3
Maintainability
c
product facilitates the establishment of acceptance criteria and supports evaluation of its performance
4
Portability
d
all of the product parts are present and each of its parts are fully developed
5
Understandability
e
product contains uniform notation, symbology and terminology within itself
6
Testability
f
product is convenient and practicable to use
7
Reliability
g
product facilitates updating to satisfy new requirements
8
Efficiency
h
product possesses a definite pattern of organisation in its constituent parts
9
Structuredness
i
product fulfills its purpose without waste of resources
j
product can be expected to perform its intended functions satisfactorily
10 Usability
51
UNIT 10
Computer clusters Based on Wikipedia, the free encyclopedia A computer cluster is a group of loosely coupled computers that work together closely, so that in many respects it can be viewed as though it were a single computer. Clusters inside are commonly, but not always, connected through fast local area networks. Clusters are usually deployed to improve speed and/or reliability over that provided by a single computer, while typically being much more cost-effective than single computers of comparable speed or reliability. Cluster categorizations High-availability (HA) clusters are implemented primarily for the purpose of improving the availability of services which the cluster provides. They operate by having redundant nodes, which are then used to provide service when system components fail. The most common size for an HA cluster is two nodes, which is the minimum required to provide redundancy. HA cluster implementations attempt to manage the redundancy inherent in a cluster to eliminate single points of a failure. There are many commercial implementations of HA clusters for many operating systems. The Linux-HA project is one commonly used free software HA package for the Lunix OS. Load balancing clusters operate by having all workload come through one or more loadbalancing front ends, which then distribute it to a collection of back end servers. Although they are implemented primarily for improved performance, they commonly include highavailability features as well. Such a cluster of computers is sometimes referred to as a server farm. A server farm is a collection of computer servers usually maintained by an enterprise to accomplish server needs far beyond the capability of one machine. Often, server farms will have both a primary and a backup server allocated to a single task, so that in the event of the failure of the primary server, a backup server will take over the primary server's function. Server farms are typically co-located with the network switches and/or routers which enable communication between the different parts of the cluster and the users of the cluster. There are many commercial load balancers available. High-performance clusters (HPC) are implemented primarily to provide increased performance by splitting a computational task across many different nodes in the cluster, and are most commonly used in scientific computing. One of the more popular HPC implementations is a cluster with nodes running Lunix as the OS and free software to implement the parallelism. This configuration is often referred to as a Beowulf cluster. Such clusters commonly run custom programs which have been designed to exploit the parallelism available on HP clusters. Many such programs use libraries such as MPI (Message Passing Interface) which are specially designed for writing scientific applications for HPC computers. HP clusters are optimized for workloads which require jobs or processes happening on the separate cluster computer nodes to communicate actively during the computation. These include computations where intermediate results from one node's calculations will affect future calculations on other nodes. Grid Computing or grid clusters are a technology closely related to cluster computing. The key differences between grids and traditional clusters are that grids connect collections of computers which do not fully trust each other, and hence operate more like a computing utility than like a single computer. In addition, grids typically support more heterogeneous collections than are commonly supported in clusters. Grid computing is optimized for 52
workloads which consist of many independent jobs or packets of work, which do not have to share data between the jobs during the computation process. Grids serve to manage the allocation of jobs to computers which will perform the work independently of the rest of the grid cluster. Resources such as storage may be shared by all the nodes, but intermediate results of one job do not affect other jobs in progress on other nodes of the grid. High-performance cluster implementations. The TOP500 organization publishes the 500 fastest computers twice a year, usually including many clusters in their list. TOP500 is a collaboration between the University of Mannheim (Germany), the University of Tennessee (the USA), and the National Energy Research Scientific Computing Center at the Lawrence Berkeley National Laboratory (the USA). In 2004 the top supercomputer was the Department of Energy´s BlueGene/L system (the USA) with performance of 280.6 TFlops. The second place is owned by another BlueGene/L system with performance of 91.29 TFlops. Clustering can provide significant performance benefits versus price. The System X supercomputer at Virginia Tech, the seventh most powerful supercomputer on the Earth as of November 2004, is a 12.25 TFlops computer cluster of 1100 Apple XServe G5 2.3 GHz dual processor machines (4 GB RAM, 80 GB SATA HD) running Mac OS X. The cluster initially consisted of Power Mac G5s; the XServe's are smaller, reducing the size of the cluster. The total cost of the previous Power Mac system was $5.2 million, a tenth of the cost of slower mainframe supercomputers. Cluster history The first commodity clustering product was ARCnet (Attached Resource Computer NETwork), developed by Datapoint in 1977. ARCnet is a local area network (LAN) protocol, similar in purpose to Ethernet or Token Ring. ARCnet was the first widely available networking system for microcomputers and became popular in the 1980s for office automation tasks. Since it has gained in the embedded systems market, where certain features of the protocol are especially useful. But ARCnet did not have a commercial success and clustering didn't really take off until DEC (Digital Equipment Corporation) released their VAXcluster product in the 1980s for the VAX/VMS operating system. The ARCnet and VAXcluster products not only supported parallel computing, but also shared file systems and peripheral devices. VAXcluster, now VMScluster, is still available on OpenVMS systems from HP Company running on Alpha and Itanium systems. The history of cluster computing is intimately tied to the evolution of networking technology. As networking technology has become cheaper and faster, cluster computers have become significantly more attractive. MSCS (Microsoft Cluster Server) is Microsoft's high-availability cluster service for Windows. Based on technology developed by DEC the current version supports up to eight nodes in a single cluster, typically connected to a SAN (Storage Area Network). A set of APIs (Application Programming Interface) support cluster-aware applications, generic templates provide support for non-cluster aware applications.
Vocabulary back end server Beowulf cluster failover front end
server na pozadí – podřízený server Beowulf klastr (klastrovací systém OS Linux) zotavení z chyby server v popředí – přijímá a rozděluje úlohy 53
Grid Computing Load balancing cluster router server farm TFlops workload
Grid Computing (výpočetní paradigma v síti nezávislých počítačů) klastr se systémem vyvážení zátěže směrovač serverová farma 1 TFlops = 1012 instrukcí v plovoucí čárce za sekundu zatížení / zátěž (výpočetní)
Acronyms API (Application Programming Interface)
Programové aplikační rozhraní
ARCnet (Attached Resource Computer NETwork)
ARCnet - síťový protokol sítě s hvězdicovou topologií, jedna z nejrozšířenějších LAN na počátku 80. let
DEC (Digital Equipment Corporation)
DEC (Digital Equipment Corporation) výrobce počítačů, pohlcen Hewlett Paccard
FLOPS (Floating Point Operations per Second)
Počet instrukcí v plovoucí čárce za sekundu, jednotka výpočetního výkonu
HA (High-Availability) cluster
Vysoce dostupný klastr (pracuje 24 hod. denně/7dní v týdnu)
HPC (High-Performance Cluster)
Vysoce výkonný klastr
LAN (Local Area Network)
Lokální počítačová síť
MPI (Message Passing Interface)
Rozhraní pro přenos zpráv
MSCS (MicroSoft Cluster Server)
MSCS , klastrový server Microsoft, kódové jméno WolfPack
OpenVMS (Open Virtual Memory System)
Operační systém OpenVMS (systém se stránkováním paměti)
RISC (Reduced Instruction Set Computer)
počítač s redukovanou instrukční sadou, jehož procesor provádí pouze omezenou množinu jednoduchých instrukcí, ale zato vysokou rychlostí
SAN (Storage Area Network)
Síť periferních pamětí, jejíž architektura využívá moderní metodu ukládání dat do jedné centrálně spravované datové základny
Exercise 1 Make sentences putting the given words into a correct order: 1 computers – In a – cluster – coupled – of – work – closely – computer – a loosely –
group – together – . 2 viewed – it were – In many – the computer – can be – as though – a single – respects – cluster – computer – . 3 Clusters are – deployed to – speed – reliability – provided – single – usually – improve – and/or – over those – by a – computer – .
54
4 5 6 7 8 9 10
clusters – High-availability – improve the – of services – they – availability – provide – which – . The most – required – size – HA cluster – nodes, – is the – to provide – common – for an – is two – which – minimum – redundancy – . There – many – implementations – high-availability – for many – operating – commercial – clusters – are – of – systems – . workload – clusters – Load – operate by – all – come – through – one or more – loadbalancing – front – balancing – having – ends – . High-performance – provide – performance – a computational – across – in the cluster – increased – nodes – task – clusters – by splitting – many – . Grid – connect – trust – of computers – do not – each other – clusters – collections – which – fully – . the 500 – TOP500 – publishes – fastest – twice – including – clusters – organization – list – The – computers – a year – many – on their – .
Exercise 2 Make questions beginning with the words in brackets:
1 2 3 4 5 6 7 8 9 10
Clusters commonly run programs designed to exploit the parallelism available on HP clusters. (What programs … ?) Many programs in libraries are specially designed for writing scientific applications for HPC computers. (What … for?) HP clusters enable computations where intermediate results from one node calculations will affect future calculations on other nodes. (Which … ?) Grid clusters typically support more heterogeneous collections than are commonly supported in clusters. (What … ?) Resources may be shared by all the nodes, but intermediate results of one job do not affect other jobs in progress on other nodes of the grid. (May … ?) ARCnet didn´t have a commercial success and clustering didn't really take off until DEC released their VAXcluster product. (When … ?) The history of cluster computing is intimately tied to the evolution of networking technology. (What … to?) Many modern supercomputers consist of giant server farms of high-speed processors. (What … of?) The processors of server farms are connected by either Gigabit Ethernet or custom interconnects such as Myrinet. (What … by?) Because of the sheer number of computers in large server farms, the failure of individual machines is a commonplace event. (Why … ?)
Exercise 3 Fill in the gaps using words from the previous text:
share trust utility nodes collections
heterogeneous commonly allocation resources independently clusters
Grid Computing or grid … (1) … are a technology closely related to cluster computing. The key differences between grids and traditional clusters are that grids connect … (2) … of computers which do not fully … (3) … each other, and hence operate more like a computing … (4) … than like a single computer. In addition, grids typically support more … (5) … collections than are … (6) … supported in clusters. Grid computing is optimized for workloads which consist of many independent jobs or packets of work, which do not have to … (7) … data between the jobs during the computation process. Grids serve to manage the … (8) … of jobs to computers which will perform the work … (9) … of the rest of the grid 55
cluster. The … (10) … such as storage may be shared by all the nodes, but intermediate results of one job do not affect other jobs in progress on other … (11) … of the grid. Exercise 4 Decide which answer (A, B, C, D) best fits each gap:
Server farms are … (1) … used for cluster computing. Many modern supercomputers … (2) … of giant server farms of high-speed processors connected by either Gigabit Ethernet or custom interconnects such as Myrinet. Another common … (3) … of server farms is for web hosting. Server farms are … (4) … being used instead of or in addition to mainframe computers by large enterprises, although server farms do not as yet … (5) … the same reliability … (6) … as mainframes. Because of the sheer number of computers in large server farms, the failure of … (7) … machines is a commonplace event, and the management of large server farms needs to take this into account, by providing … (8) … for redundancy, automatic failover, and rapid … (9) … of the server cluster. The performance of the very largest server farms (thousands of processors and up) is … (10) … limited by the performance of the data center cooling systems rather than by the … (11) … of the processors. For this reason, the … (12) … design parameter for such systems tends to be performance per watt of … (13) … heat, rather than performance per processor. 1
B B
commonly
2
A frequently A cover
incorporate
C usually C comprise
D generally D consist
3
A application
B
utilization
C use
D exercise
4
A increasingly
B
furthermore
C besides
D growing
5
A advance
B
attain
C reach
D approach
6
A stage
B
levels
C degree
D grade
7
A individual
B
single
C particular
D singular
8
A assistance
B
advocate
C sustain
D support
9
A refabrication
B
reorganization C reconfiguration D reconstruction
10
A distinctively
B
typically
C usually
D specifically
11
A accomplishment
B
production
C performance
D execution
12
A critical
B
crucial
C fastidious
D
13
A bred
B
produced
C created
D generated
indispensable
Exercise 5 Match the words in Colomn A to the expressions in Colomn B:
1
Colomn A High-availability clusters
a
2
High-performance clusters
b
3
Attached Resource Computer
c
Colomn B typically supports more heterogeneous collections than are commonly supported in clusters is based on technology developed by the Digital Equipment Corporation supports cluster-aware applications 56
4
NETwork Grid computing
d
5
Application programming interface
e
6
Microsoft Cluster Server
f
7
Server Farm
g
operate by having redundant nodes, which are used to provide service when system components fail a collection of computer servers usually maintained by an enterprise to accomplish server needs far beyond the capability of one machine are used to provide increased performance by splitting a computational task via many different nodes in the cluster was developed by the Datapoint in 1977
57
UNIT 11
Distributed file systems Based on Wikipedia, the free encyclopedia A Distributed File System (DFS) is a file system that supports sharing of files and resources in the form of persistent storage over a network. In general, a file system is a method for storing and organizing computer files and the data they contain to make it easy to find and access them. File systems may use a storage device such as a hard disk or CD-ROM and involve maintaining the physical location of the files, or they may be virtual and exist only as an access method for virtual data or for data over a network. More formally, a file system is a set of abstract data types that are implemented for the storage, hierarchical organization, manipulation, navigation, access, and retrieval of data. The first file servers were developed in the 1970s and Sun's Network File System (NFS) became the first widely used distributed file system after its introduction in 1985. Notable distributed file systems besides NFS are Andrew file system (AFS) and Common Internet File System (CIFS). A file server provides file to clients. A client interface for a file service is formed by a set of primitive file operations, such as creating a file, deleting a file, reading from a file, and writing to a file. The primary hardware component that a file server controls is a set of local secondary-storage devices on which files are stored, and from which they are retrieved according to the client requests. DFS clients, servers, and storage devices are dispersed among the machines of a distributed system or intranet. Accordingly, service activity has to be carried out across the network, and instead of a single centralized data repository, the system has multiple and independent storage devices. The concrete configuration and implementation of a DFS may vary - in some configurations servers run on dedicated machines while in others a machine can be both a server and a client. A DFS can be implemented as a part of a distributed operating system, or alternatively, by a software layer whose task is to manage the communication between conventional operating systems and file systems. The distinctive features of a DFS are the multiplicity and autonomy of clients and servers in the system. Ideally, a DFS should appear to its users to be a conventional, centralized file system. The multiplicity and dispersion of its servers and storage devices should be made invisible. That is, the client interface used by programs should not distinguish between local and remote files. It is up to the DFS to locate the files and to arrange for the transport of the data. The most important performance measurement of a DFS is the amount of time needed to satisfy service requests. In conventional systems this time consists of a disk-access time and a small amount of CPU-processing time. In a DFS, however, a remote access has the additional overhead attributed to the distributed structure. This overhead includes the time to deliver the request to a server, as well as the time to get the response across the network back to the client. For each direction, in addition to the transfer of the information, there is the CPU overhead of running the communication protocol software. The performance of a DFS can be viewed as another dimension of the DFS transparency. That is, the performance of an ideal DFS would be comparable to that of a conventional file system. A DFS should provide for multiple client processes on multiple machines not just accessing but also updating the same files. Hence updates to the file from one client should not interfere with access and updates from other clients. Concurrency control or locking may be either built into the file system or be provided by an add-on protocol.
58
A distributed data store is a network in which a user stores his or her information on a number of peer network nodes. The user also usually reciprocates and allows other users to use his or her computer as a storage node as well. Information may or may not be accessible to other users depending on the design of the network. Most of the peer to peer networks do not have distributed data stores in that the user's data is only available when their node is on the network. However, this distinction is somewhat blurred in a system such as BitTorrent, where it is possible for the originating node to go offline but the content to continue to be served. Still, this is only the case for individual files requested by the redistributors, as contrasted with a network such as Freenet where all computers are made available to serve all files. Thera are many examples distributed data store networks. GFS (Google File System) is one of them. The data in GFS is stored persistently, in very large, even multiple gigabyte-sized files which are only extremely rarely deleted, overwritten, or shrunk; files are usually appended to or read. It is also designed and optimized to run on Google's computing clusters, the nodes of which are comprised of cheap, "commodity" computers, which means precautions must be taken against the high failure rate of individual nodes and the subsequent data loss. Other design decisions select for high data throughputs, even when that makes latency worse. The nodes are divided into two types: Master nodes and Chunkservers. Chunkservers store the data files, with each individual file broken up into fixed size chunks (hence the name), similar to clusters or sectors in regular file systems. Each chunk is assigned a unique 64-bit label, and logical mappings of files to constituent chunks are maintained. The master server does not usually store the actual chunks, but rather all the metadata associated with the chunks, such as the tables mapping the 64-bit labels to chunk locations. All this metadata is kept current by the master server periodically receiving updates from each chunk server ("Heart-beat messages"). GFS can comprise only one master server. Metadata is very compact, mere kilobytes to the megabyte, and the Master server is typically one of the most capable nodes on the network; for reliability, there is typically a "shadow" Master server, mirroring the main Master server which steps in if the Master server fails. Also, a bottleneck rarely occurs, since clients request only the metadata, and typically cache it; subsequent interactions proceed directly with the chunkservers. Similarly, using a single Master server drastically cuts down on the software complexity that would be requisite to ensure data integrity, atomicity of operations, load balancing, and security.
Vocabulary client client interface concurrency control or locking chunk chunkserver latency multiplicity overhead
klient, tj. hierarchicky podřazená součást systému využívající služeb vyšší úrovně (viz client/server) rozhrání klienta správa paralelního přístupu nebo uzamykaní (pro zachování integrity dat) velká porce, souvislý, adresovatelný paměťový prostor – firemní technologie Google datový server, viz chunk latence multiplicita poskytnutí často nadbytečné podpory (paměť, výpočetní čas
59
procesoru) kritické funkci programu, u které záleží na tom, aby byla provedena s maximální prioritou a správně performance management storage device
řízení výkonnosti vnější paměť - pamětové zařízení, obecně jakékoli zařízení, které je schopno zaznamenávat nebo číst data v digitálním tvaru; obvykle obsahuje záznamovou a/nebo čtecí hlavu (head), mechanické zařízení pro pohyb médiem a převodník
Acronyms AFS (Andrew File System) APPC (Advanced Peer-to-Peer Communication) APPC (Advanced Program to Program Communication)
Andrewův souborový system fy Transarc Corporation, je určen pro velké unixové sítě Zdokonalené komunikace mezi rovnocennými uzly, protokol fy IBM, který je součástí SNA Pokročilá komunikace mezi programy, protokol fy IBM pro komunikaci mezi aplikacemi běžícími na různých počítačích sítě, je součástí SNA Pokročilé sítě s rovnocennými uzly
(Advanced Peer-to-Peer Networking) CIFS (Common Internet File System) Společný internetový souborový systém (má sjednotit protokoly UNIX, Linux, Win) DFS (Distributed File System) Distribuovaný souborový systém GFS (Google File System) Souborový systém Google P2P (peer to peer network) Síť peer to peer (rovný s rovným – pán s pánem), počítačové systémy umožňující uživatelům sdílet s ostatními soubory i další položky uložené v počítači SNA (Synchronous Network Architektura synchronní sítě Architecture) SNA (System Network Architecture) Architektura systémové sítě IBM APPN
Exercise 1 Make sentences putting the given words into a correct order:
1 2 3 4 5 6 7 8
A – supports – of files – and – in the form – storage – over a – DFS – sharing – resources – of persistent – network – . devices – File – may – storage – or they – virtual – systems – use – may be – . component – The – hardware – a set of – devices – primary – comprises – secondarystorage – local – . file – appear – Ideally, a – should – to its – to be a – centralized – system – DFS – conventional, – users –. dispersion – The – and – servers – devices – be made – multiplicity – of – DFS – and storage – should – invisible – . and – should – The – interface – programs – not distinguish – local – files – client – used by – between – remote – . DFS – a remote – has the – overhead – to the – distributed – In a – access – additional – attributed – structure – . users – Information – may not – to other – depending – of the network – may or – be accessible – on the design – . 60
9
The – server – one of – capable – on the – network – master – is typically – the most – nodes – . 10 viewed – The – of a – can be – dimension – of its – performance – DFS – as another – transparency – .
Exercise 2 Make questions beginning with the words in brackets:
1
In conventional systems the service time consists of a disk-access time and a small amount of CPU-processing time. (What … of?) 2 In the case of a remote access the overhead includes the time to deliver the request to a server and the time to get the response 3 back to the client. (When … ?) 4 Precautions must be taken against the high failure rate of individual nodes and the subsequent data loss. (What … against?) 5 The master server periodically receives updates of all metadata from each chunk server. (Where … from?) 6 A bottleneck rarely occurs, since clients request only the metadata, and typically cashe it. (Why … ?) 7 The master server doesn't usually store the actual chunks, but rather all the metadata associated with the chunks. (What data …?) 8 The Google File System can comprise only one master server. (How many … ?) 9 In a DFS a remote access has the additional overhead attributed to the distributed structure. (Why … ?) 10 The performance of an ideal DFS would be comparable to that of a conventional file system. (What … to?) 11 Concurrency control or locking may be either built into the file system or be provided by an add-on protocol. (Where …into?) (What … by?)
Exercise 3 Fill in the gaps using words from the previous text:
distributed requests conventional also
response direction dimension protocol remote interfere measurement locking
The most important performance … (1) … of a DFS is the amount of time needed to satisfy service … (2) … . In conventional systems this time consists of a disk-access time and a small amount of CPU-processing time. In a DFS, however, a … (3) … access has the additional overhead attributed to the … (4) … structure. This overhead includes the time to deliver the request to a server, as well as the time to get the … (5) … across the network back to the client. For each … (6) …, in addition to the transfer of the information, there is the CPU overhead of running the communication … (7) … software. The performance of a DFS can be viewed as another … (8) … of the DFS transparency. That is, the performance of an ideal DFS would be comparable to that of a … (9) … file system. A DFS should provide for multiple client processes on multiple machines not just accessing but … (10) … updating the same files. Hence updates to the file from one client should not … (11) … with access and updates from other clients. Concurrency control or … (12) … may be either built into the file system or be provided by an add-on protocol. Exercise 4 Decide which answer (A, B, C, D) best fits each gap:
Permissions for operations are … (1) … by a system of time-limited, expiring "leases", where the master server grants … (2) … to a process for a finite period of time during which no
61
other process will be granted permission by the … (3) … server to access the chunk. The … (4) … chunkserver, which is always the primary chunk holder, then … (5) … the changes to the chunkservers with the backup … (6) … . The changes are not saved until all chunkservers … (7) …, thus guaranteeing the completion and atomicity of the operation. Programs access the chunks by first … (8) … the master server for the locations of the desired chunks; if the chunks are not being operated on (if there are no outstanding … (9) …), the master … (10) … with the locations, and the program then contacts and receives the data from the chunkserver … (11) … . A managed B handled C controlled D directed 1 2
A allowance
B
leave
C authorization
D permission
3
A main
B
chief
C master
D handled
4
A modified
B
changed
C altered
D shape
5
A disseminates
B
propagates
C transmits
D spreads
6
A imitations
B
duplicates
C copies
D pieces
7
A concede
B
recognize
C admit
D acknowledge
8
A interrogating
B
questioning
C querying
D asking
9
A rents
B
leases
C hires
D rentals
10
A agrees
B
harmonizes
C matches
D accords
11
A immediately
B
instantly
C straight
D directly
Exercise 5 Match the words in Colomn A to the expressions in Colomn B:
1 2 3
Colomn A file system client interface
a b c
4 5
performance measurement of a DFS distributed file system distributed data store
6
master server
f
7
chunk
g
d e
Colomn B has multiple and independent storage devices is assigned a unique 64-bit label, and logical mappings of files is a method for storing and organizing computer files and the data they contain is formed by a set of primitive file operations stores all the metadata associated with the chunks is the amount of time needed to satisfy service requests is a network in which a user stores information on a number of peer network nodes
62
UNIT 12
Apollo Guidance Computer Based on Wikipedia, the free encyclopedia
The Apollo Guidance Computer (AGC) was the first recognizably modern embedded system, used in real-time by austronaut pilots to collect and provide flight information, and to automatically control all of the navigational functions of the Apollo spacecraft. It was developed for the Apollo program by the MIT (Massachusetts Institute of Technology) Instrumental Laboratory under Charles Stark Draper, with hardware design led by Eldon C. Hall. Based upon MIT documents, early architectural work seems to come from J.H. Laning Jr., Albert Hopkins, Ramon Alonso, and Hugh Blair-Smith. The actual flight hardware was fabricated by Raytheon. Each flight to the moon had two AGCs, one each in the command module (CM) and the lunar module (LM). The AGC ran each spacecraft's Prinary Guidance, Navigation and Control System, called by the acronym PGNCS (pronounced "pings"). The PGNCS was a self-contained inertial guidance system that allowed Apollo spacecraft to carry out their missions when communications with Earth were interrupted, either as expected, when the spacecraft were behind the moon, or in case of a communications failure. The Apollo command module and lunar module were each equipped with a version of PNGCS. PGNCS consisted of the following components: • an Inertial Measurement Unit (IMU) •
the Apollo Guidance Computer
•
resolvers to convert inertial platform angles to signals usable for servo control
•
an optical unit
•
a mechanical frame, called the Navigation Base (or Navbase), to rigidly connect the optical device and, in the LM, the rendezvous radar to the IMU
•
the AGC software
Each moon mission had two additional computers: •
A flight computer on the Saturn V booster instrumentation ring called the Launch Vehicle Digital Computer (LVDS) – a serial computer built by IBM Federal Systems Division. The Saturn V, popularly known as the Moon Rocket, was a multistage liquid-fuel expendable rocket used by NASA's Apollo and Skylab programs.
•
A small machine in the lunar module's Abort Guidance System (AGS), built by TRW, to be used in the event of failure of the PGNCS. The AGS could be used to take off from the moon, and to rendezvous with the command module, but not for landing.
The CM and LM used the same computer, inertial platform and resolvers. The main difference was the optical unit. The Navbase was different for each spacecraft as well, reflecting the differing mounting geometries. The LM's rendezvous radar was also connected to its Navbase. The Apollo flight computer was the first to use integrated circuits (ICs). The Block I version used 4,100 ICs, each containing a single 3-input NOR logical gate. The later Block II version
63
used dual 3-input NOR gates in a flat-pack; approximately 5,600 gates in all. The gates were made using resistor-transistor logic (RTL). They were interconnected by a technique called wire-wrap, in which the circuits are pushed into sockets, the sockets have square posts, and wire is wrapped around the posts. The edges of the posts bite the wire with tons of pressure per square inch, causing gas-tight connections that are more reliable than soldered PC boards. The wiring was then embedded in cast epoxy plastic. The decision to use a single IC design throughout the AGC avoided problems that plagued another early IC computer design. The computer's RAM was magnetic core memory (4K words) and ROM was implemented as core rope memory (32K words). Both had cycle times of 12 microseconds. The memory word length was 16 bits; 15 bits of data and 1 odd-parity bit. The CPU-internal 16-bit word format was 14 bits of data, 1 overflow bit, and 1 sign bit. Timing. The AGC was controlled by a 2.048 MHz crystal clock. The clock was divided by two to produce a four-phase 1.024 MHz clock which the AGC used to perform internal operations. The 1.024 MHz clock was also divided by two to produce a 512 kHz signal called the master frequency; this signal was used to synchronize external Apollo spacecraft systems. The master frequency was further divided through a SCALER, first by five using a ring counter to produce a 102.4 kHz signal. Then it was divided by two through 17 successive stages called F1 (51.2 kHz) through F17 (0.78125 Hz). The F10 stage (100 Hz) was fed back into the AGC to increment the real-time clock and other involuntary counters. The F17 stage was used to intermittently run the AGC when it was operating in the standby mode. The user interface unit was called the DSKY (display/keyboard); an array of numerals and a calculator-style keyboard. Commands were entered numerically, as two-digit "prog", "verb", and "noun" numbers. The numerals were green high-voltage electroluminiscent displays arranged in an array of seven segments per numeral to display numbers. The segments were driven by electromechanical relays, which limited the display update rate. Three 5-digit numbers could also be displayed in octal or decimal. Input was by pushbuttons. This "calculator-style" interface was the first of its kind, the prototype for all similar digital control panel interfaces. The command module had two DSKYs; one located on the main instrument panel and another located in the lower equipment bay near a sextant used for aligning the inertial guidance platform. Both DSKYs were driven by the same AGC. The lunar module had a single DSKY for its AGC. Vocabulary cast epoxy plastic core rope memory embedded system flat-pack human space-flight (mission) manned space-flight master frequency mounting geometry posts self-contained wire-wrap technique
odlitek z epoxidové pryskyřice (plastu) integrovaný systém (zakomponovaný) ploché pouzdro kosmický let s lidskou posádkou kosmický let s lidskou posádkou hlavní frekvence, řídící frekvence osazení, montážní rozměry vývody (součástek) autonomní (soběstačný) technika ovíjených spojů
64
Acronyms AGC (Apollo Guidance Computer) AGS (Abort Guidance System)
Naváděcí systém Apolla Naváděcí systém předčasného návratu (nouzový) CM (command module) Velitelský modul DSKY (display/keyboard) IDSKY - integrovaná zobrazovací jednotka a klávesnice ICs (integrated circuits) Integrovaný obvod IMU (Inertial Measurement Unit) Inerciální měřící jednotka LM (lunar module) Lunární LVDS (Launch Vehicle Digital Computer) Digitální počítač vypouštěciho modulu (na přídavné raketě) MIT (Massachusetts Institute of Technology) MIT Massachusetts technologický institut NASA (National Aeronautics and Space Národní organizace pro rozvoj letecví a Administration) kosmonautiky PGNCS (Prinary Guidance, Navigation and Primární naváděcí, navigační a řídící systém Control System) RTL (resistor-transistor logic) RTL logika (Logika resistor-tranistor)
Exercise 1 Make sentences putting the given words into a correct order:
1 2 3 4 5 6 7 8 9 10
computer – The – flight – was the – use – circuits – Apollo – first to – integrated – . Earth – The – allowed the – spacecraft – to carry out – when – with the – interrupted – PGNCS – Apollo – their missions – communications – were – . signals – Resolvers – inertial – angles to – usable – control – convert – platform – for servo – . Abort – System – could be – take off – moon, – and to – with the – command – The – Guidance – used to – from the – rendezvous – module – . Skylab – liquid-fuel – Saturn V – multistage – rocket – used by – Apollo and – programs – The – was a – NASA's - . 5-digit – numbers – could – displayed in – decimal – Three – also be – octal or – . 512 kHz – was – synchronize – Apollo – systems – The – signal – used to – external – spacecraft – . RAM – core memory – implemented –rope memory – The computer's – was magnetic – and ROM was – as core – . gas-tight – are more –than – PC boards – connections – The – reliable – soldered – . IC design – decision – a single – problems – throughout – the AGC – many – The – to use – avoided – .
Exercise 2 Make questions concerning the words in bold italics:
1
The Apollo command module and lunar module used the same computer, inertial platform and resolvers. 2 Early architectural work seems to come from J.H. Laning Jr., Albert Hopkins, Ramon Alonso, and Hugh Blair-Smith.
65
3 4 5 6 7 8 9 10
Serious problems plagued another early IC computer design. The segments were driven by electromechanical relays, which limited the display update rate. Electromechanical relays limited the display update rate. Three 5-digit numbers could also be displayed in octal or decimal. One of the two command module DSKYs was located on the main instrument panel. The numerals, green high-voltage electroluminiscent displays, were arranged in an array of seven segments. The gates were interconnected by a technique called wire-wrap, in which the circuits are pushed into sockets. The edges of the posts bite the wire with tons of pressure per square inch, causing gas-tight connections.
Exercise 3 Fill in the gaps using words from the box below:
undertaken originally successful Greek spacecraft Apollo achieved within exploration overall Project Apollo was a series of human space-flight missions …(1)… by the USA using the Apollo … (2) … and Saturn launch vehicle, conducted during the years 1961–1972. It was devoted to the goal of landing a man on the Moon and returning him safely to the Earth … (3) … the decade of the 1960s. This goal was … (4) … with the Apollo 11 mission in July 1969. The program continued into the early 1970s to carry out the initial hands-on scientific … (5) … of the Moon, with a total of six … (6) … landings. As of 2005, there has not been any further human space-flight beyond the low earth orbit. The later Skylab program and the joint American-Soviet Apollo-Soyuz Test Project used equipment … (7) … produced for Apollo, and are often considered to be part of the … (8) … program. The project name … (9) …, like earlier manned space-flight programs, comes from one of the … (10) … gods. Exercise 4 Decide which answer (A, B, C, D) best fits each gap:
The Charles Stark Draper Laboratory, Inc., formerly the MIT Instrumentation Laboratory, was … (1) … by Charles Stark Draper in the late 1930s to … (2) … students how to design the scientific … (3) … necessary to accurately measure and … (4) … motion. … (5) … the World War II, the Instrumentation Lab developed the Inertial navigation system; this … (6) … its principal focus after receiving the United States Department of Defence research contracts to develop navigation systems for ballistic missils. The "I Lab" developed the … (7) … systems for the Project Apollo and the Polaris missile. Draper spun off from MIT in 1973, in part … (8) … to anti-war protests. 1
A established
B
founded
C set
D constituted
2
A propagate
B
instruct
C teach
D practise
3
A instruments
B
tools
C means
D kits
4
A investigate
B
explore
C research
D study
5
A In the course of
B
Within
C During
D Inside
66
6
A occured
B
chanced
C became
D happened
7
A guidance
B
control
C steering
D ruling
8
A because
B
due
C for the sake
D on account
Exercise 5 Match the words in Colomn A to the expressions in Colomn B:
Colomn A 1
resolvers
a
2
Navigation Base
b
3 4
PGNCS DSKY
c d
5 6
Sextant Moon Rocket
e f
7
Apollo Guidance Computer
g
Colomn B was used for aligning the inertial guidance platform was a multistage liquid-fuel expendable rocket used by NASA's Apollo and Skylab programs was controlled by a 2.048 MHz crystal clock converted inertial platform angles to signals usable for servo control was a self-contained inertial guidance system was an array of numerals and a calculatorstyle keyboard rigidly connected the optical device and, in the LM, the rendezvous radar to the IMU
67
KEY TO EXERCISES UNIT 1
Computers – historical review
Exercise 1 Make sentences putting the given words into a correct order: 1 2 3 4 5 6 7
On 30 June 1945 a mathematician John von Neuman published the paper entitled "First Draft of a Report on the EDVAC". The instructions could be combined to create useful programs for the EDVAC to run. All CPUs deal with discrete states and therefore require some kind of switching elements to differentiate between and change these states. When a vacuum tube failed, the CPU would have to be diagnosed to locate the failing component. Early electronic computers were generally faster but less reliable than electromechanical computers. Tube based CPUs became dominant because the significant speed advantages generally outweighed the reliability problems. The design and complexity of CPUs increased as various technologies facilitated building smaller and more reliable electronic devices.
Exercise 2 Make questions concerning the words in bold italics: 1 2 3 4 5 6 7
What do SIMD designs rely on to handle the program details? What instructions handle the data manipulation only? Where have smaller-scale SIMD operations become widespread now? What is the term SIMD associated almost entirely with today? What did first electronic computers need in order to perform different tasks? When did John von Neuman publish the paper entitled "First Draft of a Report on the EDVAC"? What instructions could be combined to create useful programs for the EDVAC to run?
Exercise 3 Fill in the gaps using words from the box below: (1) – manufacturing, (2) – transistors, (3) – chip, (4) – basic, (5) – SSI (small-scale integration), (6) – counts, (7) – space, (8) – advanced, (9) – individual, (10) – increased
Exercise 4 Decide which answer (A, B, C, D) best fits each gap: (1) – A (common), (2) – B (usually), (3) – D (strike), (4) – A (pure), (5) – C (modified), (6) – B (oscillations), (7) – B (influence), (8) – B (cope), (9) – C (oscillating)
UNIT 2
Computer architecture
Exercise 1 Make sentences putting the given words into a correct order: 1 2 3 4 5 6 7
Computer architecture typically refers to the fixed internal structure of the CPU to perform logical operations. It may also include the built-in interface by which hardware resources may be used by the software. Architecture is often defined as a set of machine attributes that a programmer should understand in order to program the specific computer. Nevertheless other considerations, such as a size, weight, and power consumption, may be a factor as well. Computer retailers describe the performance of their machines in terms of clock speed (usually in MHz or GHz). The performance refers to the cycles per second of the main clock of the CPU. Modern CPUs can execute multiple instructions per clock cycle, which dramatically speeds up a program.
Exercise 2 Make questions concerning the words in bold italics:
68
1
What does a bus transfer between computer components inside a computer or between computers (in computer architecture)?
2
How can the bus logically connect several peripherals?
3
What does each bus define to physically plug devices, cards or cables together?
4
What do the most common goals in computer architecture revolve around?
5
Which computers usually need low interrupt latencies?
6
How does benchmarking (try to) take all these factors into account?
7
What is benchmarking usually associated with?
Exercise 3 Fill in the gaps using words from the box below: (1) – benchmarking, (2) – a computer, (3) – split, (4) – applications, (5) – designers, (6) – features, (7) – execute, (8) – offer, (9) – computational, (10) – deceptive
Exercise 4 Decide which answer (A, B, C, D) best fits each gap: (1) – B (branches), (2) – C (interpretation), (3) – B (abstract), (4) – C (primitive), (5) – C (computation), (6) – A (correspond), (7) – C (require), (8) – D (accurately), (9) – (focus)
UNIT 3
Computer CPU
Exercise 1 Make sentences putting the given words into a correct order: 1 2 3 4 5 6 7
The program is represented by a series of numbers that are kept in some kind of computer memory. The first step involves retrieving an instruction from program memory. In other words, the program counter keeps track of the CPU's place in the current program. One group of numbers in the instruction, called the opcode, indicates which operation to perform. The microprogram is often rewritable and can be modified to change the way the CPU decodes instructions. The final step simply "writes back" the results of the execute step to some form of memory. Some types of instructions manipulate the program counter rather than directly produce result data.
Exercise 2 Make questions concerning the words in bold italics: 1
What can this broad definition be easily applied to?
2
What have allowed increasingly complex CPUs to be designed and manufactured in very small spaces?
3
What does a number that a program counter stores identify?
4
Where must the instruction to be fetched often be retrieved from?
5
What can these flags be used for?
6
Where are the results very often written to for quick access?
7
What do some types of instructions manipulate rather than directly produce result data?
8
How can multiple instructions be fetched, decoded, and executed in more complex CPUs?
9
Where will many instructions also change the state of digits?
10 What could this flag be used by to determine a program flow?
Exercise 3 Fill in the gaps using words from the box below: (1) – particular, (2) – inexpensive, (3) – purposes, (4) – accelerated, (5) – allowed, (6) – spaces, standardization, (8) – presence, (9) – limited, (10) – appear
(7) –
69
Exercise 4 Decide which answer (A, B, C, D) best fits each gap: (1) – B (term), (2) – A (range), (3) – C (common), (4) – C (evolved), (5) – D (core), (6) – A (room), (7) – C (apparent), (8) – B (capacity), (9) – C (emerging)
UNIT 4 Microprocessors Exercise 1 Make sentences putting the given words into a correct order: 1 2 3
One or more microprocessors typically serve as a central processing unit in a computer system. Since the mid-1970s the microprocessor has become the most prevalent implementation of the CPU. The complexity of an integrated circuit with respect to minimum component cost will double in about 18 months. 4 Now every system from the largest mainframe to the smallest handheld computers uses a microprocessor at its core. 5 The overall smaller CPU size as a result of being implemented on a single die means faster switching time. 6 Generally, they are cut from a boule of semiconductor using a diamond saw, then polished on one or both faces. 7 During this process, a wafer with up to thousands of circuits is cut into individual pieces, each called a die. 8 The complexity, size, construction, and general form of CPUs have changed drastically over the past sixty years. 9 In the worst case it leads to the loss of one or more connections and causes the failure of the entire circuit. 10 The supply voltage has continually scaled down to reduce the dynamic power consumption of integrated circuits.
Exercise 2 Make questions concerning the words in bold italics: 1 2 3 4 5 6 7 8 9 10
What has continually scaled down to reduce the dynamic power consumption of integrated circuits? What do these newer concerns cause researchers to perform? What were electronic CPUs typically made from earlier? What Law has been generally followed, unconsciously, since the early 1970s? What is the term microchip usually applied to? What are wafers cut from using a diamond saw? What is the dicing usually performed with? How can almost all common CPUs today be very accurately described? What do extreme miniaturization of electronic gates cause? What does electromigration lead to in the worst case and what does it cause?
Exercise 3 Fill in the gaps using words from the box below: (1) – current, (2) – subthreshold, (3) – small, (4) – leakage, (5) – total, (6) – consumption, state, (8) – scaled, (9) – reduced, (10) – rises
(7) – on-
Exercise 4 Decide which answer (A, B, C, D) best fits each gap: (1) – A (object), (2) – C (individual), (3) – B (separated), (4) – D (properties), (5) – B (single), (6) – A (predict), (7) – C (performed), (8) – B (influencing), (9) – D (classical)
UNIT 5
Computer memory
Exercise 1 Make sentences putting the given words into a correct order: 1
Very often the term memory identifies data storage that comes in the form of chips.
70
2 3 4 5
Some computers also use virtual memory, which expands physical memory onto a hard disk. Memory can be categorized in different ways by technology or properties. Primary storage contains data that are actively being used. Secondary storage, also known as peripheral storage, is utilized for storing information that is not necessarily in current use. 6 Most operating systems store all programs and data on hard disk drives. 7 File system permissions can be used to make certain areas of the hard disk logically immutable. 8 Computers almost always contain a small amount of read-only memory for starting up the computer. 9 A cache is a collection of data duplicating original values stored elsewhere or computed earlier. 10 Caches have proven extremely effective in many areas of computing because access patterns have locality of reference.
Exercise 2 Make questions beginning with the words in brackets: 1 2 3 4 5 6 7 8 9 10
What does the term computer memory refer to? How many kinds of memory do most computers possess? What kind of data storage does the term memory identify? What does the term storage refer to?) What can memory be categorized by? What data does primary storage contain? Where can systems store programs and static data in order to be more secure? Why does static RAM only require steady flow of electricity? How can erasable programmable ROM be erased? Why have caches proven extremely effective in many areas of computing?
Exercise 3 Fill in the gaps using words from the previous text: (1) – possess, (2) – adjacent, (3) – duplicating, (4) – elsewhere, (5) – cache, (6) – refetching, average, (8) – extremely, (9) – patterns, (10) – several, (11) – together, (12) – accessed
(7) –
Exercise 4 Decide which answer (A, B, C, D) best fits each gap: (1) – B (fundamental), (2) – D (control), (3) – C (ability), (4) – A (manipulate), (5) – C (versatile), (6) – B (represents), (7) – D (converted), (8) – A (piece), (9) – B (accommodate), (10) – C (natural), (11) – A (drawbacks), (12) – D (purpose)
Exercise 5 Match the words in Column A to the expressions in Column B: 1 – c, 2 – f, 3 – g, 4 – a, 5 – b, 6 – e, 7 – d
UNIT 6
Virtual memory
Exercise 1 Make sentences putting the given words into a correct order: 1 2 3 4 5 6 7
Virtual memory allows software to run in a memory address space, which may not be tied to physical memory. Many applications require access to more information than can be stored in physical memory. This is especially true when the operating system allows multiple processes to run seemingly in parallel. It usually provides the ability to simulate a main memory of almost any size. The programmer can completely ignore the need to manage the moving of data back and forth between the different kinds of memory. The MMU may be either a module of the CPU, or an auxiliary, closely coupled chip. The operating system is responsible for deciding which parts of the simulated main memory are kept in physical memory.
71
8 9
The MMU may have the ability to vary its operation according to the type of memory reference. Like many technologies in the history of computing, virtual memory was not accepted without challenge. 10 Many models, experiments, and theories had to be developed to overcome the numerous problems with virtual memory.
Exercise 2 Make questions concerning the words in bold italics: 1 2 3 4 5 6 7 8 9 10
Where is virtual memory addressing typically used? What are the size and addressing capacity of the address space not necessarily tied to? What provides the ability to simulate a main memory of almost any size? When is the operating system invoked to handle the situation? How is the area of the disk that holds the information which is not currently in physical memory called? What is the translation from virtual to physical addresses implemented by? What mappings do the translation tables maintained by the operating system provide? What does the hardware that supports virtual memory almost always support as well? What may the MMU have the ability to vary its operation according to? What does the operating system protect its own code and data from corruption by?
Exercise 3 Fill in the gaps using words from the box below: (1) – techniques, (2) – manage, (3) – approximately, (4) – technologies, (5) – challenge, (6) – entity, (7) – developed, (8) – numerous, (9) – address, (10) – expensive, (11) – power
Exercise 4 Decide which answer (A, B, C, D) best fits each gap: (1) – A (use), (2) – C (implemented), (3) – C (Modern), (4) – B (various), (5) – A (contains), (6) – C (backed by), (7) – B (obtained), (8) – D (computationally), (9) – A (delete), (10) – C (save)
UNIT 7
Computer motherboard
Exercise 1 Make sentences putting the given words into a correct order: 1 2 3 4 5
A motherboard houses the Basic Input/Output System. The chipset on a motherboard consists of two chips known as the northbridge and southbridge. The southbridge implements the ‘slower’ capabilities of the motherboard. There are usually a number of expansion card slots allowing peripheral devices and cards to be inserted. An AGP slot is a high-speed port designed solely for connecting high performance graphics cards to the monitor. 6 Since about 2002 the last ISA slots in new motherboards have been replaced with extra PCI slots. 7 An ethernet interface and a basic audio processor are now almost universally integrated into current motherboards. 8 Newer motherboards have integrated temperature sensors to detect motherboard and CPU temperatures. 9 The removal of waste thermal energy became a major concern for workstation PCs around 2000. 10 The most popular motherboard form factor today is ATX, which evolved from its predecessor the Baby AT.
Exercise 2 Make questions concerning the words in bold italics: 1 2
Where do all of the basic circuitry and components required for a computer to function sit? What determine (, to an extent,) the features and capabilities of the motherboard? OR What do the northbridge and southbridge determine? 3 When did EISA bus endure as a standard feature in PCs?) 4 How many slots might a typical motherboard of 1999 have had?) 5 What have the last ISA slots in new boards been replaced with since about 2002? 6 Where are an ethernet interface and a basic audio processor almost universally integrated now? 7 What do newer motherboards have integrated temperature sensors for? 8 What exhibit aging effects depending on the temperature of the parts? OR What effects do electrolytic capacitors exhibit? OR What do electrolytic capacitors exhibit? 9 What do motherboard form factors usually correspond to? 10 Why are notebook computers difficult to upgrade and expensive to repair?
72
Exercise 3 Fill in the gaps using words from the box below: (1) – 2003, (2) – crashes, (3) – distortions, (4) – attributed, (5) – electrolytic, (6) – aging, (7) – evaporate, (8) – instabilities, (9) – doubles, (10) – reasonable, (11) – manufacturers, (12) – broken
Exercise 4 Decide which answer (A, B, C, D) best fits each gap: (1) – D (derived), (2) – B (connected), (3) – A (fast), (4) – B (located), (5) – A (slower), (6) – D (particular), (7) – A (usually), (8) – B (wide), (9) – C (core), (10) – A (bottleneck), (11) – D (proprietary)
UNIT 8
Computer hardware
Exercise 1 Make sentences putting the given words into a correct order: 1 2
Firmware rarely needs to be changed and so is stored on hardware devices such as ROM. An embedded system is a special-purpose computer system, which is completely encapsulated by the device it controls. 3 Using RAM the computer does not have to take the time to access the hard drive to find something. 4 More RAM can contribute to a faster PC. 5 Buses transfer data or power between computer components inside a computer or between computers. 6 Serial ATA is a computer bus technology primarily designed for transfer of data to and from a hard disc. 7 Video display controller produces the output for the computer display. 8 Computer bus controllers connect the computer to external peripheral devices such as printers or scanners. 9 DVD can be used for data storage including movies with high video and sound quality. 10 Disk array controller provides secondary storage services to computer systems, often in large servers.
Exercise 2 Make questions beginning with the words in brackets: 1 2
What do sound cards translate signals from the system board into? What can include external components of a computer system, i.e. input and output devices? OR What can hardware include? OR What components can hardware include? 3 How can image and video input devices be accessed? 4 How often is the hardware of a computer changed? 5 What sense are software and data "soft" in? 6 Why is most computer hardware not seen by normal users? 7 Where do disk array controllers provide secondary storage services to computer systems? 8 Where do the controllers sit? 9 What can logically connect several peripherals over the same set of wires? OR What can a bus logically connect over the same set of wires? 10 Where can these integrated circuits be fitted?
Exercise 3 Fill in the gaps using words from the previous text: (1) – encapsulated, (2) – embedded, (3) – tasks, (4) – programmable, (5) – particular, (6) – older, combination, (8) – facilitates, (9) – common, (10) – control
(7) –
Exercise 4 Decide which answer (A, B, C, D) best fits each gap: (1) – B (universal), (2) – C (capable), (3) – B (assistant), (4) – D (processing), (5) – A (powerful), (6) – B (available), (7) – C (enormous), (8) – B (scientific), (9) – D (requirements), (10) – A (individual), (11) – B (portable), (12) – C (perhaps), (13) – D (common)
UNIT 9
Computer software
Exercise 1 Make sentences putting the given words into a correct order:
73
1 2 3 4 5 6 7 8 9 10
The concept of software was first proposed by Alan Turing. In computers software is loaded in RAM and executed on the central processing unit. At the lowest level software consists of a machine language specific to an individual processor. Software has historically been considered an intermediary between electronic hardware and data. The output of a particular piece of software may be the input for another piece of software. Users may not realize that they have a choice to use different platform software. If the purpose of a software product is clear, the product possesses the factor of understandability. User-written software tailors systems to meet the users specific needs. A consistent software product contains uniform notation, symbology and terminology within itself. Maintainability means that a software product could be easily updated to satisfy new requirements.
Exercise 2 Make questions beginning with the words in brackets: 1 2 3
Where is software loaded and executed in computers? What does a machine language consist of? What do typical examples of the application software include? / What software includes office suites and video games? 4 What do sound cards translate signals from the system board into? 5 Why cannot software quality factors be measured exactly? 6 Who should a set of questions relevant to the factor characteristic be worked out for every quality factor by? 7 How could some types of a scoring formula be developed? 8 What will become the driving force of software future reliability improvement? 9 How many classes do practical computer systems divide software into? 10 What helps run the computer hardware and computer system? / What does the system software help run?
Exercise 3 Fill in the gaps using words from the previous text: (1) – distinction, (2) – blurred, (3) – diagnostic, (4) – accomplish, (5) – suites, (6) – games, interface, (8) – through, (9) – different, (10) – convenient, (11) – debugger, (12) – tools
(7) –
Exercise 4 Decide which answer (A, B, C, D) best fits each gap: (1) – A (evaluated), (2) – A (consideration), (3) – C (determining), (4) – A (connote), (5) – B (generally), (6) – C (measured), (7) – A (work), (8) – D (development), (9) – B (requirement), (10) – A (efforts), (11) – D (reaches), (12) – C (users), (13) – B (expectations)
Exercise 5 Match the words in Column A to the expressions in Column B: 1 – d, 2 – e, 3 – g, 4 – b, 5 – a, 6 – c, 7 – j, 8 – i, 9 – h, 10 – f
UNIT 10
Computer clusters
Exercise 1 Make sentences putting the given words into a correct order: 1 2 3
In a computer cluster a loosely coupled group of computers work together closely. In many respects the computer cluster can be viewed as though it were a single computer. Clusters are usually deployed to improve speed and/or reliability over those provided by a single computer. 4 High-availability clusters improve the availability of services which they provide. 5 The most common size for an HA cluster is two nodes, which is the minimum required to provide redundancy. 6 There are many commercial implementations of high-availability clusters for many operating systems. 7 Load balancing clusters operate by having all workload come through one or more load-balancing front ends. 8 High-performance clusters provide increased performance by splitting a computational task across many nodes in the cluster. 9 Grid clusters connect collections of computers which do not fully trust each other. 10 The TOP500 organization publishes the 500 fastest computers twice a year including many clusters on their list.
74
Exercise 2 Make questions beginning with the words in brackets: 1 2 3 4
What programs do clusters commonly run? What are many programs in libraries specially designed for? Which type of computations do HP clusters enable? What do grid clusters typically support? / What clusters typically support more heterogeneous collections? 5 May resources be shared by all the nodes? 6 When did ARCnet not have a commercial success? 7 What is the history of cluster computing intimately tied to? 8 What do many modern supercomputers consist of? 9 What are the processors of server farms connected by? 10 Why is the failure of individual machines in server farms a commonplace event?
Exercise 3 Fill in the gaps using words from the previous text: (1) – clusters, (2) – collections, (3) – trust, (4) – utility, (5) – heterogeneous, (6) – commonly, share, (8) – allocation, (9) – independently, (10) – resources, (11) – nodes
(7) –
Exercise 4 Decide which answer (A, B, C, D) best fits each gap: (1) – B (commonly), (2) – D (consist), (3) – C (use), (4) – A (increasingly), (5) – C (reach), (6) – B (levels), (7) – A (individual), (8) – D (support), (9) – C (reconfiguration), (10) – B (typically), (11) – C (performance), (12) – A (critical), (13) – D (generated)
Exercise 5 Match the words in Column A to the expressions in Column B: 1 – d, 2 – f, 3 – g, 4 – a, 5 – c, 6 – b, 7 – e
UNIT 11
Distributed File Systems
Exercise 1 Make sentences putting the given words into a correct order: 1 2 3 4 5 6 7 8 9 10
A DFS supports sharing of files and resources in the form of persistent storage over a network. File systems may use storage devices or they may be virtual. The primary hardware component comprises a set of local secondary-storage devices. Ideally, a DFS should appear to its users to be a conventional, centralized file system. The multiplicity and dispersion of DFS servers and storage devices should be made invisible. The client interface used by programs should not distinguish between local and remote files. In a DFS a remote access has the additional overhead attributed to the distributed structure. Information may or may not be accessible to other users depending on the design of the network. The master server is typically one of the most capable nodes on the network. The performance of a DFS can be viewed as another dimension of its transparency.
Exercise 2 Make questions beginning with the words in brackets: 1 2
What does the service time in conventional systems consist of? When does the overhead include the time to deliver the request to a server and the time to get the response back to the client? 3 What must precautions be taken against? 4 Where does the master server periodically receive updates of all metadata from? 5 Why does a bottleneck rarely occur? 6 What data does the master server usually store? 7 How many master servers can the Google File System comprise? 8 Why does a remote access in a DFS have the additional overhead? 9 What would the performance of an ideal DFS be comparable to? 10 Where may concurrency control or locking be built into? / What may concurrency control or locking be provided by?
75
Exercise 3 Fill in the gaps using words from the previous text: (1) – measurement, (2) – requests, (3) – remote, (4) – distributed, (5) – response, (6) – direction, protocol, (8) – dimension, (9) – conventional, (10) – also, (11) – interfere, (12) – locking
(7) –
Exercise 4 Decide which answer (A, B, C, D) best fits each gap: (1) – B (handled), (2) – D (permission), (3) – C (master), (4) – A (modified), (5) – B (propagates), (6) – C (copies), (7) – D (acknowledge), (8) – C (querying), (9) – B (leases), (10) – A (agrees), (11) – D (directly)
Exercise 5 Match the words in Column A to the expressions in Column B: 1 – c, 2 – d, 3 – f, 4 – a, 5 – g, 6 – e, 7 – b
UNIT 12
Apollo Guidance Computer
Exercise 1 Make sentences putting the given words into a correct order: 1 2
The Apollo flight computer was the first to use integrated circuits. The PGNCS allowed the Apollo spacecraft to carry out their missions when communications with the Earth were interrupted. 3 Resolvers convert inertial platform angles to signals usable for servo control. 4 The Abort Guidance System could be used to take off from the moon, and to rendezvous with the command module. 5 The Saturn V was a multistage liquid-fuel rocket used by NASA's Apollo and Skylab programs. 6 Three 5-digit numbers could also be displayed in octal or decimal. 7 The 512 kHz signal was used to synchronize external Apollo spacecraft systems. 8 The computer's RAM was magnetic core memory and ROM was implemented as core rope memory. 9 The gas-tight connections are more reliable than soldered PC boards. 10 The decision to use a single IC design throughout the AGC avoided many problems.
Exercise 2 Make questions concerning the words in bold italics: 1 2 3 4 5 6 7 8 9 10
What (components) did the Apollo command module and lunar module use the same? Who does early architectural work seem to come from? What problems plagued another early IC computer design? What were the segments driven by? What did electromechanical relays limit? What mode could three 5-digit numbers also be displayed in? Where was one of the two command module DSKYs located? What way were the numerals arranged in? What were the gates interconnected by? What pressure do the edges of the posts bite the wire with?
Exercise 3 Fill in the gaps using words from the previous text: (1) – undertaken, (2) – spacecraft, (3) – within, (4) – achieved, (5) – exploration, (6) – successful, – originally, (8) – overall, (9) – Apollo, (10) – Greek
(7)
Exercise 4 Decide which answer (A, B, C, D) best fits each gap: (1) – B (founded), (2) – C (teach), (3) – A (instruments), (4) – D (study), (5) – C (During), (6) – C (became), (7) – A (guidance), (8) – B (due)
76
Exercise 5 Match the words in Column A to the expressions in Column B: 1 – d, 2 – g, 3 – e, 4 – f, 5 – a, 6 – b, 7 – c
77