1)История развития вычислительной техники. Первое поколение — компьютеры на электронных лампах (1946 — 1956г.). За точку отсчета эры ЭВМ обычно принимают 15 февраля 1946 года, когда ученые Пенсильванского университета США ввели в строй первый в мире электронный компьютер ЭНИАК. В нем использовалось 18 тысяч электронных ламп. Машина занимала площадь 135 м3, весила 30 тонн и потребляла 150 кВт электроэнергии. Она использовалась для решения задач, связанных с созданием атомной бомбы. И хотя механические и электромеханические машины появились значительно раньше, все дальнейшие успехи ЭВМ связаны именно с электронными компьютерами. В СССР в 1952 году академиком С.А. Лебедевым была создана самая быстродействующая в Европе ЭВМ БЭСМ. Быстродействие первых машин было несколько тысяч операций в секунду. Второе поколение — компьютеры на транзисторах (1956 — 1964 г.). Полупроводниковый прибор - транзистор был изобретен в США в 1948 году Шокли и Бардиным. Компьютеры на транзисторах резко уменьшили габариты, массу, потребляемую мощность, повысили быстродействие и надежность. Типичная отечественная машина (серий "Минск", "Урал") содержала около 25 тысяч транзисторов. Лучшая наша ЭВМ БЭСМ-6 имела быстродействие 1 млн. оп/с. Третье поколение — компьютеры на микросхемах с малой степенью интеграции (1964 — 1971г.). Микросхема была изобретена в 1958 году Дж. Килби в США. Микросхемы позволили повысить быстродействие и надежность ЭВМ, снизить габариты, массу и потребляемую мощность. Первая ЭВМ на микросхемах IBM-360 была выпущена в США в 1965 году, как и первая мини-ЭВМ PDP-8 размером с холодильник. В СССР большие ЭВМ третьего поколения серии ЕС (ЕС-1022-ЕС-1060) выпускались вместе со странами СЭВ с 1972 года. Это были аналоги американских ЭВМ IBM-360, IBM-370. Четвертое поколение — компьютеры на микропроцессорах (1971 — настоящее время). Микропроцессор — это арифметическое и логическое устройство, выполненное чаще всего в виде одной микросхемы с большой степенью интеграции. Применение микропроцессоров привело к резкому снижению габаритов, массы и потребляемой мощности ЭВМ, повысило их быстродействие и надежность. Первый микропроцессор Intel-4004 был выпущен в США фирмой Intel в 1971 году. Его разрядность была 4 бита. В 1973г. был выпущен 8-битовый Intel-8008, а в 1974 г. Intel8080. В 1975 г. появился первый в мире персональный компьютер Альтаир-8800, построенный на базе Intel-8080. Началась эра персональных ЭВМ. Пятое поколение (перспективное) — это ЭВМ, использующие новые технологии и новую элементную базу, например сверхбольшие интегральные схемы, оптические и магнито-оптические элементы, работающие посредством обычного разговорного языка, оснащенные огромными базами данных. Предполагается также использовать элементы искусственного интеллекта и распознавание зрительных и звуковых образов. Такие проекты разрабатываются в ведущих промышленно развитых странах. 23) 34) Внешние последовательные интерфейсы. Последовательный порт обменивается данными с процессором побайтно, а с внешними устройствами – побитно. К последовательному порту обычно подсоединяют медленно действующие или достаточно удаленные устройства, такие, как мышь и модем. Com-порт, usb СЧЕТЧИКИ НА ТРИГГЕРАХ 𝑸𝟑 𝑸𝟐 𝑸𝟏 𝑸𝟑+𝒏 𝑸𝟐+𝒏 𝑸𝟏+𝒏 𝑱𝟑 𝑲𝟑 𝑱𝟐 𝑲𝟐 𝑲𝟏 𝑱𝟏 0 0 0 0 1 0 0 X 1 X 0 X 0 1 0 1 0 0 1 X X 1 0 X 1 0 0 1 1 0 X 0 1 X 0 X 1 1 0 0 0 1 X 1 X 1 1 X 0 0 1 0 0 0 0 X 0 X X 1 Вариант 9. Микросхема ОЗУ имеет структуру 1 к*1 с входами CS#, MEMW#/MEMR. Микросхема ПЗУ имеет структуру 16 к*8 с входом CS#. МПС должна содержать 1 кБ ОЗУ с ячейки D000 и 16 кБ ПЗУ с ячейки 7000 . Подключите к МПС внешнее устройство по адресу 3D . Порядок выполнения задания 1. Выбрать количество микросхем ОЗУ. Для этого необходимо разделить требуемый объем памяти в битах на объем одной микросхемы ОЗУ в битах. (1 кБ)/(1к*1бита)=8 бит / 1 бит = 8 микросхем 2. Определить количество субблоков ОЗУ (S). Для этого разделить необходимое количество ячеек ОЗУ на количество ячеек в 1 микросхеме ОЗУ. 1024/1024=1 субблок 3. Определить количество микросхем ОЗУ в одном субблоке (M). 1 субблок содержащий 8 микросхем 4. Определить разрядность ША 1 микросхемы ОЗУ. Для этого вычислить log2 от количества ячеек памяти ОЗУ. Микросхема памяти имеет 1024 ячеек по 1 биту и требует 10-и разрядную шину адреса (так как 210=1024) 5. Определить количество разрядов ША для выборки микросхемы. Для этого вычесть разрядность шины адреса ОЗУ из разрядности ША МП. 16-10=6, то есть для выбора конкретной ячейки памяти будут использоваться младшие разряды шины адреса (A9 – A0). Для выбора микросхемы будут использоваться оставшиеся 6 разрядов шины адреса (A15 – A10) 6. Для каждой микросхемы ОЗУ определить код выборки микросхемы. Для первой микросхемы код выборки микросхемы представляет собой старшие биты первого адреса ОЗУ (из задания) в количестве равном коду выборки микросхемы. Для последующих микросхем необходимо прибавлять 1. Для первого субблока разряды А15-A10 (назовем их кодом выборки субблока) равны 110100 (это старшие 6 бит начального адреса блока памяти D000 = 1101000000000000), для второго — 110101, для третьего — 110110 и для четвертого – 110111, для пятого — 111000, для шестого — 111001, для седьмого — 111010, для восьмого — 111011. 7. Для каждой микросхемы определить номера разрядов шины данных, связанные с микросхемой. Для этого в каждом субблоке необходимо распределить биты ШД микропроцессора между всеми микросхемами ОЗУ этого субблока произвольным образом. Биты ШД Субблок 110100 110101 110110 1 1 1 Микросхема ОЗУ 1 2 3 110111 111000 111001 111010 111011 1 1 1 1 1 4 5 6 7 8 8. Определить адреса первого байта каждой микросхемы ОЗУ. Для этого к коду выборки микросхемы в двоичном коде дописать нули в количестве равном разрядности ША микросхемы ОЗУ. Микросхема ОЗУ 1 2 3 4 5 6 7 8 Адрес первого байта 1101000000000000 1101010000000000 1101100000000000 1101110000000000 1110000000000000 1110010000000000 1110100000000000 1110110000000000 9. Заполнить таблицу, пример которой приведен в таблице 4. Обозначе-ние на схеме DD1 DD2 DD3 DD4 DD5 DD6 DD7 DD8 Тип микросхемы ОЗУ ОЗУ ОЗУ ОЗУ ОЗУ ОЗУ ОЗУ ОЗУ Ем-кость мик-росхемы Адрес пер-вой ячей-ки 1Kх1 1Kх1 1Kх1 1Kх1 1Kх1 1Kх1 1Kх1 1Kх1 D000 D400 D800 DC00 E000 E400 E800 EC00 Кол-во разрядов в ША 10 10 10 10 10 10 10 10 Кол-во разрядов ША для выборки микро-схемы 6 6 6 6 6 6 6 6 Код выборки микро-схемы (в двоичной системе) 110100 110101 110110 110111 111000 111001 111010 111011 Номера разрядов ШД, связанные с микро-схемой 1-8 1-8 1-8 1-8 1-8 1-8 1-8 1-8 10. Выполнить пункты 1-9 для ПЗУ. 1. (16 кБ)/(16к*8бита)=128 бит / 128 бит = 1 микросхема 2. 16384/16384 = 1 субблок 3. 1 субблок содержащий 1 микросхему 4. Микросхема памяти имеет 16384 ячеек по 8 бит и требует 14-и разрядную шину адреса (так как 214=16384) 5. 16-14=2, то есть для выбора конкретной ячейки памяти будут использоваться младшие разряды шины адреса (A13 – A0). Для выбора микросхемы будут использоваться оставшиеся 2 разряда шины адреса (A15 – A14) 6. Для первой микросхемы разряды А15-A14 (назовем их кодом выборки микросхемы) равны 11 (это старшие 2 бита начального адреса блока памяти 7000 = 1110000000000000) 7. Биты ШД Субблок 11 1 Микросхема ПЗУ 1 8. Микросхема ПЗУ 1 Адрес первого байта 1110000000000000 9. Обозначе-ние на схеме Тип микросхемы Ем-кость мик-росхемы Адрес пер-вой ячей-ки Кол-во разрядов в ША Кол-во разрядов ША для выборки микро-схемы Код выборки микро-схемы (в двоичной системе) Номера разрядов ШД, связанные с микро-схемой EE1 ПЗУ 16Kх8 7000 14 2 11 1-2 11. Нарисовать на схеме МП, все субблоки ОЗУ и ПЗУ, расположив микросхемы ОЗУ справа от МП рядами. АССЕМБЛЕР Найти количество чисел больших 10h. Массив байт Код программы mass dw 1,66,17,11 lea bx, mass mov cx, 4 ; установить счетчик повторений цикла beg:cmp [bx], 10 ;сравнить текущий элемент с 10 jl po ; он больше po: inc bx ; отметить, преступить к след элементу inc bx loop beg ; конец цикла beg Пример2 Дан массив из десяти слов, содержащих целые двухбайтовые числа со знаком mass dw 10,24,76,479,-347,281,24,70,124,97. Требуется найти максимальное значение в массиве. Текст программы: lea bx, mass ; mass – адрес начала массива, например 0 mov cx, 10 ; Установить счетчик повторений цикла mov ax, [bx] ; Первый элемент массива в Аккумулятор beg: cmp [bx], ax ; Сравнить текущий элемент массива с максимальным jl no ; он меньше mov ax, [bx] ; он больше или равен no: inc bx ; Следующий элемент inc bx ; массива loop beg mov max, ax ; max – адрес расположения найденного максимального числа, например 0x40. int 20h ; конец программы Пример 3 Дан массив из десяти знаковых чисел (слов или байт). Требуется: 1. Найти количество отрицательных чисел. Массив байт. data segment mas dw -10,20,12,40,-56,5,6,11,-3,-2 ;массив слов result db 1 dup (?) data ends ;конец сегмента code segment ;СЕГМЕНТ КОДА assume cs:code,ds:data ;ассоциируем регистры с сегментами start: mov ax,data ;загружаем адрес сегмента данных mov ds,ax ;загружаем адрес сегмента в сегментный регистр даннных mov cx,10 ;загружаем счетчик слов lea si, mas ;ообопе сумму чисел больших 10 xor bl,bl ;обнуляем счетчик чисел больших 10 m1:cmp word ptr [si],0 ;сравниваем слово из массива с 10 jns m2 ;если число не превышает 10, то переходим далее inc bl ;инкрементируем счетчик чисел m2: add si,2 ;переходим к следующему слову в массиве loop m1 mov result,bl int 21h end start Пример 4 Переставить числа в обратном порядке. Массив байт .model small .stack 100h .data array db 13,24,67,88,00,2,4,12,5 len equ $-array // .code start: mov ax,@data mov ds,ax mov es,ax mov cx,len lea si,array //загрузка исполнительного адреса mov di,si mov bx,si add bx,cx shr cx,1 //логический сдвиг вправо m1: dec bx lodsb // загрузка исполнительного адреса в регистр AL mov dl,[bx] xchg al,dl // двунаправленная пересылка данных mov [bx],dl stosb //сохранение значения в регистре AL loop m1 // цикл int 21h / прерывание end start