Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Stored program architecture (II)




Comparatively, person using a pocket calculator can perform a basic arithmetic operation such as adding two numbers with just a few button presses. But to add together all of numbers from 1 to 1,000 would take thousand of button presses and a lot of time-with a near certainty of marking a mistake. On the other hand, a computer may be programmed to do this with just a few simple instructions.

Once told to run this program, the computer will perform the repetitive addition task without further human invention. It will almost never make a mistake and a modern PC can complete the task in about a millionth of a second.

However, computer cannot “think” for themselves in the sense that they only solve problems in exactly the way they are programmed to. An intelligent human faced with the above addition task might soon realize that instead of actually adding up all the numbers one can simply use the equation

and arrive at the correct answer (500,500) with little work. Many modern computers are able to make some decision that speed up the execution of some programs by “guessing” about the outcomes of certain jump instructions and re-arranging the order of instructions slightly without changing their meaning (branch prediction, speculative execution, and out-of-order execution). However, computers cannot intuitively determine a more efficient way to perform the task given to them because they do not have an overall understanding of what the task, or the “big pictures”, is. In other words, a computer programmed to add up the numbers one by one as in the examples above, would do exactly that without regard to efficient or alternative solutions.

Module 3

LESSON 1

Translate into Ukrainian.


Punched card, label, for identification purposes, might include, word processor, web browser, may take teams of computer programmers’ years, probability, entire program, completely, in the manner intended, unlikely, error, benign, to affect, usefulness, in other cases, they might cause, subtle problems, fail (crash), for malicious intent, creating a security exploit, otherwise, merely, oversight, handful, several, to choose from each, numerical, alongside, manipulate inside the computer, crux, is kept separate from, display some traits, in CPU caches.

Read and translate the text.

 

Programs

A 1970s punched card contains one line from a FORTRAN program. The card reads:”Z (1)=Y+W(1)” and is labeled “PROJ39” for identification purposes.

In practical terms, a computer program might include anywhere from a dozen instructions to many millions of instructions for something like a word processor or a web browser. A typical modern computer can execute billions of instructions every second and nearly never make a mistake over years of operation

Large computer programs may take teams of computer programmers’ years to write and the probability of the entire program having been written completely in the manner intended is unlikely. Errors in computer programs are called bugs.Sometimes bugs are benign and do not affect the usefulness of the program, in other cases they might cause the program to completely fail (crash), in yet other cases there may be subtle problems. Sometimes otherwise benign bugs may be used for malicious intent, creating a security exploit. Bugs are usually not the fault of the computer. Since computers merely execute the instructions they are given, bugs are nearly always the result of programmer error or an oversight made in the program’s design.

In most computers, individual instructions are stored as machine code with each instruction being given a unique number (its operation code or opcode for short).The command to add two numbers together would have one opcode, the command to multiply them would have a different opcode and so on. The simplest computers are able to perform any of a handful of different instructions; the more complex computers have several hundred to choose from each with a unique numerical code. Since the computer’s memory is able to store numbers, it can also store the instruction codes. This leads to the important fact that entire programs (which are just lists of instructions) can be represented as lists of numbers and can themselves be manipulated inside the computer just as if they were numeric data. The fundamental concept of storing programs in the computer’s memory alongside the data they operate on is the crux of the von Neumann, or stored program architecture. In some cases, a computer might store some or its entire program in memory that is kept separate from the data it operates on. This is called the Harvard architecture after the Harvard Mark I computer. Modern von Neumann computers display some traits of the Harvard architecture in their designs, such as in CPU caches.

LESSON 2

Read and translate the text.

Programs (II)

While it is possible to write computer programs as long lists of numbers (machine language) and this technique was used with many early computers, it is extremely tedious to do so in practice, especially for complicate programs. Instead, each basic instruction can be given a short name that is indicative of its function and easy to remember a mnemonic such as ADD, SUB, MULT or JUMP. These mnemonics are collectively known as a computer’s assembly language. Converting programs written in assembly language into something the computer can actually understand (machine language) is usually done by a computer program called an assembler. Machine languages and the assembly languages that represent them (collectively termed low-level programming languages) tend to be unique to a particular type of computer. This means that an ARM architecture computer (such as may be found in a PDA or a hand-held videogame) cannot understand the machine language if an Intel Pentium or the AMD Athlon 64 computer that might be in a PC.

