計算機結構-邏輯門、存儲器、內存、加法器、鎖存器、程序計數器

邏輯門

邏輯門簡單地理解即通過特定的條件實現與、或、非、異或等相關邏輯

在這里插入圖片描述

二極管

這些最基礎的邏輯門都是通過電路元器件進行搭建的,即半導體材料搭建的二極管
在這里插入圖片描述
二極管有個特點,一定條件下才可以導通,即得接對正負極,具體的原理可以參考模擬電子技術相關內容
在這里插入圖片描述

晶體管

在這里插入圖片描述

邏輯門搭建

在了解了以上基礎原理之后,搭建邏輯門就很容易了
在這里插入圖片描述
與門的搭建,即串聯兩個晶體管,控制端來控制是否導通,若兩個晶體管的同時導通則整體電路導通,燈才會亮

在這里插入圖片描述
非門的搭建,并聯晶體管和燈泡,有兩種情況
1,晶體管的控制端輸入0晶體管這條電路不導通,則燈泡這邊的電路導通,即輸出1
2,晶體管的控制端輸入1晶體管這條電路導通,則燈泡這邊的電路被短路,即輸出0

在這里插入圖片描述
或門的搭建,通過燈泡串聯兩個并聯的晶體管實現,有如下幾類情況

  • 1,左邊晶體管導通(輸入1),右邊晶體管不導通(輸入0),則整體電路導通,燈泡亮(輸出1)
  • 2,左邊晶體管不導通(輸入0),右邊晶體管導通(輸入1),則整體電路導通,燈泡亮(輸出1)
  • 3,左邊晶體管不導通(輸入0),右邊晶體管不導通(輸入0),則整體電路不導通被斷路,燈泡不亮(輸出0)
  • 4,左邊晶體管導通(輸入1),右邊晶體管導通(輸入1),則整體電路導通,燈泡亮(輸出1)

加法器

首先理解下加法原理,人類理解的加法采用的為十進制,比如1+1=2和6+7=13
在6+7這里超過10需進位,因此個位=3,十位=1 因此6+7=13

但是計算機只能給理解二進制,因此1+1,等于需進位因此 1+1=10
同理6+7 轉換成二進制加法=> 110 + 111 = 1101
在這里插入圖片描述

半加器

在這里插入圖片描述
為啥稱之為半加器呢,當計算1+1=10的時候,半加器可以實現,但計算110+111的時候,輸出位數有4位,但半加器總共只有兩位輸出,因此無法實現多位數字的加法,因此稱之為半加器

擴展加法器

在這里插入圖片描述
將多個半加器串聯,即C作為進位輸出作為下一位的輸入,S作為本位的輸出,則實現了多位數字的加法器

全加器

全加器邏輯門實現
在這里插入圖片描述

SR鎖存器

為啥還需要鎖存器
由于組合邏輯門都只有多個輸入,給到多個輸出,但輸出永遠由當前輸入決定,且不會改變,一旦當前輸入改變,則當前輸出會改變,那么它不具有記憶功能,存儲不了之前的輸入

理解記憶

有記憶功能的邏輯門
在這里插入圖片描述
比如在t=1的時刻,給定輸入1,輸出=1,之后不管任何輸入,輸出恒定不變,則說明它具有記憶功能
在這里插入圖片描述
在這里插入圖片描述
通過是S設置1,Q會輸入1,因此把它稱之為set端,通過Q端設置1, Q會置為0,因此稱之為reset,因此把這個組合邏輯門稱之為SR鎖存器

D鎖存器

SR鎖存器的局限

數據設置復雜,可以記憶1,但記憶不了0
沒有總開關設置,無法在想要存儲的時候存儲,關閉存儲的時候不存儲
因此需加上控制位來做總開關,以及加上數據輸入位,輸入1,存儲1,輸入0,存儲0
在這里插入圖片描述
D鎖存器在SR鎖存器的基礎上做了如下改動

  • 1,控制位:加上E使能輸入和與門
  • 2,數據輸入D串聯非門

電容器

電容器可以簡單地理解為可以充電和放電的元器件
在這里插入圖片描述
通常采用電容串聯電路實現RC電路從而準確控制電容充放電的時間

