Как часы процессора связаны с другими компонентами - PullRequest
1 голос
/ 29 марта 2019

Как часы процессора подключены к другим компонентам.и что люди имеют в виду, говоря, что все операции начинаются с такта.

1 Ответ

2 голосов
/ 29 марта 2019

CPU Clock управляет процессором.Внутри есть система шин, в основном это набор электрических соединений.Кто-то, и только один, может поместить свои данные на это.Например, выходной регистр или результат ALU (ну, они не хотят, им приказывает блок управления, который гарантирует, что только один объект может получить доступ к шине в режиме записи).
Эта операция небезопасна, поскольку логика может несколько раз колебать электрический сигнал, пока он движется через логические элементы, пока не стабилизируется, или некоторые сигналы будут поступать раньше, чем другие.Это зависит от емкостных и индуктивных эффектов и т. Д., Задерживающих сигналы.
Из-за этого никто не будет считывать данные с шины, пока не сработают часы.Тактовый импульс указывает, что прошло достаточно времени, чтобы сигналы были безопасными, и предполагается, что сигнал на шине стабилен.
Это достигается простым использованием гейта и детектора фронта с включенным тактовым сигналом.устройства, которые хотят читать с шины.

Пример:

Data-Bus ----/8----- [   ]
Data-In  ----------- [ R ]
Data-Out ----------- [ E ]
Clk      ----------- [ G ]

' Data-Out may be asyncronous like this, though not recommended, or on falling/low clock pulse, or the Data-Out signal is clock synced:
Data-Bus[0] = Data-Out AND Data[0]
Data-Bus[1] = Data-Out AND Data[1]
Data-Bus[2] = Data-Out AND Data[2]
[...]
' Data-In will almost always be clock synced
If (Data-In AND Raising-Clk-Edge)
{
    Data[0] = Data-Bus[0]
    Data[1] = Data-Bus[1]
    [...]
}

Это, конечно, сильно зависит от вашего фактического оборудования.Например, Read-Enable, Write-Enable и Output-Enable могут быть активны на низком уровне и т. Д.

Существует серия замечательных youtube парня, который фактически строит ЦП на макете.Хотя, конечно, это чрезмерно упрощается в отношении того, что делает современный процессор, это помогает понять основы.

Сама тактовая частота процессора, как правило, напрямую не связана с другим оборудованием, и вместо этого процессор генерирует импульсы запуска, которыеСкажите другим, что теперь можно читать / писать с / на шину.

Каждая инструкция может состоять из нескольких микроинструкций.Например:
LDA #5, загрузка 5 в регистр A

' Fetch
Put IP on Address bus, Enable memory out => Opcode for LDA-Immediate is now on Data-Bus
Write-Enable Instruction Register, Increment IP
' Decode with combinatorial logic
' CU realizes it needs another word from memory (the value) and it needs to go to the A-Register
' Execute
Put IP on Address bus, Enable memory out => #5 now on data-bus
Increment IP, Write-Enable A-Register => #5 now in A-Register
' Done

Это выполняется процессором.системные часы не имеют к этому никакого отношения.

...