Lorem ipsum
Class aptent taciti sociosqu ad litora
Главная » Статьи » Непознанное

#факты | Как работает процессор

Вы читаете эти строчки со телефона, планшета либо компьютера. Хоть какое из этих устройств основано на процессоре. Процессор является «сердцем» хоть какого компьютерного устройства. Существует много типов процессоров, но они все решают одни и те же задачки. Сейчас мы побеседуем о том, как микропроцессор работает и какие задачки он делает. На 1-ый взор все это представляется естественным. Но очень многим юзерам было бы любопытно углубить свои познания о важном компоненте, обеспечивающем работу компьютера. Мы узнаем о том, как разработка, основанная на обычный цифровой логике, позволяет вашему компу не только лишь решать математические задачки, да и быть веселительным центром. Как всего две числа — единица и ноль — преобразуются в калоритные игры и киноленты? Этот вопрос многие не один раз задавали для себя и будут рады получить на него ответ. Ведь даже в базе не так давно рассмотренного нами микропроцессора AMD Ягуар, на котором базируются новые игровые приставки, лежит та же старая логика.

В английской литературе процессор нередко именуют CPU (central processing unit, [единым] модулем центрального микропроцессора). Причина такового наименования кроется в том, что современный микропроцессор представляет собою единый чип. 1-ый процессор в истории населения земли был сотворен компанией Intel в дальнем 1971 году.

Роль Intel в истории микропроцессорной промышленности

Микропроцессоры

Идет речь о модели Intel 4004. Массивным он не был и умел делать только деяния сложения и вычитания. Сразу он мог обрабатывать всего четыре бита инфы (другими словами был 4-битным). Но для собственного времени его возникновение стало значимым событием. Ведь весь микропроцессор поместился в одном чипе. До возникновения Intel 4004, компы базировались на целом наборе чипов либо дискретных компонент (транзисторов). Процессор 4004 лег в базу 1-го из первых портативных калькуляторов.

Первым процессором для домашних компов стал представленный в 1974 году Intel 8080. Вся вычислительная мощность 8-битного компьютера помещалась в одном чипе. Но по-настоящему огромное значение имел анонс микропроцессора Intel 8088. Он появился в 1979 году и с 1981 года стал употребляться в первых массовых компьютерах IBM PC.

Дальше микропроцессоры начали развиваться и зарастать мощью. Каждый, кто хоть мало знаком с историей микропроцессорной промышленности, помнит, что на замену 8088 пришли 80286. Потом настал черед 80386, за которым следовали 80486. Позже были несколько поколений «Пентиумов»: Pentium, Pentium II, III и Pentium 4. Все это «интеловские» микропроцессоры, основанные на базисной конструкции 8088. Они обладали оборотной совместимостью. Это означает, что Pentium 4 мог обработать хоть какой кусок кода для 8088, но делал это со скоростью, возросшей приблизительно в 5 тыщ раз. С того времени прошло не настолько не мало лет, но успели смениться еще несколько поколений процессоров.

Микропроцессоры