D觸發器

D鎖存器的缺點
由于在E使能端的控制下,由于當前單位時間內輸入時間內很長,很容易收到外界的影響,當某個輸入任意一個改變了,輸入會變得不穩定,因戲需要在一瞬間存儲好時間,不給它誤差的機會
在這里插入圖片描述

瞬間存儲機制

在這里插入圖片描述
當E使能端=1的時候,Q會隨著D的輸入而同步輸出
但是現在需要在E=1的瞬間,保持D的輸入,其它的時間不變,因此理想的Q輸出為最后一條Q,而不是倒數第二條Q

門電路實現
在這里插入圖片描述
當E=1的時候 通過非門和與門 ,與門上邊輸入=1,下邊輸入由于非門的時間延遲仍然=1,因此E1=1
當時間延遲過了,與門的第二個輸入變成了0,因此E1=0,因此實現了瞬間存儲功能
但這個非門的延遲時間不可控

基于電容實現
在這里插入圖片描述
在這里插入圖片描述
利用電容的特點完成瞬間存儲

具有記憶的加法器

在這里插入圖片描述
原理為將具有記憶的存儲器的輸出端再接回道加法器的輸入端

時鐘原理

時鐘主要用來計算機內部的觸發協作,比如計算機在哪個時間節點做哪些操作
在這里插入圖片描述
非門實現的時鐘,當一開始輸入=1,輸出=0,輸出0又返回到輸入通過非門,此時輸出就變成了1,循環往復輸出的規律=> 0、1、0
但0和1持續的時間不可控

在這里插入圖片描述
因此還有更好的實現,即通過555觸發器來實現
其中內部用到了很重要的電容RC電路定時充放電,同時利用了比較器,當正極電壓大于負極電壓才會導通,具體的原理可以參考555的原理

總線原理

在這里插入圖片描述
簡單地來將,總線即為了統一管理計算機內部所有的元器件,各個存儲器、寄存器、內存等通過總線來傳遞數據,部分元器件輸出數據到總線,部分元器件接受總線數據的輸入

寄存器

在這里插入圖片描述

D觸發器存在的問題一:眾多觸發器,誰來讀取此時的總線數據呢,之前的D觸發器無法實現控制制定觸發器誰來接受總線數據
解決問題一:因此在原有的觸發器加上load加載端,當load=1,觸發器接受總線數據,load=0,觸發器不接受總線的數據

D觸發器存在的問題二:眾多觸發器都輸出了數據,此時輸出哪個觸發器的數據到總線呢
解決問題二:在觸發器加上enable輸出使能端,當enable=1的時候觸發器才輸出數據到總線
在這里插入圖片描述
改良的觸發器稱之為寄存器
但此時的寄存器還存在如下問題:

  • 無法觀察到每個寄存器的輸入輸出到底是多少
  • 有效位數太少了,輸入輸出只有4位

解決怎樣觀察輸入輸出:加上緩沖器,在緩沖期和寄存器之間加上燈泡,用燈泡觀察寄存器的存儲數據


解決有效位數太少:串聯多位寄存器解決
在這里插入圖片描述

ALU

ALU即算數邏輯單元,之前已經實現了加法,ALU包括加減乘除,加法已實現,乘法和加法的本質原理差不多,減法和除法本質原理差不多,則當前只需解決怎樣實現減法功能

例如,6-2 可以換成 6+ (-2) 此時它仍然為加法,重點在于怎樣把2變成-2
在這里插入圖片描述
規定最高位等于負數,比如4位二進制,最高表達-8,此時的二進制則可以表達負數
舉例:6-2
6=0110 -2=1110
6-2= 0100 此時算出來=4
規律:負數二進制=正數取反+1
取反:采用異或門+sub控制端實現
在這里插入圖片描述
+1操作:sub的輸出直接接到Cl端,sub=1 即計算減法
在這里插入圖片描述

在這里插入圖片描述

編程的本質

在這里插入圖片描述
在這里插入圖片描述
把計算機能夠做的事情翻譯成計算機能夠理解的二進制

內存

指令得存儲在某個地方,給到后續某個元器件來讀取
在這里插入圖片描述
但由于需執行的8代碼存在很多行,因此可以把多個寄存器串聯在一起來實現
在這里插入圖片描述

