Важная информация

User Tag List

Показано с 1 по 5 из 5

Тема: Вопрос по поводу принципа работы процессора

  1. #1
    Member
    Регистрация
    27.08.2019
    Адрес
    г. Мариуполь, Украина
    Сообщений
    46
    Спасибо Благодарностей отдано 
    6
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Вопрос по поводу принципа работы процессора

    Здравствуйте. Я стал изучать микропроцессоры, их строение и связь с другими устройствами - контроллерами ввода-вывода, ОЗУ и т.д.
    Я прочитал первую часть книги Р. Холленда "Микропроцессоры и операционные системы". Из всего, что там написано про устройство процессора, я не понимаю только одно - вот смотрите:
    При запуске процессора, из программного счетчика адрес передается в ПЗУ или ОЗУ;
    Из ячейки памяти по этому адресу команда поступает в устройство управления, которое инициирует действия для ее выполнения.

    Так вот, если команда будет например LDA addr - т.е. загрузка регистра А из памяти, для выполнения этой команды необходимо этот адрес передать в память. Но как это сделать? Ведь если на шину адреса подается слово только из программного счетчика, и если задать ему значение, равное адресу, который указан в команде, счетчик продолжит счет уже с него, и команды в памяти, начиная от адреса команды LDA до адреса, который в ней указан, не выполнятся.
    Заранее спасибо, поправьте меня, если я что-то не так понял.

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2
    Guru
    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    13,774
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    143
    Спасибо Благодарностей получено 
    1,179
    Поблагодарили
    775 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    не знаю про какой проц ты читал, но ПрограммныйСчётчик (PC) он как отдельный регистр

  4. #3
    Veteran Аватар для krotan
    Регистрация
    30.08.2010
    Адрес
    Санкт-Петербург
    Сообщений
    1,263
    Спасибо Благодарностей отдано 
    53
    Спасибо Благодарностей получено 
    192
    Поблагодарили
    159 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Temych640 Посмотреть сообщение
    Ведь если на шину адреса подается слово только из программного счетчика, и если задать ему значение, равное адресу, который указан в команде, счетчик продолжит счет уже с него...
    1. по указателю в PC считывается команда LDA и анализируется, PC увеличивается на1
    2. анализатор команд определяет, что следующие 2 байта это адрес, с которых байт считывается в регистр A счётчик PC увеличивается на 2
    3. команда выполнена, следующий байт будет интерпретироватьсч как новая команда, счётчик PC за время выполнения команды увеличился на 3...

  5. #4
    Member
    Регистрация
    27.08.2019
    Адрес
    г. Мариуполь, Украина
    Сообщений
    46
    Спасибо Благодарностей отдано 
    6
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Это все понятно, а какое устройство шлет адрес в память для чтения из нее байта?

    Цитата Сообщение от krotan Посмотреть сообщение
    анализатор команд определяет, что следующие 2 байта это адрес
    А дальше что с этим адресом делается?

  6. #5
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,843
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,818
    Поблагодарили
    1,044 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Тут лучше конкретизировать, например для 8080 по циклам
    1. M1: Выборка кода команды LDA, на ША выдается адрес PC; PC=PC+1
    2. M2: Чтение младшего байта адреса adr в регистр Z, на ША выдается адрес PC; PC=PC+1
    3. M3: Чтение старшего байта адреса adr в регистр W, на ША выдается адрес PC; PC=PC+1
    4. M4: Чтение байта по адресу adr в регистр A, на ША выдается адрес WZ=adr
    5. M1: Выборка кода следующей команды, на ША выдается адрес PC; PC=PC+1

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. вопрос по принципам работы
    от vivat в разделе Разное
    Ответов: 8
    Последнее: 26.10.2017, 14:10
  2. Ответов: 117
    Последнее: 02.03.2015, 03:03

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •