Нажмите "Enter", чтобы перейти к содержанию

Моделирование работы процессора – Практическая работа № 12 «Моделирование работы процессора»

Содержание

Моделирование Практические работы Моделирование работы процессора


Подборка по базе: план работы ЦМК 2019-2020 г.г..docx, план работы кабинета 19.doc, план работы ст.мс 2019г.docx, Цель работы.docx, Варианты контрольной работы.doc, План работы СБ кафедры ГХ 2019-2020 г. (1 семестр 5 курс).doc, ИСТ_для сам работы.doc, Задание по теме Структурно-функциональное моделирование производ, план работы с одарен. детьми 2019-2020 Камашева т а.docx, орфографические работы и слова на тему русский язык в маткаде (в.


И
12.12.2018
нформатика, 11 класс К.Ю. Поляков, Е.А. Ере
мин

  1. Моделирование

Практические работы


  1. Напишите программу, которая моделирует работу процессора. Процессор имеет 4 регистра, они обозначаются R0, R1, R2 и R3. Все команды состоят из трех десятичных цифр: код операции, номер первого регистра и номер второго регистра (или число от 0 до 9). Коды команд и примеры их использования приведены в таблице:

Код операции

Описание

Пример

Псевдокод

1

запись константы

128

R2 := 8

2

копирование значения

203

R3 := R0

3

сложение

331

R1 := R1 + R3

4

вычитание

431

R1 := R1 – R3

Обратите внимание, что результат записывается во второй регистр. Команды вводятся последовательно как символьные строки. После ввода каждой строки программа показывает значения всех регистров.

  1. *Добавьте в систему команд умножение, деление и логические операции c регистрами – «И», «ИЛИ», «исключающее ИЛИ».

  2. *Добавьте в систему команд логическую операцию «НЕ». Подумайте, как можно использовать второй регистр.

  3. *Сделайте так, чтобы в команде с кодом 1 можно было использовать шестнадцатеричные значения констант (0-9, A-F).

  4. Добавьте обработку ошибок типа «неверная команда», «неверный номер регистра», «деление на ноль».

  5. *Добавьте команду «СТОП», которая прекращает работу программы. Введите строковый массив, моделирующий память, и запишите в него программу – последовательность команд. Ваша программа должна последовательно выполнять эти команды, выбирая их из «памяти», пока не встретится команда «СТОП».

  6. **Подумайте, как можно было бы организовать условный переход: перейти на N байт вперед (или назад), если результат последней операции – ноль.

      1. Моделирование движения


  1. Парашютист массой 90 кг разгоняется в свободном падении до скорости 10 м/с и на высоте 50 м раскрывает парашют, площадь которого 55 м2. Коэффициент сопротивления парашюта равен 0,9. Выполните следующие задания:

  • постройте графики изменения скорости и высоты полета в течение первых 4 секунд;

  • определите, с какой скоростью приземлится парашютист?

  • сравните результаты моделирования с установившимся значением скорости, вычисленным теоретически.

теоретически

моделирование

Скорость приземления, м/с

  1. Напишите программу, которая моделирует полет мяча, брошенного вертикально вверх, при

мм, г, м/с, с.

Остальные необходимые данные есть в тексте § 9. Выполните следующие задания:


  • определите время полета, максимальную высоту подъема мяча и скорость в момент приземления;

  • вычислите время полета и максимальную высоту подъема мяча, используя модель движения без сопротивления воздуха:



  • сравните эти результаты с полученными при моделировании с учетом сопротивления;

    без учёта сопротивления

    с учётом сопротивления

    Время полета, с

    Максимальная высота, м

    Скорость приземления, м/с

  • можно ли в этой задаче пренебречь сопротивлением воздуха? почему?

Ответ:

  • с помощью табличного процессора постройте траекторию движения мяча, а также графики изменения скорости, ускорения и силы сопротивления;

  • уменьшите шаг до 0,01 с и повторите моделирование; сделайте выводы по поводу выбора шага в данной задаче.

Ответ:

  1. *Выполните моделирование движения мяча, брошенного под углом 45° к горизонту:

  • определите время полета, максимальную высоту и дальность полета мяча, скорость в момент приземления;

    без учёта сопротивления

    с учётом сопротивления

    Время полета, с

    Максимальная высота, м

    Дальность полета, м

    Скорость приземления, м/с

  • сравните результаты со случаем, когда сопротивление воздуха не учитывается; сделайте выводы.

Ответ:

      1. Моделирование популяции животных


Для выполнения работы откройте файл-заготовку Популяция.xls.

  1. Постройте графики изменения численности популяции животных для моделей ограниченного и неограниченного роста при , и в течение первых 15 периодов. Определите, когда модель неограниченного роста перестает быть адекватной (отклонение от модели ограниченного роста составляет более 10%).

Ответ:

  1. Используя подбор параметра, определите, при каких коэффициентах модель неограниченного роста остается адекватной в течение не менее 10 периодов.

Ответ:

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

    Ответ:

      • определите количество животных в состоянии равновесия теоретически, из модели ограниченного роста с отловом; сравните это значение с результатами моделирования

      Ответ:

        • определите, на что влияет начальная численность животных;

        Ответ:

          • определите (по результатам моделирования) максимальный отлов , при котором популяция не вымирает.

          Ответ:

            • *определите максимально допустимый отлов теоретически, из модели ограниченного роста с отловом; сравните это значение с результатами моделирования

            Ответ:

                1. Моделирование эпидемии


            Для выполнения работы откройте файл-заготовку Эпидемия.xls.

            При эпидемии гриппа число больных изменяется по формуле

            ,

            где – количество заболевших в -й день, а – количество выздоровевших в тот же день. Число заболевших рассчитывается согласно модели ограниченного роста:

            ,

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

            .

            Считается, что в начале эпидемии заболел 1 человек, все заболевшие выздоравливают через 7 дней и больше не болеют.

            Выполните моделирование развития эпидемии при и до того момента, когда количество больных станет равно нулю. Постройте график изменения количества больных.

            Ответьте на следующие вопросы:


            1. Когда закончится эпидемия?

            Ответ:

            1. Сколько человек переболеет, а сколько вообще не заболеет гриппом?

            Ответ:

            1. Каково максимальное число больных в один день?

            Ответ:

            1. Изменяя коэффициент , определите, при каких значениях модель явно перестает быть адекватной.

            Ответ:

            1. *Сравните модель, использованную в этой работе, со следующей моделью:

            , .

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

            Ответ:

            Сравните поведение двух моделей при , и . Сделайте выводы.

            Ответ:


                1. Модель «хищник-жертва»


            Для выполнения работы откройте файл-заготовку ХищникЖертва.xls.

            Выполните моделирование биологической системы «щуки-караси»

            где – численность карасей

            – численность щук

            при следующих значениях параметров:

            – коэффициент прироста карасей;

            – предельная численность карасей;

            – начальная численность карасей;

            – начальная численность щук;

            – коэффициент смертности щук без пищи;

            и – коэффициенты модели.

            Постройте на одном поле графики изменения численности карасей и щук в течение 30 периодов моделирования.

            Ответьте на следующие вопросы:


            1. Сколько карасей и щук живут в водоеме в состоянии равновесия?

            Ответ:

            67 карасей и 37 щук


            1. Что влияет на количество рыб в состоянии равновесия: начальная численность хищников и жертв или значения коэффициентов модели?

            Ответ:

            1. На что влияет начальная численность хищников и жертв?

            Ответ:

            1. Подберите значения коэффициентов, при которых модель становится неадекватна.

            Ответ:

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

            Ответ:

            Практическая работа № 10а.

            Модель «две популяции»


            Для выполнения работы откройте файл-заготовку ДвеПопуляции.xls.

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

            Здесь и – численность белок и бурундуков; и – их максимальные численности; и – коэффициенты прироста; и – коэффициенты взаимного влияния.

            Объясните, на основании каких предположений была построена эта модель.

            Ответ:

            Выполните моделирование изменения численности двух популяций в течение 15 периодов при , , , , и . Постройте графики изменения численности обеих популяций на одном поле.

            Ответьте на следующие вопросы:


            1. Является ли эта модель системной? Почему?

            Ответ:

            1. Какова численность белок и бурундуков в состоянии равновесия?

            Ответ:

            1. Что влияет на состояние равновесия?

            Ответ:

            1. На что влияет начальная численность животных?

            Ответ:

            1. При каком значении коэффициента бурундуки вымрут через 25 лет? (используйте подбор параметра).

            Ответ:

            1. Найдите какие-нибудь значения коэффициентов, при которых модель становится неадекватна;

            Ответ:

            1. Предложите аналогичную модель взаимного влияния трех видов.

            Ответ:

                1. Саморегуляция


            Для выполнения работы откройте файл-заготовку Саморегуляция.xls.

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

            , (*)

            Эта модель отличатся от модели ограниченного роста только дополнительным множителем , где и – некоторые числа (параметры), смысл которых вам предстоит выяснить.


            1. Выполните моделирование для 30 периодов при следующих значениях параметров модели:

            Сравните результаты, которые дают модель классическая модель ограниченного роста и модель (*). Сделайте выводы и опишите, в чём проявляется саморегуляция для этих моделей.

            Ответ:


            1. Постепенно увеличивая коэффициент от 0 до 500, выясните с помощью моделирования, как влияет этот коэффициент на саморегуляцию.

            Ответ:

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

            Ответ:

            1. Повторите моделирование п. 3 при и сделайте аналогичные выводы:

            Ответ:

            1. Экспериментируя с моделями, найдите минимальную численность популяции , при которой она выживает в соответствии с моделью (*).

            Ответ:

            1. Сделайте выводы о смысле коэффициента в модели (*).

            Ответ:

            1. Сравните свойства саморегуляции для модели ограниченного роста и модели (*).

            Ответ:

                1. Моделирование работы банка


            Для моделирования обслуживания клиентов в банке предложена следующая модель:

            где – количество клиентов, вошедших за -ую минуту, а – количество клиентов, обслуженных за это время;




            • достаточным считается число касс, при которых среднее время ожидания превышает установленный предел не более, чем 5% рабочего времени в течение дня.

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

            , , , .

topuch.ru

Моделирование Практические работы Моделирование работы процессора


Подборка по базе: план работы ЦМК 2019-2020 г.г..docx, план работы кабинета 19.doc, план работы ст.мс 2019г.docx, Цель работы.docx, Варианты контрольной работы.doc, План работы СБ кафедры ГХ 2019-2020 г. (1 семестр 5 курс).doc, ИСТ_для сам работы.doc, Задание по теме Структурно-функциональное моделирование производ, план работы с одарен. детьми 2019-2020 Камашева т а.docx, орфографические работы и слова на тему русский язык в маткаде (в.


И
14.12.2018
нформатика, 11 класс К.Ю. Поляков, Е.А. Ере
мин

  1. Моделирование

Практические работы


  1. Напишите программу, которая моделирует работу процессора. Процессор имеет 4 регистра, они обозначаются R0, R1, R2 и R3. Все команды состоят из трех десятичных цифр: код операции, номер первого регистра и номер второго регистра (или число от 0 до 9). Коды команд и примеры их использования приведены в таблице:

Код операции

Описание

Пример

Псевдокод

1

запись константы

128

R2 := 8

2

копирование значения

203

R3 := R0

3

сложение

331

R1 := R1 + R3

4

вычитание

431

R1 := R1 – R3

Обратите внимание, что результат записывается во второй регистр. Команды вводятся последовательно как символьные строки. После ввода каждой строки программа показывает значения всех регистров.

  1. *Добавьте в систему команд умножение, деление и логические операции c регистрами – «И», «ИЛИ», «исключающее ИЛИ».

  2. *Добавьте в систему команд логическую операцию «НЕ». Подумайте, как можно использовать второй регистр.

  3. *Сделайте так, чтобы в команде с кодом 1 можно было использовать шестнадцатеричные значения констант (0-9, A-F).

  4. Добавьте обработку ошибок типа «неверная команда», «неверный номер регистра», «деление на ноль».

  5. *Добавьте команду «СТОП», которая прекращает работу программы. Введите строковый массив, моделирующий память, и запишите в него программу – последовательность команд. Ваша программа должна последовательно выполнять эти команды, выбирая их из «памяти», пока не встретится команда «СТОП».

  6. **Подумайте, как можно было бы организовать условный переход: перейти на N байт вперед (или назад), если результат последней операции – ноль.

      1. Моделирование движения


  1. Парашютист массой 90 кг разгоняется в свободном падении до скорости 10 м/с и на высоте 50 м раскрывает парашют, площадь которого 55 м2. Коэффициент сопротивления парашюта равен 0,9. Выполните следующие задания:

  • постройте графики изменения скорости и высоты полета в течение первых 4 секунд;

  • определите, с какой скоростью приземлится парашютист?

  • сравните результаты моделирования с установившимся значением скорости, вычисленным теоретически.

теоретически

моделирование

Скорость приземления, м/с

  1. Напишите программу, которая моделирует полет мяча, брошенного вертикально вверх, при

мм, г, м/с, с.

Остальные необходимые данные есть в тексте § 9. Выполните следующие задания:


  • определите время полета, максимальную высоту подъема мяча и скорость в момент приземления;

  • вычислите время полета и максимальную высоту подъема мяча, используя модель движения без сопротивления воздуха:



  • сравните эти результаты с полученными при моделировании с учетом сопротивления;

    без учёта сопротивления

    с учётом сопротивления

    Время полета, с

    Максимальная высота, м

    Скорость приземления, м/с

  • можно ли в этой задаче пренебречь сопротивлением воздуха? почему?

Ответ:

  • с помощью табличного процессора постройте траекторию движения мяча, а также графики изменения скорости, ускорения и силы сопротивления;

  • уменьшите шаг до 0,01 с и повторите моделирование; сделайте выводы по поводу выбора шага в данной задаче.

Ответ:

  1. *Выполните моделирование движения мяча, брошенного под углом 45° к горизонту:

  • определите время полета, максимальную высоту и дальность полета мяча, скорость в момент приземления;

    без учёта сопротивления

    с учётом сопротивления

    Время полета, с

    Максимальная высота, м

    Дальность полета, м

    Скорость приземления, м/с

  • сравните результаты со случаем, когда сопротивление воздуха не учитывается; сделайте выводы.

Ответ:

      1. Моделирование популяции животных


Для выполнения работы откройте файл-заготовку Популяция.xls.

  1. Постройте графики изменения численности популяции животных для моделей ограниченного и неограниченного роста при , и в течение первых 15 периодов. Определите, когда модель неограниченного роста перестает быть адекватной (отклонение от модели ограниченного роста составляет более 10%).

Ответ:

  1. Используя подбор параметра, определите, при каких коэффициентах модель неограниченного роста остается адекватной в течение не менее 10 периодов.

Ответ:

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

    Ответ:

      • определите количество животных в состоянии равновесия теоретически, из модели ограниченного роста с отловом; сравните это значение с результатами моделирования

      Ответ:

        • определите, на что влияет начальная численность животных;

        Ответ:

          • определите (по результатам моделирования) максимальный отлов , при котором популяция не вымирает.

          Ответ:

            • *определите максимально допустимый отлов теоретически, из модели ограниченного роста с отловом; сравните это значение с результатами моделирования

            Ответ:

                1. Моделирование эпидемии


            Для выполнения работы откройте файл-заготовку Эпидемия.xls.

            При эпидемии гриппа число больных изменяется по формуле

            ,

            где – количество заболевших в -й день, а – количество выздоровевших в тот же день. Число заболевших рассчитывается согласно модели ограниченного роста:

            ,

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

            .

            Считается, что в начале эпидемии заболел 1 человек, все заболевшие выздоравливают через 7 дней и больше не болеют.

            Выполните моделирование развития эпидемии при и до того момента, когда количество больных станет равно нулю. Постройте график изменения количества больных.

            Ответьте на следующие вопросы:


            1. Когда закончится эпидемия?

            Ответ:

            1. Сколько человек переболеет, а сколько вообще не заболеет гриппом?

            Ответ:

            1. Каково максимальное число больных в один день?

            Ответ:

            1. Изменяя коэффициент , определите, при каких значениях модель явно перестает быть адекватной.

            Ответ:

            1. *Сравните модель, использованную в этой работе, со следующей моделью:

            , .

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

            Ответ:

            Сравните поведение двух моделей при , и . Сделайте выводы.

            Ответ:


                1. Модель «хищник-жертва»


            Для выполнения работы откройте файл-заготовку ХищникЖертва.xls.

            Выполните моделирование биологической системы «щуки-караси»

            где – численность карасей

            – численность щук

            при следующих значениях параметров:

            – коэффициент прироста карасей;

            – предельная численность карасей;

            – начальная численность карасей;

            – начальная численность щук;

            – коэффициент смертности щук без пищи;

            и – коэффициенты модели.

            Постройте на одном поле графики изменения численности карасей и щук в течение 30 периодов моделирования.

            Ответьте на следующие вопросы:


            1. Сколько карасей и щук живут в водоеме в состоянии равновесия?

            Ответ:

            1. Что влияет на количество рыб в состоянии равновесия: начальная численность хищников и жертв или значения коэффициентов модели?

            Ответ:

            1. На что влияет начальная численность хищников и жертв?

            Ответ:

            1. Подберите значения коэффициентов, при которых модель становится неадекватна.

            Ответ:

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

            Ответ:

            Практическая работа № 10а.

            Модель «две популяции»


            Для выполнения работы откройте файл-заготовку ДвеПопуляции.xls.

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

            Здесь и – численность белок и бурундуков; и – их максимальные численности; и – коэффициенты прироста; и – коэффициенты взаимного влияния.

            Объясните, на основании каких предположений была построена эта модель.

            Ответ:

            Выполните моделирование изменения численности двух популяций в течение 15 периодов при , , , , и . Постройте графики изменения численности обеих популяций на одном поле.

            Ответьте на следующие вопросы:


            1. Является ли эта модель системной? Почему?

            Ответ:

            1. Какова численность белок и бурундуков в состоянии равновесия?

            Ответ:

            1. Что влияет на состояние равновесия?

            Ответ:

            1. На что влияет начальная численность животных?

            Ответ:

            1. При каком значении коэффициента бурундуки вымрут через 25 лет? (используйте подбор параметра).

            Ответ:

            1. Найдите какие-нибудь значения коэффициентов, при которых модель становится неадекватна;

            Ответ:

            1. Предложите аналогичную модель взаимного влияния трех видов.

            Ответ:

                1. Саморегуляция


            Для выполнения работы откройте файл-заготовку Саморегуляция.xls.

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

            , (*)

            Эта модель отличатся от модели ограниченного роста только дополнительным множителем , где и – некоторые числа (параметры), смысл которых вам предстоит выяснить.


            1. Выполните моделирование для 30 периодов при следующих значениях параметров модели:

            Сравните результаты, которые дают модель классическая модель ограниченного роста и модель (*). Сделайте выводы и опишите, в чём проявляется саморегуляция для этих моделей.

            Ответ:


            1. Постепенно увеличивая коэффициент от 0 до 500, выясните с помощью моделирования, как влияет этот коэффициент на саморегуляцию.

            Ответ:

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

            Ответ:

            1. Повторите моделирование п. 3 при и сделайте аналогичные выводы:

            Ответ:

            1. Экспериментируя с моделями, найдите минимальную численность популяции , при которой она выживает в соответствии с моделью (*).

            Ответ:

            1. Сделайте выводы о смысле коэффициента в модели (*).

            Ответ:

            1. Сравните свойства саморегуляции для модели ограниченного роста и модели (*).

            Ответ:

                1. Моделирование работы банка


            Для моделирования обслуживания клиентов в банке предложена следующая модель:

            где – количество клиентов, вошедших за -ую минуту, а – количество клиентов, обслуженных за это время;




            • достаточным считается число касс, при которых среднее время ожидания превышает установленный предел не более, чем 5% рабочего времени в течение дня.

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

            , , , .

topuch.ru

Как разрабатываются и производятся процессоры: проектирование ЦП / Habr


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

Часть 1: Основы архитектуры компьютеров (архитектуры наборов команд, кэширование, конвейеры, hyperthreading)
Часть 2: Процесс проектирования ЦП (электрические схемы, транзисторы, логические элементы, синхронизация)
Часть 3: Компонование и физическое производство чипа (VLSI и изготовление кремния)
Часть 4: Современные тенденции и важные будущие направления в архитектуре компьютеров (море ускорителей, трёхмерное интегрирование, FPGA, Near Memory Computing)

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

Существует два основных типа транзисторов, используемых в современных процессорах: pMOS (PМОП) и nMOS (NМОП). nMOS-транзистор пропускает ток, когда затвор (gate) заряжен или имеет высокое напряжение, а pMOS-транзистор пропускает ток, когда затвор разряжен или имеет низкое напряжение. Сочетая эти типы транзисторов комплементарным образом, мы можем создавать логические элементы КМОП (CMOS). В этой статье мы не будем подробно разбирать особенности работы транзисторов, но коснёмся этого в третьей части серии.

Логический элемент — это простое устройство, получающее входные сигналы, выполняющее какую-то операцию, и выводящее результат. Например, элемент И (AND) включает свой выходной сигнал тогда и только тогда, когда включены все входы затвора. Инвертор, или элемент НЕ (NOT) включает свой выход, если вход отключён. Можно скомбинировать эти два затвора и получить элемент И-НЕ (NAND), который включает выход, тогда и только тогда, когда не включён ни один из входов. Существуют другие элементы со своей логической функциональностью, например ИЛИ (OR), ИЛИ-НЕ (NOR), исключающее ИЛИ (XOR) и исключающее ИЛИ с инверсией (XNOR).

Ниже показано, как из транзисторов собраны два простых элемента: инвертор и NAND. В инверторе pMOS-транзистор (сверху) соединён с питанием, а nMOS-транзистор (снизу) соединён с заземлением. На обозначении pMOS-транзисторов есть небольшой кружок, соединённый с затвором. Мы сказали, что pMOS-устройства пропускают ток, когда вход отключен, а nMOS-устройства пропускают ток, когда вход включен, поэтому легко заметить, что сигнал на выходе (Out) будет всегда противоположным сигналу на входе (In). Взглянув на элемент NAND, мы видим, что для него требуется четыре транзистора, и что выход всегда будет отключен, если выключен хотя бы один из входов. Соединение подобным образом транзисторов для образования простых сетей — это тот же процесс, который используется для проектирования более сложных логических элементов и других схем внутри процессоров.


Строительные блоки в виде логических элементов так просты, что трудно понять, как они превращаются в функционирующий компьютер. Процесс проектирования заключается в комбинировании нескольких элементов для создания небольшого устройства, способного выполнять простую функцию. Затем можно объединить множество таких устройств, чтобы создать нечто, выполняющее более сложную функцию. Процесс комбинирования отдельных компонентов для создания работающей структуры — это именно тот процесс, который используется сегодня для создания современных чипов. Единственное отличие заключается в том, что современный чип состоит из миллиардов транзисторов.

В качестве небольшого примера давайте возьмём простой сумматор — 1-битный полный сумматор. Он получает три входных сигнала — A, B, и Carry-In (входной сигнал переноса), и создаёт два выходных сигнала — Sum (сумма) и Carry-Out (выходной сигнал переноса). В простейшей схеме используется пять логических элементов, и их можно соединить вместе для создания сумматора любого размера. В современных схемах этот процесс усовершенствован оптимизацией части логики и сигналов переноса, но фундаментальные основы остаются теми же.

Выход Sum равен или A, или B, но никогда обоим, или есть входящий сигнал переноса, и тогда A и B или оба включены, или оба выключены. Выходной сигнал переноса немного сложнее. Он активен, когда или A и B включены одновременно, или есть Carry-in и один из A или B включен. Чтобы соединить несколько 1-битных сумматоров для создания более широкого сумматора, нам просто нужно соединить Carry-out предыдущего бита с Carry-in текущего бита. Чем сложнее становятся схемы, тем запутанней получается логика, но это самый простой способ сложения двух чисел. В современных процессорах используются более изощрённые сумматоры, но их схемы слишком сложны для подобного обзора. Кроме сумматоров процессоры также содержат устройства для деления, умножения и версий всех этих операций с плавающей точкой.


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

Секвенциальная логика строится аккуратным соединением инверторов и других логических элементов так, чтобы их выходы передавали сигналы обратной связи на вход элементов. Такие контуры обратной связи используются для хранения одного бита данных и называются статическим ОЗУ (Static RAM), или SRAM. Эта память называется статическим ОЗУ в противовес динамической (DRAM), потому что сохраняемые данные всегда напрямую соединены с положительным напряжением или заземлением.

Стандартный способ реализации одного бита SRAM — это показанная ниже схема из 6 транзисторов. Самый верхний сигнал, помеченный как WL (Word Line) — это адрес, и когда он включен, то данные, хранящиеся в этой 1-битной ячейке передаются в Bit Line, помеченную как BL. Выход BLB называется Bit Line Bar; это просто инвертированное значение Bit Line. Вы должны узнать два типа транзисторов и понять, что M3 с M1, как и M4 с M2, образуют инвертор.


SRAM используется для построения сверхбыстрых кэшей и регистров внутри процессоров. Эта память очень стабильна, но для хранения каждого бита данных требует от шести до восьми транзисторов. Поэтому по сравнению с DRAM она чрезвычайно затратна с точки зрения стоимости, сложности и площади на чипе. С другой стороны, Dynamic RAM хранит данные в крошечном конденсаторе, а не использует логические элементы. Она называется динамической, потому что напряжение на конденсаторе может значительно изменяться, так как он не подключён к питанию или заземлению. Есть только один транзистор, используемый для доступа к хранящимся в конденсаторе данным.

Поскольку DRAM требует всего по одному транзистору на бит и очень масштабируема, её можно плотно и дёшево упаковывать. Недостаток DRAM заключается в том, что заряд конденсатора так мал, что его необходимо постоянно обновлять. Именно поэтому после отключения питания компьютера все конденсаторы разряжаются и данные в ОЗУ теряются.


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

Теперь, когда мы знаем, как производятся некоторые компоненты процессора, нам нужно разобраться, как соединить всё вместе и синхронизировать. Все ключевые компоненты процессора подключены к синхронизирующему (тактовому) сигналу (clock signal). Он попеременно имеет высокое и низкое напряжение, меняя его с заданным интервалом, называемым частотой (frequency). Логика внутри процессора обычно переключает значения и выполняет вычисления, когда синхронизирующий сигнал меняет напряжение с низкого на высокое. Синхронизируя все части, мы можем гарантировать, что данные всегда поступают в правильное время, чтобы в процессоре не возникали «глюки».

Вы могли слышать, что для повышения производительности процессора можно увеличить частоту тактовых сигналов. Это повышение производительности происходит благодаря тому, что переключение транзисторов и логики внутри процессора начинает происходить чаще, чем предусмотрено. Поскольку в секунду происходит больше циклов, то можно выполнить больше работы и процессор будет иметь повышенную производительность. Однако это справедливо до определённого предела. Современные процессоры обычно работают с частотой от 3,0 ГГц до 4,5 ГГц, и эта величина почти не изменилась за последние десять лет. Точно так же, как металлическая цепь не прочнее её самого слабого звена, процессор может работать не быстрее его самой медленной части. К концу каждого тактового цикла каждый элемент процессора должен завершить свою работу. Если какие-то части ещё её не завершили, то тактовый сигнал слишком быстрый и процессор не будет работать. Проектировщики называют эту самую медленную часть критическим путём (Critical Path) и именно он определяет максимальную частоту, с которой может работать процессор. Выше определённой частоты транзисторы просто не успевают достаточно быстро переключаться и начинают глючить или выдавать неверные выходные значения.

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

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

Тактовый сигнал в современных процессорах отнимает примерно 30-40% от его общей мощности, потому что он очень сложен и должен управлять множеством различных устройств. Для сохранения энергии большинство процессоров с низким потреблением отключает части чипа, когда они не используются. Это можно реализовать отключением тактового сигнала (этот способ называется Clock Gating) или отключением питания (Power Gating).

Тактовые сигналы создают ещё одну сложность при проектировании процессора: поскольку их частоты постоянно растут, то на работу начинают влиять законы физики. Даже несмотря на чрезвычайно высокую скорость света, она недостаточно велика для высокопроизводительных процессоров. Если подключить тактовый сигнал к одному концу чипа, то ко времени, когда сигнал достигнет другого конца, он будет рассинхронизован на значительную величину. Чтобы синхронизировать все части чипа, тактовый сигнал распределяется при помощи так называемого H-Tree. Это структура, гарантирующая, что все конечные точки находятся на совершенно одинаковом расстоянии от центра.


Может показаться, что проектирование каждого отдельного транзистора, тактового сигнала и контакта питания в чипе — чрезвычайно монотонная и сложная задача, и это в самом деле так. Даже несмотря на то, что в таких компаниях, как Intel, Qualcomm и AMD, работают тысячи инженеров, они не смогли бы вручную спроектировать каждый аспект чипа. Для проектирования чипов такого масштаба они используют множество сложных инструментов, автоматически генерирующих конструкции и электрические схемы. Такие инструменты обычно получают высокоуровневое описание того, что должен делать компонент, и определяют наилучшую аппаратную конфигурацию, удовлетворяющую этим требованиям. Недавно возникло направление развития под названием High Level Synthesis, которое позволяет разработчикам указывать необходимую функциональность в коде, после чего компьютеры определяют, как оптимальнее достичь её в оборудовании.

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

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

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

БОльшая часть работ по проектированию автоматизирована, но изложенное выше позволяет нам осознать, насколько сложен только что купленный нами новый ЦП.

Во второй части серии я рассказал о процессе проектирования ЦП. Мы обсудили транзисторы, логические элементы, подачу питания и синхронизирующих сигналов, синтез конструкции и верификацию. В третьей части мы узнаем, что требуется для физического производства чипа. Все компании любят хвастаться тем, насколько современен их процесс изготовления (Intel — 10-нанометровый, Apple и AMD — 7-нанометровый, и т.д.), но что же на самом деле означают эти числа? Об этом мы расскажем в следующей части.

Рекомендуемое чтение

habr.com

Моделирование работы процессора - Документ

Похожие публикации

Концентрация растворов (уровень в, С)
Документ
2. В 120 г 10%-го раствора вещества растворили еще 12 г этого же вещества. Массовая доля растворенного вещества во вновь полученном растворе составляе...полностью>>

Программа по предпрофильному курсу «Тестовые технологии. Русский язык»
Программа
Соловьёва Т.В., Пасичник И.В. Русский язык. 9-й класс: Государственная итоговая аттестация. – Березники. ООО «Издательский дом «Типография купца Тарас...полностью>>

Районный конкурс «Путь к профессии» Разработчик
Конкурс
В подростковом возрасте общение является ведущей деятельностью. Необходимое условие любого общения – налаживание межличностных контактов, умение понят...полностью>>

Биология, как никакая другая природоведческая наука, обнаруживает
Документ
мировоззренческой позиции ее исследователей. Образ биологической реальности играет в исследовательской работе биолога специфическую роль, обусловленну...полностью>>

Информатика, 11 класс К.Ю. Поляков, Е.А. Еремин


  1. Моделирование

Практические работы

      1. Моделирование работы процессора

  1. Напишите программу, которая моделирует работу процессора. Процессор имеет 4 регистра, они обозначаются R0, R1, R2 и R3. Все команды состоят из трех десятичных цифр: код операции, номер первого регистра и номер второго регистра (или число от 0 до 9). Коды команд и примеры их использования приведены в таблице:

Код операции

Описание

Пример

Псевдокод

1

запись константы

128

R2 := 8

2

копирование значения

203

R3 := R0

3

сложение

331

R1 := R1 + R3

4

вычитание

431

R1 := R1 – R3

Обратите внимание, что результат записывается во второй регистр. Команды вводятся последовательно как символьные строки. После ввода каждой строки программа показывает значения всех регистров.

  1. *Добавьте в систему команд умножение, деление и логические операции c регистрами – «И», «ИЛИ», «исключающее ИЛИ».

  2. *Добавьте в систему команд логическую операцию «НЕ». Подумайте, как можно использовать второй регистр.

  3. *Сделайте так, чтобы в команде с кодом 1 можно было использовать шестнадцатеричные значения констант (0-9, A-F).

  4. Добавьте обработку ошибок типа «неверная команда», «неверный номер регистра», «деление на ноль».

  5. *Добавьте команду «СТОП», которая прекращает работу программы. Введите строковый массив, моделирующий память, и запишите в него программу – последовательность команд. Ваша программа должна последовательно выполнять эти команды, выбирая их из «памяти», пока не встретится команда «СТОП».

  6. **Подумайте, как можно было бы организовать условный переход: перейти на N байт вперед (или назад), если результат последней операции – ноль.


      1. Моделирование движения

  1. Парашютист массой 90 кг разгоняется в свободном падении до скорости 10 м/с и на высоте 50 м раскрывает парашют, площадь которого 55 м2. Коэффициент сопротивления парашюта равен 0,9. Выполните следующие задания:

  • постройте графики изменения скорости и высоты полета в течение первых 4 секунд;

  • определите, с какой скоростью приземлится парашютист?

  • сравните результаты моделирования с установившимся значением скорости, вычисленным теоретически.

теоретически

моделирование

Скорость приземления, м/с

  1. Напишите программу, которая моделирует полет мяча, брошенного вертикально вверх, при

мм, г, м/с, с.

Остальные необходимые данные есть в тексте § 9. Выполните следующие задания:

  • определите время полета, максимальную высоту подъема мяча и скорость в момент приземления;

  • вычислите время полета и максимальную высоту подъема мяча, используя модель движения без сопротивления воздуха:

  • сравните эти результаты с полученными при моделировании с учетом сопротивления;

    без учёта сопротивления

    с учётом сопротивления

    Время полета, с

    Максимальная высота, м

    Скорость приземления, м/с

  • можно ли в этой задаче пренебречь сопротивлением воздуха? почему?

Ответ:

  • с помощью табличного процессора постройте траекторию движения мяча, а также графики изменения скорости, ускорения и силы сопротивления;

  • уменьшите шаг до 0,01 с и повторите моделирование; сделайте выводы по поводу выбора шага в данной задаче.

Ответ:

  1. *Выполните моделирование движения мяча, брошенного под углом 45° к горизонту:

  • определите время полета, максимальную высоту и дальность полета мяча, скорость в момент приземления;

    без учёта сопротивления

    с учётом сопротивления

    Время полета, с

    Максимальная высота, м

    Дальность полета, м

    Скорость приземления, м/с

  • сравните результаты со случаем, когда сопротивление воздуха не учитывается; сделайте выводы.

Ответ:


      1. Моделирование популяции животных

Для выполнения работы откройте файл-заготовку Популяция.xls.

  1. Постройте графики изменения численности популяции животных для моделей ограниченного и неограниченного роста при , и в течение первых 15 периодов. Определите, когда модель неограниченного роста перестает быть адекватной (отклонение от модели ограниченного роста составляет более 10%).

Ответ:

  1. Используя подбор параметра, определите, при каких коэффициентах модель неограниченного роста остается адекватной в течение не менее 10 периодов.

Ответ:

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

    • постройте график изменения численности животных;

    • определите количество животных в состоянии равновесия по результатам моделирования; зависит ли оно от начальной численности?

    Ответ:

      • определите количество животных в состоянии равновесия теоретически, из модели ограниченного роста с отловом; сравните это значение с результатами моделирования

      Ответ:

        Ответ:

          Ответ:

            • *определите максимально допустимый отлов теоретически, из модели ограниченного роста с отловом; сравните это значение с результатами моделирования

            Ответ:


                1. Моделирование эпидемии

            Для выполнения работы откройте файл-заготовку Эпидемия.xls.

            При эпидемии гриппа число больных изменяется по формуле

            ,

            где – количество заболевших в -й день, а – количество выздоровевших в тот же день. Число заболевших рассчитывается согласно модели ограниченного роста:

            ,

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

            .

            Считается, что в начале эпидемии заболел 1 человек, все заболевшие выздоравливают через 7 дней и больше не болеют.

            Выполните моделирование развития эпидемии при и до того момента, когда количество больных станет равно нулю. Постройте график изменения количества больных.

            Ответьте на следующие вопросы:

            1. Когда закончится эпидемия?

            Ответ:

            1. Сколько человек переболеет, а сколько вообще не заболеет гриппом?

            Ответ:

            1. Каково максимальное число больных в один день?

            Ответ:

            1. Изменяя коэффициент , определите, при каких значениях модель явно перестает быть адекватной.

            Ответ:

            1. *Сравните модель, использованную в этой работе, со следующей моделью:

            , .

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

            Ответ:

            Сравните поведение двух моделей при , и . Сделайте выводы.

            Ответ:


                1. Модель «хищник-жертва»

            Для выполнения работы откройте файл-заготовку ХищникЖертва.xls.

            Выполните моделирование биологической системы «щуки-караси»

            где – численность карасей

            – численность щук

            при следующих значениях параметров:

            – коэффициент прироста карасей;

            – предельная численность карасей;

            – начальная численность карасей;

            – начальная численность щук;

            – коэффициент смертности щук без пищи;

            и – коэффициенты модели.

            Постройте на одном поле графики изменения численности карасей и щук в течение 30 периодов моделирования.

            Ответьте на следующие вопросы:

            1. Сколько карасей и щук живут в водоеме в состоянии равновесия?

            Ответ:

            1. Что влияет на количество рыб в состоянии равновесия: начальная численность хищников и жертв или значения коэффициентов модели?

            Ответ:

            1. На что влияет начальная численность хищников и жертв?

            Ответ:

            1. Подберите значения коэффициентов, при которых модель становится неадекватна.

            Ответ:

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

            Ответ:

            Практическая работа № 10а.

            Модель «две популяции»

            Для выполнения работы откройте файл-заготовку ДвеПопуляции.xls.

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

            Здесь и – численность белок и бурундуков; и – их максимальные численности; и – коэффициенты прироста; и – коэффициенты взаимного влияния.

            Объясните, на основании каких предположений была построена эта модель.

            Ответ:

            Выполните моделирование изменения численности двух популяций в течение 15 периодов при , , , , и . Постройте графики изменения численности обеих популяций на одном поле.

            Ответьте на следующие вопросы:

            1. Является ли эта модель системной? Почему?

            Ответ:

            1. Какова численность белок и бурундуков в состоянии равновесия?

            Ответ:

            1. Что влияет на состояние равновесия?

            Ответ:

            1. На что влияет начальная численность животных?

            Ответ:

            1. При каком значении коэффициента бурундуки вымрут через 25 лет? (используйте подбор параметра).

            Ответ:

            1. Найдите какие-нибудь значения коэффициентов, при которых модель становится неадекватна;

            Ответ:

            1. Предложите аналогичную модель взаимного влияния трех видов.

            Ответ:


                1. Саморегуляция

            Для выполнения работы откройте файл-заготовку Саморегуляция.xls.

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

            , (*)

            Эта модель отличатся от модели ограниченного роста только дополнительным множителем , где и – некоторые числа (параметры), смысл которых вам предстоит выяснить.

            1. Выполните моделирование для 30 периодов при следующих значениях параметров модели:

            Сравните результаты, которые дают модель классическая модель ограниченного роста и модель (*). Сделайте выводы и опишите, в чём проявляется саморегуляция для этих моделей.

            Ответ:

            1. Постепенно увеличивая коэффициент от 0 до 500, выясните с помощью моделирования, как влияет этот коэффициент на саморегуляцию.

            Ответ:

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

            Ответ:

            1. Повторите моделирование п. 3 при и сделайте аналогичные выводы:

            Ответ:

            1. Экспериментируя с моделями, найдите минимальную численность популяции , при которой она выживает в соответствии с моделью (*).

            Ответ:

            1. Сделайте выводы о смысле коэффициента в модели (*).

            Ответ:

            1. Сравните свойства саморегуляции для модели ограниченного роста и модели (*).

            Ответ:


                1. Моделирование работы банка

            Для моделирования обслуживания клиентов в банке предложена следующая модель:

            где – количество клиентов, вошедших за -ую минуту, а – количество клиентов, обслуженных за это время;

            • достаточным считается число касс, при которых среднее время ожидания превышает установленный предел не более, чем 5% рабочего времени в течение дня.

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

            , , , .

            http://kpolyakov.spb.ru


            site-to-you.ru

            Моделирование Практические работы Моделирование работы процессора


            Подборка по базе: план работы ЦМК 2019-2020 г.г..docx, план работы кабинета 19.doc, план работы ст.мс 2019г.docx, Цель работы.docx, Варианты контрольной работы.doc, План работы СБ кафедры ГХ 2019-2020 г. (1 семестр 5 курс).doc, ИСТ_для сам работы.doc, Задание по теме Структурно-функциональное моделирование производ, план работы с одарен. детьми 2019-2020 Камашева т а.docx, орфографические работы и слова на тему русский язык в маткаде (в.


            И
            12.12.2018
            нформатика, 11 класс К.Ю. Поляков, Е.А. Ере
            мин

            1. Моделирование

            Практические работы


            1. Напишите программу, которая моделирует работу процессора. Процессор имеет 4 регистра, они обозначаются R0, R1, R2 и R3. Все команды состоят из трех десятичных цифр: код операции, номер первого регистра и номер второго регистра (или число от 0 до 9). Коды команд и примеры их использования приведены в таблице:

            Код операции

            Описание

            Пример

            Псевдокод

            1

            запись константы

            128

            R2 := 8

            2

            копирование значения

            203

            R3 := R0

            3

            сложение

            331

            R1 := R1 + R3

            4

            вычитание

            431

            R1 := R1 – R3

            Обратите внимание, что результат записывается во второй регистр. Команды вводятся последовательно как символьные строки. После ввода каждой строки программа показывает значения всех регистров.

            1. *Добавьте в систему команд умножение, деление и логические операции c регистрами – «И», «ИЛИ», «исключающее ИЛИ».

            2. *Добавьте в систему команд логическую операцию «НЕ». Подумайте, как можно использовать второй регистр.

            3. *Сделайте так, чтобы в команде с кодом 1 можно было использовать шестнадцатеричные значения констант (0-9, A-F).

            4. Добавьте обработку ошибок типа «неверная команда», «неверный номер регистра», «деление на ноль».

            5. *Добавьте команду «СТОП», которая прекращает работу программы. Введите строковый массив, моделирующий память, и запишите в него программу – последовательность команд. Ваша программа должна последовательно выполнять эти команды, выбирая их из «памяти», пока не встретится команда «СТОП».

            6. **Подумайте, как можно было бы организовать условный переход: перейти на N байт вперед (или назад), если результат последней операции – ноль.

                1. Моделирование движения


            1. Парашютист массой 90 кг разгоняется в свободном падении до скорости 10 м/с и на высоте 50 м раскрывает парашют, площадь которого 55 м2. Коэффициент сопротивления парашюта равен 0,9. Выполните следующие задания:

            • постройте графики изменения скорости и высоты полета в течение первых 4 секунд;

            • определите, с какой скоростью приземлится парашютист?

            • сравните результаты моделирования с установившимся значением скорости, вычисленным теоретически.

            теоретически

            моделирование

            Скорость приземления, м/с

            1. Напишите программу, которая моделирует полет мяча, брошенного вертикально вверх, при

            мм, г, м/с, с.

            Остальные необходимые данные есть в тексте § 9. Выполните следующие задания:


            • определите время полета, максимальную высоту подъема мяча и скорость в момент приземления;

            • вычислите время полета и максимальную высоту подъема мяча, используя модель движения без сопротивления воздуха:



            • сравните эти результаты с полученными при моделировании с учетом сопротивления;

              без учёта сопротивления

              с учётом сопротивления

              Время полета, с

              Максимальная высота, м

              Скорость приземления, м/с

            • можно ли в этой задаче пренебречь сопротивлением воздуха? почему?

            Ответ:

            • с помощью табличного процессора постройте траекторию движения мяча, а также графики изменения скорости, ускорения и силы сопротивления;

            • уменьшите шаг до 0,01 с и повторите моделирование; сделайте выводы по поводу выбора шага в данной задаче.

            Ответ:

            1. *Выполните моделирование движения мяча, брошенного под углом 45° к горизонту:

            • определите время полета, максимальную высоту и дальность полета мяча, скорость в момент приземления;

              без учёта сопротивления

              с учётом сопротивления

              Время полета, с

              Максимальная высота, м

              Дальность полета, м

              Скорость приземления, м/с

            • сравните результаты со случаем, когда сопротивление воздуха не учитывается; сделайте выводы.

            Ответ:

                1. Моделирование популяции животных


            Для выполнения работы откройте файл-заготовку Популяция.xls.

            1. Постройте графики изменения численности популяции животных для моделей ограниченного и неограниченного роста при , и в течение первых 15 периодов. Определите, когда модель неограниченного роста перестает быть адекватной (отклонение от модели ограниченного роста составляет более 10%).

            Ответ:

            1. Используя подбор параметра, определите, при каких коэффициентах модель неограниченного роста остается адекватной в течение не менее 10 периодов.

            Ответ:

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

              Ответ:

                • определите количество животных в состоянии равновесия теоретически, из модели ограниченного роста с отловом; сравните это значение с результатами моделирования

                Ответ:

                  • определите, на что влияет начальная численность животных;

                  Ответ:

                    • определите (по результатам моделирования) максимальный отлов , при котором популяция не вымирает.

                    Ответ:

                      • *определите максимально допустимый отлов теоретически, из модели ограниченного роста с отловом; сравните это значение с результатами моделирования

                      Ответ:

                          1. Моделирование эпидемии


                      Для выполнения работы откройте файл-заготовку Эпидемия.xls.

                      При эпидемии гриппа число больных изменяется по формуле

                      ,

                      где – количество заболевших в -й день, а – количество выздоровевших в тот же день. Число заболевших рассчитывается согласно модели ограниченного роста:

                      ,

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

                      .

                      Считается, что в начале эпидемии заболел 1 человек, все заболевшие выздоравливают через 7 дней и больше не болеют.

                      Выполните моделирование развития эпидемии при и до того момента, когда количество больных станет равно нулю. Постройте график изменения количества больных.

                      Ответьте на следующие вопросы:


                      1. Когда закончится эпидемия?

                      Ответ:

                      1. Сколько человек переболеет, а сколько вообще не заболеет гриппом?

                      Ответ:

                      1. Каково максимальное число больных в один день?

                      Ответ:

                      1. Изменяя коэффициент , определите, при каких значениях модель явно перестает быть адекватной.

                      Ответ:

                      1. *Сравните модель, использованную в этой работе, со следующей моделью:

                      , .

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

                      Ответ:

                      Сравните поведение двух моделей при , и . Сделайте выводы.

                      Ответ:


                          1. Модель «хищник-жертва»


                      Для выполнения работы откройте файл-заготовку ХищникЖертва.xls.

                      Выполните моделирование биологической системы «щуки-караси»

                      где – численность карасей

                      – численность щук

                      при следующих значениях параметров:

                      – коэффициент прироста карасей;

                      – предельная численность карасей;

                      – начальная численность карасей;

                      – начальная численность щук;

                      – коэффициент смертности щук без пищи;

                      и – коэффициенты модели.

                      Постройте на одном поле графики изменения численности карасей и щук в течение 30 периодов моделирования.

                      Ответьте на следующие вопросы:


                      1. Сколько карасей и щук живут в водоеме в состоянии равновесия?

                      Ответ:

                      67 карасей и 37 щук


                      1. Что влияет на количество рыб в состоянии равновесия: начальная численность хищников и жертв или значения коэффициентов модели?

                      Ответ:

                      1. На что влияет начальная численность хищников и жертв?

                      Ответ:

                      1. Подберите значения коэффициентов, при которых модель становится неадекватна.

                      Ответ:

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

                      Ответ:

                      Практическая работа № 10а.

                      Модель «две популяции»


                      Для выполнения работы откройте файл-заготовку ДвеПопуляции.xls.

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

                      Здесь и – численность белок и бурундуков; и – их максимальные численности; и – коэффициенты прироста; и – коэффициенты взаимного влияния.

                      Объясните, на основании каких предположений была построена эта модель.

                      Ответ:

                      Выполните моделирование изменения численности двух популяций в течение 15 периодов при , , , , и . Постройте графики изменения численности обеих популяций на одном поле.

                      Ответьте на следующие вопросы:


                      1. Является ли эта модель системной? Почему?

                      Ответ:

                      1. Какова численность белок и бурундуков в состоянии равновесия?

                      Ответ:

                      1. Что влияет на состояние равновесия?

                      Ответ:

                      1. На что влияет начальная численность животных?

                      Ответ:

                      1. При каком значении коэффициента бурундуки вымрут через 25 лет? (используйте подбор параметра).

                      Ответ:

                      1. Найдите какие-нибудь значения коэффициентов, при которых модель становится неадекватна;

                      Ответ:

                      1. Предложите аналогичную модель взаимного влияния трех видов.

                      Ответ:

                          1. Саморегуляция


                      Для выполнения работы откройте файл-заготовку Саморегуляция.xls.

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

                      , (*)

                      Эта модель отличатся от модели ограниченного роста только дополнительным множителем , где и – некоторые числа (параметры), смысл которых вам предстоит выяснить.


                      1. Выполните моделирование для 30 периодов при следующих значениях параметров модели:

                      Сравните результаты, которые дают модель классическая модель ограниченного роста и модель (*). Сделайте выводы и опишите, в чём проявляется саморегуляция для этих моделей.

                      Ответ:


                      1. Постепенно увеличивая коэффициент от 0 до 500, выясните с помощью моделирования, как влияет этот коэффициент на саморегуляцию.

                      Ответ:

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

                      Ответ:

                      1. Повторите моделирование п. 3 при и сделайте аналогичные выводы:

                      Ответ:

                      1. Экспериментируя с моделями, найдите минимальную численность популяции , при которой она выживает в соответствии с моделью (*).

                      Ответ:

                      1. Сделайте выводы о смысле коэффициента в модели (*).

                      Ответ:

                      1. Сравните свойства саморегуляции для модели ограниченного роста и модели (*).

                      Ответ:

                          1. Моделирование работы банка


                      Для моделирования обслуживания клиентов в банке предложена следующая модель:

                      где – количество клиентов, вошедших за -ую минуту, а – количество клиентов, обслуженных за это время;




                      • достаточным считается число касс, при которых среднее время ожидания превышает установленный предел не более, чем 5% рабочего времени в течение дня.

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

                      , , , .

            topuch.ru

            От песка до процессора / Intel corporate blog / Habr

            Сложно в это поверить, но современный процессор является самым сложным готовым продуктом на Земле – а ведь, казалось бы, чего сложного в этом куске железа?

            Как и обещал – подробный рассказ о том, как делают процессоры… начиная с песка. Все, что вы хотели знать, но боялись спросить )


            Я уже рассказывал о том, «Где производят процессоры» и о том, какие «Трудности производства» на этом пути стоят. Сегодня речь пойдет непосредственно про само производство – «от и до».

            Производство процессоров


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

            Вкратце процесс изготовления процессора выглядит так: из расплавленного кремния на специальном оборудовании выращивают монокристалл цилиндрической формы. Получившийся слиток охлаждают и режут на «блины», поверхность которых тщательно выравнивают и полируют до зеркального блеска. Затем в «чистых комнатах» полупроводниковых заводов на кремниевых пластинах методами фотолитографии и травления создаются интегральные схемы. После повторной очистки пластин, специалисты лаборатории под микроскопом производят выборочное тестирование процессоров – если все «ОК», то готовые пластины разрезают на отдельные процессоры, которые позже заключают в корпуса.

            Уроки химии


            Давайте рассмотрим весь процесс более подробно. Содержание кремния в земной коре составляет порядка 25-30% по массе, благодаря чему по распространённости этот элемент занимает второе место после кислорода. Песок, особенно кварцевый, имеет высокий процент содержания кремния в виде диоксида кремния (SiO2) и в начале производственного процесса является базовым компонентом для создания полупроводников.

            Первоначально берется SiO2 в виде песка, который в дуговых печах (при температуре около 1800°C) восстанавливают коксом:

            SiO2 + 2C = Si + 2CO
            Такой кремний носит название «технический» и имеет чистоту 98-99.9%. Для производства процессоров требуется гораздо более чистое сырье, называемое «электронным кремнием» — в таком должно быть не более одного чужеродного атома на миллиард атомов кремния. Для очистки до такого уровня, кремний буквально «рождается заново». Путем хлорирования технического кремния получают тетрахлорид кремния (SiCl4), который в дальнейшем преобразуется в трихлорсилан (SiHCl3):
            3SiCl4 + 2H2 + Si 4SiHCl3
            Данные реакции с использованием рецикла образующихся побочных кремнийсодержащих веществ снижают себестоимость и устраняют экологические проблемы:
            2SiHCl3 SiH2Cl2 + SiCl4
            2SiH2Cl2 SiH3Cl + SiHCl3
            2SiH3Cl SiH4 + SiH2Cl2
            SiH4 Si + 2H2
            Получившийся в результате водород можно много где использовать, но самое главное то, что был получен «электронный» кремний, чистый-пречистый (99,9999999%). Чуть позже в расплав такого кремния опускается затравка («точка роста»), которая постепенно вытягивается из тигля. В результате образуется так называемая «буля» — монокристалл высотой со взрослого человека. Вес соответствующий — на производстве такая дуля весит порядка 100 кг.

            Слиток шкурят «нулёвкой» 🙂 и режут алмазной пилой. На выходе – пластины (кодовое название «вафля») толщиной около 1 мм и диаметром 300 мм (~12 дюймов; именно такие используются для техпроцесса в 32нм с технологией HKMG, High-K/Metal Gate). Когда-то давно Intel использовала диски диаметром 50мм (2"), а в ближайшем будущем уже планируется переход на пластины с диаметром в 450мм – это оправдано как минимум с точки зрения снижения затрат на производство чипов. К слову об экономии — все эти кристаллы выращиваются вне Intel; для процессорного производства они закупаются в другом месте.

            Каждую пластину полируют, делают идеально ровной, доводя ее поверхность до зеркального блеска.

            Производство чипов состоит более чем из трёх сотен операций, в результате которых более 20 слоёв образуют сложную трёхмерную структуру – доступный на Хабре объем статьи не позволит рассказать вкратце даже о половине из этого списка 🙂 Поэтому совсем коротко и лишь о самых важных этапах.

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

            Фотолитография


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

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

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

            Как изолировать области, не требующие последующей обработки? Перед литографией на поверхность кремниевой пластины (при высокой температуре в специальной камере) наносится защитная пленка диэлектрика – как я уже рассказывал, вместо традиционного диоксида кремния компания Intel стала использовать High-K-диэлектрик. Он толще диоксида кремния, но в то же время у него те же емкостные свойства. Более того, в связи с увеличением толщины уменьшен ток утечки через диэлектрик, а как следствие – стало возможным получать более энергоэффективные процессоры. В общем, тут гораздо сложнее обеспечить равномерность этой пленки по всей поверхности пластины — в связи с этим на производстве применяется высокоточный температурный контроль.

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

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

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

            Собственно говоря, все предыдущие шаги были нужны для того, чтобы создать в необходимых местах полупроводниковые структуры путем внедрения донорной (n-типа) или акцепторной (p-типа) примеси. Допустим, нам нужно сделать в кремнии область концентрации носителей p-типа, то есть зону дырочной проводимости. Для этого пластину обрабатывают с помощью устройства, которое называется имплантер — ионы бора с огромной энергией выстреливаются из высоковольтного ускорителя и равномерно распределяются в незащищенных зонах, образованных при фотолитографии.

            Там, где диэлектрик был убран, ионы проникают в слой незащищенного кремния – в противном случае они «застревают» в диэлектрике. После очередного процесса травления убираются остатки диэлектрика, а на пластине остаются зоны, в которых локально есть бор. Понятно, что у современных процессоров может быть несколько таких слоев — в таком случае на получившемся рисунке снова выращивается слой диэлектрика и далее все идет по протоптанной дорожке — еще один слой фоторезиста, процесс фотолитографии (уже по новой маске), травление, имплантация… ну вы поняли.

            Характерный размер транзистора сейчас — 32 нм, а длина волны, которой обрабатывается кремний — это даже не обычный свет, а специальный ультрафиолетовый эксимерный лазер — 193 нм. Однако законы оптики не позволяют разрешить два объекта, находящиеся на расстоянии меньше, чем половина длины волны. Происходит это из-за дифракции света. Как быть? Применять различные ухищрения — например, кроме упомянутых эксимерных лазеров, светящих далеко в ультрафиолетовом спектре, в современной фотолитографии используется многослойная отражающая оптика с использованием специальных масок и специальный процесс иммерсионной (погружной) фотолитографии.

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

            Финишная прямая


            Ура – самое сложное позади. Осталось хитрым способом соединить «остатки» транзисторов — принцип и последовательность всех этих соединений (шин) и называется процессорной архитектурой. Для каждого процессора эти соединения различны – хоть схемы и кажутся абсолютно плоскими, в некоторых случаях может использоваться до 30 уровней таких «проводов». Отдаленно (при очень большом увеличении) все это похоже на футуристическую дорожную развязку – и ведь кто-то же эти клубки проектирует!

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

            На следующем этапе процессор упаковывается в подложку (на рисунке – процессор Intel Core i5, состоящий из CPU и чипа HD-графики).

            Привет, сокет!


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

            Сокет (разъём центрального процессора) — гнездовой или щелевой разъём, предназначенный для установки центрального процессора. Использование разъёма вместо прямого распаивания процессора на материнской плате упрощает замену процессора для модернизации или ремонта компьютера. Разъём может быть предназначен для установки собственно процессора или CPU-карты (например, в Pegasos). Каждый разъём допускает установку только определённого типа процессора или CPU-карты.

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

            The end


            Теперь представьте себе, что компания анонсирует, например, 20 новых процессоров. Все они различны между собой – количество ядер, объемы кэша, поддерживаемые технологии… В каждой модели процессора используется определенное количество транзисторов (исчисляемое миллионами и даже миллиардами), свой принцип соединения элементов… И все это надо спроектировать и создать/автоматизировать – шаблоны, линзы, литографии, сотни параметров для каждого процесса, тестирование… И все это должно работать круглосуточно, сразу на нескольких фабриках… В результате чего должны появляться устройства, не имеющие права на ошибку в работе… А стоимость этих технологических шедевров должна быть в рамках приличия… Почти уверен в том, что вы, как и я, тоже не можете представить себе всего объема проделываемой работы, о которой я и постарался сегодня рассказать.

            Ну и еще кое-что более удивительное. Представьте, что вы без пяти минут великий ученый — аккуратно сняли теплораспределительную крышку процессора и в огромный микроскоп смогли увидеть структуру процессора – все эти соединения, транзисторы… даже что-то на бумажке зарисовали, чтобы не забыть. Как думаете, легко ли изучить принципы работы процессора, располагая только этими данными и данными о том, какие задачи с помощью этого процессора можно решать? Мне кажется, примерно такая картина сейчас видна ученым, которые пытаются на подобном уровне изучить работу человеческого мозга. Только если верить стэнфордским микробиологам, в одном человеческом мозге находится больше «транзисторов», чем во всей мировой IT-инфраструктуре. Интересно, правда?

            BONUS


            Хватило сил дочитать до этого абзаца? ) Поздравляю – приятно, что я постарался не зря. Тогда предлагаю откинуться на спинку кресла и посмотреть всё описанное выше, но в виде более наглядного видеоролика – без него статья была бы не полной.

            Эту статью я писал сам, пытаясь вникнуть в тонкости процесса процессоростроения. Я к тому, что в статье могут быть какие-то неточности или ошибки — если найдете что-то, дайте знать. А вообще, чтобы окончательно закрепить весь прочитанный материал и наглядно понять то, что было недопонято в моей статье, пройдите по этой ссылке. Теперь точно всё.


            Успехов!

            habr.com

            Лучший компьютер для 3D моделирования и рендеринга (CPU) в 2019 году – Render Times

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

            Что такое рендеринг на CPU?

            При рендеринге на процессоре, все ядра вашего CPU загружены на 100% в течение почти всего процесса. В практическом аспекте это означает, что при выборе компьютера исключительно для 3D рендеринга изображений и видео для нас всегда предпочтителен компьютер с наибольшим количеством ядер, даже если частота у ядер процессора относительно небольшая.

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

            В чем отличие 3d моделирования?

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

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

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

            Лучший процессор – максимум ядер с максимальной тактовой частотой?

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

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

            Однако, технологии не стоят на месте и производители процессоров Intel и AMD нашли решение для этой проблемы – turbo boost.

            Турбо буст и турбо ядра

            Представьте, что мы снова используем компьютер для моделирования и нагружаем 1-2 ядра, остальные в простое. Технология турбо буста разгоняет эти ядра в пределах безопасных пределов по энергопотреблению и тепловыделению, чтобы добиться максимальной производительности. Технология от производителя, бояться нечего. После того как будут достигнут предел по температуре, тактовая частота будет понижена до стандартной, чтобы не нанести вред самому процессору.

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

            На этом обзорная часть заканчивает и переходим к выбору комплектующих для лучшего компьютера для 3D моделирования и рендеринга.

            Лучший процессор (CPU) для 3d моделирования и рендеринга

            Для активной работы

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

            Intel i9 9900K, 8 ядер, базовая частота 3,6 GHz, 5 GHz TurboBoost
            Intel i7 9700K, 8 ядер, базовая частота 3,6 GHz, 4,9 GHz TurboBoost
            Intel i7 8700K, 6 ядер, базовая частота 3,7 GHz, 4,7 GHz TurboBoost
            Intel i7 8086K, 6 ядер, базовая частота 4 GHz, 5 GHz TurboBoost
            AMD Ryzen 2700X, 8 ядер, базовая частота 3,7 GHz, 4,3 GHz TurboBoost

            Из более дешевых вариантов примечателен i7-7700K 4,2 Ghz стандартная частота, до 4,5 Ghz в бусте. Мы не можем рассмотреть все процессоры на все бюджеты, но при выборе в рамках тех денег, которыми вы располагаете, можете опираться на сам подход – нужна именно максимальная частота ядер, а не их количество.

            Для рендеринга

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

            AMD Threadripper 2920X, 2950X, 2970WX и 2990WX c 12-32 ядрами лучший выбор на рынке.
            Можно посмотреть на Intel i9 9900X, 9920X, 9960X, 9980XE с 10-18 ядрами, но цена будет неоправданно высока при сравнимой или даже более низкой производительности.

            Видеокарта для вьюпорта

            Поскольку обычно именно процессор выступает узким местом в производительности вьюпорта, выбор видеокарты, как правило, не даст большой разницы, при условии что вы выбираете из актуальных и достаточно производительных.
            Нечасто бывает в 3d приложениях, чтобы видеокарта обрабатывала данные медленнее, чем CPU обновлял меши, деформеры и прочие элементы. Проще говоря, это обычно видеокарта вынуждена ждать процессор, а не наоборот. К исключениям можно отнести проекты с тяжелыми отражениями, антиальянсингом и похожими вещами во вьюпорте – тогда стоит брать GPU помощнее. Или если у вас высокополигональные RAW меши по 50 млн полигонов с минимум модификаторов – тогда да, система упрется в максимальную производительность видеокарты раньше, чем в процессор.

            Сколько и какой оперативной памяти (RAM) нужно для 3D моделирования и рендеринга?

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

            В среднем по больнице, на данный момент для работы с графикой хорошо иметь 32 Gb RAM. Это закрывает потребности подавляющего количества визуализаторов. Если вы работаете с высокополигональными мешами, используете большие текстуры и работаете со сложными сценами с тысячами объектов, то скорее всего стоит подумать о 64 Gb RAM.
            Новичкам и любителям на старте будет достаточно и 16 Gb RAM, но если заняться графикой профессионально, то очень быстро окажется, что этого количества памяти уже не хватает.

            На частоту и тайминги оперативной памяти не стоит обращать большого внимания, в наших задачах выбор между разными вариантами не дает существенного прироста производительности. И даже покупка более дорогой DDR4-4166 не даст заметной разницы относительно DDR4-2666. Берите DDR4-2666 и не забивайте себе голову.

            Незначительная разница действительно существует, но в рамках текущего обзора мы опустим прирост в пару процентов, чтобы не усложнять. Отмечу только, что для AMD Threadripper высокая частота памяти значительно важнее, чем для процессоров Intel. Если у вас Threadripper то покупка памяти четырех канальной с частотой 2933 Mhz действительно даст несколько процентов производительности.

            Стоит ли брать наборы RAM памяти (RAM kits)?

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

            В общем если вам нужно, например, 32 Gb RAM – берите набор 4х8Gb или 2х16, но никак не два РАЗНЫХ набора 2х8 Gb RAM. Почему это важно? Разные модули даже под одной маркой и моделью могут быть произведены на разных заводах, разных линиях, из разного кремния, в разное время и тайминги могут отличаться. Берите единый набор – там подобный сценарий исключен, все протестировано производителем.

            Отличные отзывы о оперативной памяти производства ADATA, G.Skill, Crucial и Corsair – выбирайте любого из производителей, не промахнетесь.

            Лучшая материнская плата для 3d моделирования и рендеринга

            Материнская плата гораздо меньше других комплектующих влияет на конечную производительность компьютера при рендеринге и работе в 3d приложениях, но важно убедиться, что выбранная мать поддерживает все что нужно:
            Поддержка нужного CPU сокета: у разных процессоров разные сокеты для подключения, поэтому важно убедиться, что выбранная материнская плата имеет требуемый слот для процессора.
            Поддержка максимального количества памяти: разные материнские платы имеют ограничения по количеству суммарной оперативной памяти, которая может быть в системе и по количеству слотов под нее. Стоит убедиться, что слотов хватит для набора RAM, который вы собираетесь установить.
            Поддержка M.2 (NVME дисков): если собираетесь ставить M.2 диск, материнская плата должна иметь поддержку дисков этого типа. Подробнее о дисках мы расскажем чуть позже.
            Размер материнской платы: материнские платы имеют разные размеры и стоит убедиться в совместимости по форм-фактору материнки и корпуса.

            Лучший диск для 3d моделирования и рендеринга

            Производительность накопителя при работе с графикой влияет на следующие моменты:
            • Сохранение и загрузка файлов сцены
            • Хранение и загрузка текстур, ассетов и прочего
            • Файл подкачки (своп файл) если RAM не хватает
            • Запуск самого софта

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

            Большинству визуализаторов подойдет вариант с производительным SSD для операционной системы и установки графического софта, хранения актуальной сцены в работе. Для такого варианта выбирайте SSD на 500 Gb – 1 Tb, благо цены на SSD большой емкости значительно снизились в последнее время. А для хранения ассетов, архива, бекапов и прочего добра можно взять дополнительный жесткий диск HDD на 1-2 Tb.

            Если хочется еще большей производительности от дисковой системы и есть дополнительные деньги, можно рассмотреть PCI-E M.2 SSD диски, которые в несколько раз быстрее обычных SSD, но и по цене кусаются.

            Вот мы и коснулись всех основных комплектующих, которые определяют производительность лучшего компьютера для 3d графики и рендеринга. Отдельной статьей я опишу конкретные сборки компьютера по состоянию на 2019 год и лучший компьютер GPU рендеринга.

            Похожие статьи

            www.rendertimes.ru

Отправить ответ

avatar
  Подписаться  
Уведомление о