Подскажите, пожалуйста, как мог МП i4004 адресовать 640 байт памяти? Тем более, что разрядность шины у этого процессора - 4 бита, поэтому по моим расчётам он мог адресовать только 2^4 = 16 байт! (Статья про i4004 на wikipedia.org) Да и вообще - 640 - это даже не степень двойки.. Я тут новенький, не пинайте сразу, объясните, пожалуйста.. Никак понять не могу.
Scr1pt_ Последовательно. Только там шина не совсем 4. Там шина данных 4 она используется для выбора адресса. И еще 4 линии для выбора банка памяти. И еще откудото 1 линия. В мануэле написанно 5120. Вот описание. http://www.piercefuller.com/collect/i4004/index.html
Спасибо за ссылку 5120? Это вообще что такое?.. Тут немного почитал, вот что смог понять: В i4002 (RAM) информация хранится в 4-х регистрах по 80 (20 x 4) бит в каждом. Т.е. всего 80 x 4 = 320 бит. 16 бит в каждом из регистров - системные, они не предназначены для записи в них пользовательских данных. Выборка данных протекает в 2 такта. Первый такт: по 4-разрядной шине данных передаётся 4 бита, старшие 2 бита определяют чип RAM (1 из 4-х), младшие - определяют номер регистра этого чипа, в котором необходимо выполнить чтение или запись (тоже 1 из 4-х). Второй такт: последующие 4 бита уже определяют выборку точного 4-битного слова в ранее выбранном регистре ранее выбранного чипа. Исходя из этого, получаем, что i4004 может адресовать: (16 x 4) - в каждом из регистров, ((16 x 4) x 4) - в каждом из чипов i4002, (((16 x 4) x 4) x 4) = 1024 бита = 128 байт - всего. Откуда 640?
Scr1pt_ 640байт это 5120 Бит о которых писал выши. Один i4002 содержит 320 Бит. Таких банков памити может быть 16. Выбираются они через 4 линии CM-RAM плюс два бита из запроса x2. 16*320 бит=5120 бит Выбор в банке. В нем 4 регистра. они выбираются оставшимися 2 битами x2. Следующий запрос x3 определяет один из основных символов их 16(2^4). И того 16*(4*16*4)=4096 бит Перед выставлением адресса чип запоминает инструкцию. Которая определяет что мы делаем выбираем главный регистр или регистр статуса.
Всё, кажется, дошло 2 бита из запроса - 2^2 = 4, плюс к каждой линии CM-RAM по i4002, итого - 4*4 - всего 16 штук. 16 x 320 = 5120 байт. Что и требовалось доказать Pavia Спасибо большое!