메모리 구조 컴퓨터 메모리 구조는 CPU가 실행할 명령과 데이터를 저장하고 관리하는 방식을 말한다. 컴퓨터 메모리 구조는 크게 메모리 계층 구조와 메모리 영역 구조로 나눌 수 있다. 메모리 계층 구조 메모리 계층 구조는 메모리의 용량, 접근 속도, 비용 등의 특성에 따라 여러 종류의 메모리를 계층적으로 구성하는 방식이다. 메모리 계층 구조는 레지스터, 캐시, 주 기억 장치, 보조 기억 장치로 구성되어 있다. 레지스터는 CPU 내부의 작은 메모리로, 휘발성이며 속도가 가장 빠르고, 기억 용량이 가장 적다. CPU가 실행할 명령과 데이터를 임시로 저장한다. 캐시는 L1, L2, L3 캐시를 지칭하고 휘발성이며, 속도가 빠르나 기억 용량이 적다. 주 기억 장치에서 자주 사용되는 데이터를 미리 복사해두어 CPU..
어셈블리어란 무엇인가? 어셈블리어는 컴퓨터 프로그래밍의 저급 언어로, 기계어와 일대일 대응이 되는 언어이다. 기계어는 0과 1의 이진수로 구성되어 있어서 컴퓨터가 바로 읽을 수 있지만, 인간이 이해하기 어렵다. 그래서 기계어의 명령어에 대응하는 기호나 약어를 사용하여 프로그래밍을 할 수 있는 언어가 어셈블리어이다. 아키텍처별 어셈블리어의 문법 x86 아키텍처는 CISC 어셈블리어 문법에 기반하며, 다양한 주소 지정 모드와 명령어 형식을 가진다. x86 어셈블리어는 AT&T 문법과 인텔 문법으로 나뉜다. AT&T 문법은 소스 피연산자를 먼저 쓰고 목적 피연산자를 나중에 쓰지만, 인텐 문법은 그 반대이다. 또한, AT&T는 피연산자의 크기를 접두사로 붙이는 반면, 인텔은 접미사로 붙인다. 주요 문법 mov ..
아키텍처의 종류 아키텍처는 크게 x86과 arm으로 나눈다. 프로세서 아키텍처는 프로세서가 명령어를 해석하고 실행하는 방식을 결정한다. x86 & x64 x86은 인텔이 개발한 32비트 프로세서 아키텍처로, 데스크탑 컴퓨터나 노트북 컴퓨터에 주로 사용된다. x64는 x86의 64비트 확장 버전으로, 더 많은 메모리와 레지스터를 지원하며 성능이 향상된다. x86과 x64는 CISC(Complex Instruction Set Computing)라는 방식을 사용하는 프로세서 아키텍처이다. CISC는 복잡하고 다양한 명령어를 제공하여 하드웨어 수준에서 프로그래밍을 쉽게 해준다. arm & arm64 arm은 저전력과 고성능을 갖춘 32비트 프로세서 아키텍처로, 스마트폰이나 태블릿 같은 모바일 기기에 주로 사용된..
아키텍처란 무엇인가? 아키텍처는 IT 시스템의 구조이다. 시스템의 구성 요소와 하위 시스템, 그리고 그것들이 작동하는 방식을 정의하는 개념적 모델이다. 아키텍처는 시스템의 목적을 달성하기 위해 각 컴포넌트가 무엇이고 어떻게 상호작용하고 정보가 어떻게 교환되는지를 설명한다. 논리적 아키텍처 VS 물리적 아키텍처 논리적 아키텍처는 시스템의 기능과 행위를 나타내고., 물리적 아키텍처는 시스템의 하드웨어와 소프트웨어를 나타낸다. 또한, 고수준 아키텍처는 시스템의 전체적인 개요와 목표를 제공하고, 저수준 아키텍처는 시스템의 세부적인 구현과 최적화를 제공한다. 아키텍처의 예시 아키텍처의 유형에 따라 "하드웨어", "소프트웨어", "기업", "협업 시스템" 아키텍처가 있다. 각 유형의 아키텍처는 다른 구성 요소와 특..
프로그램 언어의 종류 프로그램 언어에는 "저급 언어"와 "고급 언어"가 있다. 1. 저급언어 저급언어는 컴퓨터가 이해하기 귀운 이진법으로 이루어진 언어다. 하지만, 가독성과 생산성이 낮다. 반대로 프로그램가 속도가 빠르며, 크기 또한 고급언어 보다 작다. 저급언어의 좋류에는 기계어와 어셈블리어 등이 있다. 2. 기계어 기계어는 프로그램을 나타내는 가장 낮은 단계의 개념이다. CPU가 직접 해독하고 실행할 수 있는 비트 단위로 쓰인 컴퓨터 언어다. 비트란 0과 1로 이루어진 이진수로, 컴퓨터의 전류를 제어하는 방식이다. 기계어는 어셈블리어와 1:1로 대응되는데, 어셈블리어는 기계어를 사람이 이해하기 쉬운 단어로 표한한 것이다. 3. 고급언어 고급언어는 사람이 이해하기 쉬운 프로그래밍 언어를 말한다. 고급언..