Though considerably easier than in machine language, writing long programs in assembly language are often difficult and error prone. Therefore, most complicated programs are written in more abstract high-level programming languages that are able to express the needs of the computer programmer more conveniently (and thereby help reduce programmer error). High level languages are usually “compiled” into machine language (or sometimes into assembly languages and then into machine language) using another computer program called a compiler. Since high level languages are more abstract than assembly language, it is possible to use different compilers to translate the same high level language program into the machine language of many different types of computer. This is part of the means by which software like video games may be made available for different computer architectures such as personal computers and various video game consoles.

Translate into Ukrainian. extremely tedious

1. to do so in practice

2. especially

3. complicate

4. instead of

5. each basic instruction

6. to convert into

7. collectively termed

8. low-level programming languages

9. tend

10. though

11. considerably easier than

12. difficult and error prone

13. therefore

14. are able to express

15. more conveniently

16. compiler

17. of the means by which

18. software

19. console

 

Module 4

LESSON 1

How computers work

A general purpose computer has four main sections: the arithmetic and logic unit (ALU), the control unit, the memory, and the input and output devices (collectively termed 1/0). These parts are interconnected by busses, often made of groups of wires.

The control unit, ALU, registers, and basic 1/0 (and often other hardware closely linked with these) are collectively known as a central processing unit (CPU). Early CPUs were comprised of many separate components but since the mid-1970s CPUs have typically been constructed on a single integrated circuit called a microprocessor.

Translate into Russian.

 

1. general purpose computer

2. main

3. arithmetic and logic unit memory

4. input and output devices

5. bus

6. wire

7. register

8. hardware

9. central processing unit

10. to be comprised of

11. single integrated circuit

12. microprocessor

Give a full name.

ALU-

1/0-

CPU-

LESSON 2-3

Read and translate the text.

Control unit

The control unit (often called a control system or central controller) directs the various components of a computer. It reads and interprets (decodes) instructions in the program one by one. The control system decodes each instruction and turns it into a series of control signals that operate the other parts of the computer. Control systems in advanced computers may change the order of some instructions so as to improve performance.

A key component common to all CPUs is the program counter; a special memory cell (a register) that keeps track of which location in memory the next instruction is to be read from.

The control system's function is as follows - note that this is a simplified description and some of these steps maybe performed concurrently or in a different order depending on the type of CPU:

1. Read the code for the next instruction from the cell indicated by the program counter.

2. Decode the numerical code for the instruction into a set of commands or signals for each of the other systems.

3. Increment the program counter so it points to the next instructions.

4. Read wherever data the instruction requires from cells in memory (or perhaps from an input device). The location of this required data is typically stored within the instruction code.

5. Provide the necessary data to an ALU or register.

6. If the instruction requires an ALU or specialized hardware to complete, instruct the hardware to perform the requested operation.

7. Write the result from the ALU back to a memory location or to a register or perhaps an output device.

8. Jump back to step (1).

Since the program counter is (conceptually) just another set of memory cells, it can be changed by calculations done in the ALU. Adding 100 to the program counter would cause the next instruction to be read from a place 100 locations further down the program. Instructions that modify the program counter are often known as «jumps" and allow for loops (instructions that are repeated by the computer) and often conditionally instruction execution (both example of control flow).

It is noticeable that the sequence of operations that the control unit goes through to process an instruction is in itself like a short computer program - and indeed, in some more complex CPU designs, there is another smaller computer called a micro sequencer that runs a microcode program that causes all of these events to happen.

Translate into English

Управлять, каждая инструкция, превращать в, увеличьте программный счетчик, усовершенствованный компьютер, изменять порядок инструкции, требующиеся данные,аппаратное обеспечение, последовательность операций, запустить программу, вызывать (быть причиной), в более сложных конструкциях ЦПУ, обрабатывать инструкцию, на 100 положений дальше.


LESSON 4

Read and translate the text.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...