- •1. Загальна структура і функції комп’ютера
- •2. Продуктивність комп’ютера
- •3. Швидкодія мікропроцесорів
- •4. Система магістралі
- •5.Зв’язок між компонентами комп’ютера через магістраль
- •6.Магістраль рсі
- •7. Внутрішня пам’ять
- •8.Функції і характеристики підсистеми пам’яті
- •Размещение
- •10. Сучасні тенденції в організації модулів пам’яті
- •11. Стек
- •12.Зовнішня память
- •13.Збереження інформації на магнітних дисках
- •15.Оптична пам'ять
- •16. Збереження інформації на магнітних стрічках
- •17. Введення – виведення
- •18.Програмне введення –виведення
- •19. Введення-виведення по прериванню
- •20.Прямий доступ до пам’яті
- •Зовнішні інтерфейси….. Типы интерфейсов
- •Концепція організації операційних систем
- •Планування завдань
- •Керування розподілом пам’яті
- •Вектори обчислень
- •Арифметико-логічний пристрій
- •Система команд комп’ютера
- •Характеристики та функції команд
- •Структура і функції центрального процесора
- •30.Структура центрального процесора
- •31.Організація набору регістрів
- •32. Конвеєрна обробка команд
- •33. Комп’ютери зі скороченим набором команд
- •34. Організація конвеєру в risc-процесорах
- •35. Порівняльні характеристики risc і сisc комп’ютерів
- •36. Суперскалярні процесори
- •37. Паралелізм на рівні машинних команд
- •38. Функції пристрою керування
- •39. Мікрооперації
- •40. Управління роботою процесора
- •41. Пристрої управління із жорсткою логікою
- •42. Мікропрограмне керування
- •43. Управління послідовністю виконання мікрокоманд
- •44. Використання мікропрограмування
- •45. Параллельна обробка
- •46. Організація мікропроцесорних систем
- •47. Симетричні мультипроцесорні системи
- •48. Інформаційна цілісність кешів та протокол mesi
- •49. Кластери
- •50. Системи зі змінним часом звернення до пам’яті
Арифметико-логічний пристрій
АЛУ представляет собой компонент процессора, в котором выполняется преобразование информации — арифметические и логические операции над данными (операндами). Все остальные компоненты как процессора, так и вычислительного комплекса в целом предназначены, по сути, только для того, чтобы передать АЛУ нужные операнды и сохранить полученные результаты. Таким образом, мы подступаем в этой главе к сердцу компьютера, ради нормальной работы которого "трудятся" все остальные компоненты.
АЛУ, как впрочем и все остальные компоненты компьютера, представляет собой совокупность простейших электронных логических схем, способных хранить двоичные числа и выполнять над ними элементарные операции булевой алгебры. Те читатели, которые пожелают освежить в памяти основные идеи булевой алгебры и синтеза логических схем, выполняющих операции булевой алгебры, смогут сделать это, обратившись к приложению А в конце книги.
На рис. 8.1 схематично показано, как АЛУ взаимодействует с остальными компонентами процессора. Данные, над которыми выполняются операции, поступают из регистров процессора, а результат также направляется в регистры. Эти регистры представляют собой элементы внутренней памяти процессора и связаны с АЛУ линиями передачи сигналов,(см. рис. 2.3). В качестве вторичного результата АЛУ формирует значения набора двоичных флагов (признаков). Например, флаг переполнения устанавливается в 1 в том случае, если при выполнении арифметической операции получается результат, не умещающийся в разрядной сетке того регистра, в который он должен быть помещен. Значения флагов также фиксируются в регистрах процессора. Блок управления передает в АЛУ сигналы, управляющие процессом выполнения операции, передачей операндов в АЛУ и считыванием результатов.
Система команд комп’ютера
Компонентами машинной команды, заданными явно или неявно, являются код операции, который определяет, какая операция будет выполнена при отработке данной команды, ссылки на операнды (или операнд), которые определяют, откуда нужно взять преобразуемые значения, ссылка на приемник, которая определяет, куда должен быть помещен результат операции, и ссылка на следующую команду.
Операции, специфицируемые кодом операции в составе машинной команды, делятся на следующие категории: арифметические и логические операции; операции передачи данных между двумя регистрами процессора, между некоторым регистром и оперативной памятью или между двумя ячейками оперативной памяти; операции ввода-вывода; операции управления ходом выполнения программы.
Ссылки на операнды указывают, откуда следует извлечь обрабатываемые элементы данных. Ссылка может указывать как регистры процессора, так и ячейки оперативной памяти. Ссылка может иметь вид адреса, числа (т.е. в качестве ссылки используется само значение операнда), последовательности символов или логических данных.
Общепринятым в проектировании архитектуры процессоров является использование стека, который может быть доступен или недоступен для программиста. Стеки применяются для управления процессом вызова процедур и возврата из процедур. Иногда стек используется как альтернативная форма адресации операндов в памяти. Базовыми операциями со стеком являются PUSH (запись в стек), POP (извлечение из стека) и обработка элемента, размещенного в одной или двух верхних ячейках стека. Как правило, стек реализуется таким образом, . что заполняется (растет) от больших адресов оперативной памяти к меньшим.
Как правило, в современных компьютерах оперативная память адресуется побайтно. Если элемент данных занимает больше одного байта, то он может адресоваться по-разному. Один способ, принятый в больших системах, например в разных семействах вычислительных машин IBM, состоит в том, что в байте с меньшим адресом размещаются самые старшие разряды многобайтового элемента данных, причем биты в пределах байта нумеруются слева направо, т.е. при представлении двоичного числа вес двоичного разряда, размещенного в бите с номером 0, является наибольшим, а вес разряда, размещенного в бите с номером 7, — наименьшим. Мы будем называть такой способ размещением данных, начиная с большего адреса (big-endian). Адресом всего элемента данных является меньший из адресов байтов, в которых размещен этот элемент. Другой способ, принятый в большинстве мини- и микрокомпьютеров, состоит в том, что в байте с меньшим адресом находится младший байт элемента данных, а в байте с большим адресом — старший. При этом биты в пределах байта нумеруются слева направо, т.е. в битах с большими номерами размещаются разряды с большим весом. Мы будем называть такой способ размещением данных, начиная с меньшего адреса (little-endian). Соответственно и процессоры таких компьютеров называются big-endian и little-endian, т.е. они обрабатывают двоичные коды той или иной "ориентации". Существуют еще и bi-endian процессоры, которые могут обрабатывать данные с обоими способами размещения компонентов.
