Компьютер
От Wikipedia, свободно энциклопедия
-
Для кассеты IEEE см. компьютер (кассету).
Компьютер будет машиной для манипулируя данных согласно перечню инструкции известные как программа.
Компьютеры весьма разносторонни. В действительности, они будут всеобщими information-processing машинами. Согласно тезису Церков-Тьюринг, компьютер с некоторой минимальной возможностью порога находится в принципе способном выполнять задачи любого другого компьютера. Поэтому, компьютеры при возможности колебаясь от того из личного цифрового ассистента к суперкомпьютеру могут все выполнить такие же задачи, покуда емкостью времени и памяти не будет рассмотрение. Поэтому, такие же конструкции компьютера могут быть приспособлены для задач колебаясь от обрабатывать зарплаты компании к контролируя беспилотным spaceflights. Из-за технологического выдвижения, самомоднейшие электронные компьютеры степенно более способны чем компьютериз предшествующих поколений (явления частично описанного Законом Moore's).
Компьютеры принимают многочисленнAp физические формы. Предыдущие электронные компьютеры были размером большой комнаты, пока все самомоднейшие врезанные компьютеры могут быть более малы чем палуба играть карточки. Даже сегодня, преогромные вычисляя средства все еще существуют для специализированного научного вычисления и для требований к прочесса передачи больших организаций. Более малые компьютеры конструированные для индивидуальной пользы вызваны компьютерами. Вместе с их портативным эквивалентом, портативнаяа @ЭВМ, компьютеры будет ubiquitous инструментами обрабатывать и связи информации и обычно большинств люди думают как «компьютер». Однако, самой общей формой сегодня компьютера in use будет врезанный компьютер. Врезанные компьютеры будут обычно относительно просто и физическ малые компьютеры используемые для того чтобы контролировать другое приспособление. Они могут контролировать машины от истребительнаяа авиация к промышленным роботам к цифровым камерам.
Содержание |
История вычислять
Первоначально, термина «компьютер» refer to персона которая выполнила численные вычисления, часто с помощью механически calculating приспособления или моделирующаяа вычислительная машина. Примеры этих предыдущих приспособлений, родоначальницев компьютера, включили абакус и механизм Antikythera, стародедовское греческое приспособление для высчитывать движения планет который датирует от около 87 BC. [1] Конец средние века увидел reinvigoration европейских математики и инженерства, и приспособление 1623 Wilhelm Schickard было первым из нескольких механически чалькуляторов построенных европейскими инженерами. [2]
В 1801, жаккард Иосиф Мари сделал улучшение к existing конструкциям тени которые использовали серию пробитых бумажных карточек как программа для того чтобы сплести затейливые картины. Приводя к тень жаккарда не учтена поистине компьютером но было важным шагом в развитие самомоднейших цифровых компьютеров.
Чарльз Babbage было первым для того чтобы conceptualize и конструировать польностью programmable компьютер начиная с 1820, но из-за комбинации пределов технологии времени, ограничиваемых финансов, и невозможности сопротивлять кустарничать с его конструкцией, приспособление никогда фактическ было построено в его продолжительности жизни. By the end of 19th столетие несколько технологии более поздно доказали бы полезно в вычислять появились, such as перфораторная карта и механотронный, и широкомасштабный автоматизированный ввод информации используя перфораторные карты были выполнены путем приводя машины конструированные Hermann Hollerith.
Во время первой половины 20th столетия, много научных вычисляя потребностям были отвечаны все больше и больше изощренные одноцелевые моделирующаяа вычислительная машина, которые использовали сразу механически или электрическую модель проблемы за основа для вычисления. Эти стали все больше и больше редкими после развития programmable цифрового компьютера.
Последовательность устоичив более мощных и более гибких вычисляя приспособлений была построена в 1930s и 1940s, постепенно добавляя ключевые характеристики самомоднейших компьютеров, such as польза цифровой электроники (больш изобретенной Клод Шеннон в 1937) [3] и более гибкой программируемости. Определять один пункт вдоль этой дороги как «первый цифровой электронный компьютер» exceedingly трудн. Замечательня достижение вклюают Atanasoff-Ягоду Компьютер (1937), одноцелевая машина которая использовала клапан-управляемое (механотронное) вычисление, бинарные номера, и регенеративную память; втихомолку великобританский компьютер колосса (1944), который ограничил программируемость но продемонстрировал что приспособление используя тысячи клапанов смогло быть и сделал надежной и после того как он перепрограммированной электронно; Harvard Марк iий, широкомасштабный электроий-механическ компьютер с лимитированной программируемостью (1944); десятичн-основанное американское ENIAC (1946) - было первым общего назначения электронным компьютером, но первоначально имело непреклонное зодчество которое намеревалось перепрограммирующ его необходимо потребовал, что он было rewired; и машины z Konrad Zuse, при электроое-механическ Z3 (1941) -механическ первой работая машиной отличая автоматической бинарной арифметикой и возможной программируемостью.
Команда начала ENIAC, узнавая свои рванины, come up с далеко более гибкой и более шикарной конструкцией, которая была известной как зодчество Von Neumann (или «, котор хранят зодчество программы»). Это, котор хранят зодчество программы стало основой для фактически всех самомоднейших компьютеров. Несколько проекты для того чтобы развить компьютеры основанные на, котор хранят зодчестве программы начали в mid к late-1940s; первое из этих были завершиты в Британии. Первое, котор нужно быть up and running было мелкомасштабной экспериментально машиной, но EDSAC было возможно первым практически вариантом который был начат.
Конструкции компьютера клапана (пробки) управляемые были in use в течении 1950s, но окончательн были заменены при транзистор-основанные компьютеры, которые были более малы, быстре, более дешевы, и очень более надежны, таким образом позволяя их коммерчески быть произведенным, в 1960s. К 1970s, принятие интегрировано - технология цепи позволила компьютеры быть произведенным на низко достаточной цене для того чтобы позволить индивидуалам к собственному компьютер.
Как компьютеры работают: , котор хранят зодчество программы
Пока технологии используемые в компьютерах изменили драматически с первых электронных, общецелевых компьютеров 1940s, наиболее все еще используйте, котор хранят иногда вызываемое зодчество программы (зодчеством von Neumann). Конструкция сделала всеобщим компьютером практически реальность.
Зодчество описывает компьютер с 4 главным образом разделами: блок арифметических и логики (ALU), сети управления, память, и собирательно термин приспособления для вывода входного сигнала и (вход-выходом). Эти части соединены пачками вызванных проводов («шинами» когда такая же пачка поддерживает больше чем один информационный канал) и обычно управлены отметчиком времени или часами (хотя другие случаи смогли управлять сетями управления).
Схематически, компьютерную память можно осмотреть как перечень клетки. Каждая клетка имеет пронумерованный «адрес» и может хранить малое, фикчированное количество информации. Этой информацией может то быть инструкция, говоря компьютеру сделать, или данным, информации компьютер должен обрабатывать использующ инструкции которые были помещены в памяти. В принципе, любую клетку можно использовать для того чтобы хранить или инструкции или данные.
ALU находится в много воспринимает сердце компьютера. Оно способен выполнять 2 типа основных деятельностей. Первое будет арифметическими деятельностями; for instance, добавляющ или вычитающ 2 номера совместно. Комплект арифметических деятельностей может быть очень лимитирован; деиствительно, некоторые конструкции сразу не поддерживают деятельности умножения и разделения (вместо, потребители поддерживают умножение и разделение до программы которые выполняют множественные добавления, вычитывания, и другие манипуляции числа). Второй тип деятельностей ALU включает деятельности сравнения: дали 2 номера, обусловливать если они равны, то, или if not равный который большле.
Системами вход-выхода будут середины компьютер получает информацию от внешнего мира, и сообщают свои результаты back to тот мир. На типичный компьютер, вводные устройства вклюают предметы как клавиатура и мышь, и приспособления для вывода вклюают мониторы компьютера, принтеры и cThe cLike, но как обсудит более поздно огромное разнообразие приспособлений можно подключить к компьютеру и подаче как приспособления вход-выхода.
Системаа управления связывает это все совместно. Своя работа должна прочитать инструкции и данные от памяти или приспособления вход-выхода, расшифровать инструкции, обеспечивая ALU с правильно входными сигналами согласно инструкциям, «говорят» ALU что деятельность, котор нужно выполнить на тех входных сигналах, и послать результаты back to память или к приспособлениям вход-выхода. Одним ключевым компонентом системаа управления будет счетчик keep track of адрес в настоящее время инструкции; типично, это инкрементировано each time инструкция исполнена, если инструкция сама не показать что следующая инструкция должна быть на некотором другом положении (позволяя компьютер повторно исполнить такие же инструкции).
С 1980s собирательно вызванный блок ALU и управления (процессор процессором или C P U) типично был устроен на интегрированной одиночной - вызванная цепь микропроцессором.
Действовать такого компьютера находится в принципе довольно straightforward. Типично, на каждый такта, компьютер fetches инструкции и данные от своей памяти. Инструкции исполнены, результаты хранятся, и следующая инструкция fetched. Повторения этой процедуры до инструкции остановки не столкнуться.
Комплект инструкций интерпретированных блоком управления, и исполненных ALU, ограничен in number, точно определен, и очень просто деятельности. Обширно, они поместили в one or more из 4 категорий: 1) moving данный от одного положения к другим (примером мог быть инструкция «говорит, что» C P U «копирует содержание ячейкы памяти 5 и устанавливает экземпляр в клетке 10»). 2) исполняя арифметические и логически процессы на данных (for instance, «добавьте содержание клетки 7 к содержанию клетки 13 и установьте результат в клетке 20»). 3) испытывая условие данных («если содержание клетки 999 0, то, следующая инструкция находится на клетке 30»). 4) изменяя последовательность операций (ранее пример изменяет последовательность операций, но инструкциями such as «следующая инструкция находятся на клетке 100» будут также стандарт).
Инструкции, как данные, представлены внутри компьютер как бинарное Кодий - низкопробная система 2 подсчитывать. Например, Кодий для одной вроде деятельности «экземпляра» в линии Intel x86 микропроцессоров 10110000 [4]. Определенный комплект инструкции специфически компьютер поддерживает как что машинный язык компьютера. Использование уже-популярного машинного языка делает его гораздо легке побежать existing средство программирования на новой машине; следовательно, в рынках где коммерчески наличием средства программирования будет важные поставщики сходилось на одном или очень малом количестве определенных машинных языков.
Более мощные компьютеры such as минимашины, большие ЭВМ и серверы могут отличать от модели выше путем разделять их работу между больше чем одним GLAVNым C P U. Мультипроцессор и multicore личных и портативнаяа @ЭВМ также начинают быть имеющимися. [5] [6]
Суперкомпьютеры часто имеют высоки необыкновенные зодчеств значительно отличающиеся от основное stored-program зодчество, иногда отличая тысячами C P U, но такие конструкции клонат быть полезны только для специализированных задач. С другой стороны маштаба размера, некоторые microcontrollers используют зодчество Harvard которое обеспечивает что память программы и данных логически отдельно.
Цифровые цепи
Схематическая конструкция выше была в состоянии быть снабжена использующ разнообразие по-разному технологий. Как ранее после того как я упомянут, котор хранят компьютер программы был в состоянии быть конструирован вс механически компонентов как приспособления Babbage или Digi-Comp i. Однако, цифровые цепи позволяют булевские логику и арифметику использующ бинарные цифры, котор нужно снабдить использующ релеих - необходимо, электрически controlled переключатели. Показанный тезис Шеннон известный как релеие смогли быть аранжированы, что сформировали вызванные блоки стробами логики, снабжающ просто булевские деятельности. Другие скоро вычисляли вне что пробки вакуума - электронные приспособления, смогли быть использованы вместо. Пробки вакуума первоначально были использованы как усилитель сигнала для радиоего и других применений, но использованы в цифровой электронике как очень быстрый переключатель; когда электричество снабжено один из штырей, течение может flow through между другие 2.
Через расположения стробов логики, одно может построить цифровые цепи для того чтобы сделать более сложные задачи, for instance, сумматор, который снабжает в электронике такой же метод - в терминологии компьютера, алгоритм - для того чтобы добавить 2 номера совместно что дети научены - добавляет одну колонку одновременно, и носит оставлено сверх. Окончательн, до совмещать цепи совместно, вполне ALU и системаа управления можно build up. Это требует значительного количества компонентов. CSIRAC, один из самых предыдущих stored-program компьютеров, вероятно close to самая малая практически полезная конструкция. Оно имел около 2.000 клапанов, некоторое of which были «двойные компоненты» [7], так это быть представленным где-то между 2.000 и 4.000 компонентами логики.
Пробки вакуума имели строгие ограничения для конструкции большое количество стробов. Они были дорогими, ненадежно (определенно PRI использовании в таких больших количествах), take up множество космоса, и использовали множество электропитания, и, пока неимоверно быстрая сравненная к механически переключателю, имели пределы к скорости на которой они смогли работать. Поэтому, к 1960s они были заменены транзистором, новым приспособлением которое выполнило такую же задачу как пробка но было гораздо малее, более быстро работать, надежный, использовали очень меньше силу, и были далеко более дешевы.
В 1960s и 1970s, транзистор сам постепенно был заменен интегрированное - обойдите вокруг, которое установило множественные транзисторы (и другие компоненты) и проводы соединяя их на одиночной, твердой части кремния. К 1970s, весь блок ALU и управления, комбинация известен как C P U, помещался на одиночном «вызванном обломоке» микропроцессором. Над историей интегрированное - обойдите вокруг, число компонентов которые можно поместить на одном росли преогромно. Первый IC, котор содержат немного 10 компонентов; от 2006, обработчик дуа сердечника Intel содержит 151 миллион транзисторов. [8]
Пробки, транзисторы, и транзисторы на интегрировано - цепи можно использовать как компонент «хранения» stored-program зодчества, использующ конструкцию цепи известную как flip-flop, и деиствительно flip-flops использованы для малого количества очень высокоскоростного хранения. Однако, немногие конструкции компьютера использовали flip-flops для большого части их потребностей хранения. Вместо, самые предыдущие компьютеры хранили данные в пробках Williams - необходимо, проектировать некоторые многоточия на экране TV и читать их снова, или ртуть лини задержки где данные хранились по мере того как ядровые ИМПы ульс перемещая медленно (сравнено к машине самей) вдоль длинних пробок заполнили с ртутью. Эт несколько ungainly только эффективные методы окончательн были заменены магнитными приспособлениями памяти, such as память магнитного сердечника, где электрические течения были использованы для того чтобы ввести постоянное (но слабое) магнитное поле в некотором железистом материале, который смог после этого быть прочитаны, что retrieve данные. Окончательн, DRAM был введен. Блоком DRAM будет тип после того как он интегрирован - цепь содержа огромные крены электронного вызванного компонента конденсатором может хранить плата за электроэнергию на периодо времени. Уровень обязанности в конденсаторе был в состоянии быть установлен для того чтобы хранить информация, и после этого измерен для того чтобы прочитать информацию после того как он потребован.
Приспособления вход-выхода
Вход-выходом (скоро для вход-выхода) будет вообще термина для приспособлений посылают данные по компьютеров от внешнего мира и возвращает результаты вычислений. Эти результаты могут или быть осмотрены сразу потребителем, или им можно послать к другой машине, управление которой было задано к компьютеру: В роботе, for instance, приспособлении для вывода контролируя компьютера главном находится робот сам.
Оборудовало первое поколение компьютеров с справедливо лимитированным рядом вводных устройств. Читатель перфораторной карты, или что-то подобное, были использованы для того чтобы вписать инструкции и данные в компьютерную память, и некоторый вроде принтер, обычно доработанный телетайп, был использован для того чтобы записать результаты. Над летами, другие приспособления были добавлены. Для компьютера, for instance, клавиатур и мышей главным образом дороги, котор люди сразу вписывают информацию в компьютер; и мониторы будут главным образом дорогой в информация от компьютера back to потребитель, однако принтеры, дикторы, и наушники общие, слишком. Будет огромное разнообразие других приспособлений для получать другие типы входного сигнала. Одним примером будет цифровая камера, которую можно использовать для того чтобы input визуально информация. 2 видно типа приспособлений вход-выхода. Первый тип то из вторичных запоминающих устройств, such as трудные диски, CD-ROMs, приводов ключа и cThe cLike, которые представляют сравнительно медленное, только high-capacity приспособлений, где информация можно хранить для более последнего возвращения; второй тип то из приспособлений используемых для того чтобы достигнуть компьютерных сетей. Способность возвратить данные между компьютерами open up огромный ряд возможностей для компьютера. Гловальный интернет позволяет миллионы компьютеров возвратить информацию всех типов между собой.
Программы
Компьутерными программами будут просто перечни инструкции для компьютера исполнить. Эти могут заколебаться от как раз немного инструкций выполняют простая задача, к очень более сложному списку инструкции который может также включить таблицы данных. Много компьутерных программ содержат миллионы инструкций, и много из тех инструкций исполнены повторно. Типичный самомоднейший пикокулон (в годе 2005) может исполнить вокруг 3 миллиарда инструкции в секунду. Компьютеры не приобретают их внесметные возможности через способность исполнить сложные инструкции. Довольно, они делают миллионы просто инструкций аранжированных людьми известными как программники.
In practice, люди нормальн не пишут инструкции для компьютеров сразу в машинном языке. Такой программировать time-consuming и error-prone, делающ программники более менее производительным. Вместо, программники описывают заданные действия в «максимуме - ровном» языке программирования который после этого переведен в машинный язык автоматически специальными компьутерными программами (переводчики и составители). Некоторые языки программирования составляют карту очень близко к машинному языку, such as ассемблер (низкоуровневые языки); с другой стороны, языки как пролог основаны на абстрактных принципах далеко, котор извлекли от деталей деятельности машины фактической (максимума - ровных языков). Язык выбранный для определенной задачи зависит на природе задачи, комплекта программников, наличия искусства инструмента и, часто, требования клиентов (for instance, NEOBXODIMY, что находились проекты для воиска США часто в языке программирования Ada).
Средством программирования компьютера будет другая термина для компьутерных программ; будет более включительной фразой и вклюает all the вспомогател материал сопровождая программу NEOBXODIMO для того чтобы сделать полезные задачи. For instance, видео- игра вклюает not only программу самое, но также данные представляя изображения, звуки, и другой материал NEOBXODIMA для того чтобы создать фактически окружающую среду игры. Прикладной программой для компьютера будет часть средства программирования компьютера снабженная много потребителей компьютера, часто в розничной окружающей среде. Стереотипно самомоднейшим примером применения будет возможно сюита офиса, комплект взаимосвязанных программ для выполнять общие задачи офиса.
Идти от весьма просто возможностей одиночной инструкции машинного языка к myriad возможностям программ применения намеревается что много компьутерных программ весьма большие и сложные. Типичным примером будет Windows XP, созданное от грубо 40 миллионов линий компьютерного кода в языке программирования C++; [9] будут много проектов даже более большого объема, построенных большими командами программников. Управление этой преогромной сложности ключево к делать такие проекты по возможности; языки программирования, и программируя практики, включают задачу быть разделенным в более малые и более малые subtasks до тех пор пока они не прийти в пределах возможностей одиночного программника в разумно периоде.
Однако, процесс начинать средство программирования остает медленным, непрогнозируемым, и error-prone; дисциплина инженерства средства программирования пытала, с некоторым успехом, сделать отростчатое быстро и производительно и улучшить качество конечныйа продукт.
Проблема или модель вычислительны если оформлено в такой дороге, то можно преобразовать к форме компьутерной программы. Computationality будет серьезной проблемой исследования humanistic, социально и психологические науки, например, самомоднейшее systemics, познавательные и socio-познавательные [10] approches начинают по-разному attemps к вычислительной спецификации их знания «нежности».