no image
배열 & 링크드리스트
배열(Array) 배열은 정적 자료구조이며 배열을 생성할 때 크기를 미리 정해놓고 해당 크기 만큼의 연속된 메모리 공간을 할당받는 것을 의미합니다. 이런 특성으로 배열은 컴퓨터 메모리에서도 데이터를 연속적으로 저장할 수 있습니다. 이렇게 연속된 메모리 주소를 할당받는 배열은 각 데이터에 대한 인덱스를 갖게 되며 배열의 각 요소는 해당 요소의 인덱스를 통해 직접 접근할 수 있습니다. 예를 들어 보면 array[0], array[1], array[2], array[3]....와 같이 인덱스를 사용하여 배열의 요소에 접근할 수 있습니다. 이걸 배열의 장점 중 하나인 임의 접근을 의미합니다. 그러나 배열은 한 번 크기를 정하면 수정이 불가능합니다. 따라서 배열은 크기를 동적으로 조잘할 수 없는 단점이 있습니다...
2024.02.14
no image
스택, 큐
스택 컴퓨터 과학에서 매우 중요한 자료구조 중 하나이며 이름 그대로 스택은 데이터를 쌓아 올린 형태를 가지고 있습니다. 이를 비유하면, 식당에서 쌓여있는 접시 더미나 책상 위에 쌓아 올린 형태를 가지고 있습니다. 이를 비유하면, 식당에서 쌓여있는 접시 더미나 책상 위에 쌓인 책처럼 데이터가 차곡차곡 쌓이는 모습을 상상할 수 있습니다. 또한 데이터의 저장과 삭제가 한쪽 끝에서만 이루어지는 특징을 가지고 있습니다. 이 한쪽 끝을 보통 위쪽이라고 하며 새로운 데이터가 스택에 추가되면 그 데이터는 스택의 위로 올라갑니다. 이것을 PUSH라고 합니다. 반대로 데이터를 삭제할 때는 가장 위에 있는 데이터가 먼저 삭제됩니다. 이것을 POP이라고 합니다. 스택은 주로 함수 호출이나 재귀 알고리즘 등에서 사용됩니다. 예..
2024.02.13
no image
컴퓨터 구조 (소스코드, 명령어)
고급언어 컴퓨터 과학과 소프트웨어 공학에 사용되는 용어로, 사람이 쉽게 이해하고 사용할 수 있는 비교적 복잡한 문법과 구조를 갖춘 컴퓨터 프로그래밍 언어를 말합니다. 고급언어의 프로그래밍 과정을 단순화하고 개발자들이 프로그램을 더 쉽게 작성하고 유지보수 할 수 있도록 도와줍니다. 이러한 언어들은 사람들이 읽고 쓰기 쉽게 설계되어 있습니다. 코드의 가독성이 높고 추상화 수준이 높습니다. 고급언어의 대표적인 예시로는 Python, Java, C++ 등이 있습니다. 이러한 언어들은 저급언어보다 추상화 수준이 높아 개발자가 하드웨어 세부사항에 직접 신경 쓰지 않고도 프로그램을 작성할 수 있게 합니다. 저급언어 저급언어는 컴퓨터와 더 가까운 수준의 언어로, 기계어나 어셈블리어 같은 형태를 갖추고 있으며 언어들은 ..
2023.10.01
no image
컴퓨터 구조(0,1숫자 문자표현)
컴퓨터 구조에서 정보는 일정 크기의 단위로 표현되며, 이러한 단위들은 데이터를 저장하고 처리하는 데 사용됩니다. 컴퓨터 구조의 정보 단위는 크게 비트(bit)와 바이트(byte)로 나눌 수 있다 1. 비트 (Bit): 비트는 컴퓨터에서 가장 작은 정보 단위로서 0과 1의 두 가지 값을 가진다. 비트는 컴퓨터의 모든 정보를 표현하는 기본 단위이며, 이진법에서 하나의 숫자를 표현하는 데에 사용된다. 비트는 "binary digit"의 줄임말로서 이진법의 숫자 하나를 의미한다. 2. 바이트 (Byte): 바이트는 일반적으로 8개의 비트로 구성된 정보 단위입니다. 1바이트는 8비트로 구성되어 있으며, 2^8 (또는 256) 개의 서로 다른 값을 표현할 수 있다. 바이트는 일반적으로 문자, 숫자, 기호 등을 나타..
2023.08.16
no image
컴퓨터 구조 1장
컴퓨터 구조 컴퓨터 구조는 크게 두 가지입니다. 첫 번째는 컴퓨터가 이해하는 정보 두 번째는 컴퓨터의 네 가지 핵심 부품을 컴퓨터 구조입니다. 컴퓨터가 이해하는 정보를 보면 데이터와 명령어가 있습니다. 데이터는 컴퓨터가 이해하는 숫자, 문자, 이미지, 동영상과 같은 정적인 정보를 데이터라고 하며 데이터는 명령어 없이는 아무것도 할 수 없는 정보 덩어리일 뿐이지만, 명령어는 데이터를 움직이고 컴퓨터를 작동시키는 정보를 말합니다. 컴퓨터의 4가지 핵심 부품 중앙처리장치(CPU),주 기억장치(main memort), 보조 기억 장칭(secondary storage), 입출력장치(input/output(I/O) device이다. 이 4개만 알고 있어도 작동원리를 파악할 수 있습니다. ​ CPU는 메모리에 저장된..
2023.08.16
no image
입출력장치
장치 컨트롤러 하드웨어나 소프트웨어로 구성된 시스템이나 장치를 제어하는 데 사용되는 제어 장치입니다. 일반적으로, 장치 컨트롤러는 외부 입력 신호를 감지하고 이를 처리하여 명령을 내릴 수 있는 내부 작동 방식을 갖습니다. 리를 통해 장치를 원하는 방향으로 제어하거나 목적에 맞게 동작시킬 수 있습니다. 하드웨어적으로 구현되기도 하지만, 소프트웨어 기반의 장치 컨트롤러도 있습니다. 소프트웨어 컨트롤러는 주로 마이크로프로세서나 마이크로컨트롤러를 사용하여 구현되며, 프로그래밍을 통해 측정 작업을 수행합니다. 이렇게 구현된 장치 컨트롤러는 프로그램의 수정 새로운 기능을 추가하거나 업데이트할 수 있어 유연성이 높습니다. 장치 드라이버 컴퓨터나 기타 디지털 장치에서 하드웨어를 제어하기 위해 사용되는 소프트웨어입니다...
2023.08.16
no image
보조기억장치
하드 디스크 컴퓨터의 주요 데이터 저장 매체 중 하나로, 비휘발성 기억장치입니다. 하드디스크는 컴퓨터에서 파일, 프로그램, 운영 체제 등을 저장하고 필요할 때 빠르게 접근할 수 있게 합니다. 하드 디스크는 일반적으로 하나 이상의 회전하는 원판(플래터)과 그 위에 데이터를 저장하는 자기적으로 작동하는 헤드로 구성되어 있습니다. 헤드는 디스크 표면 위를 이동하면서 데이터를 읽고 쓰는 역할을 수행합니다. 디스크 표면은 마그네틱으로 코팅되어 있으며, 데이터는 이러한 자기적인 특성을 이용하여 저장됩니다. 일반적으로 하드디스크는 용량이 크고 상대적으로 저렴하여 많은 데이터를 저장하기에 이상적이지만 휘발성 기억장치는 RAM보다는 속도가 느리기 때문에 컴퓨터의 부팅 시간이나 파일 접근 속도에서 약간의 지연이 있을 수 ..
2023.08.16
no image
메모리& 캐쉬메모리
RAM의 특징 휘발성 저장 장치 : 전원이 꺼지거나 장치가 종료되면 데이터가 지워지는 저장 매체를 말합니다. 이러한 저장 장치는 전기적인 신호를 사용하여 데이터를 기록하고 보유하므로 전력이 공급되지 않으면 그 내용이 사라지게 됩니다. 주로 컴퓨터의 메모리를 가리키는 용어로 사용되지만, 다른 기기나 시스템에서도 찾아볼 수 있습니다 비휘발성 저장 장치 : 전원이 꺼져도 데이터를 보존하는 저장 매체를 말합니다. 이러한 저장 장치는 데이터를 전기적인 시노가 아닌 다른 방식으로 기록하여 데이터의 손실 없이 영구적으로 보관한 수 있습니다. 컴퓨터나 기타 디지털 장치에서 중요한 데이터를 저장하고 보호하는 데 사용됩니다. RAM 종류 DRAM : 가장 일반적인 RAM 유형으로, 주로 개인 컴퓨터와 서버에서 사용됩니다...
2023.08.16
no image
CPU를 위한 설계 기법&CISC와 RISC
클럭 컴퓨터와 디지털 장치에서 중요한 개념으로, 일정한 시간 간격으로 발생하는 신호나 규칙적인 신호를 의미합니다. 클럭은 시스템의 동작을 조율하고 동기화하는 데 사용되며, 컴퓨터의 모든 작업은 클럭 신호에 의해 동작하빈다. 주파수라고 하는 클럭은 초당 발생하는 클럭 사이클의 수를 의미합니다. 하지만 클럭의 속도가 빠를수록 작업을 빠르게 처리할 수 있지만, 그만큼 전력 소비와 발열도 증가하게 됩니다. 코어와 멀티코어 코어는 CPU의 주요한 연산 처리 단위입니다. 하나의 코어는 하나의 명령어 집합을 처리할 수 있으며, CPU가 동시에 수행할 수 있는 명령어 개수를 나타냅니다. 코어의 개수가 많을수록 CPU는 동시에 더 많으 작업을 처리할 수 있으며, 다중 프로세스나 스레드를 효율적으로 실행할 수 있습니다. ..
2023.08.16