С 2004 года Intel начала предлагать многоядерные микропроцессоры. Число применяемых в их транзисторов возросло на миллионы. Но даже на данный момент микропроцессор подчиняется тем общим правилам, которые были предназначены для ранешних чипов. В таблице отражена история процессоров Intel до 2004 года (включительно). Мы создадим некие пояснения к тому, что означают отраженные в ней характеристики:

  • Name (Заглавие). Модель микропроцессора
  • Date (Дата). Год, в который микропроцессор был в первый раз представлен. Многие микропроцессоры представляли неоднократно, всякий раз, когда повышалась их тактовая частота. Таким макаром, еще одна модификация чипа могла быть повторно анонсирована даже через пару лет после возникновения на рынке первой его версии
  • Transistors (Количество транзисторов). Количество транзисторов в чипе. Вы сможете созидать, что этот показатель непреклонно увеличивался
  • Microns (Ширина в микронах). Один микрон равен одной миллионной доле метра. Величина этого показателя определяется шириной самого узкого провода в чипе. Для сопоставления, толщина людского волоса составляет 100 микрон
  • Clock speed (Тактовая частота). Наибольшая скорость работы микропроцессора
  • Data Width. «Битность» арифметико-логического устройства микропроцессора (АЛУ, ALU). 8-битное АЛУ может слагать, вычитать, множить и делать другие деяния над 2-мя 8-битными числами. 32-битное АЛУ может работать с 32-битными числами. Чтоб сложить два 32-битных числа, восьмибитному АЛУ нужно выполнить четыре аннотации. 32-битное АЛУ управится с этой задачей за одну аннотацию. В почти всех (но не во всех) случаях ширина наружной шины данных совпадает с «битностью» АЛУ. Микропроцессор 8088 обладал 16-битным АЛУ, но 8-битной шиной. Для поздних «Пентиумов» была свойственна ситуация, когда шина была уже 64-битной, а АЛУ как и раньше оставалось 32-битным
  • MIPS (Миллионов инструкций за секунду). Позволяет примерно оценить производительность микропроцессора. Современные процессоры делают так много различных задач, что этот показатель растерял свое первоначальное значение и может употребляться, в главном, для сопоставления вычислительной мощности нескольких микропроцессоров (как в данной таблице)

Существует конкретная связь меж тактовой частотой, также количеством транзисторов и числом операций, выполняемых микропроцессором за секунду. К примеру, тактовая частота микропроцессора 8088 достигала 5 МГЦ, а производительность: всего 0,33 миллиона операций за секунду. Другими словами на выполнение одной аннотации требовалось порядка 15 тактов микропроцессора. В 2004 году микропроцессоры уже могли делать по две аннотации за один такт. Это улучшение было обеспечено повышением количества микропроцессоров в чипе.

Чип также именуют интегральной микросхемой (либо просто микросхемой). В большинстве случаев это малая и узкая кремниевая пластинка, в которую «впечатаны» транзисторы. Чип, сторона которого добивается 2-ух с половиной см, может содержать 10-ки миллионов транзисторов. Простые микропроцессоры могут быть квадратиками со стороной всего в несколько мм. И этого размера довольно для нескольких тыщ транзисторов.

Логика процессора

Микропроцессоры

Чтоб осознать, как работает процессор, следует изучить логику, на которой он основан, также познакомиться с языком ассемблера. Это родной язык процессора.

Процессор способен делать определенный набор машинных инструкций (команд). Оперируя этими командами, микропроцессор делает три главные задачки:

  • C помощью собственного арифметико-логического устройства, микропроцессор делает математические деяния: сложение, вычитание, умножение и деление. Современные процессоры вполне поддерживают операции с плавающей точкой (при помощи специального арифметического микропроцессора операций с плавающей точкой)
  • Процессор способен перемещать данные из 1-го типа памяти в другой
  • Процессор обладает способностью принимать решение и, на основании принятого им решения, «перепрыгивать», другими словами переключаться на выполнение нового набора команд

Процессор содержит:

  • Address bus (адресную шину). Ширина этой шины может составлять 8, 16 либо 32 бита. Она занимается отправкой адреса в память
  • Data bus (шину данных): шириной 8, 16, 32 либо 64 бита. Эта шина может отправлять данные в память либо принимать их из памяти. Когда молвят о «битности» микропроцессора, идет речь о ширине шины данных
  • Каналы RD (read, чтения) и WR (write, записи), обеспечивающие взаимодействие с памятью
  • Clock line (шина синхронизирующих импульсов), обеспечивающая такты микропроцессора
  • Reset line (шина стирания, шина сброса), обнуляющая значение счетчика команд и перезапускающая выполнение инструкций

