Механические средства в вычислительных
Computer
A computer is a general purpose device that can be programmed to carry out a set of arithmetic or logical operations. Since a sequence of operations can be readily changed, the computer can solve more than one kind of problem.
Conventionally, a computer consists of at least one processing element, typically a central processing unit (CPU) and some form of memory. The processing element carries out arithmetic and logic operations, and a sequencing and control unit that can change the order of operations based on stored information. Peripheral devices allow information to be retrieved from an external source, and the result of operations saved and retrieved.
In World War II, mechanical analog computers were used for specialized military applications. During this time the first electronic digital computers were developed. Originally they were the size of a large room, consuming as much power as several hundred modern personal computers (PCs).[1]
Modern computers based on integrated circuits are millions to billions of times more capable than the early machines, and occupy a fraction of the space.[2] Simple computers are small enough to fit into mobile devices, and mobile computers can be powered by small batteries. Personal computers in their various forms are icons of the Information Age and are what most people think of as “computers.” However, the embedded computers found in many devices from MP3 players to fighter aircraft and from toys to industrial robots are the most numerous.
Etymology
The first recorded use of the word “computer” was in 1613 in a book called “The yong mans gleanings” by English writer Richard Braithwait I haue read the truest computer of Times, and the best Arithmetician that euer breathed, and he reduceth thy dayes into a short number. It referred to a person who carried out calculations, or computations, and the word continued with the same meaning until the middle of the 20th century. From the end of the 19th century the word began to take on its more familiar meaning, a machine that carries out computations.[3]
Mechanical aids to computing
The history of the modern computer begins with two separate technologies, automated calculation and programmability. However no single device can be identified as the earliest computer, partly because of the inconsistent application of that term.[4] A few precursors are worth mentioning though, like some mechanical aids to computing, which were very successful and survived for centuries until the advent of the electronic calculator, like the Sumerian abacus, designed around 2500 BC[5] of which a descendant won a speed competition against a contemporary desk calculating machine in Japan in 1946,[6] the slide rules, invented in the 1620s, which were carried on five Apollo space missions, including to the moon[7] and arguably the astrolabe and the Antikythera mechanism, an ancient astronomical analog computer built by the Greeks around 80 BC.[8] The Greek mathematician Hero of Alexandria (c. 10–70 AD) built a mechanical theater which performed a play lasting 10 minutes and was operated by a complex system of ropes and drums that might be considered to be a means of deciding which parts of the mechanism performed which actions and when.[9] This is the essence of programmability.
Programs
The defining feature of modern computers which distinguishes them from all other machines is that they can be programmed. That is to say that some type of instructions (the program) can be given to the computer, and it will process them. Modern computers based on the von Neumann architecture often have machine code in the form of an imperative programming language.
In practical terms, a computer program may be just a few instructions or extend to many millions of instructions, as do the programs for word processors and web browsers for example. A typical modern computer can execute billions of instructions per second (gigaflops) and rarely makes a mistake over many years of operation. Large computer programs consisting of several million instructions may take teams ofprogrammers years to write, and due to the complexity of the task almost certainly contain errors
Stored program architecture
This section applies to most common RAM machine-based computers.
In most cases, computer instructions are simple: add one number to another, move some data from one location to another, send a message to some external device, etc. These instructions are read from the computer's memory and are generally carried out (executed) in the order they were given. However, there are usually specialized instructions to tell the computer to jump ahead or backwards to some other place in the program and to carry on executing from there. These are called “jump” instructions (or branches). Furthermore, jump instructions may be made to happen conditionally so that different sequences of instructions may be used depending on the result of some previous calculation or some external event. Many computers directly support subroutines by providing a type of jump that “remembers” the location it jumped from and another instruction to return to the instruction following that jump instruction.
Program execution might be likened to reading a book. While a person will normally read each word and line in sequence, they may at times jump back to an earlier place in the text or skip sections that are not of interest. Similarly, a computer may sometimes go back and repeat the instructions in some section of the program over and over again until some internal condition is met. This is called the flow of control within the program and it is what allows the computer to perform tasks repeatedly without human intervention.
Comparatively, a 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 the numbers from 1 to 1,000 would take thousands of button presses and a lot of time, with a near certainty of making a mistake. On the other hand, a computer may be programmed to do this with just a few simple instructions. For example:
компьютер
Компьютерустройство общего назначения , который может быть запрограммирован для выполнения набор арифметических или логических операций. Так какпоследовательность операций может быть легко изменена , компьютер может решить более одного рода проблемы .
Традиционно, компьютер состоит из по меньшей мере одного элемента обработки , обычно центрального процессорного устройства (ЦПУ) и иной форме памяти. Процессорный элемент выполняет арифметические и логические операции , исеквенирование и блок управления , который может изменить порядок выполнения операций на основе сохраненной информации . Периферийные устройства позволяют информация, которая будет извлечена из внешнего источника, и результат операции сохранены и восстановлены.
Во Второй мировой войне , механические аналоговые компьютеры были использованы для специализированных военных приложений . За это время были разработаны первые электронные цифровые вычислительные машины . Первоначально они были размером с большую комнату , потребляя столько же энергии , как несколько сотен современных персональных компьютеров ( ПК) . [1]
Современные компьютеры на базе интегральных схем миллионы в миллиарды раз более способными , чем ранние машин , и занимают меньше места . [2] Простые компьютеры достаточно мал, чтобы поместиться в мобильные устройства , и мобильные компьютеры могут работать от батареек . Персональные компьютеры в их различных формах являются иконы информационного века и то, что большинство людей думают о как " компьютеров. " Тем не менее, встраиваемые компьютеры , найденные во многих устройствах от MP3-плееров до истребителей и от игрушек до промышленных роботов являются наиболее многочисленными .
этимология
Первая запись об использовании слова "компьютер" был в 1613 году в книге под названием " Ен Ман собранные факты " английского писателя Ричарда Braithwait я haue прочитать истинную компьютер от Times, и лучший арифметики этой euer дышал , и он reduceth dayes твои в короткий номер. Она сослалась на человека , проводившего расчеты или расчеты , и слово продолжалось в том же значении до середины 20-го века . С конца 19-го века слово стали брать на его более знакомым смысла , машина , которая выполняет вычисления. [3]
Механические средства в вычислительных
История современного компьютера начинается с двух отдельных технологий, автоматизированного расчета и программирования . Однако ни один прибор не может быть идентифицирована как можно скорее компьютере , частично из-за непоследовательного применения этого термина. [4] Несколько предшественники стоит упомянуть хотя , как и некоторые механические приспособления вычислений , которые были очень успешными и не выжили в течение многих столетий , пока Появление электронного калькулятора , как шумерского счеты , строится вокруг 2500 до н.э. [5] из которых потомок выиграл соревнования на скорость против современного настольного расчета машины в Японии в 1946 году, [ 6 ] , что логарифмические линейки , придуманные в 1620-х годов , которые были проведены на пяти Аполлона космических миссий , в том числе на Луну [7] и, возможно, астролябии и механизм Антикитера , древний астрономический аналоговый компьютер построен греками около 80 г. до н. [8]греческий математик Герон Александрийский (ок. 10 -70 н.э.) построил механическую театр, который показал пьесу прочного 10 минут и была сделана операция по сложной системе тросов и барабанов , которые могут рассматриваться в качестве средства принятия решения , какие части механизма выполнены , какие действия и когда. [9] Это и есть суть программирования .
Программы
Определяющей чертой современных компьютеров , которые отличает их от всех других машин в том, что они могут быть запрограммированы . То есть , что некоторый тип инструкций (программа ) может быть задана к компьютеру, и он будет обрабатывать их. Современные компьютеры на базе архитектуры фон Неймана часто имеют машинный код в виде императивного языка программирования.
С практической точки зрения , компьютерная программа может быть несколько инструкций или распространяется на многие миллионы инструкций , как это делают программы для текстовых процессоров и веб-браузеров , например. Типичный современный компьютер может выполнять миллиарды операций в секунду ( GigaFLOPS ) и редко ошибается в течение многих лет эксплуатации. Большие компьютерные программы , состоящие из нескольких миллионов операций может занять команд- ofprogrammers лет, чтобы написать , и в связи со сложностью задачи почти наверняка содержат ошибки
Хранится архитектура программы
Этот раздел относится к наиболее распространенных RAM машин на базе компьютеров.
В большинстве случаев , компьютерные инструкции просты: добавить одно число на другое, переместить некоторые данные из одного места в другое , послать сообщение некоторого внешнего устройства и т.д. Эти инструкции считываются из памяти компьютера и , как правило, осуществляется (выполнено) в порядке их дали . Тем не менее, как правило, специализированные инструкции , чтобы сказать компьютер , чтобы перейти вперед или назад в другое место в программе и вести выполнения оттуда. Они называются "Jump" инструкции (или филиалы) . Кроме того, инструкций перехода могут быть сделаны произойти условно , так что разные последовательности инструкций могут быть использованы в зависимости от результата предыдущего вычисления некоторых или некоторого внешнего события . Многие компьютеры непосредственно поддерживает подпрограммы , предоставляя тип прыжка , что " помнит " расположение это прыгнул с и другой оператор , чтобы вернуться в инструкции, которая следует этой инструкции перехода .
Выполнение программы можно сравнить с чтения книги . В то время как человек , как правило, читать каждое слово и линию в последовательности, они могут время от времени вернуться назад к более ранней месте в тексте или пропустить разделы, которые не представляют интереса . Аналогичным образом, компьютер может иногда вернуться назад и повторить инструкциям в некотором разделе программы снова и снова , пока некоторые внутреннее состояние не будет выполнено . Это называется поток управления в рамках программы , и это то, что позволяет компьютеру выполнять задачи неоднократно без вмешательства человека.
Для сравнения, человек, использующий карманный калькулятор может выполнять основные арифметические операции, например сложения двух чисел с помощью нескольких нажатий кнопки . Но сложить все числа от 1 до 1000 займет тысячи нажатия кнопок и много времени , с практически полной уверенности совершить ошибку . С другой стороны , компьютер может быть запрограммирован , чтобы сделать это с помощью нескольких простых инструкций . Например: