Карта процесора до схеми


11

Я розробник програмного забезпечення (використовую мови високого рівня, такі як .NET, C, C ++ тощо), намагаючись зрозуміти, як працюють комп'ютери на нижчому рівні.

Я знайомий з цією схемою:

Я намагаюся отримати високий рівень розуміння того, як діаграма у посиланні відображається до такої схеми:

Наприклад, подивіться на заяву про мову складання:

ADD 1,2

Я намагаюся зрозуміти, як процесор видає "3" як вихід. Я усвідомлюю, що на це питання може бути важко відповісти простими словами. Якщо так, то допоможе посилання, можливо, на книгу.


З посиланням на першу опубліковану вами діаграму, потрібні деталі фактичної арифметики всі заховані у великому блоці з написом "ALU": кожен інший блок на цій діаграмі якраз там, щоб отримати 1,2 та "додати" в ALU і результат знову. Знаючи це, ви можете почати читати, як працює АЛУ, якщо про це ви питали ..
Брайан Драммонд

5
Ваша перша діаграма відображає CPU Z80 на другій схемі.
starblue

Відповіді:


7

Проблема полягає в тому, що для того, щоб зрозуміти, як комп'ютер потрапляє на 1 + 2 = 3, ви повинні розуміти приблизно на 2 рівні глибше, ніж ви пройшли.

Приблизно такий комп'ютер організований (з точки зору галузей дослідження), як цей, від найвищого рівня абстракції до найбільш фізичної реальності:

  1. Програмне забезпечення
  2. Віртуальна машина
  3. Операційна система
  4. BIOS
  5. Вбудовані системи
  6. Блоки IP (підрозділи / периферія)
  7. Логічні блоки
  8. Ворота-рівень
  9. Рівень транзистора
  10. Напівпровідники
  11. Фізика приладів

Щоб правильно зрозуміти, чому комп’ютер може виробляти 2 + 1 = 3, спершу потрібно вирішити, що ви готові прийняти "на віру" і в що ви не повірите, поки не інтерналізуєте це. Ця інформація буде на рівні два нижче того, що ви розумієте. Отже, якщо ви хочете зрозуміти схему суматора на логічному рівні, вам потрібно буде зрозуміти основи "цифрових" транзисторів (зокрема CMOS).

Використовуючи свій попередній сайт як приклад, розгляньте цей ресурс . У ньому обговорюється "повне приєднання" - мінімальна цілком загальна схема, здатна додавати / віднімати, включаючи перенесення та перенесення.

Вам також потрібно буде зрозуміти, як представлені числа в додатку 2 (система числення, яка використовується в сучасних комп’ютерах для цілої арифметики).

Якщо ви дійсно хочете вступного курсу світового класу, я не можу рекомендувати професора Скотта Уілла з Georgia Tech досить високо. Він минув рік від раку, але його перебіг живе далі . Клас Georgia Tech ECE2030 (вступ до комп'ютерної інженерії) має свою книгу з текстами та вправи в Інтернеті.

Удачі!


Дякую за це +1. Я розробник .NET, хоча маю досвід роботи з C і C ++. Я розумію, що C # компілюється в мову посередника, а компілятор JIT орієнтується на архітектуру комп'ютера шляхом складання коду IL на льоту. Я намагаюся зрозуміти, як мікроконтролер може приймати операнд і опкод і виробляти вихід. Я добре обізнаний (рівень GCSE) про такі електронні компоненти, як: Транзистори, Конденсатори тощо
w0051977

... тоді я б почав з "Перемикання дизайну" в " Читаннях" і працював би вперед на уроках.
DrFriedParts

У вашому списку тем вдається включити декілька, які не стосуються питання, пропускаючи ті, які є найбільш актуальними.
Кріс Страттон

@Chris - Ні, це не так.
DrFriedParts

3

Мені довелося навчитися тому ж у університеті, і ми використали книгу « Організація та дизайн комп’ютерів», яка була дуже докладною (але, можливо, вона занадто детальна для ваших потреб).

Паттерсон і Хеннесі використали якийсь "простий" MIPS-процесор і показали всю функцію процесора з деяким зразком коду в Assembler.

Взагалі, я думаю, що було б чудовою ідеєю взяти якийсь «простий» процесор (Arduino чи так далі) і спробувати зрозуміти там функцію, тому що відмінності від цього до більш складних більше в тому, наскільки великі реалізовані коди інструкцій.

PS Може бути, корисний буде елементарний мікропроцесор від Google Code. Це мікропроцесор, модельований на Java.


2

Безкоштовна книга, як працюють комп’ютери - процесор і основна пам'ять від Роджера Янг відповість на ваше запитання, вона використовує реле замість транзисторів для кращого розуміння.


2
Хоча ця книга виглядає корисною, відредагуйте відповідь, щоб вона містила повну назву та інформацію про автора. Таким чином, якщо посилання коли-небудь зміниться, можливо, все ще можна буде відстежити її в майбутньому.
PeterJ

Це схоже на те, що я шукав у той час. +1. Я погляну, а потім повернусь.
w0051977

-1

Я знайшов мою відповідь тут . Це огляд високого рівня процесу додавання чисел.


4
Майбутнім читачам корисніше, якщо ви узагальнюєте матеріал у відповіді. Просто надання посилання на зовнішній ресурс не додає багато EE.SE.
The Photon

Зверніть увагу, що тут говорить @ThePhoton. Хоча це відео на YouTube може допомогти вам, чи можете ви підсумувати те, що ви дізналися, що якщо це відео посилання розірветься, це все ще є відповіддю?
Кортук
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.