Так как информация довольно сложна, будем исходить из того, что ширина обеих шин — и адресной и шины данных — составляет всего 8 бит. И коротко разглядим составляющие этого сравнимо обычного процессора:

  • Регистры A, B и C являются логическими микросхемами, применяемыми для промежного хранения данных
  • Address latch (защелка адреса) подобна регистрам A, B и C
  • Счетчик команд является логической микросхемой (защелкой), способной приращивать значение на единицу за один шаг (если им получена соответственная команда) и обнулять значение (при условии получения соответственной команды)
  • ALU (арифметико-логическое устройство) может производить меж 8-битными числами деяния сложения, вычитания, умножения и деления или выступать в роли обычного сумматора
  • Test register (тестовый регистр) является специальной защелкой, которая хранит результаты операций сравнения, производимых АЛУ. Обычно АЛУ сравнивает два числа и определяет, равны ли они или одно из них больше другого. Тестовый регистр способен также хранить бит переноса последнего действия сумматора. Он хранит эти значения в триггерной схеме. В дальнейшем эти значения могут использоваться дешифратором команд для принятия решений
  • Шесть блоков на диаграмме отмечены, как «3-State». Это буферы сортировки. Множество источников вывода могут быть соединены с проводом, но буфер сортировки позволяет только одному из них (в один миг времени) передавать значение: «0» или «1». Таким макаром буфер сортировки умеет пропускать значения или перекрывать источнику вывода возможность передавать данные
  • Регистр команд (instruction register) и дешифратор команд (instruction decoder) держат все вышеперечисленные компоненты под контролем

На данной диаграмме не отображены линии управления дешифратора команд, которые можно выразить в виде следующих «приказов»:

  • «Регистру A принять значение, поступающее в настоящий момент от шины данных»
  • «Регистру B принять значение, поступающее в настоящий момент от шины данных»
  • «Регистру C принять значение, поступающее в настоящий момент от арифметико-логического устройства»
  • «Регистру счетчика команд принять значение, поступающее в настоящий момент от шины данных»
  • «Адресному регистру принять значение, поступающее в настоящий момент от шины данных»
  • «Регистру команд принять значение, поступающее в настоящий момент от шины данных»
  • «Счетчику команд увеличить значение [на единицу]»
  • «Счетчику команд обнулиться»
  • «Активировать один из из шести буферов сортировки» (шесть отдельных линий управления)
  • «Сообщить арифметико-логическому устройству, какую операцию ему выполнять»
  • «Тестовому регистру принять тестовые биты из АЛУ»
  • «Активировать RD (канал чтения)»
  • «Активировать WR (канал записи)»

В дешифратор команд поступают биты данных из тестового регистра, канала синхронизации, также из регистра команд. Если максимально упростить описание задач дешифратора инструкций, то можно сказать, что именно этот модуль «подсказывает» процессору, что необходимо сделать на этот момент.

Память микропроцессора

Микропроцессоры

Знакомство с подробностями, касающимися компьютерной памяти и ее иерархии помогут лучше понять содержание этого раздела.

Выше мы писали о шинах (адресной и данных), также о каналах чтения (RD) и записи (WR). Эти шины и каналы соединены с памятью: оперативной (ОЗУ, RAM) и постоянным запоминающим устройством (ПЗУ, ROM). В нашем примере рассматривается микропроцессор, ширина каждой из шин которого составляет 8 бит. Это значит, что он способен выполнять адресацию 256 байт (два в восьмой степени). В один миг времени он может считывать из памяти или записывать в нее 8 бит данных. Предположим, что этот простой микропроцессор располагает 128 байтами ПЗУ (начиная с адреса 0) или 128 байтами оперативки (начиная с адреса 128).

Модуль постоянной памяти содержит определенный предварительно установленный постоянный набор байт. Адресная шина запрашивает у ПЗУ определенный байт, который следует передать шине данных. Когда канал чтения (RD) меняет свое состояние, модуль ПЗУ предоставляет запрошенный байт шине данных. Другими словами в этом случае возможно только чтение данных.

Из оперативки процессор может не только лишь считывать информацию, он способен также записывать в нее данные. Зависимо от того, чтение или запись осуществляется, сигнал поступает либо через канал чтения (RD), либо через канал записи (WR). К сожалению, оперативка энергозависима. При отключении питания она теряет все размещенные в ней данные. По этой причине компьютеру необходимо энергонезависимое постоянное запоминающее устройство.

