Процессор — это сердце/мозг любого компьютера. Его основное назначение — арифметические и логические операции, и прежде чем погрузиться в дебри процессора, нужно разобраться в его основных компонентах и принципах их работы.
Два основных компонента процессора
Устройство управления

Устройство управления (УУ) помогает процессору контролировать и выполнять инструкции. УУ сообщает компонентам, что именно нужно делать. В соответствии с инструкциями он координирует работу с другими частями компьютера, включая второй основной компонент — арифметико-логическое устройство (АЛУ). Все инструкции вначале поступают именно на устройство управления.

Существует два типа реализации УУ:

    УУ на жёсткой логике (англ. hardwired control units). Характер работы определяется внутренним электрическим строением — устройством печатной платы или кристалла. Соответственно, модификация такого УУ без физического вмешательства невозможна.
    УУ с микропрограммным управлением (англ. microprogrammable control units). Может быть запрограммирован для тех или иных целей. Программная часть сохраняется в памяти УУ.

УУ на жёсткой логике быстрее, но УУ с микропрограммным управлением обладает более гибкой функциональностью.
Арифметико-логическое устройство

Это устройство, как ни странно, выполняет все арифметические и логические операции, например сложение, вычитание, логическое ИЛИ и т. п. АЛУ состоит из логических элементов, которые и выполняют эти операции.

Большинство логических элементов имеют два входа и один выход.

Ниже приведена схема полусумматора, у которой два входа и два выхода. A и B здесь являются входами, S — выходом, C — переносом (в старший разряд).
Хранение информации — регистры и память

Как говорилось ранее, процессор выполняет поступающие на него команды. Команды в большинстве случаев работают с данными, которые могут быть промежуточными, входными или выходными. Все эти данные вместе с инструкциями сохраняются в регистрах и памяти.
Регистры

Регистр — минимальная ячейка памяти данных. Регистры состоят из триггеров (англ. latches/flip-flops). Триггеры, в свою очередь, состоят из логических элементов и могут хранить в себе 1 бит информации.

Прим. перев. Триггеры могут быть синхронные и асинхронные. Асинхронные могут менять своё состояние в любой момент, а синхронные только во время положительного/отрицательного перепада на входе синхронизации.

По функциональному назначению триггеры делятся на несколько групп:

    RS-триггер: сохраняет своё состояние при нулевых уровнях на обоих входах и изменяет его при установке единице на одном из входов (Reset/Set — Сброс/Установка).
    JK-триггер: идентичен RS-триггеру за исключением того, что при подаче единиц сразу на два входа триггер меняет своё состояние на противоположное (счётный режим).
    T-триггер: меняет своё состояние на противоположное при каждом такте на его единственном входе.
    D-триггер: запоминает состояние на входе в момент синхронизации. Асинхронные D-триггеры смысла не имеют.

Для хранения промежуточных данных ОЗУ не подходит, т. к. это замедлит работу процессора. Промежуточные данные отсылаются в регистры по шине. В них могут храниться команды, выходные данные и даже адреса ячеек памяти.

Память (ОЗУ)

ОЗУ (оперативное запоминающее устройство, англ. RAM) — это большая группа этих самых регистров, соединённых вместе. Память у такого хранилища непостоянная и данные оттуда пропадают при отключении питания. ОЗУ принимает адрес ячейки памяти, в которую нужно поместить данные, сами данные и флаг записи/чтения, который приводит в действие триггеры.

Прим. перев. Оперативная память бывает статической и динамической — SRAM и DRAM соответственно. В статической памяти ячейками являются триггеры, а в динамической — конденсаторы. SRAM быстрее, а DRAM дешевле.
Команды (инструкции)

Команды — это фактические действия, которые компьютер должен выполнять. Они бывают нескольких типов:

    Арифметические: сложение, вычитание, умножение и т. д.
    Логические: И (логическое умножение/конъюнкция), ИЛИ (логическое суммирование/дизъюнкция), отрицание и т. д.
    Информационные: move, input, outptut, load и store.
    Команды перехода: goto, if ... goto, call и return.
    Команда останова: halt.

Прим. перев. На самом деле все арифметические операции в АЛУ могут быть созданы на основе всего двух: сложение и сдвиг. Однако чемпионкой больше базовых операций поддерживает АЛУ, тем оно быстрее.

Инструкции предоставляются компьютеру на языке ассемблера или генерируются компилятором высокоуровневых языков.

