라벨이 Electrical and electronic control인 게시물 표시

EP.1-6 메모리 구조

EP.1-6 메모리 구조: 전하의 대기실 | 제어 엔지니어 구조 분석 Phase 1: Hardware-Software Interface EP.1-6 메모리 구조 — 전하의 대기실 설계도가 실제 물리적 접점으로 배선되는 시퀀스 1. 질문: 왜 메모리는 구역을 나누는가? 제어반을 설계할 때 Bit 레지스터 영역과 Word 레지스터 영역을 엄격히 구분하고, 파라미터 설정을 통해 전원 차단 시에도 데이터를 유지할 구역을 지정하는 이유와 같습니다. 용도에 따라 구역을 나누지 않으면 데이터 신호가 뒤엉켜 시스템이 셧다운(Crash)됩니다. 2. 코드가 메모리로 흩어지는 물리적 원리 아래의 C언어 코드가 메모리 각 구역으로 어떻게 배선되는지 대조해 보겠습니다. // (1) 유지 레지스터 (Data 영역) int Global_Val = 10; void main() {      // (2) 임시 래치 (Stack 영역)     int Local_Val = 5;      // (3) 비교 연산 회로 가동 (Code 영역)     if(Local_Val > 0) {         Global_Val = 20;     } } ...

EP.1-5 컴파일러

이미지
EP.1-5 컴파일러: 제어의 번역가 | 설계도를 전깃길로 바꾸는 공정 Phase 1: Hardware-Software Interface EP.1-5 컴파일러 — 제어의 번역가 설계 도면을 CPU 전깃길로 구워내는 자동 배선 시퀀스 우리는 왜 직접 0과 1을 쓰지 않는가? 전 장에서 보았듯, OS는 ISA 규격 에 따라 레지스터에 직접 전기를 때려 넣습니다. 하지만 현대의 제어 시스템은 수만 개의 수문을 열고 닫아야 합니다. 사람이 일일이 "A 접점 켜고 B 접점 꺼라"를 기계어(0101...)로 치고 있다가는 시스템 구축이 불가능하겠죠. 그래서 우리는 인간의 언어(고급 언어) 로 설계도를 그리고, 이를 기계어로 바꿔줄 자동 번역가(Compiler) 를 고용합니다. 컴파일 과정: 설계 도면에서 래더 로직으로 컴파일러가 하는 일은 PLC 소프트웨어(GX Works, XG5000, S7, studio5000 등)가 우리가 그린 래더 로직을 CPU용 바이너리로 변환하는 과정과 완벽히 일치합니다. 1 구문 분석(Syntax): 작성한 코드에 문법적 오류가 없는지 검사합니다. 도면으로 치면 결선 오류나 오타를 잡아내는 단계입니다. 2 최적화(Optimization): 엔지니어에게 가장 중요한 단계입니다. 불필요한 연산을 줄여 전압 신호가 흐르는 경로를 최단거리로 재설계합니다. 이는 래더 회로를 간소화하여 스캔 타임(Scan Time) 을 줄이는 것과 같습니다. ...

EP.1-4 운영체제

EP.1-4 운영체제: 지휘자의 탄생 | 제어 엔지니어 구조 분석 Phase 1: Hardware-Software Interface EP.1-4 운영체제 — 지휘자의 탄생 B접점 차단과 레지스터 SET/RESET이 만든 물리적 시퀀스 1. 질문: 소프트웨어는 어떻게 물리적 힘을 갖는가? 운영체제(OS)도 결국 전기 신호의 뭉치입니다. 그런데 어떻게 다른 프로그램의 전기를 끊거나 메모리를 뺏어올까요? 그 비밀은 CPU 내부에 미리 설계된 물리적 강제 로직 에 있습니다. 하드웨어가 지휘봉을 건네주지 않으면 소프트웨어는 아무것도 할 수 없습니다. 2. 제어권 탈환: 하드웨어 인터록(Interlock) 시퀀스 OS는 마법처럼 나타나는 게 아닙니다. CPU 외부의 독립적인 물리 플리커(Timer) 에 의해 강제로 깨어납니다. 이 과정은 소프트웨어의 '판단'이 아니라 회로의 '전압'에 의해 결정됩니다. 1 물리적 플리커(Independent Oscillation): 전원 인가 시부터 스스로 뛰는 하드웨어 타이머가 일정 주기마다 CPU의 IRQ 핀 에 High 신호를 쏩니다. 2 B접점 논리 차단: IRQ 신호가 들어오면 CPU 내부 연산 회로는 AND 게이트 논리 에 의해 즉시 동결됩니다. 현재 돌던 일반 프로그램의 전깃길이 물리적으로 차단되는 순간입니다. 3 상태 래치(State Latch): 회로가 Reset되기 직전, 현재 플...

