Читайте также:
|
|
Visualization of a portion of the routes on the Internet.
Computers have been used to coordinate information between multiple locations since the 1950s. The U.S. military's SAGE system was the first large-scale example of such a system, which led to a number of special-purpose commercial systems like Sabre.
In the 1970s, computer engineers at research institutions throughout the United States began to link their computers together using telecommunications technology. This effort was funded by ARPA (now DARPA), and the computer network that it produced was called the ARPANET. The technologies that made the Arpanet possible spread and evolved.
In time, the network spread beyond academic and military institutions and became known as the Internet. The emergence of networking involved a redefinition of the nature and boundaries of the computer. Computer operating systems and applications were modified to include the ability to define and access the resources of other computers on the network, such as peripheral devices, stored information, and the like, as extensions of the resources of an individual computer. Initially these facilities were available primarily to people working in high-tech environments, but in the 1990s the spread of applications like e-mail and the World Wide Web, combined with the development of cheap, fast networking technologies like Ethernet and ADSL saw computer networking become almost ubiquitous. In fact, the number of computers that are networked is growing phenomenally. A very large proportion of personal computers regularly connect to the Internet to communicate and receive information. "Wireless" networking, often utilizing mobile phone networks, has meant networking is becoming increasingly ubiquitous even in mobile computing environments.
Компьютер
Суперкомпьютерные Колумбии, расположен в NASA Ames Research Center.
Компьютер HP ноутбук.
Компьютер программируемые машины, которая получает данные, магазины и манипулирует данными / / информацию, а также обеспечивает выход в удобном формате.
В то время как компьютер может, в теории, быть изготовлены из чего угодно, и механические примеры компьютеры существовали на протяжении большей части человеческой истории, первые электронно-вычислительные машины были разработаны в середине 20-го века (1940-1945). Изначально они были размером с большую комнату, потребляя столько же энергии, как несколько сотен современных персональных компьютеров (ПК). Современные компьютеры на базе интегральных схем миллионы и миллиарды раз более способными, чем ранние машин, и занимают часть пространства. Простые компьютеры являются достаточно маленькими, чтобы вписаться в мобильных устройствах и может питаться от маленькой батарейки. Персональные компьютеры в их различных формах иконы информационный век, и то, что большинство людей считают "компьютеры". Тем не менее, встраиваемых компьютеров во многих устройств от MP3-плееров до истребителей и от игрушек до промышленных роботов являются наиболее многочисленными.
Заблуждения
Компьютер не должны быть электрическим, ни даже процессора, ни памяти, ни даже жесткий диск. Минимальная определение компьютере все, что превращает информацию целенаправленно.
Вычислительные системы, гибкая, как персональный компьютер может быть построен из почти ничего. Например, компьютер может быть сделан из бильярдных шаров (бильярдный шар компьютере), это неинтуитивными и педагогической например, что компьютер может быть сделана из чего угодно. Более реалистично, современные компьютеры, изготовленные из транзисторов сделан из photolithographed полупроводников.
Исторически сложилось, что компьютеры эволюционировали от механических компьютерах и в конечном итоге от транзисторов вакуумной трубки.
Существует активные исследования, чтобы сделать компьютеры из многих новых перспективных видов техники, таких как оптические компьютеры, ДНК-компьютеры, нейронные компьютеры и квантовые компьютеры. Некоторые из них можно легко справиться с проблемами, что современные компьютеры не могут (например, как квантовые компьютеры могут нарушить некоторые современные алгоритмы шифрования по факторингу квантовая).
Парадигмы Архитектура компьютера
Некоторые разных парадигм, как собрать компьютер с нуля до
RAM машины
Эти типы компьютеров с процессором, оперативной памяти компьютера и т.д., которые понимают основные инструкции в машинный язык. Концепция эволюционировала от машины Тьюринга.
Мозги
Мозг массивно-параллельных процессоров сделаны из нейронов, проводная в замысловатые узоры, которые общаются с помощью электричества и нейромедиаторов химических веществ.
Языки программирования
Такие, как лямбда-исчисление, или современные языки программирования, являются виртуальными компьютерами построен на другие компьютеры.
Клеточные автоматы
Например, игра в жизни может создать "планеров" и "петли" и других конструкций, которые передают информацию; эта парадигма может быть применен к ДНК-вычислений, химические компьютеры, и т.д.
Групп и комитетов
Связывания нескольких компьютеров (мозгов) представляет собой компьютер
Логика ворота общую абстракцию, которая может применяться для большинства из вышеперечисленных цифровой или аналоговый парадигм.
Способность хранить и выполнять списки инструкций, называемых программ делает компьютеры чрезвычайно универсальны, отличающей их от калькуляторов. Тезис Черча-Тьюринга является математической постановке этой универсальности: любой компьютер с определенным Тьюринг-полной, в принципе, способны выполнять те же задачи, что любой другой компьютер может выполнять. Поэтому любой тип компьютера (нетбука, суперкомпьютер, клеточный автомат, и т.д.) может выполнять те же вычислительные задачи, учитывая достаточное количество времени и памяти.
Ограниченная функция компьютеры
Наоборот, компьютер, который ограничен в функции (тот, который не является "Тьюринг-полной") не может моделировать произвольные вещи. Например, простой четыре функции калькулятора не может имитировать реальный компьютер без вмешательства человека. В качестве более сложного примера, без возможности программирования игровых консолей, она никогда не может выполнить то, что программируемый калькулятор с 1990-х годов могла бы (при наличии достаточного времени); система в целом не Тьюринг-полной, даже если он содержит Тьюринга -полное компонента (микропроцессор). Живые организмы (тело, а не мозг) также ограниченные функции компьютеров разработан, чтобы сделать копии самих себя, они не могут быть перепрограммирован без генной инженерии.
Виртуальные компьютеры
«Компьютер» обычно рассматривается как физическое устройство. Тем не менее, можно создать компьютерную программу, которая описывает, как управлять другим компьютером, то есть «имитации компьютер в компьютере". Это не только конструктивное доказательство тезиса Черча-Тьюринга, но также чрезвычайно распространены во всех современных компьютерах. Например, некоторые языки программирования используют так называемый переводчик, который является моделирование компьютер построен на вершине основного компьютера, что позволяет программистам писать код (вход компьютера) на другом языке, чем тот понимает базе компьютера (альтернативное является использование компилятора). Кроме того, виртуальные машины моделируются компьютеров, которые практически повторить физическом компьютере в программном обеспечении, и очень часто используются ИТ. Виртуальные машины также общая техника, используемая для создания эмуляторов, таких эмуляторов игровых консолей.
Первое использование слова "компьютер" был записан в 1613 году, имея в виду человека, который проведенных расчетов или расчетов, а слово продолжало использоваться в том смысле, вплоть до середины 20-го века. С конца 19-го века, хотя, слово стали брать на свои более привычные значения, описывающие машину, которая осуществляет расчеты.
Ограниченная функция древних компьютеров
Ткацкий станок жаккард, на выставке в Музее науки и промышленности в Манчестере, Англия, был одним из первых программируемых устройств.
История современного компьютера начинается с двух отдельных технологий автоматизированного расчета и программирования, но ни одного устройства могут быть идентифицированы как самые ранние компьютер, отчасти из-за непоследовательного применения этого термина. Примерами ранних механических вычислительных устройств включают счеты, логарифмическая линейка и, возможно, астролябии и механизм Antikythera, древняя астрономическая компьютер, построенный греками около 80 BC.The греческий герой математик из Александрии (ок. 10-70 г. н.э.) построил механический театр, который проводится игра длится 10 минут и была сделана операция по сложной системе тросов и барабанов, которые могут рассматриваться как средство решения каких частей механизма выполнены, какие действия и когда. Это суть программирования.
"Замок часы", астрономические часы изобретены Джазаири в 1206 году, считается самым ранним программируемый аналоговый компьютер. Это отображается зодиака, солнечные и лунные орбиты, полумесяц формы указателя путешествия по шлюзу вызывают автоматические двери, чтобы открыть каждый час, и пять роботов музыкантов, которые играли музыку, когда поражен рычагами управляется вала прикреплена к воде колесо. Продолжительность дня и ночи может быть повторно запрограммирован для компенсации изменения длины дня и ночи в течение года.
Ренессанс видел повторной активизации европейской математики и инженерии. 1623 Устройство Вильгельм Schickard был первый из ряда механических калькуляторов построены европейские инженеры, но никто соответствуют современным определением компьютера, потому что они не могут быть запрограммированы.
Первые компьютеры общего назначения
В 1801 году Жозеф Мари Жаккард сделаны улучшения в текстильной ткацком станке путем введения ряда перфорированных бумажных карт в качестве шаблона, который позволил своим ткацким станком плести замысловатые узоры автоматически. В результате жаккардовый ткацкий станок был важным шагом в развитии компьютеров, поскольку использование перфокарт для определения тканые картины можно рассматривать как ранний, хотя и ограниченные, форма программирования.
Это было слияние с автоматическим расчетом программирования, что выпустил первый узнаваемых компьютеров. В 1837 году Чарльз Бэббидж был первым осмыслить и разработать полностью программируемый механический компьютер, его аналитическая машина. Ограниченная финансов и неспособность Бэббиджа, чтобы противостоять возиться с дизайном означает, что устройство не было завершено.
В конце 1880-х годов, Герман Холлерит изобрел записи данных на машиночитаемом носителе. До использует в машиночитаемой информации, выше, была для контроля, а не данные. "После некоторого первоначального испытания с бумажной лентой, он поселился на перфокарты..." Для обработки этих перфокарт он изобрел табуляции, и перфоратора машин. Эти три изобретения были основой современной индустрии обработки информации. Крупномасштабные автоматизированной обработки данных перфокарт была выполнена для 1890 года переписи населения США компания Холлерита, которая позже стала ядром IBM. К концу 19-го века ряд технологий, которые впоследствии пригодятся в практической реализации компьютеры начали появляться: перфокарты, Булева алгебра, вакуумная трубка (термоэлектронной клапана) и телетайп.
В течение первой половины 20-го века, многие научные вычислительные потребности были встречены более сложных аналоговых компьютеров, которые использовались прямые механические или электрические модели задачи в качестве основы для расчета. Тем не менее, они не были программируемыми и вообще не хватало гибкости и точности современных цифровых компьютеров.
Алан Тьюринг широко известен как отец современной компьютерной науки. В 1936 году Тьюринг предоставлена влиятельных формализации понятия алгоритма и вычисление с машиной Тьюринга, обеспечивая основу для электронных цифровых компьютеров. Из его роль в создании современного компьютера, время журнал в именовании Тьюринга одним из 100 самых влиятельных людей 20-го века, говорится: "Факт остается фактом, что все, кто стучит по клавиатуре, открытие электронной таблицы или текстового Программа работает над воплощением машины Тьюринга ".
Цузе Z3 1941 года, считается первый рабочий программируемый в мире, полностью автоматическая вычислительная машина.
ENIAC, который начал функционировать в 1946 году, считается первым общего назначения ЭВМ.
EDSAC был одним из первых компьютеров для реализации хранимой программой (фон Неймана) архитектуры.
Умереть от микропроцессора Intel 80486DX2 (фактический размер: 12 × 6,75 мм) в упаковке.
Изобретатель программно-управляемых компьютером был Конрад Цузе, который построил первый рабочий компьютер в 1941 году, а затем в 1955 году первый компьютер на базе магнитных накопителей.
Джордж Stibitz является международно признанным отцом современной цифровой вычислительной машины. Работая в Bell Labs в ноябре 1937 года, Stibitz изобрел и построил релейной калькулятор он назвал "Модель K» (для «кухонного стола", на котором он собрал его), который был первым, кто использовал двоичные схемы для выполнения арифметической операции. Позднее модели добавлены большей изощренности в том числе сложных арифметических и программирования.
Правопреемства неуклонно более мощный и гибкий вычислительных устройств были построены в 1930-х и 1940-х годов, постепенно добавляя ключевые особенности, которые проявляются в современных компьютерах. Использование цифровой электроники (в основном изобретены Клод Шеннон в 1937) и более гибкие возможности программирования были жизненно важными шагами, но определяющим одну точку по этой дороге как "первая цифровая электронная вычислительная машина» является difficult.Shannon 1940 Значительные достижения в.
Конрад Цузе электромеханический "Z машин". Z3 (1941) был первым рабочим машина с двоичной арифметике, в том числе арифметики с плавающей точкой и мерой программирования. В 1998 году Z3 была доказана быть Тьюринга, поэтому быть первым оперативным компьютером в мире.
Непрограммируемыми Атанасова-Берри (1941) который использовал вакуумную трубку на основе вычислений, двоичные числа, и регенеративных конденсаторов памяти. Использование регенеративной памяти позволило ему быть гораздо более компактный, чем его сверстники (быть примерно размером с большой стол или верстак), поскольку промежуточные результаты могут быть сохранены и затем подается обратно в тот же самый набор вычислений элементов.
Секрет британских компьютеров Colossus (1943), который ограничен программирования, но показали, что устройства с помощью тысячи труб может быть достаточно надежным и в электронном виде перепрограммируемой. Он был использован для взлома немецких военных кодов.
Harvard Mark I (1944), крупный электромеханического компьютера с ограниченными возможностями программирования.
Армии США баллистических научно-исследовательской лаборатории ENIAC (1946), которые использовали десятичную арифметику и иногда называют первым общего назначения электронно-вычислительной машине (так как Z3 Конрада Цузе 1941 года использовались электромагниты вместо электроники). Первоначально, однако, ENIAC была негибкой архитектурой, которая по существу требует перемонтажа изменить свое программирование.
Хранимые-программной архитектуры
Несколько разработчиков ENIAC, признавая ее недостатки, придумали гораздо более гибкий и элегантный дизайн, который стал известен как «хранимой программой архитектура" или фон Нейман архитектуры. Эта конструкция была впервые официально описана Джоном фон Нейманом в работе первого проекта Доклада о EDVAC, распределенных в 1945 году. Ряд проектов по разработке компьютеров на основе хранимой программы архитектуре началось примерно в это время, первый из этих завершается в Великобритании. Первый рабочий прототип для демонстрации было Манчестер Малый экспериментального машиностроения (SSEM или "Baby") в 1948 году. Электронные задержки автоматического хранения Calculator (EDSAC), завершил год после SSEM в Кембриджском университете, был первым практическим, не экспериментальная реализация хранимой программой дизайн и был поставлен немедленно использовать для научно-исследовательской работы в университете. Вскоре после этого, машина изначально описывается фон Неймана бумаги EDVAC-был завершен, но не видели полного использования времени в течение дополнительных двух лет.
Почти все современные компьютеры осуществления той или иной форме хранимой программой архитектуры, что делает его одной чертой которой слово "компьютер" в настоящее время определяется. В то время как технологии, используемые в компьютерах сильно изменилась со времен первых электронных, компьютеры общего назначения 1940-х годов, большинство по-прежнему использовать фон Нейман архитектуры.
Начиная с 1950-х годов советские ученые Сергей Соболев и Николай Брусенцов проводились исследования по тройной компьютеры, устройства, которые работают на базе три системы нумерации -1, 0 и 1, а не обычные двоичные системы нумерации, на которых большинство компьютеров основаны. Они предназначены Сетунь, функциональный компьютер тройные, в Московском государственном университете. Устройство было введено в ограниченное производство в Советском Союзе, но вытеснен более распространенным двоичным архитектуры.
Полупроводники и микропроцессоры
Компьютеры, использующие электронные лампы, как их электронные элементы были в использовании в 1950, но в 1960 был в значительной степени заменен транзистор на основе машин, которые были меньше, быстрее, дешевле в производстве, требуется меньше энергии, и были более надежными. Первый транзисторных компьютеров была продемонстрирована в Университете Манчестера в 1953 году. [16] В 1970-х годах, технологии интегральных схем и последующее создание микропроцессоров, таких как Intel 4004, дальнейшее уменьшение размеров и стоимости и дальнейшее увеличение скорости и надежности компьютеров. К концу 1970-х годов, многие продукты, такие как видеомагнитофоны, содержащихся выделенных компьютеров, называемых микроконтроллеров, и они начали появляться в качестве замены механических элементов управления в бытовых приборах, таких как стиральные машины. В 1980-х стал свидетелем домашних компьютеров и теперь уже повсеместно персонального компьютера. С развитием Интернета, персональные компьютеры становятся все как обычно, как телевизор и телефон в доме [править].
Современные смартфоны являются полностью программируемыми компьютеры сами по себе, а с 2009 года может быть наиболее распространенной формой таких компьютеров в существование.
Программы
Определяющей чертой современных компьютеров, которая отличает их от всех других машин является то, что они могут быть запрограммированы. То есть сказать, что некоторый тип инструкции (программы) может быть предоставлен компьютер, и он будет выполнять их обработку. В то время как некоторые компьютеры могут иметь странные понятия "Инструкции" и "выход" (см. квантовых вычислений), современные компьютеры на базе архитектуры фон Неймана часто имеют машинный код в виде императивных языках программирования.
С практической точки зрения, компьютерная программа может быть несколько инструкций или распространяться на многие миллионы инструкций, как это делают программы для текстовых процессоров и веб-браузеры, например. Типичный современный компьютер может выполнять миллиарды операций в секунду (гигафлопс) и редко ошибается в течение многих лет эксплуатации. Большие компьютерные программы, состоящей из нескольких миллионов инструкций может принимать команды программистов лет, чтобы написать, и из-за сложности задачи почти наверняка содержат ошибки.
1970 перфокарт содержащий одну строку из программы FORTRAN. Карты гласит: "Z (1) = Y + W (1)" и надписью "PROJ039" в целях идентификации.
Этот раздел относится к наиболее распространенным оперативной памяти машины-компьютеров.
В большинстве случаев компьютер инструкция проста: добавить одно число на другое, переместить некоторые данные из одного места в другое, отправить сообщение на некоторых внешних устройств и т.д. Эти инструкции считываются из памяти компьютера и, как правило, осуществляется (выполнено) в порядке, они были предоставлены. Однако, как правило, специализированные инструкции, чтобы сообщить компьютеру, чтобы перейти вперед или назад в другое место в программе и продолжить выполнение оттуда. Это называется "прыжок" инструкции (или филиалов). Кроме того, команды перехода может быть сделано условно случиться так, что различные последовательности команд могут быть использованы в зависимости от результата некоторых предыдущих расчетов или некоторые внешние события. Многие компьютеры непосредственно поддерживают подпрограммы путем предоставления типу прыжок, который «запоминает» место он вскочил и от другой команды, чтобы вернуться к инструкции, следующей за той инструкции перехода.
Выполнение программы можно сравнить с чтением книги. Пока человек будет нормально читать каждое слово и строка в последовательности, они могут время от времени переходить к более раннему место в тексте или пропустить разделы, которые не представляют интереса. Кроме того, компьютер может иногда вернуться назад и повторить инструкции в некоторых разделе программы снова и снова, пока некоторые внутренние условия. Это называется поток управления в программе, и это то, что позволяет компьютеру выполнять задачи, неоднократно без вмешательства человека.
Для сравнения, лицом с использованием карманного калькулятора можно выполнять основные операции, такие как арифметическое сложение двух чисел с помощью всего нескольких нажатий кнопки. Но сложить все числа от 1 до 1000 бы тысячи нажатий кнопок и много времени с практически полной уверенности совершить ошибку. С другой стороны, компьютер может быть запрограммирован, чтобы сделать это с помощью нескольких простых инструкций. Например:
MOV # 0, сумма, множество сумму до 0
MOV # 1, число, множество цилиндров до 1
цикл: добавить число, сумма, добавить число, чтобы подвести
добавить # 1, число, добавить 1 к Num
CMP число, # 1000; сравнить число до 1000
BLE цикла, если число <= 1000, вернуться к "петля"
остановка, конец программы. прекратит работу
Как только сказали, чтобы запустить эту программу, то компьютер будет выполнять повторяющиеся задачи Помимо без дальнейшего вмешательства человека. Он почти никогда не сделать ошибку и современный компьютер может завершить задачу примерно за миллионную долю секунды.
Ошибки
Ошибки в компьютерных программах называются "ошибки". Ошибки могут быть доброкачественными и не влияет на полезность программы, или есть только тонкие эффекты. Но в некоторых случаях это может привести к программе "повесить", перестанет отвечать на запросы ввода, такие как мыши или нажатий клавиш, или полностью обанкротиться или «крах». В противном случае доброкачественных ошибок иногда может быть использована для злого умысла от недобросовестных пользователей написания "подвиг"-код, предназначенный, чтобы воспользоваться ошибкой и нарушить надлежащее исполнение компьютере. Ошибки, как правило, не по вине компьютера. Поскольку компьютеры просто выполнить инструкции, которые они дают, ошибок почти всегда результат ошибки программиста или надзора, сделанные в дизайне программы.
Машинный код
В большинстве компьютеров, отдельные инструкции хранятся в виде машинного кода с каждой команды уделяется уникальный номер (его код операции или код операции для краткости). Команда для сложения двух чисел будет иметь один код операции, команда умножить их будет иметь другой код операции и так далее. Самый простой компьютеры способны выполнять любую из нескольких различных инструкций; более сложные компьютеры имеют несколько сотен, чтобы выбрать из, каждый с уникальным цифровым кодом. Поскольку память компьютера может хранить числа, он также может хранить коды команд. Это приводит к важным то, что целые программы (которые только списки эти инструкции) может быть представлено в виде списка чисел и сами могут манипулировать внутри компьютера, так же, как числовые данные. Фундаментальная концепция хранения программ в памяти компьютера вместе с данными они работают на есть суть фон Неймана, или хранится программа, архитектура. В некоторых случаях компьютер может хранить некоторые или все свои программы в памяти, которая хранится отдельно от данных, он работает на. Это называется архитектуры Гарвардского после включения компьютера Harvard Mark I. Современные компьютеры фон Неймана присущи некоторые черты архитектуры Гарварда в своих проектах, например, в процессор кэш.
Хотя вполне возможно, писать компьютерные программы, как длинные списки номеров (машинный язык), и хотя этот метод был использован при многих ранних компьютерах, это очень утомительно и, возможно, ошибок, сделать это на практике, особенно для сложных программ. Вместо этого, каждый базового обучения может быть дано краткое имя, которое свидетельствует о его функции и легко запомнить, мнемонические, такие как ADD, SUB, MULT или прыгать. Эти мнемоники все вместе известны как язык ассемблера компьютера. Преобразование программ, написанных на языке ассемблера в то, что компьютер может на самом деле понимают (машинный язык) обычно делается с помощью компьютерной программы называется ассемблером. Машина языков и языков сборки, которые представляют их (в совокупности называемых низкоуровневых языках программирования), как правило, уникальны для определенного типа компьютера. Например, компьютер ARM архитектурой (например, можно найти в КПК или ручные видеоигры) не может понять машинный язык Intel Pentium или AMD Athlon 64 компьютеров, которые могут находиться в компьютере.
Языки высокого уровня и разработки программ
Хотя значительно легче, чем на машинном языке, написания длинных программ на ассемблере зачастую трудно, а также ошибок. Таким образом, большинство практических программ написаны в более абстрактном высоком уровне языков программирования, которые способны выражать потребности программиста удобнее (и тем самым помочь уменьшить ошибки программиста). Языки высокого уровня, как правило, "собранных" в машинный язык (или иногда на языке ассемблера, а затем в машинный язык), используя другой компьютер программу под названием компилятора. [21] языков высокого уровня, менее связанные с работой на целевой компьютер, чем на ассемблере, и многое другое, связанное с языком и структурой проблем (ы), которые будут решены окончательные программы. Поэтому часто можно использовать разные компиляторы для перевода такого же высокого уровня языковой программы в машинный язык много различных типов компьютеров. Это часть средств, с помощью которых программного обеспечения, как видеоигры могут быть доступны для различных компьютерных архитектур, таких как персональные компьютеры и различные консоли видеоигр.
Задача разработки крупных программных систем представляет собой значительный интеллектуальный вызов. Производство программного обеспечения приемлемого высокую надежность в предсказуемый график и бюджет исторически было трудно, академические и профессиональные дисциплины программной инженерии концентрируется именно на эту задачу.
Центральный процессор и микропроцессорных
Компьютер общего назначения состоит из четырех основных компонентов: арифметико-логическое устройство (ALU), блок управления, памяти и устройств ввода и вывода (собирательно именуются I / O). Эти части соединены между автобусами, часто сделанные из группы проводов.
Внутри каждой из этих частей тысяч до триллионы небольших электрических цепей, которыми может быть включен или выключен с помощью электронного переключателя. Каждый контур представляет собой бит (двоичных цифр) информации, так что, когда цепь находится на он представляет собой "1", и когда от него представляет собой "0" (в положительной логикой). Схемы расположены в логических вентилей так, что одна или несколько схем может контролировать состояние одного или нескольких других цепей.
Блок управления, АЛУ, регистров и основные I / O (а часто и другого оборудования тесно связаны с этим) все вместе известны как центральный процессор (CPU). Ранние процессоры состоят из множества отдельных компонентов, но с середины 1970-х процессоров, как правило, построены на одной интегральной схеме называются микропроцессор.
Устройство управления
Блок управления (часто называемые системы управления или центральный контроллер) управляет различными компонентами компьютера, она читает и интерпретирует (декодирует) инструкции программы, превращая их в серию сигналов управления, которые активируют другие части компьютера. Системы управления в странах с развитой компьютеры могут изменить порядок некоторые инструкции, чтобы улучшить производительность.
Ключевым компонентом общей для всех процессоров является программный счетчик, специальные ячейки памяти (регистра), который отслеживает, какие расположение в памяти следующей команды будет читать.
Функция системы управления заключается в следующем-Заметим, что это упрощенное описание, и некоторые из этих шагов могут быть выполнены одновременно или в ином порядке в зависимости от типа процессора:
Прочитать код для следующей команды из ячейки указано в программе счетчика.
Расшифруйте числовой код для обучения в набор команд или сигналов для каждого из других систем.
Увеличить значение счетчика, чтобы он указывал на следующую инструкцию.
Читать все данные, инструкция требует от клеток в памяти (или, возможно, от устройства ввода). Расположение этого необходимые данные обычно хранятся в коде команды.
Обеспечить необходимые данные для ALU или зарегистрируйтесь.
Если команда требует ALU или специализированных аппаратных средств, чтобы закончить, поручить оборудования для выполнения запрошенной операции.
Написать результат от задней ALU в ячейку памяти или регистр или, возможно, устройство вывода.
Перейти к шагу (1).
Поскольку программа счетчик (концептуально) просто еще один набор ячеек памяти, она может быть изменена расчетов, выполненных в АЛУ. Добавление от 100 до счетчика приведет к следующей инструкции для чтения место 100 мест дальше по программе. Инструкции, которые изменяют счетчик программы, которые известны как "скачки" и позволяют петель (инструкции, которые повторяются с помощью компьютера) и часто условного выполнения команд (как примеры управления потоком).
Следует отметить, что последовательность операций, что блок управления проходит для обработки инструкций, само по себе, как короткое компьютерных программ и действительно, в некоторых более сложных конструкций CPU, есть и другая еще меньше компьютеров называется microsequencer, который работает микрокода Программа, которая вызывает все эти события происходят.
Арифметическое / логическое устройство (ALU)
ALU способен выполнять два вида операций:. Арифметические и логические [24]
Множество арифметических операций, что особенно опоры ALU может быть ограничен сложения и вычитания или может включать в себя умножение или деление, тригонометрические функции (синус, косинус и т.д.) и квадратные корни. Некоторые из них могут работать только с целыми числами (целые числа), тогда как другие используют с плавающей точкой для представления вещественных чисел, хотя и с ограниченной точностью. Тем не менее, любой компьютер, который способен выполнять лишь простейшие операции могут быть запрограммированы, чтобы сломать более сложных операций на простые шаги, которые он может выполнять. Таким образом, любой компьютер может быть запрограммирован для выполнения любых арифметических операций, хотя это займет больше времени, чтобы сделать это, если его ALU непосредственно не поддерживает операцию. ALU может также сравнивать числа и возвращают логическое значение истина (истинное или ложное) в зависимости от того, идет ли равно, больше или меньше, чем другие ("составляет 64 больше, чем 65?").
Логические операции связаны с булевой логики: AND, OR, XOR и NOT. Они могут быть полезны как для создания сложных условных операторов и обработке булевой логики.
Суперскалярная компьютеров может содержать несколько блоков ALU, так что они могут обрабатывать несколько команд одновременно. Графические процессоры и компьютеры с SIMD и MIMD функции часто АЛУ, которые могут выполнять арифметические векторов и матриц.
Память
Память на магнитных сердечниках была память компьютера выбора протяжении 1960-х годов, пока не был заменен полупроводниковой памяти.
Память компьютера можно рассматривать как список клеток, в которых цифры могут быть размещены или читать. Каждая ячейка имеет номер "адрес" и может хранить только один номер. Компьютер может быть поручено "поставить число 123 в клетке с номером 1357" или "добавить номер, который находится в ячейке 1357 на номер, который находится в ячейке 2468 и положить ответ в ячейку 1595". Информация, хранящаяся в памяти, может представлять практически ничего. Буквы, цифры, даже компьютер инструкции могут быть размещены в памяти с одинаковой легкостью. Так как процессор не делает различия между различными типами информации, несет ответственность за программное обеспечение, чтобы дать значение к тому, что память видит, как ничто иное, как ряд чисел.
Почти во всех современных компьютерах, каждая ячейка памяти установлен для хранения двоичных чисел в группы по восемь бит (так называемый байт). Каждый байт может представлять 256 различных номеров (2 ^ 8 = 256), либо от 0 до 255 или от -128 до +127. Для хранения больших чисел, несколько последовательных байта могут быть использованы (как правило, два, четыре или восемь). При отрицательных чисел необходимы, они обычно хранятся в виде дополнения до двух обозначений. Другие механизмы возможны, но, как правило, не видели за пределами специализированных приложений или исторического контекста. Компьютер может хранить любую информацию в памяти, если она может быть представлена численно. Современные компьютеры имеют миллиарды и даже триллионы байт памяти.
Процессор содержит специальный набор ячеек памяти, называемых регистрами, которые могут быть прочитаны и записаны гораздо быстрее, чем основная область памяти. Есть правило, между двумя и сто регистров в зависимости от типа процессора. Регистры используются для наиболее часто используемых элементов данных, чтобы избежать необходимости обращаться к основной памяти каждый раз, когда данные необходимы. Поскольку данные постоянно работал, уменьшая необходимость обращаться к основной памяти (которая часто медленно по сравнению с ALU и блоков управления) значительно увеличивает скорость компьютера.
Компьютер оперативной памяти поставляется в двух основных разновидностях: оперативной памяти или ОЗУ и ПЗУ или ROM. RAM могут быть прочитаны и записаны в любое время, когда процессор команд, но ROM, предварительно загружаются данные и программное обеспечение, которое никогда не меняется, так что процессор может лишь читать из него. ROM, как правило, используются для хранения первом запуске компьютера инструкциям. В общем, содержимое оперативной памяти стирается, когда питание компьютера отключено, но ROM сохраняет свои данные на неопределенный срок. В PC, диск содержит специализированную программу под названием BIOS, которые организуют загрузку операционной системы компьютера с жесткого диска в оперативную память, когда компьютер включен или сброшен. В встраиваемых компьютеров, которые часто не имеют жестких дисков, все необходимое программное обеспечение может храниться в ПЗУ. Программное обеспечение хранится в ПЗУ часто называют прошивкой, потому что это больше похоже на условно оборудования, чем программное обеспечение. Флэш-память стирает различия между ПЗУ и ОЗУ, так как он сохраняет свои данные при выключении, но и перезаписываемые. Это, как правило, гораздо медленнее, чем обычные ПЗУ и ОЗУ, однако, так что его использование ограничено для приложений, где высокая скорость не нужна.
В более сложных компьютеров может быть один или больше оперативной памяти кэш-памяти, которые медленнее, чем регистры, но быстрее, чем основной памяти. Вообще компьютеров с такого рода кэш-памяти предназначены для перемещения часто используемых данных в кэш автоматически, часто без необходимости какого-либо вмешательства со стороны программиста.
Ввода / вывода (I / O)
Жесткие диски являются общими устройствами хранения данных использовались с компьютерами.
I / O является средством, с помощью которого компьютерной информации обменов с внешним world.Devices, которые обеспечивают ввод или вывод на компьютер называемые периферийные устройства. В типичный персональный компьютер, периферийные устройства включают устройства ввода, как клавиатура и мышь, и устройства вывода, такие как дисплей и принтер. Жесткий диск, флоппи-дисков и дисководы оптических дисков служить в качестве входных и выходных устройств. Компьютерные сети является еще одной формой I / O.
Часто, устройства ввода / вывода сложные компьютеры в их собственном праве с собственным процессором и памятью. Графический процессор может содержать пятьдесят или более крошечными компьютерами, которые выполняют вычисления, необходимые для отображения 3D-графики [править]. Современные настольные компьютеры содержат много небольших компьютеров, которые помогают центрального процессора при выполнении I / O.
Многозадачность
В то время как компьютер может рассматриваться как работает одна гигантская программа хранится в его памяти, в некоторых системах необходимо создать видимость выполнения нескольких программ одновременно. Это достигается за счет многозадачности т.е. имеющие компьютера быстро переключаться между запущенными каждая программа в свою очередь.
Одним из способов, которыми это делается, с особым сигналом называется прерывание, которое может периодически привести к компьютеру, чтобы остановить выполнение инструкций, где она была и сделать что-то другое вместо этого. По вспоминая, где он выполнял до прерывания, компьютер может вернуться к этой задаче позже. Если несколько программ работают "одновременно", то прерывание генератора может быть причиной нескольких сотен прерываний в секунду, в результате чего программа переключения каждый раз. Поскольку современные компьютеры обычно выполняет инструкции на несколько порядков быстрее, чем человеческого восприятия, может показаться, что многие программы работают в то же время, хотя только один из них никогда не выполняется в любой данный момент времени. Этот метод многозадачности иногда называют "разделение времени", так как каждая программа выделяется "кусок" времени, в свою очередь [30].
До эпохи дешевых компьютеров, принцип использования для многозадачности том, чтобы позволить многим людям один и тот же компьютер.
Казалось бы, многозадачность приведет к компьютеру, который переключение между несколькими программами, чтобы работать более медленно - в прямой зависимости от количества программ, он работает. Тем не менее, большинство программ проводят большую часть своего времени, ожидая медленных устройств ввода / вывода для выполнения своих задач. Если программа ждет, когда пользователь нажмет на мышь или нажмите любую клавишу на клавиатуре, то он не будет "временной срез", пока события его ждет не произошло. Это освобождает время для других программ для выполнения, так что многие программы могут быть запущены в то же время без неприемлемых потерь скорости.
Многопроцессорная обработка
Cray разработан многие суперкомпьютеры, которые использовались многопроцессорных тяжело.
Некоторые компьютеры предназначены для распространения своих работ на нескольких процессоров в многопроцессорной конфигурацией, техникой раз использовать только в больших и мощных машин, таких как суперкомпьютеры, мэйнфреймы и серверы. Многопроцессорных и многоядерных (многопроцессорных на одной интегральной схеме) личного и портативных компьютеров в настоящее время широко доступны, и все чаще используются в нижнем конце рынки, как результат.
Суперкомпьютеры, в частности, часто имеют весьма уникальные архитектуры, которые значительно отличаются от основных хранимой программой архитектуре и от компьютеров общего назначения. Они часто имеют тысячи процессоров, настроены высокоскоростные соединения, а также специализированных аппаратных средств для компьютеров. Такие конструкции, как правило, полезна только для специализированных задач в связи с большим масштабом организации программы, необходимые для успешной использовать большинство доступных ресурсов сразу. Суперкомпьютеры обычно видят использования в крупномасштабных моделирования, рендеринга графики и криптография приложений, а также с другими так называемых "параллельных неприлично" задач.
Сеть и Интернет
Визуализация часть маршрутов в Интернете.
Компьютеры были использованы для координации информации между несколькими местах с 1950 года. Американских военных SAGE система была первым крупномасштабным примером такой системы, которая привела к ряду специальных коммерческих систем, таких как Sabre.
В 1970-х годах, компьютерных инженеров научно-исследовательских учреждений по всей территории Соединенных Штатов начали связывать свои компьютеры вместе с использованием телекоммуникационных технологий. Эта работа была профинансирована ARPA (теперь DARPA), а также компьютерную сеть, что она произвела была названа ARPANET. Технологии, которые сделали Arpanet возможного распространения и развивались.
Со временем сеть распространилась за пределы академических и военных учреждений и стала известна как Интернет. Появление сетей участвуют переопределения характера и границ компьютера. Компьютерные операционные системы и приложения были изменены, чтобы включить возможность определить и получить доступ к ресурсам других компьютеров в сети, такие как периферийные устройства, хранимой информации, и тому подобное, как расширение ресурсов отдельного компьютера. Первоначально эти средства были доступны в первую очередь для людей, работающих в сфере высоких технологий средах, но в 1990-х распространением таких приложений, как электронная почта и World Wide Web в сочетании с развитием дешевых, быстрых сетевых технологий, как Ethernet и ADSL увидел компьютерных сетей стало почти повсеместным. На самом деле, количество компьютеров, которые объединены в сеть растет феноменально. Очень большая часть персональных компьютеров регулярно подключаться к Интернет, чтобы общаться и получать информацию. "Wireless" сети, зачастую с использованием сетей мобильной связи, привело к тому, сетей становится все более повсеместно, даже в мобильных вычислительных средах.
Дата добавления: 2015-11-16; просмотров: 71 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Higher-level languages and program design | | | Глава 1. Общая история развития сетевых технологий. |