From 693d8b180c690601ce44d640352b0d44151edb76 Mon Sep 17 00:00:00 2001
From: Andrew <saintruler@gmail.com>
Date: Wed, 15 Apr 2020 15:02:38 +0400
Subject: =?UTF-8?q?*=20=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20=D0=B8?=
 =?UTF-8?q?=D1=81=D1=85=D0=BE=D0=B4=D0=BD=D0=B8=D0=BA=D0=B8=20=D0=B8=D0=B7?=
 =?UTF-8?q?=20=D0=BB=D0=B0=D0=B1=D0=BE=D1=80=D0=B0=D1=82=D0=BE=D1=80=D0=BD?=
 =?UTF-8?q?=D1=8B=D1=85=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=20=D0=BF=D0=BE=20?=
 =?UTF-8?q?=D0=B0=D1=81=D0=B2=D1=82=20*=20=D0=9F=D0=B5=D1=80=D0=B5=D0=BC?=
 =?UTF-8?q?=D0=B5=D1=81=D1=82=D0=B8=D0=BB=20=D0=B4=D0=BE=D0=BA=D1=83=D0=BC?=
 =?UTF-8?q?=D0=B5=D0=BD=D1=82=D1=8B=20=D0=BF=D0=BE=20=D0=B0=D1=81=D0=B2?=
 =?UTF-8?q?=D1=82=20=D0=B2=20=D0=BE=D1=82=D0=B4=D0=B5=D0=BB=D1=8C=D0=BD?=
 =?UTF-8?q?=D1=83=D1=8E=20=D0=B4=D0=B8=D1=80=D0=B5=D0=BA=D1=82=D0=BE=D1=80?=
 =?UTF-8?q?=D0=B8=D1=8E?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../23_structure_of_cpu/23_structure_of_cpu.tex    | 499 ---------------------
 1 file changed, 499 deletions(-)
 delete mode 100644 abstracts/23_structure_of_cpu/23_structure_of_cpu.tex

(limited to 'abstracts/23_structure_of_cpu/23_structure_of_cpu.tex')

