728x90

Computer Science 14

[혼공컴운] - CPU 성능 향상과 병렬처리 기법

1. CPU 성능을 높이는 세 가지 방법1.1 클럭 속도 향상가장 직관적인 방법은 클럭 속도를 높이는 것이다. 클럭이 빠를수록 같은 시간에 더 많은 명령어를 처리할 수 있다. 하지만 클럭 속도가 높아질수록 전력 소비와 발열이 급격히 증가하여 물리적 한계에 부딪히게 된다.1.2 멀티코어 프로세서코어의 개수를 늘려 여러 작업을 동시에 처리하는 방식이다. 듀얼코어, 쿼드코어, 옥타코어처럼 코어가 많을수록 동시에 실행 가능한 명령어 수가 증가하여 전체 처리 성능이 향상된다.1.3 멀티스레딩스레드는 하드웨어 스레드와 소프트웨어 스레드로 구분된다. 여기서 말하는 하드웨어 스레드(하이퍼스레딩, SMT)는 하나의 물리적 코어를 마치 여러 개의 논리적 코어처럼 동작하게 하는 기술이다. 예를 들어, 4코어 8스레드 프로세..

[혼공컴운] 명령어 사이클과 인터럽트: CPU의 작동 원리

1. 명령어 사이클이란?CPU는 프로그램을 실행하기 위해 *명령어 사이클(Instruction Cycle)을 끊임없이 반복한다. 이 사이클은 크게 세 단계로 구성된다:인출(Fetch): 메모리에서 다음 실행할 명령어를 가져온다간접(Indirect): 간접 주소 지정 방식을 사용하는 명령어의 경우, 실제 데이터 주소를 얻기 위해 메모리에 한 번 더 접근한다실행(Execute): 가져온 명령어를 해석하고 실행한다이 과정을 Fetch-Execute Cycle이라고도 하며, 컴퓨터가 켜져 있는 동안 계속해서 반복된다.2. 인터럽트: CPU를 깨우는 신호인터럽트의 필요성CPU는 명령어 사이클을 실행하던 중 인터럽트(Interrupt) 신호에 의해 중단될 수 있다. 왜 이런 메커니즘이 필요할까?키보드나 하드디스크 ..

[혼공컴운] CPU의 핵심 구성요소: 레지스터(Register)