內存的數據來源

在這里插入圖片描述
數據來源
地址寄存器:存儲來自于哪里的數據地址
總線:從總線獲取數據輸入
控制線:控制加載數據還是寫入數據

但怎樣區分這不同的輸入源呢
可以使用多路選擇器控制采用哪里的輸入數據
在這里插入圖片描述

最后內存實現電路
在這里插入圖片描述

程序計數器 PC

在這里插入圖片描述
計算機在執行邏輯的時候,執行完的當前數據怎樣知道下一條呢
這個時候需要1個元器件:程序計數器,記錄下一條執行邏輯的地址
可以存儲位置以及能夠自加一操作
在這里插入圖片描述
在這里插入圖片描述
完整計算機結構

參考:B站從零搭建計算機教程

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/90600.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/90600.shtml
英文地址,請注明出處:http://en.pswp.cn/web/90600.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

連鎖店鋪巡查二維碼的應用

在連鎖店鋪的運營管理中,巡查工作是保障各門店規范運作、提升服務質量的關鍵環節。巡查二維碼的出現,為這一環節帶來了高效、便捷且規范的解決方案,其應用場景廣泛,優勢顯著。在如今的繁雜且效果參差不齊電子二維碼市場中&#xf…

各種前端框架界面

前端技術更新迭代很快,已經有不少新的前端框架問世,而且像geeker-admin風格的界面設計也挺不錯的。 今天去面試了前端開發崗位,感覺希望不大。畢竟中間空了一段時間沒接觸,得趕緊把新的知識點補上,這樣哪怕是居家辦公也…

DApp 開發者 學習路線和規劃

目錄 ?? 一、學習路線圖 階段 1:基礎知識(1~2 周) 階段 2:智能合約開發(3~4 周) 階段 3:前端與區塊鏈交互(2~3 周) 階段 4:進階與生態系統(持續學習) ?? 二、學習規劃建議(3~4 個月) ?? 三、工具推薦 ?? 四、附加建議 ?? 一、學習路線圖 階段 …

數據結構 二叉樹(3)---層序遍歷二叉樹

在上篇文章中我們主要講了關于實現二叉樹的內容,包括遍歷二叉樹,以及統計二叉樹等內容。而在這篇文章中我們將詳細講解一下利用隊列的知識實現層序遍歷二叉樹。那么層序遍歷是什么?以及利用隊列遍歷二叉樹又是怎么遍歷的?下面讓我…

【橘子分布式】gRPC(番外篇-攔截器)

一、簡介 我們之前其實已經完成了關于grpc的一些基礎用法,實際上還有一些比較相對進階的使用方式。比如: 攔截器:包括客戶端和服務端的攔截器,進而在每一端都可以劃分為流式的攔截器和非流式的攔截器。和以前我們在spring web中的…

深入探索嵌入式仿真教學:以酒精測試儀實驗為例的高效學習實踐

引言:嵌入式技術普及下的教學革新 嵌入式系統作為現代科技的核心驅動力,其教學重要性日益凸顯。然而,傳統硬件實驗面臨設備成本高、維護難、時空受限等挑戰。如何突破這些瓶頸,實現高效、靈活、專業的嵌入式教學?本文將…

三種深度學習模型(GRU、CNN-GRU、貝葉斯優化的CNN-GRU/BO-CNN-GRU)對北半球光伏數據進行時間序列預測

代碼功能 該代碼實現了一個光伏發電量預測系統,采用三種深度學習模型(GRU、CNN-GRU、貝葉斯優化的CNN-GRU/BO-CNN-GRU)對北半球光伏數據進行時間序列預測對北半球光伏數據進行時間序列預測,并通過多維度評估指標和可視化對比模型性…

PostgreSQL對象權限管理

本文記述在postgreSQL中對用戶/角色操作庫、模式、表、序列、函數、存儲過程的權限管理針對數據庫的授權 授權:grant 權限 on database 數據庫 to 用戶/角色; 撤權:revoke 權限 on database 數據庫 from 用戶/角色; 針對模式的授權 授權:gran…

Wordpress主題配置

