Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

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

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Архитектура Фон Неймана. Узкое горло арх. Фон Неймана. Способы решения.




Архитектура – это наиболее общие принципы построения ЭВМ, реализующие программное управление работой и взаимодействием основных ее функциональных узлов.

Архитектура Фон Неймана - система принципов построения и функционирования компьютера, предложенная американским математиком Джоном Фон Нейманом в 1945 году в статье «Предварительное рассмотрение логической конструкции электронно-вычислительного устройства». Фон Неймановская архитектура компьютера считается классической, на ней построено большинство компьютеров. В общем случае, когда говорят об архитектуре фон Неймана, подразумевают физическое отделение процессорного модуля от устройств хранения программ и данных.

Узкое (или бутылочное) горло архитектуры Фон Неймана:

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

Способы Решения

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

· SISD (Single Instruction Single Data) — «один поток команд, один поток данных»»;

· SIMD (Single Instruction Multiply Data) — один поток команд, много потоков данных;

· MISD (Multiple Instruction Single Data) — много потоков команд, один поток данных;

· MIMD (Multiple Instruction Multiple Data) — много потоков команд, много потоков данных.

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

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

 

27. Функции в СИ++. Способы описания функций. Примеры. Рекурсия. Функции разбивают большие вычислительные задачи на маленькие подзадачи и позволяют выделить участки кода для повторного использования.(+посмотрите картинку в презентации «функции» на 12 слайде)тип имя_функции (список аргументов){тело функцииreturn значение}void имя_ процедуры (список аргументов){тело функции} Примеры:

1 2

int inverse (int a) int factorial (int x)

{ {

int ma; int fx = 1;

ma = -1 * a; int i;

return ma; for (i=1;i<=x;i=i+1)

} {

int main () fx=fx*i;

{ }

int d=5; return fx;

int b; }

b = inverse(d); void main ()

printf (“%i”,b); {

} int x;

scanf ("%d",&x);

int fx=factorial(x);

printf ("%d",fx);

 

Функция называется рекурсивной, если во время ее обработки возникает ее повторный вызов.

28. Рекурсия. Примеры – факториал числа с помощью цикла и рекурсии. Функция называется рекурсивной, если во время ее обработки возникает ее повторный вызов.

int fact(int n) { int fn = 1; int i; for (i=1; i<=n; i=i+1) { fn = fn * i; } return fn; }   int _tmain(int argc, _TCHAR* argv[]) { int x; scanf("%i", &x); printf ("%i", fact(x));   scanf(" "); return 0; } int fact(int n, int fn) { fn=fn*n; n--; if (n>0) return fact(n, fn); return fn; }   int _tmain(int argc, _TCHAR* argv[]) { int x, fn=1; scanf("%i", &x); printf ("%i", fact(x,fn));   scanf(" "); return 0; }  

29. СИ. Переменные. Понятие массива. Объявление массива. Инициализация массива значениями. Копирование одного массива в другой такого же размера. Переменная - именованная область памяти, в которой хранятся данные определенного типа.Массив:– именованный набор однотипных переменных, доступ к которым осуществляется по индексу;- структурированный тип данных, состоящий из фиксированного числа элементов одного типа;Объявление массива: описание- int x[10];Инициализация – присвоение значения int x[3]={1,2,3}Массив можно копировать только поэлементно: a[i]=b[i];

30. Управляющие операторы. Оператор цикла с постусловием. Обозначение на БСА. Реализация на СИ. Как можно преобразовать алгоритм с циклом с постусловием do.. while в конструкциею с IF. Пример программы определения разрядности числа. Оператор безусловного перехода goto. Управляющие операторы: if – else - используется когда нужно сделать выбор. В зависимости от условий реализуется одно из направлений.while / do – while – выполняется несколько раз, пока не выполнится условие.for – идет повторения набора действий определенное количество раз. Оператор цикла с постусловием: do... while. ТЦ выполнится х/б один раз{…do{…}while (условие)...} Как можно преобразовать алгоритм с циклом с постусловием do.. while в конструкциею с IF. Пример программы определения разрядности числа.:

{ int x, raz=0; scanf("%i", &x); do { x=x/10; raz++; } while (x>0); printf ("%i", raz);   scanf(" "); return 0; } { int x, raz=0; scanf("%i", &x); l1:if (x>0) { x=x/10; raz++; goto l1; }   printf ("%i", raz);   scanf(" "); return 0; }

goto – переход к определенной точке программы, обозначенной какой-либо меткой (пример см. выше)

 






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных