Моделирование работы ЭВМ

Автор: Пользователь скрыл имя, 16 Февраля 2013 в 08:47, курсовая работа

Краткое описание

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

Оглавление

Введение 3
Постановка задачи 4
Методы решения поставленной задачи 5
Принцип ∆t 5
Принцип особых состояний 5
Принцип последовательной проводки заявок 5
Решение задачи 7
Структурная схема 7
Особые состояния 7
Алгоритм решения задачи 8
Среда разработки 9
Переменные, используемые при решении задачи…………………....10
Текст программы 11
Результат работы программы 14
Анализ работы программы ……………………………………………14
Аналитический расчет………………………………………………….15
Заключение………..……………………………………………………………...16
Список литературы………………………………………………………..17

Файлы: 1 файл

курсовая.doc

— 96.50 Кб (Скачать)

Федеральное агентство  по образованию

Государственное образовательное  учреждение

Высшего профессионального  образования

«Пермский Государственный  Технический Университет»

Чайковский филиал

 

 

 

 

 

 

Курсовая работа

По дисциплине: Моделирование  систем

Тема: Моделирование работы ЭВМ

 

 

 

 

Выполнил: ст. гр. БИ-02

 

Проверил: Лабутина Т. В.

 

 

 

 

Чайковский 2006 
Оглавление

 

 

Введение

 

Математика - язык, на котором сегодня  говорит любая точная наука. Современная  физика, химия, астрономия не мыслимы  без математики. В наши дни математика прочно вошла и в такие науки, как биология, психология, в науку о языке. Не отстает и экономика.

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

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

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

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

Целью данной курсовой работы является написание программы, которая моделирует работу ЭВМ.

 

 

Постановка задачи

 

В системе передачи цифровой информации передается речь в цифровом виде. Речевые  пакеты передаются через два транзитных канала, буферируясь в накопителях  перед каждым каналом. Время передачи пакета по каналу составляет 5 мс. Пакеты поступают через 6+3мс. Пакеты, передававшиеся более 10 мс, на выходе системы уничтожаются, так как их появление в декодере значительно снизит качество передаваемой речи. Уничтожение более 30% пакетов недопустимо. При достижении такого уровня система за счет ресурсов ускоряет передачу до 4 мс на канал. При снижении уровня до приемлемого происходит отключение ресурсов.

Смоделировать 10с работы системы. Определить частоту уничтожения  пакетов и частоту подключения ресурса.

 

Методы решения поставленной задачи

Принцип ∆t

Чтобы смоделировать систему по этому принципу необходимо, чтобы  объекты системы имели описание в виде:

Zi(t) = F(Zi(t - 1), xj(t)),

где Zi – выходной сигнал; xj – входной сигнал.

Перед началом работы необходимо задать начальные значения: Zi(0), , tкон..

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

Принцип дельта T применяется для моделирования детерминированных систем.

Принцип особых состояний

Различают два типа состояния системы:

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

Особые состояния – это отдельные изолированные моменты времени, которые совпадают с моментом прихода какого-либо сигнала. В эти моменты характеристики объекта изменяются скачком.

Принцип последовательной проводки заявок

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

При моделировании принципа последовательной проводки заявок возможен возврат времени назад, т.е. движение в обратную сторону.

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

 

 

Решение задачи

Структурная схема

На основании задания построим структурную схему:

Функционирование всей системы  осуществляется следующим образом:

Речевые пакеты передаются через два  транзитных канала, буферируясь в  накопителях перед каждым каналом. Время передачи пакета по каналу составляет 5 мс. Пакеты поступают через 6+3мс. Пакеты, передававшиеся более 10 мс, на выходе системы уничтожаются, так как их появление в декодере значительно снизит качество передаваемой речи. Уничтожение более 30% пакетов недопустимо. При достижении такого уровня система за счет ресурсов ускоряет передачу до 4 мс на канал. При снижении уровня до приемлемого происходит отключение ресурсов.

Особые состояния, в которых может находиться система

В процессе работы ЭВМ возможны следующие ситуации:

  1. приход пакета в систему
  2. приход пакета в первый канал
  3. окончание передачи пакета по первому каналу
  4. приход пакета во второй канал
  5. окончание передачи пакета по второму каналу

Время прихода в систему равно  времени прихода пакета на первый канал. Время окончания передачи по первому каналу равно времени прихода пакета во второй канал.

 