EP.1-3 명령어의 탄생

이미지
EP.1-3 명령어의 탄생: 코딩은 어떻게 물리적 수문을 여는가? | 하드웨어-소프트웨어 연결고리 Phase 1: The Physical Foundation EP.1-3 명령어의 탄생 우리가 타이핑하는 '글자'가 어떻게 '물리적 수문'을 여는가 1. 키보드: 물리적 압력이 '전자 펀치'가 되는 과정 코딩은 인간의 압력 에서 시작됩니다. 키보드 자판을 누르는 것은 단순히 글자를 입력하는 것이 아니라, 과거 엔지니어들이 사용했던 '천공카드' 종이 카드에 구멍을 뚫던 천공(Punching) 행위가 지금의 키보드로 발전하게 된거죠. 1 물리적 좌표 발생: 자판을 누르면 아래에 깔린 가로-세로 구리선(격자)이 만나 전기가 통합니다. 2 키보드 내부 미로(Encoder): 키보드 안의 작은 논리 칩은 이 좌표를 읽어 'A'라는 약속된 전기 번호(예: 01000001)로 조립합니다. 키보드 자체도 이미 논리 게이트의 집적체입니다. 3 전송과 안내: 이 번호는 메인보드의 공용 도로(Bus)를 타고 흐르다, 입출력 제어기라는 검문소(논리 게이트)를 거쳐 RAM으로 안내됩니다. 💡 과거와 현재: 노동의 증발 과거에는 사람이 ① 종이에 구멍을 일일이 뚫고, ...

EP.1-2 래치와 플립플롭

이미지
EP.1-2 래치와 플립플롭 — 물리적 기억의 탄생 | 근본적 탐구 From Hardware to Software EP.1-2 래치와 플립플롭 — 전기가 ‘과거’를 소유하는 물리적 설계 1. 기초 부품의 집합: 논리 게이트의 물리적 실체 트랜지스터라는 단일 부품이 '기억'으로 진화하기 위해서는 먼저 논리 게이트 라는 중간 단계의 조립이 필요합니다. 이것은 지능이 아니라 철저한 전선의 배치 문제입니다. AND 게이트: 직렬의 빗장 트랜지스터 A의 이미터(E)를 트랜지스터 B의 컬렉터(C)에 직접 꽂습니다. 전류가 목적지에 닿으려면 A와 B라는 두 개의 베이스(Base) 스위치가 동시에 열려야만 합니다. 물리적인 '동시성'의 구현입니다. OR 게이트: 병렬의 선택 두 트랜지스터의 컬렉터(C)를 VCC(+)에 함께 묶고, 이미터(E)를 하나로 합쳐 출력으로 보냅니다. A 또는 B 중 하나만 베이스가 자극되어도 전류는 길을 찾아 흐릅니다. NOT 게이트: 반전의 하수구 이것이 기억의 핵심입니다. 전류가 가는 길목에 트랜지스터를 '지름길'처럼 배치합니다. 베이스(In)에 신호를 주면 전류가 목적지가 아닌 바닥(GND)으로 쏟아지며, 결과적으로 출력이 0이 됩니다. 2. 회로 ...

EP.1-1트랜지스터

이미지
EP.1-1 트랜지스터란 무엇인가? | 전기로 이해하는 컴퓨터 하드웨어 원리 EP.1-1 트랜지스터란 무엇인가? | 전기로 이해하는 컴퓨터 하드웨어 원리 EP.1-1 트랜지스터 — 종이 구멍을 대신할 ‘빛의 스위치’ 이 장의 흐름 1. 종이의 한계: 왜 트랜지스터인가? 2. 물리적 실체: 전기로 전기를 막는 ‘빗장’ 3. 코딩과의 연결: if문의 원형이 된 스위치 1. 종이의 한계: 왜 트랜지스터인가? 앞서 본 천공카드(OMR)는 위대했습니다. 하지만 결정적인 문제가 있었죠. 구멍을 뚫는 기계적 속도가 전기의 속도를 따라가지 못한다는 것이었습니다. 물리적 마찰: 종이가 넘어가고 금속 빗이 닿는 과정에는 마찰과 열이 발생합니다. 진공관의 실패: 처음엔 전구(진공관)로 해결하려 했지만, 너무 뜨겁고 잘 깨졌습니다. 여기서 인류는 '반도체' 라는 마법의 돌을 찾아냅니다. 움직이는 부품 없이, 오직 전압의 차이만으로 전기를 통과시키거나 막는 트랜지스터 가 탄생한 것입니다. 2. 물리적 실체: 전기로 전기를 막는 ‘빗장’ 트랜지스터는 천공카드의 구멍과 똑같은 일을 합니다. 다만 종이 대신 '전자 장벽' 을 이용할 뿐입니다. 컬렉터/이미터: 전기가 흐르는 메인 통로입니다. (미로의 길) 베이스(Base): 바로 이 부분이 '종이 구멍' 을 대체합니다. 여기에 아주 작은 전압을 걸어주면, 막혀 있던 전자 장벽이 무너지며 메인 통로가 열립니다. ...