Более того, теоретически компьютер может обойтись и вовсе без оперативки. Многие микроконтроллеры позволяют размещать необходимые байты данных непосредственно в чип процессора. Но без ПЗУ обойтись невозможно. В компьютерах ПЗУ называется базовой системой ввода и вывода (БСВВ, BIOS, Basic Input/Output System). Свою работу при запуске микропроцессор начинает с выполнения команд, найденных им в BIOS.

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

Инструкции микропроцессора

Микропроцессоры

Даже простейший микропроцессор способен обрабатывать достаточно большой набор инструкций. Набор инструкций является своего рода шаблоном. Каждая из этих загружаемых в регистр команд инструкций имеет свое значение. Людям непросто запомнить последовательность битов, поэтому каждая инструкция описывается в виде короткого слова, каждое из которых отражает определенную команду. Эти слова составляют язык ассемблера процессора. Ассемблер переводит эти слова на понятный процессору язык двоичных кодов.

Приведем список слов-команд языка ассемблера для условного простого процессора, который мы рассматриваем в качестве примера к нашему повествованию:

  • LOADA mem — Загрузить (load) регистр A из некоторого адреса памяти
  • LOADB mem — Загрузить (load) регистр B из некоторого адреса памяти
  • CONB con — Загрузить постоянное значение (constant value) в регистр B
  • SAVEB mem — Сохранить (save) значение регистра B в памяти по определенному адресу
  • SAVEC mem — Сохранить (save) значение регистра C в памяти по определенному адресу
  • ADD — Сложить (add) значения регистров A и B. Результат действия сохранить в регистре C
  • SUB — Вычесть (subtract) значение регистра B из значения регистра A. Результат действия сохранить в регистре C
  • MUL — Перемножить (multiply) значения регистров A и B. Результат действия сохранить в регистре C
  • DIV — Разделить (divide) значение регистра A на значение регистра B. Результат действия сохранить в регистре C
  • COM — Сравнить (compare) значения регистров A и B. Результат передать в тестовый регистр
  • JUMP addr — Перепрыгнуть (jump) к указанному адресу
  • JEQ addr — Если выполняется условие равенства значений двух регистров, перепрыгнуть (jump) к указанному адресу
  • JNEQ addr — Если условие равенства значений двух регистров не выполняется, перепрыгнуть (jump) к указанному адресу
  • JG addr — Если значение больше, перепрыгнуть (jump) к указанному адресу
  • JGE addr — Если значение больше или равно, перепрыгнуть (jump) к указанному адресу
  • JL addr — Если значение меньше, перепрыгнуть (jump) к указанному адресу
  • JLE addr — Если значение меньше или равно, перепрыгнуть (jump) к указанному адресу
  • STOP — Остановить (stop) выполнение

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

Работа микропроцессора на примере вычисления факториала

Математические вычисления

Рассмотрим работу микропроцессора на конкретном примере выполнения им простой программы, которая вычисляет факториал от числа «5». Сначала решим эту задачку «в тетради»:

факториал от 5 = 5! = 5 * 4 * 3 * 2 * 1 = 120

На языке программирования C этот фрагмент кода, выполняющего данное вычисление, будет выглядеть следующим образом:


a=1;f=1;while (a < = 5){ f = f * a; a = a + 1;}

Когда эта программа завершит свою работу, переменная f будет содержать значение факториала от пяти.

Компилятор C транслирует (то есть переводит) этот код в набор инструкций языка ассемблера. В рассматриваемом нами процессоре оперативная память начинается с адреса 128, а постоянная память (которая содержит язык ассемблера) начинается с адреса 0. Следовательно, на языке данного процессора эта программа будет выглядеть так:


// Предположим, что a по адресу 128// Предположим, что F по адресу 1290 CONB 1 // a=1;1 SAVEB 1282 CONB 1 // f=1;3 SAVEB 1294 LOADA 128 // if a > 5 the jump to 175 CONB 56 COM7 JG 178 LOADA 129 // f=f*a;9 LOADB 12810 MUL11 SAVEC 12912 LOADA 128 // a=a+1;13 CONB 114 ADD15 SAVEC 12816 JUMP 4 // loop back to if17 STOP