В процессоре инструкции реализуются на аппаратном уровне. За один такт одноядерный процессор выполняет одну инструкцию
โปรเซสเซอร์คือหัวใจ/สมองของคอมพิวเตอร์ทุกเครื่อง วัตถุประสงค์หลักคือการดำเนินการทางคณิตศาสตร์และตรรกะ และก่อนที่จะดำดิ่งลงสู่ป่าของโปรเซสเซอร์ คุณต้องเข้าใจส่วนประกอบหลักและหลักการทำงานของโปรเซสเซอร์ก่อน องค์ประกอบหลักสองประการของหน่วยควบคุมโปรเซสเซอร์ หน่วยควบคุม (CU) ช่วยให้โปรเซสเซอร์ควบคุมและดำเนินการตามคำสั่ง การควบคุมจะบอกส่วนประกอบต่างๆ อย่างชัดเจนว่าต้องทำอะไร ตามคำแนะนำ ระบบจะประสานงานกับส่วนอื่นๆ ของคอมพิวเตอร์ รวมถึงส่วนประกอบหลักที่สอง นั่นคือหน่วยลอจิกทางคณิตศาสตร์ (ALU) คำแนะนำทั้งหมดจะถูกส่งไปยังอุปกรณ์ควบคุมก่อน การใช้งานหน่วยควบคุมมีสองประเภท: ชุดควบคุมแบบเดินสาย ลักษณะของการทำงานจะขึ้นอยู่กับโครงสร้างไฟฟ้าภายใน - การออกแบบแผงวงจรพิมพ์หรือคริสตัล ดังนั้นการปรับเปลี่ยนระบบควบคุมดังกล่าวโดยไม่มีการแทรกแซงทางกายภาพจึงเป็นไปไม่ได้ หน่วยควบคุมไมโครโปรแกรมได้ สามารถตั้งโปรแกรมเพื่อวัตถุประสงค์บางอย่างได้ ส่วนซอฟต์แวร์จะถูกจัดเก็บไว้ในหน่วยความจำของชุดควบคุม คอนโทรลเลอร์ที่มีฮาร์ดลอจิกจะเร็วกว่า แต่คอนโทรลเลอร์ที่มีการควบคุมไมโครโปรแกรมจะมีฟังก์ชันการทำงานที่ยืดหยุ่นมากกว่า หน่วยลอจิกเลขคณิต อุปกรณ์นี้ดำเนินการทางคณิตศาสตร์และการดำเนินการทางตรรกะทั้งหมดอย่างผิดปกติ เช่น การบวก การลบ ตรรกะ OR เป็นต้น ALU ประกอบด้วยองค์ประกอบทางตรรกะที่ดำเนินการเหล่านี้ ลอจิกเกตส่วนใหญ่มีสองอินพุตและหนึ่งเอาต์พุต ด้านล่างนี้เป็นวงจรของวงจรบวกครึ่งซึ่งมีอินพุตสองตัวและเอาต์พุตสองตัว A และ B ที่นี่คืออินพุต, S คือเอาต์พุต, C คือการดำเนินการ (ไปยังบิตที่สำคัญที่สุด) การจัดเก็บข้อมูล - การลงทะเบียนและหน่วยความจำ ดังที่ได้กล่าวไว้ก่อนหน้านี้โปรเซสเซอร์ดำเนินการคำสั่งที่ได้รับ คำสั่งส่วนใหญ่ทำงานกับข้อมูล ซึ่งอาจเป็นแบบสื่อกลาง อินพุต หรือเอาต์พุตก็ได้ ข้อมูลทั้งหมดนี้พร้อมด้วยคำแนะนำจะถูกจัดเก็บไว้ในรีจิสเตอร์และหน่วยความจำ รีจิสเตอร์ รีจิสเตอร์คือเซลล์หน่วยความจำข้อมูลขั้นต่ำ รีจิสเตอร์ประกอบด้วยฟลิปฟล็อป (แลตช์/ฟลิปฟล็อป) ในทางกลับกัน ทริกเกอร์จะประกอบด้วยองค์ประกอบเชิงตรรกะและสามารถจัดเก็บข้อมูลได้ 1 บิต บันทึก การแปล ทริกเกอร์อาจเป็นแบบซิงโครนัสหรือแบบอะซิงโครนัสก็ได้ อะซิงโครนัสสามารถเปลี่ยนสถานะได้ตลอดเวลา และแบบซิงโครนัสเฉพาะในช่วงที่อินพุตการซิงโครไนซ์ลดลงเชิงบวก/ลบเท่านั้น ตามวัตถุประสงค์การใช้งาน ทริกเกอร์จะถูกแบ่งออกเป็นหลายกลุ่ม: ทริกเกอร์ RS: คงสถานะไว้ที่ระดับศูนย์ที่อินพุตทั้งสองและเปลี่ยนเมื่อตั้งค่าเป็นหนึ่งที่อินพุตตัวใดตัวหนึ่ง (รีเซ็ต/ตั้งค่า) JK flip-flop: เหมือนกันกับ RS flip-flop ยกเว้นว่าเมื่อยูนิตถูกจ่ายให้กับอินพุตสองตัวพร้อมกัน flip-flop จะเปลี่ยนสถานะไปเป็นตรงกันข้าม (โหมดการนับ) T-flip-flop: กลับสถานะของมันในทุกรอบสัญญาณนาฬิกาบนอินพุตเดียวของมัน D-flip-flop: จดจำสถานะอินพุตในขณะที่ทำการซิงโครไนซ์ D-flip-flop แบบอะซิงโครนัสไม่สมเหตุสมผล RAM ไม่เหมาะสำหรับการจัดเก็บข้อมูลระดับกลางเนื่องจากจะทำให้โปรเซสเซอร์ช้าลง ข้อมูลระดับกลางจะถูกส่งไปยังรีจิสเตอร์ผ่านทางบัส พวกเขาสามารถจัดเก็บคำสั่ง ข้อมูลเอาท์พุต และแม้แต่ที่อยู่ของเซลล์หน่วยความจำ หน่วยความจำ (RAM) RAM (หน่วยความจำเข้าถึงโดยสุ่ม, RAM ภาษาอังกฤษ) เป็นกลุ่มขนาดใหญ่ของรีจิสเตอร์เดียวกันเหล่านี้ที่เชื่อมต่อเข้าด้วยกัน หน่วยความจำของที่จัดเก็บข้อมูลดังกล่าวไม่เสถียรและข้อมูลจะหายไปเมื่อปิดเครื่อง RAM ได้รับที่อยู่ของเซลล์หน่วยความจำซึ่งจำเป็นต้องวางข้อมูล ตัวข้อมูลเอง และแฟล็กการเขียน/อ่านที่เปิดใช้งานฟลิปฟล็อป บันทึก การแปล RAM สามารถเป็นแบบคงที่และไดนามิก - SRAM และ DRAM ตามลำดับ ในหน่วยความจำแบบคงที่ เซลล์เป็นแบบฟลิปฟล็อป และในหน่วยความจำแบบไดนามิก เซลล์เป็นตัวเก็บประจุ SRAM เร็วกว่าและ DRAM ถูกกว่า คำสั่ง (คำสั่ง) คำสั่งคือการกระทำจริงที่คอมพิวเตอร์ต้องทำ มีหลายประเภท: เลขคณิต: การบวก การลบ การคูณ ฯลฯ ตรรกะ: AND (การคูณ/การเชื่อมเชิงตรรกะ) OR (ผลรวม/การแยกทางตรรกะ) การปฏิเสธ ฯลฯ ข้อมูล: การย้าย การป้อนข้อมูล เอาท์พุต โหลด และการจัดเก็บ คำสั่งข้าม: ข้ามไป ถ้า ... ข้ามไป โทรกลับ คำสั่งหยุด: หยุด บันทึก การแปล ที่จริงแล้ว การดำเนินการทางคณิตศาสตร์ทั้งหมดใน ALU สามารถสร้างขึ้นได้จากสองส่วนเท่านั้น: การบวกและการเลื่อน อย่างไรก็ตาม สำหรับแชมป์เปี้ยนนั้น ยิ่งการดำเนินการขั้นพื้นฐานที่ ALU รองรับมากเท่าไร ก็จะยิ่งเร็วขึ้นเท่านั้น คำแนะนำมีให้กับคอมพิวเตอร์ในภาษาแอสเซมบลีหรือสร้างโดยคอมไพเลอร์ภาษาระดับสูง ในโปรเซสเซอร์ จะมีการใช้คำสั่งในฮาร์ดแวร์ โปรเซสเซอร์แบบคอร์เดียวดำเนินการหนึ่งคำสั่งต่อรอบสัญญาณนาฬิกา
spam fails_task lang_mismatch pii not_appropriate hate_speech sexual_content quality toxicity humor helpfulness creativity violence