CPU 8085 có đăng ký thêm trong ALU không?


11

Từ kiến ​​trúc CPU 8085, khi ALU thực hiện tính toán, kết quả được đưa trở lại bộ tích lũy A ở cạnh xung nhịp tiếp theo. Nhưng bộ tích lũy A được nối trực tiếp dưới dạng đầu vào ALU, nếu cạnh đồng hồ không tăng đủ nhanh để khiến A được thêm hai lần hoặc nhiều lần nữa thì sẽ rất khó phát hiện ra lỗi như vậy, thiết kế như vậy rất " mong manh "với tôi.

Trừ khi, có một đăng ký bổ sung trong ALU để lưu tạm thời kết quả ALU?

https://en.wikipedia.org/wiki/Intel_8085#/media/File:Intel_8085_arch.svg

https://en.wikipedia.org/wiki/Intel_8085


2
Đây có vẻ như là một câu hỏi cho @ KenShirriff từ
duskwuff -inactive-

1
Tại sao bạn nghĩ rằng việc bấm giờ ALU dẫn đến một thanh ghi trung gian sẽ không có các vấn đề tương tự như khi bấm nó vào bộ tích lũy? Dù bằng cách nào, bạn nên biết rõ hơn rằng ALU của bạn tạo ra kết quả hợp lệ với đủ thời gian thiết lập và giữ thời gian so với đồng hồ.
Photon

Câu trả lời:


17

Như @duskwuff nghi ngờ, tôi đã xem xét điều này. Để trả lời câu hỏi, 8085 có hai thanh ghi phụ trong ALU.

8085 có một số thanh ghi "ẩn": cặp WZ 16 bit và hai thanh ghi trợ giúp ALU 8 bit: ACT và TMP. WZ là một phần của tệp đăng ký, trong khi ACT, A (bộ tích lũy) và TMP được đặt trong chính mạch ALU.

Đây là sơ đồ về cách ALU hoạt động:

Đăng ký cấu trúc của ALU 8085

Thanh ghi ACT có một số chức năng quan trọng. Đầu tiên, nó giữ đầu vào ALU. Điều này cho phép các kết quả từ ALU được ghi lại vào bộ tích lũy mà không làm phiền đầu vào, điều này sẽ gây ra sự mất ổn định. Thứ hai, ACT có thể giữ các giá trị không đổi (ví dụ: tăng hoặc giảm hoặc điều chỉnh thập phân) mà không ảnh hưởng đến bộ tích lũy. Cuối cùng, ACT cho phép các hoạt động ALU không sử dụng bộ tích lũy.

Một hậu quả thú vị của thiết lập ALU của 8085 là giá trị chỉ có thể được nạp vào bộ tích lũy sau khi đi qua ALU.

Chi tiết về bộ đăng ký 8085 có tại đây và chi tiết về ALU có tại đây .


1
Bằng cách nào đó, tôi biết bạn sẽ có điều gì đó để nói về điều này. : 3
duskwuff -inactive-

2
rực rỡ ~ (cả blog của Ken Shirriff và 8085)!
starx

5

Trong các thiết kế đồng bộ, nhiệm vụ quan trọng của nhà thiết kế là đảm bảo những điều đó không xảy ra. Đăng ký, có dữ liệu được "đồng hồ" vào, có các đặc tính động cụ thể như thời gian tăng đồng hồ, thời gian giữ đồng hồ, dữ liệu ổn định trước và sau khi thay đổi tín hiệu đồng hồ. Nếu thời gian bị vi phạm, trạng thái kết quả không được đảm bảo.

Trong trường hợp cụ thể của bạn, ALU có độ trễ lan truyền và để thêm A hai lần, phải có thời gian cho đến khi A mới được thêm vào A trước trong bộ cộng và kết quả xuất hiện ở đầu ra của nó. Rất có thể nó đã được mô phỏng và tính toán rằng điều đó sẽ không xảy ra trong phạm vi tần số đồng hồ được phép xác định cho thiết bị. Đó là lý do tại sao datasheet rõ ràng có xếp hạng đồng hồ tối thiểu và tối đa. Đối với 8085A-2, nó nói:

  • Chu kỳ chu kỳ CLK tối thiểu: 320 ns
  • Chu kỳ chu kỳ CLK tối đa: 2000 ns

5

Bộ tích lũy là thanh ghi đầu ra của ALU.

8085 có đồng hồ hai pha. Trong đó chỉ dẫn đồng hồ đơn như NOP mất 2 chu kỳ đồng hồ. Tương tự như 8088 được sử dụng trong PC gốc của IBM, 8088 có xung nhịp 4 pha 4Mhz và thực hiện lệnh với tốc độ 1Mhz.

Với đồng hồ hai pha, bạn có hai chu kỳ dao động cho mỗi chu kỳ lệnh.

Trong nội bộ, đối với thời gian, bất kỳ cạnh của một trong hai đồng hồ có thể được sử dụng. Các đồng hồ được đảo ngược để thực sự có bốn đồng hồ có sẵn để định thời gian.

Sau đó, bạn có các chốt trong suốt chốt trên cạnh rơi xuống và D-Flip Flops chốt trên cạnh đồng hồ đang tăng.

Một chốt trong suốt cho phép dữ liệu đầu vào truyền qua đầu ra bắt đầu từ cạnh tăng của đồng hồ và các giá trị được chốt trên cạnh rơi của đồng hồ.

8085 có nhiều lựa chọn khi tránh điều kiện đua lan truyền.

nhập mô tả hình ảnh ở đây


"8088 có đồng hồ bốn pha 4Mhz và hướng dẫn thực hiện ở tốc độ 1Mhz" - 8088 chỉ có một pin đầu vào đồng hồ duy nhất (mặc dù nó mong đợi một đồng hồ không đối xứng, với trạng thái cao kéo dài gấp đôi Trạng thái thấp, biểu thị bên trong rõ ràng nó đang làm những việc khác nhau ở những trạng thái này, không giống như hầu hết các bộ xử lý hiện đại luôn luôn hiển thị mọi thứ trên cùng một cạnh đồng hồ), vậy đồng hồ 4 pha này có được tạo ra bên trong không? Có một mô tả ở đâu đó về cách thức này hoạt động?
Jules
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.