Теперь возникает следующий вопрос: как же все эти команды выглядят в постоянной памяти? Каждая из этих инструкций должна быть представлена в виде двоичного числа. Чтобы упростить понимание материала, предположим, что каждая из команд языка ассемблера рассматриваемого нами процессора имеет уникальный номер:

  • LOADA — 1
  • LOADB — 2
  • CONB — 3
  • SAVEB — 4
  • SAVEC mem — 5
  • ADD — 6
  • SUB — 7
  • MUL — 8
  • DIV — 9
  • COM — 10
  • JUMP addr — 11
  • JEQ addr — 12
  • JNEQ addr — 13
  • JG addr — 14
  • JGE addr — 15
  • JL addr — 16
  • JLE addr — 17
  • STOP — 18

Будем считать эти порядковые номера кодами машинных команд (opcodes). Их еще называют кодами операций. При таком допущении, наша небольшая программа в постоянной памяти будет представлена в таком виде:


// Предположим, что a по адресу 128// Предположим, что F по адресу 129Addr машинная команда/значение0 3 // CONB 11 12 4 // SAVEB 1283 1284 3 // CONB 15 16 4 // SAVEB 1297 1298 1 // LOADA 1289 12810 3 // CONB 511 512 10 // COM13 14 // JG 1714 3115 1 // LOADA 12916 12917 2 // LOADB 12818 12819 8 // MUL20 5 // SAVEC 12921 12922 1 // LOADA 12823 12824 3 // CONB 125 126 6 // ADD27 5 // SAVEC 12828 12829 11 // JUMP 430 831 18 // STOP

Как вы заметили, семь строчек кода на языке C были преобразованы в 18 строчек на языке ассемблера. Они заняли в ПЗУ 32 байта.

Декодирование

Микропроцессоры

Разговор о декодировании придется начать c рассмотрения филологических вопросов. Увы, далеко не все компьютерные термины имеют однозначные соответствия в русском языке. Перевод терминологии зачастую шел стихийно, а поэтому один и тот же английский термин может переводиться на русский несколькими вариантами. Так и случилось с важнейшей составляющей микропроцессорной логики «instruction decoder». Компьютерные специалисты называют его и дешифратором команд и декодером инструкций. Ни одно из этих вариантов названия невозможно назвать ни более, ни менее «правильным», чем другое.

Дешифратор команд нужен для того, чтобы перевести каждый машинный код в набор сигналов, приводящих в действие различные компоненты микропроцессора. Если упростить суть его действий, то можно сказать, что именно он согласует «софт» и «железо».

Рассмотрим работу дешифратора команд на примере инструкции ADD, выполняющей действие сложения:

  • В течение первого цикла тактовой частоты процессора происходит загрузка команды. На этом этапе дешифратору команд необходимо: активировать буфер сортировки для счетчика команд; активировать канал чтения (RD); активировать защелку буфера сортировки на пропуск входных данных в регистр команд
  • В течение второго цикла тактовой частоты процессора команда ADD декодируется. На этом этапе арифметико-логическое устройство выполняет сложение и передает значение в регистр C
  • В течение третьего цикла тактовой частоты процессора счетчик команд увеличивает свое значение на единицу (теоретически, это действие пересекается с происходившим во время второго цикла)

Каждая команда может быть представлена в виде набора последовательно выполняемых операций, которые в определенном порядке манипулируют компонентами микропроцессора. Другими словами программные инструкции ведут ко вполне физическим изменениям: например, изменению положения защелки. Некоторые инструкции могут потребовать на свое выполнение двух или трех тактовых циклов процессора. Другим может потребоваться даже пять или шесть циклов.

Микропроцессоры: производительность и тенденции

Микропроцессоры развиватся стремительно

Количество транзисторов в процессоре является важным фактором, влияющим на его производительность. Как было показано ранее, в процессоре 8088 на выполнение одной инструкции требовалось 15 циклов тактовой частоты. А чтобы выполнить одну 16-битную операцию, уходило и вовсе порядка 80 циклов. Так был устроен умножитель АЛУ этого процессора. Чем больше транзисторов и чем мощнее умножитель АЛУ, тем больше всего успевает сделать процессор за один свой такт.