diff --git a/abstracts/23_structure_of_cpu/23_structure_of_cpu.tex b/abstracts/23_structure_of_cpu/23_structure_of_cpu.tex
deleted file mode 100644
index 278d636..0000000
--- a/abstracts/23_structure_of_cpu/23_structure_of_cpu.tex
+++ /dev/null
@@ -1,499 +0,0 @@
-\documentclass[bachelor, och, referat]{SCWorks}
-% параметр - тип обучения - одно из значений:
-%    spec     - специальность
-%    bachelor - бакалавриат (по умолчанию)
-%    master   - магистратура
-% параметр - форма обучения - одно из значений:
-%    och   - очное (по умолчанию)
-%    zaoch - заочное
-% параметр - тип работы - одно из значений:
-%    referat    - реферат
-%    coursework - курсовая работа (по умолчанию)
-%    diploma    - дипломная работа
-%    pract      - отчет по практике
-% параметр - включение шрифта
-%    times    - включение шрифта Times New Roman (если установлен)
-%               по умолчанию выключен
-
-\usepackage{subfigure}
-\usepackage{tikz,pgfplots}
-\pgfplotsset{compat=1.5}
-\usepackage{float}
-
-%\usepackage{titlesec}
-\setcounter{secnumdepth}{4}
-%\titleformat{\paragraph}
-%{\normalfont\normalsize}{\theparagraph}{1em}{}
-%\titlespacing*{\paragraph}
-%{35.5pt}{3.25ex plus 1ex minus .2ex}{1.5ex plus .2ex}
-
-\titleformat{\paragraph}[block]
-{\hspace{1.25cm}\normalfont}
-{\theparagraph}{1ex}{}
-\titlespacing{\paragraph}
-{0cm}{2ex plus 1ex minus .2ex}{.4ex plus.2ex}
-
-% --------------------------------------------------------------------------%
-
-
-\usepackage[T2A]{fontenc}
-\usepackage[utf8]{inputenc}
-\usepackage{graphicx}
-\graphicspath{ {./images/} }
-\usepackage{tempora}
-
-\usepackage[sort,compress]{cite}
-\usepackage{amsmath}
-\usepackage{amssymb}
-\usepackage{amsthm}
-\usepackage{fancyvrb}
-\usepackage{listings}
-\usepackage{listingsutf8}
-\usepackage{longtable}
-\usepackage{array}
-\usepackage[english,russian]{babel}
-
-\usepackage[colorlinks=true]{hyperref}
-\usepackage{url}
-
-
-\newcommand{\eqdef}{\stackrel {\rm def}{=}}
-
-\renewcommand\theFancyVerbLine{\small\arabic{FancyVerbLine}}
-
-\newtheorem{lem}{Лемма}
-
-\begin{document}
-
-% Кафедра (в родительном падеже)
-\chair{}
-
-% Тема работы
-\title{Общая структура центрального процессора}
-
-% Курс
-\course{1}
-
-% Группа
-\group{131}
-
-% Факультет (в родительном падеже) (по умолчанию "факультета КНиИТ")
-\department{факультета КНиИТ}
-
-% Специальность/направление код - наименование
-%\napravlenie{09.03.04 "--- Программная инженерия}
-%\napravlenie{010500 "--- Математическое обеспечение и администрирование информационных систем}
-%\napravlenie{230100 "--- Информатика и вычислительная техника}
-%\napravlenie{231000 "--- Программная инженерия}
-\napravlenie{090301 "--- Компьютерная безопасность}
-
-% Для студентки. Для работы студента следующая команда не нужна.
-% \studenttitle{Студентки}
-
-% Фамилия, имя, отчество в родительном падеже
-\author{Гущина Андрея Юрьевича}
-
-% Заведующий кафедрой
-% \chtitle{} % степень, звание
-% \chname{}
-
-%Научный руководитель (для реферата преподаватель проверяющий работу)
-\satitle{доцент} %должность, степень, звание
-\saname{О.В. Мещерякова}
-
-% Руководитель практики от организации (только для практики,
-% для остальных типов работ не используется)
-% \patitle{к.ф.-м.н.}
-% \paname{С.~В.~Миронов}
-
-% Семестр (только для практики, для остальных
-% типов работ не используется)
-%\term{8}
-
-% Наименование практики (только для практики, для остальных
-% типов работ не используется)
-%\practtype{преддипломная}
-
-% Продолжительность практики (количество недель) (только для практики,
-% для остальных типов работ не используется)
-%\duration{4}
-
-% Даты начала и окончания практики (только для практики, для остальных
-% типов работ не используется)
-%\practStart{30.04.2019}
-%\practFinish{27.05.2019}
-
-% Год выполнения отчета
-\date{2020}
-
-\maketitle
-
-% Включение нумерации рисунков, формул и таблиц по разделам
-% (по умолчанию - нумерация сквозная)
-% (допускается оба вида нумерации)
-\secNumbering
-
-
-\tableofcontents
-
-% Раздел "Обозначения и сокращения". Может отсутствовать в работе
-
-
-% Раздел "Определения". Может отсутствовать в работе
-%\definitions
-
-% Раздел "Определения, обозначения и сокращения". Может отсутствовать в работе.
-% Если присутствует, то заменяет собой разделы "Обозначения и сокращения" и "Определения"
-% \defabbr
-
-% Раздел "Введение"
-% \intro
-\section{Общая структура центрального процессора}
-\subsection{Процессор}
-Центральный процессор -- это мозг компьтера. Его задача -- выполнять программы,
-находящиеся в основной памяти. Для этого он вызывает команды из памяти, определяет
-их тип, а затем выполняет одну за другой. Компоненты соединены \textbf{шиной},
-представляющей собой набор параллельно связанных проводов для передачи адресов,
-данных и управляющих сигналов. Шины могут быть внешними (связывающими процессор с
-памятью и устройствами ввода-вывода) и внутренними. Современный компьютер использует
-несколько шин. На рисунке \ref{fig:onecpu_comp} изображёна схема компьютера с одним
-процессором и двумя устройствами ввода-вывода.
-
-\begin{figure}[H]
-    \centering
-    \includegraphics{image008.jpg}
-    \caption{Схема однопроцессорной системы}
-    \label{fig:onecpu_comp}
-\end{figure}
-
-Процессор состоит из нескольких частей. Блок управления отвечает за вызов команд
-из памяти и определение их типа. Арифметико-логическое устройство выполняет 
-арифметические операции (например, сложение) и логические операции (например,
-логическое И).
-
-\subsection{Устройство центрального процессора}
-Внутреннее устройство тракта данных типичного фон неймановского процессора 
-иллюстрирует рисунок \ref{fig:data-tract}. Тракт данных состоит из регистров 
-(обычно от 1 до 32), арифметико-логического устройства (АЛУ) и нескольких 
-соединительных шин. Содержимое регистров поступает во входные регистры АЛУ, 
-которые на рисунке \ref{fig:data-tract} обозначены буквами А и В. В них 
-находятся входные данные АЛУ, пока АЛУ производит вычисления.
-
-АЛУ выполняет сложение, вычитание и другие простые операции над входными данными
-и помещает результат в выходной регистр. Содержимое этого выходного регистра
-может записываться обратно в один из регистров или сохранятся в памяти, если
-это необходимо. Рисунок \ref{fig:data-tract} иллюстрирует операцию сложения. 
-Отметим, что входные и выходные регистры есть не у всех компьютеров.
-
-Большинство команд можно разделить на две группы: типа регистр-память и типа 
-регистр-регистр. Команды первого типа вызывают слова из памяти, помещают их 
-в регистры, где они используются в качестве входных данных АЛУ 
-(слова -- это такие элементы данных, которые перемещаются между памятью и 
-регистрами). Словом может быть целое число. Другие команды этого типа
-помещают регистры обратно в память.
-
-Команды второго типа вызывают два операнда из регистров, помещают их во 
-входные регистры АЛУ, выполняют над ними какую-нибудь арифметическую или 
-логическую операцию и переносят результат обратно в один из регистров.
-
-Этот процесс называется циклом тракта данных. В какой-то степени он 
-определяет, что может делать машина. Чем быстрее происходит цикл тракта 
-данных, тем быстрее компьютер работает.
-
-\begin{figure}[H]
-    \centering
-    \includegraphics{tract_data.png}
-    \caption{Тракт данных обычной фон-неймановской машины}
-    \label{fig:data-tract}
-\end{figure}
-
-\subsection{Устройство управления}
-\textbf{Устройство управления} процессором -- блок, устройство, компонент
-аппаратного обеспечения компьютеров. Представляет собой конечный дискретный автомат. 
-Структурно устройство управления состоит из:
-\begin{itemize}
-    \item 
-        Блок генерации адресов инструкций. Он содержит в себе регистр
-        программного счётчика (program counter или instruction pointer), 
-        хранящий адрес считываемой из памяти инструкции, и модифицирующийся
-        после выборки каждой инструкции.
-    \item
-        Блок выборки инструкции, обеспечивающий считывание программ из памяти 
-        через устройство ввода-вывода. Он получает на вход адрес с блока генерации
-        адреса инструкции, передаёт его на УВВ, получает с него данные по 
-        переданному адресу, и выдаёт на блок декодирования интсрукций.
-    \item
-        Блок декодирования инструкций, производящий преобразование кодов инструкций в
-        последовательность кодов функций, передаваемые на исполнительные устройства.
-    \item
-        Блок переходов. Получает функциональные коды переходов и ветвлений, признаки
-         результатов операций с функциональных устройств, проверяет истинность условия
-          перехода, и передаёт сигнал на изменение программного счётчика.
-    \item
-        Блок обработки исключений. Принимает извне сигналы исключительных ситуаций 
-        (прерывания, ошибки узлов микропроцессора, нарушение привилегий, 
-        команды-ловушки и пр.) и передаёт сигнал на переход по вектору исключения 
-        в случае обнаружения.
-\end{itemize}
-
-\begin{figure}[H]
-    \centering
-    \includegraphics[width=0.75\textwidth]{control_unit_block.png}
-    \caption{Обобщенная блок-схема устройства управления}
-    \label{}
-\end{figure}
-
-\subsection{Арифметико-логическое устройство}
-\textbf{Арифметико-логическое устройство} -- блок процессора, который под 
-управлением устройства управления (УУ) служит для выполнения арифметических
-и логических преобразований (начиная от элементарных) над данными, называемыми
-в этом случае операндами. Разрядность операндов обычно называют размером
-или длиной машинного слова. 
-
-\begin{figure}[H]
-    \centering
-    \includegraphics[width=0.75\textwidth]{alu_block.png}
-    \caption{Обобщенная блок-схема арифметико-логического устройства}
-    \label{}
-\end{figure}
-
-Одноразрядное двоичное бинарное (двухоперандное) АЛУ с бинарным 
-(двухразрядным) выходом может выполнять до 
-${\displaystyle 2^{(2^{2})*2}=2^{8}=256}$ двоичных бинарных 
-(двухоперандных) функций (операций) с бинарным (двухразрядным) выходом.
-
-По способу действия над операндами АЛУ делят на:
-\begin{enumerate}
-    \item 
-        Параллельные -- операнды представляются параллельным кодом и 
-        операции совершаются одновременно над всеми разрядами операндов.
-    \item 
-        Последовательные -- операции над операндами производятся последовательно 
-        во времени над их отдельными разрядами.
-\end{enumerate}
-
-\begin{figure}[H]
-    \centering
-    \includegraphics[width=0.75\textwidth]{alu.png}
-    \caption{Схема арифметико-логического устройства (АЛУ) К155ИП3}
-    \label{}
-\end{figure}
-
-\subsection{Регистры процессора}
-Внутри центрального процессора находится быстрая память небольшого объёма для 
-хранения промежуточных результатов и некоторых команд управления. Эта память
-состоит из нескольких регистров, каждый из которых выполняет определённую
-функцию. Обычно размер всех регистров одинаков. Каждый регистр содержит
-одно число в диапазоне, верхняя граница которого зависит от размера регистра.
-Операции чтения и записи с регистрами выполняются очень быстро, поскольку они
-находятся внутри центрального процессора.
-
-Самый важный регистр -- \textbf{счётчик команд}, который указывает, какую
-команду нужно выполнить следующей. Название ``счётчик команд'' выбрано неудачно,
-посколько он ничего не \textit{считает}, но этот термин употребляется повсеместно.
-Также есть \textbf{регистр команд}, в котором находится выполняемая в данный момент
-команда. У большинства компьютеров имеются и другие регистры, одни из них 
-многофункциональны, другие служат каким-либо определённым целям. Третьи регистры
-используются операционной системой для управления компьютером.
-
-\begin{figure}[H]
-    \centering
-    \includegraphics[width=0.75\textwidth]{registers_x86.png}
-    \caption{Регистры x86-совместимого процессора}
-    \label{}
-\end{figure}
-
-\subsection{Выполнение команд}
-Центарльный процессор выполняет каждую команду за несколько шагов.
-Он делает следующее:
-
-\begin{enumerate}
-    \item Вызывает следующую команду из памяти и переносит её в регистр команд.
-    \item
-        Меняет положение счётчика команд, который после этого/
-        указывает на следующую команду.
-    \item Определяет тип вызванной команды.
-    \item Если команда использует слово из памяти, определяет, где находится это слово.
-    \item Переносит слово, если это необходимо, в регистр центрального процессора.
-    \item Выполняет команду.
-    \item Переходит к шагу 1, чтобы начать выполнение следующей команды.
-\end{enumerate}
-
-Такая последовательность шагов 
-(\textbf{выборка} -- \textbf{декодирование} -- \textbf{исполнение})
-является основой работы всех компьютеров.
-
-\subsection{Интерпретаторы}
-Написание программ-интерпретаторов, которые имитируют работу процессора, 
-широко используется при разработке компьютерных систем. После того как 
-разработчики выбрали машинный язык (Я) для нового компьютера, они должны 
-решить, строить ли им процессор, который будет выполнять программы на 
-языке Я, или написать специальную программу для интерпретации программ 
-на языке Я. Если они решают написать интерпретатор, они должны создать 
-аппаратное обеспечение для выполнения этого интерпретатора. Возможны 
-также гибридные конструкции, когда часть команд выполняется аппаратным 
-обеспечением, а часть интерпретируется.
-
-Интерпретатор разбивает команды на маленькие шаги. Таким образом, машина 
-с интерпретатором может быть гораздо проще по строению и дешевле, чем 
-процессор, выполняющий  программы  без интерпретации. Такая экономия 
-особенно важна, если компьютер содержит большое количество сложных команд
-с различными опциями. В сущности, экономия проистекает из самой замены
-аппаратного обеспечения программным обеспечением (интерпретатором).
-
-Первые компьютеры содержали небольшое количество команд, и эти команды 
-были простыми. Но поиски более мощных компьютеров привели, кроме всего 
-прочего, к появлению более сложных команд. Вскоре разработчики поняли, 
-что при наличии сложных команд программы выполняются быстрее, хотя 
-выполнение отдельных команд занимает больше времени. 
-(В качестве примеров сложных команд можно назвать выполнение операций 
-с плавающей точкой, обеспечение прямого доступа к элементам массива и т.п.)
-Если обнаруживалось, что две определенные команды часто выполнялись
-последовательно одна за другой, то вводилась новая команда, заменяющая 
-работу этих двух.
-
-\begin{figure}[H]
-    \centering
-    \includegraphics{ibm_701.jpg}
-    \caption{IBM-710 -- Один из первых компьютеров}
-    \label{}
-\end{figure}
-
-Сложные команды были лучше, потому что некоторые операции иногда 
-перекрывались. Какие-то операции могли выполняться параллельно, 
-для этого использовались разные части аппаратного обеспечения. 
-Для дорогих компьютеров с высокой производительностью стоимость этого
-дополнительного аппаратного обеспечения была вполне оправданна. 
-Таким образом, у дорогих компьютеров было гораздо больше команд, 
-чем у дешевых. Однако развитие программного обеспечения и требования
-совместимости команд привели к тому, что сложные команды стали использоваться
-и в дешевых компьютерах, хотя там во главу угла ставилась стоимость, а не
-скорость работы. 
-
-К концу 50-х годов компания IBM, которая лидировала тогда на компьютерном 
-рынке, решила, что производство семейства компьютеров, каждый из которых
-выполняет одни и те же команды, имеет много преимуществ и для самой компании,
-и для покупателей. Чтобы описать этот уровень совместимости, компания IBM
-ввела термин \textbf{архитектура}. Новое семейство компьютеров должно 
-было иметь одну общую архитектуру и много разных разработок, различающихся по
-цене и скорости, которые могли выполнять одну и ту же программу. Но как 
-построить дешевый компьютер, который будет выполнять все сложные команды, 
-предназначенные для высокоэффективных дорогостоящих машин?
-
-\begin{figure}[H]
-    \centering
-    \includegraphics[width=0.75\textwidth]{IBM_S360.jpg}
-    \caption{IBM System/360}
-    \label{}
-\end{figure}
-
-Решением этой проблемы стала интерпретация. Эта технология, впервые предложенная
-Уилксом в 1951 году, позволяла разрабатывать простые дешевые компьютеры, которые,
-тем не менее, могли выполнять большое количество команд. В результате IBM создала 
-архитектуру System/360, семейство совместимых компьютеров, различных по цене и 
-производительности. Аппаратное обеспечение без интерпретации использовалось только 
-в самых дорогих моделях.
-
-\subsection{RISC и CISC}
-В конце 70-х годов проводилось много экспериментов с очень сложными командами, 
-появление которых стало возможным благодаря интерпретации. Разработчики 
-пытались уменьшить пропасть между тем, что компьютеры способны делать, и тем,
-что требуют языки высокого уровня. Едва ли кто-нибудь тогда думал о разработке
-более простых машин, так же как сейчас мало кто занимается разработкой менее 
-мощных операционных систем, сетей, редакторов и т. д. (к несчастью).
-
-В компании IBM группа разработчиков во главе с Джоном Коком противостояла 
-этой тенденции; они попытались воплотить идеи Сеймура Крея, создав экспериментальный
-высокоэффективный мини-компьютер 801. Хотя IBM не занималась сбытом этой машины, 
-а результаты эксперимента были опубликованы только через несколько лет, весть быстро
-разнеслась по свету, и другие производители тоже занялись разработкой подобных 
-архитектур.
-
-\begin{figure}[H]
-    \centering
-    \includegraphics[width=0.75\textwidth]{ibm801.jpg}
-    \caption{IBM-801}
-    \label{}
-\end{figure}
-
-В 1980 году группа разработчиков в университете Беркли во главе с 
-Дэвидом Паттерсоном и Карло Секвином начала разработку процессоров VLSI без 
-использования интерпретации. Для обозначения этого понятия они придумали термин 
-RISC и назвали новый процессор RISC I, вслед за которым вскоре был выпущен RISC II.
-Немного позже, в 1981 году, Джон Хеннеси в Стенфорде разработал и выпустил другую 
-микросхему, которую он назвал MIPS. Эти две микросхемы развились в коммерчески 
-важные продукты SPARC и MIPS соответственно.
-
-\begin{figure}[H]
-    \centering
-    \includegraphics[width=0.6\textwidth]{risc_2.jpg}
-    \caption{Чип RISC II}
-    \label{}
-\end{figure}
-
-\begin{figure}[H]
-    \centering
-    \includegraphics[width=0.75\textwidth]{mips.jpg}
-    \caption{Чип MIPS}
-    \label{}
-\end{figure}
-
-
-
-В то время как разрабатывались эти простые процессоры, всеобщее внимание привлекало
-относительно небольшое количество команд (обычно их было около 50). 
-Для сравнения: число команд в DEC VAX и больших IBM в то время составляло от 200 
-до 300. RISC -- это сокращение от Reduced Instruction Set Computer -- компьютер 
-с сокращенным набором команд. RISC противопоставлялся CISC 
-(Complex Instruction Set Computer -- компьютер с полным набором команд). 
-В качестве примера CISC можно привести VAX, который доминировал в то время в 
-научных компьютерных центрах. На сегодняшний день мало кто считает, что главное 
-различие RISC и CISC состоит в количестве команд, но название сохраняется до сих пор.
-
-С этого момента началась грандиозная идеологическая война между сторонниками 
-RISC и разработчиками VAX, Intel и больших IBM. По их мнению, наилучший 
-способ разработки компьютеров -- включение туда небольшого количества 
-простых команд, каждая из которых выполняется за один цикл тракта данных,
-то есть берет два регистра, производит над ними какую-либо арифметическую или 
-логическую операцию и помещает результат обратно в регистр. В качестве аргумента
-они утверждали, что даже если RISC должна выполнять 4 или 5 команд вместо одной,
-которую выполняет CISC, притом что команды RISC выполняются в 10 раз быстрее 
-(поскольку они не интерпретируются), он выигрывает в скорости. Следует 
-также отметить, что к этому времени скорость работы основной памяти приблизилась 
-к скорости специальных управляющих постоянных запоминающих устройств, потому
-недостатки интерпретации были налицо, что повышало популярность компьютеров RISC.
-
-\begin{figure}[H]
-    \centering
-    \includegraphics[width=0.75\textwidth]{dec_vax.jpg}
-    \caption{Компьютер из серии DEC VAX}
-    \label{}
-\end{figure}
-
-
-% Раздел "Заключение"
-% \conclusion
-
-
-%Библиографический список, составленный вручную, без использования BibTeX
-%
-\begin{thebibliography}{99}
-    \bibitem{8086} \url{https://ru.bmstu.wiki/Intel_8086}
-    \bibitem{Tannenbaum} Э.Танненбаум "Архитектура компьютера" (6-e издание)
-    \bibitem{RISC} \url{http://users.ics.forth.gr/~kateveni/risc/index.html}
-    \bibitem{ALU} \url{https://digteh.ru/proc/ALU/}
-    \bibitem{IBM} \url{https://ru.wikipedia.org/wiki/IBM}
-\end{thebibliography}
-
-%Библиографический список, составленный с помощью BibTeX
-%\bibliographystyle{mdpi}
-\bibliographystyle{gost780uv}
-\bibliography{thesis}
-
-% Окончание основного документа и начало приложений
-% Каждая последующая секция документа будет являться приложением
-
-\appendix
-
-
-\end{document}
\ No newline at end of file
-- 
cgit v1.2.3