Алгоритм решения задачи

 

 

Среда разработки

 

Алгоритм программы можно реализовать  с помощью разных языков программирования, например, С++, Паскаль, Delphi и т.д.

Средой разработки для решения  данной задачи я выбрала язык программирования высокого уровня С++.

Язык программирования С++ – это  универсальный язык с богатым набором операторов и компактным способом записи выражений.

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

В С++ сохранены возможности языка  С по работе с основными объектами  аппаратного обеспечения (биты, байты, слова, адреса и т.п.). Это позволяет  эффективно реализовывать типы, определяемые пользователем.

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

 

Переменные, используемые для написания  курсовой работы

 

M[1] – время прихода заявки на обслуживание первым каналом

M[2] – время окончания обслуживания заявки на первом канале

M[3] – время окончания обслуживания заявки на втором канале

i – особое состояние системы

priwlo – количество пришедших заявок

speed – скорость передачи пакетов

ocher – очередь

obsl – количество обслуженных заявок без использования ресурса

obslR – количество обслуженных заявок с использованием ресурса

 

Текст программы

#include <iostream.h>

#include <conio.h>

#include <string.h>

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

void main()

{

clrscr();

randomize();

//============================

float m[4],t=0,tk=1000,ocher[4][100],pered[100],r,fdel=0,fob=0,fobr=0,rez=0;

int speed=5,priwlo=0,obsl=0,obslr=0,del=0,i,k,l[4];

//============================

m[1]=0;

m[2]=m[1]+5;

m[3]=m[2]+5;

for(k=0;k<5;l[k++]=0);

//============================

_1: if(t<tk){

//============================

i=1;

t=m[1];

for(int j=2;j<=3;j++){

    if (m[j]<t){

         t=m[j];

         i=j;

       };

   };

//============================

if(i==1){

  priwlo++;

  l[1]++;

  ocher[1][l[1]]=m[1];

  l[3]++;

  pered[l[3]]=m[1];

    r=rand()%1000;

    r=r/1000;

    m[1]+=6+3*(2*r-1);

  goto _1;

  }else{

//============================

  fdel=del;

  fob=obsl;

  fobr=obslr;

  if((fob!=0)||(fobr!=0)){rez=(fdel/(fob+fobr))*100;}else{rez=0;};

  if(rez<=30){speed=5;}else{speed=4;};

  if(i==2){

      if(l[1]!=0){

        m[2]+=speed;

        l[2]++;

        ocher[2][l[2]]=m[2];

        l[1]--;

        for(k=1;k<l[1];ocher[1][k]=ocher[1][k+1],k++);

        }else{m[2]=m[1];};

      goto _1;

    }else{

      if(l[2]!=0){

        //=======================================

          m[3]+=speed;

          l[2]--;

          for(k=1;k<l[2];ocher[2][k]=ocher[2][k+1],k++);

          if((m[3]-pered[1])>10){

              del++;

             }else{

              if(speed==5){obsl++;}

  else{obslr++;};

             };

         l[3]--;

         for(k=1;k<l[3];pered[k]=pered[k+1],k++);

         goto _1;

        //=======================================

        }else{m[3]=m[2];};

      goto _1;

    };

};

//============================

};

  fdel=del;

  fob=obsl;

  fobr=obslr;

//============================

cout<<"VREMYA RABOTI SISTEMI................"<<t<<endl;

cout<<"VSE ZAYAVKI......................... "<<priwlo<<endl;

cout<<"UNIZTOCHENO......................... "<<del<<endl;

cout<<"PEREDANO BEZ REZERVA................ "<<obsl<<endl;

cout<<"PEREDANO S REZERVOM................. "<<obslr<<endl;

cout<<"CHASTOTA UNIZTOCHENIYA PACETOV.."<<fdel/(fob+fobr)<<endl;

cout<<"CHASTOTA PODKLUCHENIA RESURSA..."<<fobr/(fob+fobr)<<endl;

//============================

getche();


Результат работы программы

 

Анализ работы программы

 

Как видно из результатов моделирования, количество поступивших заявок в  систему равно 171, количество переданных без подключения ресурсов пакетов  равно 151, а переданных с подключением ресурсов 13. Количество уничтоженных пакетов составляет 6.

Информация о работе Моделирование работы ЭВМ