一、下載主題 主題下載地址:https://www.iztwp.com/tag/blog-theme 二、主題安裝 三、上傳主題安裝即可 四、安裝完成啟動主題

lock 和 synchronized 區別

1. 引言 在多線程編程中,我們經常需要確保某些代碼在同一時刻只由一個線程執行。這種機制通常叫做“互斥鎖”或“同步”。Java 提供了兩種主要的同步機制:synchronized 關鍵字和 Lock 接口。盡管它們的作用相似,都用于實現線程的同步&#xf…

Tkinter - Python圖形界面開發指南

作者:唐叔在學習 專欄:唐叔學python 標簽:Python GUI編程 Tkinter教程 圖形界面開發 Python實戰 界面設計 事件監聽 Python入門 唐叔Python 編程學習 軟件開發 文章目錄一、Tkinter是什么?為什么選擇它?二、Tkinter基礎…

Java基礎day15

目錄 一、Java集合簡介 1.什么是集合? 2.集合接口 3.小結 二、List集合 1.List集合簡介 三、ArrayList容器類 1.初始化 1.1無參初始化 1.2有參初始化 2.數據結構 3.常用方法 3.1增加元素 3.2查找元素 3.3 修改元素 3.4 刪除元素 3.5 其他方法 4.擴…

React Three Fiber 實現晝夜循環:從光照過渡到日月聯動的技術拆解

在 3D 場景中用 React Three Fiber 實現自然的晝夜循環,核心難點在于光照的平滑過渡、日月運動的聯動邏輯、晝夜狀態下的光影差異處理,以及性能與視覺效果的平衡。本文以一個 ReactThree.js 的實現為例,詳細解析如何通過三角函數計算日月位置…

進階向:基于Python的簡易屏幕畫筆工具

用Python打造你的專屬屏幕畫筆工具:零基礎也能輕松實現你是否曾在觀看網課或參加遠程會議時,想要直接在屏幕上標注重點?或者作為設計師,需要快速繪制創意草圖?現在,只需幾行Python代碼,你就能輕…

Elasticsearch-ik分析器

CLI 安裝步驟 1、停止 Elasticsearch(如果正在運行): 在安裝插件之前,確保 Elasticsearch 沒有在運行。 命令: systemctl stop elasticsearch2、安裝插件: 使用 elasticsearch-plugin 命令安裝 IK 插件。進…

MySQL八股篇

查詢關鍵字執行先后順序FROM(及 JOIN)WHEREGROUP BYHAVINGSELECTDISTINCTORDER BYLIMIT / OFFSETCHAR 和 VARCHAR 的區別?使用場景?特性CHARVARCHAR?存儲方式??定長,存儲時填充空格至定義長度變長,存儲實際數據 長…

QT RCC 文件

RCC (Qt Resource Compiler) 是 Qt 框架中的一個工具,用于將資源文件(如圖像、音頻、翻譯文件等)編譯成二進制格式,并嵌入到應用程序可執行文件中。RCC 文件基本概念作用:將應用程序所需的資源文件編譯成 C 代碼&#…

數據湖典型架構解析:2025 年湖倉一體化解決方案

數據湖架構概述:從傳統模型到 2025 年新范式數據湖作為存儲海量異構數據的中央倉庫,其架構設計直接影響企業數據價值的釋放效率。傳統數據湖架構主要關注數據的存儲和管理,而 2025 年的數據湖架構已經演變為更加智能化、自動化的綜合性數據平…

繪圖庫 Matplotlib Search

關于Pathon的繪圖庫的認識和基本操作的學習 這里學習了兩款常用便捷的繪圖庫去學習使用Matplotlib介紹是最受歡迎的一種數據可視化包 是常用的2D繪圖庫 一般常于Numpy和Pandas使用 是數據分析中非常重要的工具可以自定義XY軸 繪制線形圖 柱狀圖 直方圖 密度圖 散點圖 更清晰的展…

Docker詳解及實戰

🎉 Docker 簡介和安裝 - Docker 快速入門 Docker 簡介 Docker是一個開源的平臺,用于開發、交付和運行應用程序。它能夠在Windows,macOS,Linux計算機上運行,并將某一應用程序及其依賴項打包至一個容器中,這…