레지스터란?레지스터(Register)는 CPU 내부에 위치한 가장 빠른 속도의 임시 저장 장치이다. 메모리에 비해 용량은 매우 작지만(일반적으로 32비트 또는 64비트), CPU가 연산을 수행하거나 명령어를 처리할 때 즉시 접근해야 하는 데이터를 저장하는 역할을 한다.레지스터는 크게 범용 레지스터와 특수 목적 레지스터로 나뉜다. 이 중 특수 목적 레지스터는 CPU의 명령어 실행과 제어 흐름 관리에 핵심적인 역할을 담당한다.주요 특수 목적 레지스터1. 프로그램 카운터 (PC, Program Counter)다음에 실행할 명령어가 저장된 메모리 주소를 보관한다. 명령어가 실행되면 PC는 자동으로 증가하여 순차적으로 다음 명령어를 가리키게 된다. 2. 메모리 주소 레지스터 (MAR, Memory Address ..

[혼공컴운] 컴퓨터의 문자 표현과 명령어 구조

컴퓨터가 문자를 표현하려면 인코딩(문자→이진수)과 디코딩(이진수→문자) 과정이 필요하다.1. 문자 인코딩의 시작: ASCII 코드ASCII(American Standard Code for Information Interchange) 코드는 영어권 문자를 표현하는 대표적인 인코딩 방식이다. ASCII는 7비트를 사용하여 128개의 문자(알파벳 대소문자, 숫자, 특수문자, 제어문자)를 표현한다. 실제 저장 시에는 8비트(1바이트)를 사용하며, 남은 1비트는 오류 검출을 위한 패리티 비트로 활용할 수 있다.한계점: ASCII는 영어권 문자만 표현할 수 있어, 한글을 포함한 다른 언어의 문자나 다양한 특수문자를 표현하기 어렵다.2. 한글 인코딩: 완성형 vs 조합형한글은 자음과 모음의 조합으로 이루어진 언어이기..

[혼공컴운] 컴퓨터가 코드를 실행하는 원리

요즘 기본기 공부가 많이 부족한 것 같아, ' 혼자 공부하는 컴퓨터구조 + 운영체제' 에 대해서 공부를 시작했다.오늘 수업에서는 컴퓨터가 우리가 작성한 코드를 어떻게 이해하고 실행하는지에 대한 기초를 배웠다. 컴퓨터의 구성 요소부터 프로그래밍 언어의 실행 과정까지 단계별로 정리해보겠다.1. 컴퓨터의 4가지 핵심 구성 요소컴퓨터는 크게 4가지 주요 장치로 구성됩니다.CPU(중앙처리장치): 명령어와 데이터를 처리하는 두뇌 역할메모리(주기억장치): 프로그램 실행에 필요한 명령어와 데이터를 일시적으로 저장보조기억장치: 메모리의 한계를 보완하여 데이터를 영구적으로 저장 (하드디스크, SSD 등)입출력장치: 사용자와 컴퓨터 간 정보를 주고받는 장치 (키보드, 모니터 등)2. 컴퓨터가 정보를 이해하는 방식컴퓨터는 0..

[OS] 운영체제는 어떻게 시작될까?? 리눅스 부팅 순서

리눅스에서 네트워크 서비스들을 만지다가 운영체제의 근본에 대해 호기심이 생겨 공부한 내용을 적는다. 내가 개인적으로 알고싶었던 것은 네트워크 시점이 어느 시점에 시작되는가였다. 1. 운영체제는 어떻게 시작되고 어떻게 관리될까?? 컴퓨터라는 하드웨어는 CPU, RAM, HDD 등의 각각의 하드웨어들이 메인보드 위에서 상호작용하여 이루어진다. 근데 이게 어떻게 돌아가길래 저기서 지금 우리가 보는 홈페이지를 띄우고 마우스와 키보드 입력 등의 많은 일들을 자연스럽게 할 수 있을까?? 컴퓨터에서 OS가 고장나거나, 설치하지 않으면 검은 화면만 띄우는 녀석밖에 되지 않는다. 이 말은 다시 생각해보면 OS를 기반으로 많은 일들이 가능해지게 된다는 말이 된다. 이렇게 보면 OS는 우리가 아는 프로그램(소프트웨어)과 하..

Computer Science/OS 2022.03.08

[Linux] 반응형 쉘 스크립트에 자동 입력

해당 명령어에 다음의 스크립트를 이어 붙이면 된다. {script code} {입력값1} {입력값2} ! 개인적으로는 아래와 약간 다른 스크립트였는데, 잘 됐었다. script.sh ssh-copy-id tester@10.1.2.3 출처 https://askubuntu.com/questions/678915/whats-the-difference-between-and-in-bash https://stackoverflow.com/questions/9075478/how-to-input-automatically-when-running-a-shell-over-ssh

Computer Science/OS 2022.02.08

Error: Connection activation failed: (7) Secrets were required, but not provided.

우분투 환경(20.04)에서 CLI로 wifi를 컨트롤할 때 생겼던 에러로 원인은 다음과 같다. 1. 와이파이의 신호 강도가 약한 경우 -> 기기를 와이파이에 가깝게 대거나, 와이파이의 안테나를 더 좋은거 써야 될 것이다 2. 이미 등록된 SSID가 있는 경우 -> 등록되었던 SSID를 삭제한 뒤 재설정하면 된다. nmcli con delete # 삭제 nmcli dev wifi connect password # 연결

Computer Science/OS 2021.09.08
728x90