Многие транзисторы поддерживают технологию конвейеризации. В рамках конвейерной архитектуры происходит частичное наложение выполняемых инструкций друг на друга. Инструкция может требовать на свое выполнение все тех же пяти циклов, но если процессором одновременно обрабатываются пять команд (на разных этапах завершенности), то в среднем на выполнение одной инструкции потребуется один цикл тактовой частоты процессора.

В почти всех современных процессорах дешифратор команд не один. И любой из них поддерживает конвейеризацию. Это позволяет выполнять более одной инструкции за один такт процессора. Для реализации этой технологии требуется невероятное множество транзисторов.

64-битные процессоры

Компьютер

Хотя массовое распространение 64-битные процессоры получили лишь пару лет назад, они существуют уже сравнительно давно: с 1992 года. И Intel, и AMD предлагают в текущее время такие процессоры. 64-битным можно считать такой процессор, который обладает 64-битным арифметико-логическим устройством (АЛУ), 64-битными регистрами и 64-битными шинами.

Основная причина, по которой процессорам нужна 64-битность, заключается в том, что данная архитектура расширяет адресное пространство. 32-битные процессоры могут получать доступ только к двум или четырем гигабайтам оперативки. Когда-то эти цифры казались гигантскими, но миновали годы и сегодня такой памятью никого уже не удивишь. Пару лет назад память обычного компьютера составляла 256 или 512 мегабайт. В те времена четырехгигабайтный лимит мешал только серверам и машинам, на которых работают большие базы данных.

Но очень быстро оказалось, что даже обычным пользователям порой не хватает ни двух, ни даже четырех гигабайт оперативки. 64-битных процессоров это досадное ограничение не касается. Доступное им адресное пространство в наши дни кажется бесконечным: два в шестьдесят четвертой степени байт, другими словами что-то около миллиарда гигабайт. В обозримом будущем столь гигантской оперативки не предвидится.

64-битная адресная шина, также широкие и высокоскоростные шины данных соответствующих материнских плат, позволяют 64-битным компьютерам увеличить скорость ввода и вывода данных в процессе взаимодействия с такими устройствами, как жесткий диск и видеокарта. Эти новые возможности значительно увеличивают производительность современных вычислительных машин.

Но далеко не все пользователи ощутят преимущества 64-битной архитектуры. Она необходима, сначала, тем, кто занимается редактированием видео и фотографий, также работает с различными большими картинками. 64-битные компьютеры по достоинству оценены ценителями компьютерных игр. Но те пользователи, которые при помощи компьютера просто общаются в социальных сетях и бродят по веб-просторам да редактируют текстовые файлы никаких преимуществ этих процессоров, вероятнее всего, просто не почувствуют.

По материалам computer.howstuffworks.com

ПОХОЖИЕ МАТЕРИАЛЫ



Чем небезопасно полоскание рта 


Дамы становятся счастливыми поближе к 90 годам 


Китайский секрет женской юности 


Физиологическое значение надпочечных желез 


Психика малышей мучается от ссор родителей 


Животные-доктора 


Искусственное оплодотворение»: плюсы и минусы 


Чего страшатся мужчины: 4 фобии 


Размер носа находится в зависимости от объема мышечной ткани 


Секрет прирождённых фаворитов: умение отдыхать 


Вакцинация и вакцинотерапия 


Курение родителей оказывает влияние на нрав малышей 


Разработаны микронасосы для четкого анализа ДНК 


Музыкальные вкусы изменяются всю жизнь 


Кто такая прекрасная дама: мужской взор 


Исцеление миомы матки традиционными... 


Меньше калорий: продолжительнее жизнь 


Специалисты в тревоге: сладкие нормы необходимо пересмотреть 


Как побороть ночное переедание 


Сотворена безупречная сетчатка глаза из стволовых клеток 


Грецкие орешки помогают биться с излишним весом 


