===== 1. Bevezetés és alapfogalmak ===== === 1.1 Adat és információ === * **Adat**: a világ jelenségeinek leírása számokkal, szöveggel, képekkel vagy mérésekkel. * Példa: egy szenzor 22,5 °C hőmérsékletet mér → ez adat. * **Információ**: olyan közlés, amely csökkenti a bizonytalanságot, és döntést tesz lehetővé. * Példa: „A gép túlhevült, mert a hőmérséklet 95 °C” → ez információ. * **Claude Shannon (1939)**: az információ a bizonytalanság (entrópia) csökkentése. * **Bit**: a legkisebb információegység, amely két állapotot különböztet meg (0 vagy 1). === 1.2 Analóg és digitális jelek === * **Analóg jel**: folytonos, tetszőleges értéket vehet fel. * Példa: higanyos hőmérő szintje. * **Digitális jel**: diszkrét, előre meghatározott értékeket vesz fel. * Példa: digitális hőmérő kijelzője. * A számítógépek digitálisak, mert: - zajállóbbak, - könnyebben feldolgozhatóak, - egyszerűbb tárolás és továbbítás. graph LR A[Valós jelenség] --> B[Analóg jel] A --> C[Digitális jel] B -->|folytonos| D((∞ érték)) C -->|diszkrét| E((0 vagy 1)) === 1.3 Neumann-elv === Neumann János (1946) öt alapelve: * Központi vezérlőegység (CPU) irányítja a működést. * Programok és adatok közös memóriában tárolódnak. * Bináris adatreprezentáció. * Utasítás-végrehajtási ciklus: beolvasás → értelmezés → végrehajtás. * Soros feldolgozás (egyszerre egy utasítás). flowchart TD CPU[CPU] --> MEM[Memória] CPU --> IO[I/O perifériák] MEM --> CPU IO --> CPU === 1.4 Turing-gép === Alan Turing (1936) megalkotta a Turing-gép modellt. Elemei: * Szalag (memória): adatok és program. * Olvasó/író fej: mozog a szalagon, adatot olvas vagy ír. * Vezérlőegység: meghatározza, milyen művelet történjen. A Turing-gép az algoritmusok elméleti alapja → minden mai számítógép működését leírja. flowchart LR S[Szalag memória] --> F[Olvasó/író fej] F --> V[Vezérlőegység] V --> F F --> S === Mérnöki alkalmazási példák === Adat: szenzor 0,01 mm eltérést mér a gyártás során. Információ: az eltérés nagyobb, mint a megengedett 0,005 mm → selejt. Digitális feldolgozás: a PLC a mérést kiértékeli és leállítja a gépet. Neumann-elv alkalmazása: a PLC is CPU + memória + I/O elven működik. ===== 2. Hardver alapjai ===== A számítógép hardvere a fizikai részegységekből áll, amelyek együtt biztosítják az adatok feldolgozását, tárolását és megjelenítését. === 2.1 Központi feldolgozó egység (CPU) === * Az utasítások végrehajtásáért felelős "agy". * Fő részei: - **ALU (Aritmetikai-logikai egység)**: számításokat és logikai műveleteket végez. - **Regiszterek**: a leggyorsabb tárolók, ideiglenes adatokhoz. - **Vezérlőegység**: irányítja a teljes működést. * Modern CPU-k többmagosak (quad-core, octa-core), párhuzamos feldolgozásra képesek. flowchart TD A[CPU] --> B[ALU] A --> C[Vezérlőegység] A --> D[Regiszterek] B -->|Számítások| A C -->|Irányítás| A D -->|Adatok| A === 2.2 Memóriahierarchia === * A CPU különböző sebességű és méretű memóriákat használ: - **Regiszterek** – leggyorsabb, nagyon kicsi. - **Cache (L1, L2, L3)** – gyorsítótár a CPU közelében. - **RAM** – központi memória, ideiglenes adatokhoz. - **Háttértár (SSD, HDD, NVMe)** – tartós tárolás. * Elv: minél közelebb van a CPU-hoz, annál gyorsabb, de kisebb a kapacitása. graph LR R[Regiszterek] --> C1[L1 Cache] --> C2[L2 Cache] --> C3[L3 Cache] --> M[RAM] --> H[Háttértár] === 2.3 Buszrendszerek === * A számítógép részegységei **buszokon** keresztül kommunikálnak. * Fő busztípusok: - **Adatbusz** – adatokat visz a komponensek között. - **Címbusz** – meghatározza, honnan hova kerül az adat. - **Vezérlőbusz** – irányító jeleket továbbít. * Modern buszok: **PCI Express, USB-C, Thunderbolt, NVMe**. flowchart LR CPU[CPU] -->|Adatbusz| MEM[Memória] CPU -->|Címbusz| MEM CPU -->|Vezérlőbusz| IO[I/O perifériák] === 2.4 Példa: Raspberry Pi felépítése === * **SoC (System-on-Chip)**: CPU + GPU + memória vezérlő egyetlen chipben. * **GPIO (General Purpose I/O)**: mérnökök által használt szenzor- és aktuátorvezérlés. * Beépített interfészek: HDMI, USB, Ethernet, kamera csatlakozó. flowchart TD SOC[System-on-Chip] --> CPU1[CPU magok] SOC --> GPU[Grafikus egység] SOC --> MEMV[Memóriavezérlő] SOC --> GPIO[GPIO csatlakozók] SOC --> USB[USB portok] SOC --> NET[Ethernet/WiFi] SOC --> HDMI[HDMI kimenet] ===== 3. Számítógépkategóriák és architektúrák ===== A számítógépek többféle kategóriába sorolhatók teljesítményük, méretük és felhasználási területük alapján. Emellett különböző architektúrák léteznek (x86, ARM, RISC-V, SoC), amelyek a mérnöki alkalmazások szempontjából is fontosak. === 3.1 Számítógépkategóriák === * **Mikroszámítógép**: egyszerű, beágyazott vezérlők (pl. mikrokontroller, Arduino). * **Személyi számítógép (PC)**: általános felhasználásra, mérnöki tervezéshez, szimulációhoz. * **Munkaállomás**: nagy teljesítményű PC, gyakran erős GPU-val → CAD, FEM, szimuláció. * **Szerver**: adatfeldolgozás, hálózati szolgáltatások, felhő alapú számítás. * **Szuperszámítógép**: extrém számítási igényekhez (pl. időjárás-modellezés, molekuláris dinamika). graph TD A[Mikroszámítógép] --> B[PC] B --> C[Munkaállomás] C --> D[Szerver] D --> E[Szuperszámítógép] === 3.2 Architektúrák === * **x86** – Intel és AMD processzorok, PC-k és szerverek alapja. * **ARM** – energiatakarékos, mobil eszközökben és beágyazott rendszerekben. * **RISC-V** – nyílt forrású architektúra, gyorsan fejlődő kutatási és ipari terület. * **SoC (System-on-Chip)** – CPU, GPU, memóriavezérlő, kommunikációs egységek egyetlen chipben. flowchart TD X[x86 - PC/Szerver] -->|Teljesítmény| P[Munkaállomás] A[ARM - Mobil/Beágyazott] -->|Energiatakarékosság| M[Okostelefonok, IoT] R[RISC-V - Nyílt ISA] -->|Kísérletezés| K[Kutatás, ipar] S[SoC - System on Chip] -->|Integráció| I[Mobil, Raspberry Pi, IoT] === 3.3 Példák mérnöki alkalmazásokban === * **Mikrokontroller**: egyszerű vezérlési feladatok (pl. motor szabályozás, szenzoradatok gyűjtése). * **Munkaállomás**: CAD tervezés, végeselemes szimuláció (FEM). * **Szerver**: ipari adatgyűjtés, gyártási adatok feldolgozása. * **Szuperszámítógép**: komplex mérnöki számítások (áramlástan, anyagszerkezet szimuláció). flowchart LR MC[Mikrokontroller] -->|Vezérlés| S1[Szenzor/aktuátor] WS[Munkaállomás] -->|Számítás| FEM[FEM szimuláció] SR[Szerver] -->|Adatfeldolgozás| DB[Gyártási adatok] SC[Szuperszámítógép] -->|Komplex szimuláció| CFD[Áramlástan, anyagtudomány] ===== 4. Perifériák és interfészek ===== A perifériák a számítógéphez csatlakozó eszközök, amelyek adatbevitelre, megjelenítésre, adattárolásra vagy kommunikációra szolgálnak. Az interfészek biztosítják az összeköttetést a központi egység és a perifériák között. === 4.1 Input (adatbevitel) === * Billentyűzet, egér, érintőképernyő. * Szenzorok (hőmérséklet, nyomás, kamera, mikrofon). * Vonalkód- és QR-olvasó, ipari mérőeszközök. graph TD IN1[Billentyűzet] --> CPU IN2[Egér] --> CPU IN3[Érintőképernyő] --> CPU IN4[Szenzorok] --> CPU IN5[Videokamera] --> CPU === 4.2 Output (eredménykivitel) === * Monitor, projektor, VR szemüveg. * Nyomtató, 3D nyomtató. * Hangszóró, ipari kijelzők. graph TD CPU --> OUT1[Monitor] CPU --> OUT2[Nyomtató] CPU --> OUT3[3D nyomtató] CPU --> OUT4[Hangszóró] === 4.3 Input/Output kombinált eszközök === * Hálózati kártya (Ethernet, WiFi). * Hangkártya (mikrofon + hangszóró). * Érintőképernyő (adatbevitel + megjelenítés). * USB eszközök (pendrive, külső HDD). flowchart LR CPU <--> NET[Hálózati kártya] CPU <--> SOUND[Hangkártya] CPU <--> TOUCH[Érintőképernyő] CPU <--> USB[USB eszköz] === 4.4 Modern interfészek === * **USB-C / USB 3.2 / USB4** – univerzális, gyors adatátvitel és energiaellátás. * **Thunderbolt** – nagy sávszélesség, külső GPU és kijelzők támogatása. * **HDMI / DisplayPort** – digitális hang- és videóátvitel. * **Ethernet / WiFi / Bluetooth** – hálózati kapcsolatok. * **I²C, SPI, CAN busz** – ipari és beágyazott rendszerek szenzor- és vezérlőcsatolói. graph TD CPU --> USB[USB-C / USB4] CPU --> TB[Thunderbolt] CPU --> HDMI[HDMI / DisplayPort] CPU --> ETH[Ethernet] CPU --> WIFI[WiFi / Bluetooth] CPU --> I2C[I²C / SPI / CAN] ===== 5. Adattárolás és memória ===== A számítógép működéséhez szükség van gyors, átmeneti és tartós adattárolásra is. Az eltérő tárolók különböző sebességűek, kapacitásúak és feladatúak. === 5.1 Memóriahierarchia === * **Regiszterek** – leggyorsabb, közvetlenül a CPU-ban, nagyon kicsi méret. * **Cache (L1, L2, L3)** – gyorsítótár, a CPU közelében, kis méret, nagy sebesség. * **RAM (Random Access Memory)** – központi memória, ideiglenes adattárolás, áramtalanításkor törlődik. * **Háttértár** – tartós tárolás: SSD, HDD, NVMe. graph LR R[Regiszterek
pár bájt] --> C1[L1 Cache
~32-64 KB] C1 --> C2[L2 Cache
~256 KB - 1 MB] C2 --> C3[L3 Cache
~4-64 MB] C3 --> RAM[RAM
~8-64 GB] RAM --> SSD[SSD/NVMe
~256 GB - 4 TB] SSD --> HDD[HDD
~1-20 TB]
=== 5.2 RAM típusai === * **DRAM (Dynamic RAM)** – olcsóbb, frissítést igényel → fő memória. * **SRAM (Static RAM)** – gyors, drága → cache. * **SDRAM, DDR, DDR4, DDR5** – modern, szinkronizált RAM-típusok. === 5.3 Háttértárak === * **HDD (merevlemez)**: mágneses elven működik, olcsó, nagy kapacitás, de lassú. * **SSD (Solid State Drive)**: flash-alapú, gyorsabb, nincs mozgó alkatrész. * **NVMe SSD**: PCIe buszon keresztül → extrém sebesség (GB/s). * **Optikai tárolók**: CD, DVD, Blu-ray – ma inkább archiválásra. * **Flash eszközök**: pendrive, SD-kártya. flowchart LR HDD[HDD
olcsó, lassú] -->|Kiváltja| SSD[SSD
gyorsabb] SSD --> NVMe[NVMe SSD
PCIe alapú] SSD --> Flash[Flash tárolók
pendrive, SD-kártya] HDD -.-> Archive[Optikai lemezek
CD/DVD/Blu-ray]
=== 5.4 Virtuális memória === * Az operációs rendszer a háttértár egy részét **RAM kiegészítésére** használja. * Lehetővé teszi, hogy több program fusson egyszerre, mint amennyi a fizikai RAM-ban elfér. * Hátránya: lassabb, mert a háttértár sebessége korlátozó tényező. flowchart TD CPU --> RAM RAM -->|Ha megtelik| VM[Virtuális memória SSD/HDD] === 5.5 Mérnöki alkalmazási példa === * **FEM szimuláció**: RAM korlátozhatja a futtatható modell méretét. * **Nagy adatgyűjtés (pl. szenzorhálózat)**: SSD szükséges a gyors íráshoz. * **Beágyazott rendszerek**: kis méretű RAM és flash → optimalizált programozás kell. ===== 6. Párhuzamos feldolgozás és gyorsítók ===== A számítógépek teljesítményének növelését ma már nem elsősorban az órajel emelése, hanem a **párhuzamos feldolgozás** és a **speciális gyorsítók** biztosítják. === 6.1 Többmagos processzorok === * A CPU több maggal rendelkezik → egyszerre több utasítást hajthat végre. * Példák: - **Dual-core, Quad-core, Octa-core** CPU-k. - Mobil eszközökben: heterogén architektúrák (pl. ARM big.LITTLE). * Előny: több szál (thread) futtatható egyidőben. graph TD CPU[Processzor] --> C1[Mag 1] CPU --> C2[Mag 2] CPU --> C3[Mag 3] CPU --> C4[Mag 4] C1 & C2 & C3 & C4 --> OS[Operációs rendszer
többszálúság]
=== 6.2 Párhuzamos feldolgozási technikák === * **Pipeline (csővezetékes feldolgozás)** – egy utasítás több részfeladatra oszlik, amelyek átfedésben hajthatók végre. * **SIMD (Single Instruction, Multiple Data)** – egy utasítással több adaton művelet (pl. vektorműveletek). * **MIMD (Multiple Instruction, Multiple Data)** – több mag különböző programrészeket futtat párhuzamosan. flowchart LR A[Pipeline] -->|lépések egymásra tolva| B[Gyorsabb végrehajtás] C[SIMD] -->|egy utasítás
több adaton| B D[MIMD] -->|különböző utasítások
különböző adatokon| B
=== 6.3 GPU-k (Grafikus processzorok) === * Eredetileg grafikai számításokra (3D, játékok). * Ma: **általános célú számításokra is** (GPGPU). * Több ezer feldolgozó egység → kiváló párhuzamosítás nagy adathalmazokon. * Használat: gépi tanulás, képfeldolgozás, FEM/CFD szimulációk gyorsítása. graph TD GPU[GPU] --> C1[1000+ mag] GPU --> AI[AI és ML számítások] GPU --> SIM[Szimulációk] GPU --> GFX[Grafika és 3D megjelenítés] === 6.4 Egyéb gyorsítók === * **FPGA (Field Programmable Gate Array)**: újraprogramozható hardver, ipari alkalmazásokban gyors, testreszabott feldolgozásra. * **TPU (Tensor Processing Unit)**: mesterséges intelligenciára optimalizált chip. * **NPU (Neural Processing Unit)**: neurális hálók futtatására mobil eszközökben. flowchart TD FPGA -->|Rugalmasság| Ipari[Ipari vezérlés] TPU -->|AI felhő| Cloud[Felhőszolgáltatások] NPU -->|Mobil AI| Mobile[Okostelefonok, IoT] === 6.5 Mérnöki alkalmazási példák === * **FEM szimuláció** – CPU + GPU együttműködésével gyorsabb számítás. * **Képfeldolgozás** – GPU gyorsítással valós idejű hibadetektálás gyártásban. * **FPGA** – ipari robotvezérlés, valós idejű adatfeldolgozás. * **TPU/NPU** – prediktív karbantartás, IoT érzékelők adatfeldolgozása. ===== 7. Ipari és mérnöki alkalmazások ===== A számítástechnika nemcsak irodai környezetben, hanem ipari és mérnöki területeken is kulcsfontosságú. A mérnökök számára a legfontosabb alkalmazási területek: beágyazott rendszerek, ipari vezérlők, IoT, valamint nagy teljesítményű szimulációk. === 7.1 Beágyazott rendszerek === * Speciális célú, kisméretű számítógépek. * Tipikus eszközök: **mikrokontroller**, **Arduino**, **ESP32**, **Raspberry Pi**. * Alkalmazások: - Szenzoradatok gyűjtése és feldolgozása. - Motorok, aktuátorok vezérlése. - Egyszerű ipari automatizálási feladatok. flowchart TD S[Szenzorok] --> MCU[Mikrokontroller] MCU --> ACT[Motorok / aktuátorok] MCU --> NET[Kommunikáció pl. \(WiFi, Bluetooth\)] === 7.2 PLC-k és ipari vezérlőrendszerek === * **PLC (Programmable Logic Controller)**: ipari gépek és folyamatok vezérlésére kifejlesztett számítógép. * Jellemzők: - Robusztus, megbízható, folyamatos üzemre tervezett. - I/O csatlakozások ipari szabvány szerint (pl. 24V, relékimenet). - Egyszerű logikai programozás (létra diagram). * Alkalmazások: gyártósorok, robotok, szállítószalagok. graph LR SENSOR[Szenzorok] --> PLC[PLC] PLC --> MOTOR[Motorvezérlés] PLC --> HMI[Kezelőpanel / HMI] PLC --> NET[Hálózati kommunikáció] === 7.3 IoT és edge computing === * **IoT (Internet of Things)**: szenzorok hálózata, amely adatokat gyűjt és továbbít. * **Edge computing**: adatfeldolgozás a hálózat szélén, a szenzor közelében → csökkenti a késleltetést. * Példák: - Okosgyár (smart factory). - Prediktív karbantartás (hibák előrejelzése). - Energiagazdálkodás. flowchart LR S1[Szenzor] --> EDGE[Edge eszköz] EDGE --> CLOUD[Felhő] CLOUD --> USER[Felhasználó / Mérnök] === 7.4 Nagy teljesítményű számítások (HPC) === * Mérnöki tervezésben és kutatásban szükség van extrém számításokra: - **FEM (végeselemes módszer)** szilárdságtanhoz. - **CFD (Computational Fluid Dynamics)** áramlástanhoz. - Molekuláris szimulációk, anyagvizsgálatok. * Ezekhez munkaállomások és szuperszámítógépek szükségesek, gyakran GPU gyorsítással. flowchart LR MODEL[3D mérnöki modell] --> FEM[FEM szimuláció] MODEL --> CFD[CFD szimuláció] FEM --> HPC[Munkaállomás / Szuperszámítógép] CFD --> HPC === 7.5 Példák mérnöki gyakorlatból === * **Gépészmérnökök**: 3D CAD modellezés, végeselemes analízis. * **Villamosmérnökök**: vezérlőelektronika, PLC programozás, ipari kommunikációs hálózatok. * **Anyagmérnökök**: mikroszkópos képfeldolgozás, szimulációs modellek. * **Mechatronikus mérnökök**: robotvezérlés, szenzorhálózatok, IoT integráció.