EP.0-1 천공카드

이미지
EP.0-1 천공카드 — ‘전선 꼽기’가 ‘기록’이 되던 날 [컴퓨터 코딩의 첫걸음] 전선과 전기로 시작하는 컴퓨터의 기원 [그림 0-1-1] 천공 카드_사진출처:나무위키 EP.0-1 천공카드 — ‘전선 꼽기’가 ‘기록’이 되던 날 진화의 미싱 링크(Missing Link) 애니악의 거대한 전선 뭉치를 보며 우리는 질문했습니다. "매번 저걸 손으로 다 꼽아야 하나?" 인간은 이 고된 노동을 '종이 위의 구멍' 으로 박제하기 시작했습니다. 1. 프로그래밍의 원형: 전선과의 사투 초기 컴퓨터에서 새로운 계산을 한다는 것은, 수천 개의 구리선을 뽑아 다른 구멍에 다시 꽂는 것을 의미했습니다. 물리적 하드웨어: 프로그램이 따로 존재하는 것이 아니라, 배선 상태 그 자체 가 곧 프로그램이었습니다. 비효율의 극치: 계산 한 번을 위해 며칠 동안 전선을 꽂아야 했고, 전선 하나만 잘못 꽂아도 미로는 작동하지 않았습니다. 2. 천공카드의 도약: "꽂는 과정을 통째로 생략하다" 천공카드는 이 지루한 과정을 획기적으로 줄여주었습니다. 아이디어: "전선이 연결될 곳에 구멍을 뚫고, 연결되지 않을 곳은 종이로 막자." 물리적 박제: 종이 카드 한 장은 '특정 배선 상태의 복사본' 입니다. 이제 사람이 전선을 하나하나 꼽는 대신, 기계가 카드의 구멍을 읽어 전기를 통하게 하거나 막습니다. 획기적 통찰: 기록물(Software)의 탄생 ...

EP.0 코딩의 첫걸음 — 전기를 어떻게 연결할 것인가?

이미지
EP.0 코딩의 첫걸음 — 전선과 전기로 이해하는 컴퓨터 하드웨어의 기원 [컴퓨터 코딩의 첫걸음] 전선과 전기로 시작하는 컴퓨터의 기원 EP.0 서론 — 태초의 시스템, 전선이 사고(思考)가 되던 시절 현대의 복잡한 칩과 수백 개의 프로그래밍 언어를 이해하기 위해, 우리는 전선과 스위치만으로 이루어졌던 원시적 컴퓨터의 뼈대를 먼저 마주해야 합니다. 이 글은 코드를 가르치지 않습니다. 대신, 앞으로 배우게 될 모든 코드가 왜 이런 형태를 가질 수밖에 없었는지 를 물리적으로 이해하게 만드는 출발점입니다. 시리즈 미리보기 시리즈 1 [1~10]: 고정된 미로의 설계 (Hard-wired) — 계산은 왜 회로에 박혀 있었을까? 시리즈 2 [11~20]: 조작 설계도의 진화 (Software Logic) — 미로를 다시 꼬지 않고 바꿀 수는 없었을까? 시리즈 3 [21~30]: 펄스의 질주와 시각화 (Interface) — 전기의 결과는 어떻게 인간의 감각이 되었을까? 전체 시스템 조감도 — 전기 미로의 전경 컴퓨터는 마법이 아니라 거대한 전기 미로입니다. 왼쪽의 입력이 미로를 통과해 오른쪽의 빛으로 나타나기까지, 모든 컴퓨터는 동일한 물리 구조를 공유합니다. [그림 0-1] 원시적 연산 시스템_사진출처:나무위키 (입력 → 약속 → 연산 → 전송 → 출력) 원시 시스템의 5단계 물리 메커니즘 1단계: 물리적 입력 (Input) - "전선을 꼽는 행위, 물리적 의지의 ...