У вас слабость: означает не хватает железа 


Денежный кризис разбивает сердца? 


Ученые пробуют расшифровать сновидения человека 


Население Земли толстеет на очах 


Хочешь иметь обычный вес: медлительнее жуй 


Какие необходимы продукты для кремлевской диеты 


Функции печени 


Женское такси 


Секрет стройной фигуры заложен в ДНК 


Диета бодрости для тех, кто на пределе сил 


Диета и спорт: программка для похудения 


Неописуемое открытие - это увлечение усугубляет память 


Мир без виз. Старый Бар и Старый Ульцинь 


Как делать горчичники 


Шриланкийское саффари и европейский комфорт! 


От танцев к делу: реп добавит туристов Южной Корее 


Тунис: правительство исламистов пообещало не закрывать бары для туристов 


Лондон, Дарлингтон и аэропорт Эдинбурга - новые места для отелей Holiday Inn 


В Гоа открылся новый отель Radisson 


Международные гостиничные сети открывают новые отели в Доминикане 


При пятизвездочном отеле открыли медицинское учреждение 


Выбрать отель все чаще помогают социальные сети 


На границе спокойно 


Радьков: Коми стали ассоциировать с туризмом 


Нант /Франция 


Неолимпийские достопримечательности 


Как заработать на внутреннем туризме? 


Пиво на перекрестке культур 


В Канаде упал самолет 


Киргизия и Болгария: война за логотип 


Китайская скважина 


Для взлета самолета надо выгнать "лишних пассажиров" 


Принадлежащий солисту U2 отель в Дублине будет похож на НЛО 


Вакцина за поворотом 


Новые визовые центры Канады открылись в РФ 


На фестивале «Пере-Движение» встретятся турбизнес, музыканты и СМИ 


Туристам не нравятся "шумные отели" 


Субьяко /Италия 


В центре Лондона туристов будут размещать дешево и компактно 


Живее всех живых 


Рынок MICE ждет укрупнение и рост профессионализма 


Смешные туристические истории из Египет (egypt) 


Оливеру Твисту нужна помощь 


ОАЭ после 26-летнего перерыва вступают в UNWTO 


Из «России» выйдут четыре отеля 


Шриланкийское саффари и европейский комфорт! 


От танцев к делу: реп добавит туристов Южной Корее 


Тунис: правительство исламистов пообещало не закрывать бары для туристов 


Лондон, Дарлингтон и аэропорт Эдинбурга - новые места для отелей Holiday Inn 


В Гоа открылся новый отель Radisson 


Международные гостиничные сети открывают новые отели в Доминикане 


При пятизвездочном отеле открыли медицинское учреждение 


Выбрать отель все чаще помогают социальные сети 


На границе спокойно 


Радьков: Коми стали ассоциировать с туризмом 


Нант /Франция 


Неолимпийские достопримечательности 


Как заработать на внутреннем туризме? 


Пиво на перекрестке культур 


В Канаде упал самолет 


Киргизия и Болгария: война за логотип 


Китайская скважина 


Для взлета самолета надо выгнать "лишних пассажиров" 


Принадлежащий солисту U2 отель в Дублине будет похож на НЛО 


Вакцина за поворотом 


Новые визовые центры Канады открылись в РФ 


На фестивале «Пере-Движение» встретятся турбизнес, музыканты и СМИ 


Туристам не нравятся "шумные отели" 


Субьяко /Италия 


В центре Лондона туристов будут размещать дешево и компактно 


Живее всех живых 


Рынок MICE ждет укрупнение и рост профессионализма 


Смешные туристические истории из Египет (egypt) 


Оливеру Твисту нужна помощь 


ОАЭ после 26-летнего перерыва вступают в UNWTO 


Из «России» выйдут четыре отеля 


Номера в отелях Дублина подорожали из-за концертов U2 


Развитие региона, Удивительная Хамбантота 
Категория: Непознанное | Добавил: kolobok4006 (16.03.2014)
Просмотров: 220 | Теги: факт, jump указанному, работать, Процессор | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]