컴퓨터구조 -1-

2025. 10. 20. 01:34 · Basic/컴퓨터구조

순서대로 문제 4개

컴퓨터시스템의 기본 구성 요소를 수정하기 어려운 것부터 순서대로

✅ 하드웨어 ➜ 펌웨어 ➜ 소프트웨어
컴퓨터의 발달과정에서 먼저 만들어진 순서대로

✅ 주판 ➜ 수동기계식 ➜ 자동기계식 ➜ 전기기계식 ➜ 전자식 컴퓨터
컴퓨터 처리 능력으로 분류하여 성능이 높은 컴퓨터부터 순서대로

✅ 슈퍼컴퓨터 ➜ 메인프레임 ➜ 미니컴퓨터 ➜ 워크스테이션 ➜ PC

📌 슈퍼컴퓨터 : 국방, 첨단연수에서 사용
📌 대형컴퓨터 : 메인프레임 : 다중 사용자용 (대기업, 은행, 증권거래소, 연구소)
📌 중형컴퓨터 : 미니 컴퓨터 : 중소기업 업무, 학교 규모
📌 소형컴퓨터 : 마이크로 컴퓨터 : 워크스테이션 > PC
이동용 컴퓨터 발달 순서

✅ 데스크탑 ➜ 포터블 ➜ 랩탑 ➜ PDA ➜ 스마트폰 태블릿

📌 포터블 : 바퀴달린 데스크탑
📌 랩탑 : 베터리가 외부에 있는 노트북
📌 PDA(Personal Digital Assistant) : 개인 정보 단말기
컴퓨터 세대 구분에서 전자소자 발달 순서

✅ 진공관 ➜ 트랜지스터 ➜ IC / 직접회로 ➜ 마이크로 프로세서
직접회로(MSI) 표현에서 프랜지스터 직접 규모가 큰것부터 순서대로

✅ ULSI > VLSI > LSI > MSI > SSI
반도체 메모리의 실행속도가 빠른 순서

✅ SRAM ➜ DRAM ➜ ROM
✅ 캐시메모리 ➜ 메인메모리 ➜ 바이오스칩
UEFI 펌웨어 시동과정

✅ 플랫폼 초기화 ➜ 드라이버 로드 ➜ 응용프로그램 로드 ➜ 부트코드 실행 ➜ OS로더 실행

롬바이오스에 들어있는 시동 프로그램의 역할로 컴퓨터 시동과정을 순서대로

✅ POST ➜ 바이오스 복사 ➜ 부팅


1장

  • 컴퓨터 = 계산하는 사람 (항로 계산, 포탄 탄착점 계산, 애니악 배선작업)
애니악 : 최초 전자식 컴퓨터
에드삭 EDSACalculator: 최초 프로그램 내장 방식
  • 컴퓨터 = 외부 프로그램이나 데이터 입력을 받아 내부 전자회로에서 자료를 계산/처리해 정보 저장 후 결과를 출력하는 기계
  • 컴퓨터시스템 : 컴퓨터 기능을 하는 체계
📌 컴퓨터시스템 구성 : [ 하드웨어 [ 시스템 소프트웨어 [ 응용 소프트웨어 ] ] ]

하드웨어 : 내부적인 동작을 담당하는 물리적 기계 장치
소프트웨어 : 외부적인 운영을 담당하는 논리적 명령어 집합
1642 - 계산기 - 프랑스 파스칼, 수동기계식 계산기(톱니바퀴 원리)- 수동 기계식

1822 - 미분엔진 - 최초 자동기계식 컴퓨터 - 자동 기계식

1936 - Z1 - (독일) 쑤저, 최초 전기기계식 컴퓨터, 2진수 - 전기기계식
📌 전기요소 + 기계요소 결합 : 릴레이 작동원리 이용 : 전류 접점 스위칭 2진법

1944 - MARK1 - (미국) 하버드대학교, 최초 전기기계식 컴퓨터, 10진수 - 전기기계식

1946 - 애니악 - 최초 전자식 컴퓨터 - 진공관

1947 - 그레이스 호퍼 (미국 여자 해군) - 컴파일러 개발 - 버그(MARK2 나방 릴레이 끼임 사고)

 

컴퓨터 분류

  • 데이터형태 :
데이터 형태 디지털 컴퓨터 연속된 양 표현 불가
아날로그 컴퓨터 연속된 양을 디지털로 변환 X -> 직접 처리
하이브리드 컴퓨터 아날로그 + 디지털 컴퓨터
  • 처리 능력 : 
  • 사용 기능
  • 서버와 클라이언트

컴퓨터 발달 = 전자소자 발달 과정

  • 진공관 ➜ 트랜지스터 ➜ IC / 집적회로(MSI) ➜ 마이크로프로세서

처리 능력에 따른 분류

- 소형 컴퓨터 : 마이크로 컴퓨터

- 중형 컴퓨터 : 미니 컴퓨터


사용 기능에 따른 분류

- 중앙집중식 전산시스템

- 독립형 컴퓨터

- 분산 컴퓨팅 / 분산처리시스템


컴퓨터 워드 = 한번에 처리하는 고정된 크기의 비트 그룹

 

- 하드웨어적 워드 = CPU에서 한번에 처리할 수 있는 비트 수

- 소프트웨어적 워드 = OS에서 사용하는 커널의 비트수 / 컴파일러에서 사용하는 데이터 단위


문자 세트 = 문자 코드의 집합

문자 인코딩 = 코드페이지 = 문자 세트 부호화한 것


아스키코드 = 미국 표준 부호

- 7비트

- 확장 : 8비트


2장

 

하드웨어 구성 요소 : CPU, I/O 장치, memory <---> 버스

마이크로 컴퓨터의 구성 요소 : 


버스

CPU <---------  정보 교환 신호선  ---------> 하드웨어

 

필요성 : 자주 사용하는 배선 수 줄임

 

종류 (기능으로 분류)

- 주소 버스 = 번지 버스
단방향  CPU --------  주소 신호  --------> 외부
- 데이터 버스
양방향  CPU <--------  데이터 신호  --------> 메모리, I/O 장치
- 제어 버스
양반향
단방향
CPU 내부 <--------  제어 신호  --------> 외부

칩셋

- 여러 칩과 회로가 모여 서로 연관된 기능을 수행하도록 만든 칩 조합

- CPU 프로세서와 함께 시스템 전체 제어 (하드웨어 구성하도록 설계)

 

칩셋 설치 시, 드라이버 필요

 

칩셋 내부 회로 (CPU를 지원하는 각종 제어 장치들)

- 버스 컨트롤러 - I/O 컨트롤러 - 타이머
- 메모리 컨트롤러 - 인터럽트 컨트롤러  

 

칩셋 프로세서에 대한 플랫폼


플랫폼 : 사용기반이 되는 컴퓨터시스템 / SW

 

허브 : 중심부 / 여러 방향의 데이터가 한 곳에 모이는 장소, 연결 장치

 

드라이버 : OS가 요구하는 정보가 들어있는 SW 파일


메인보드 = 마더보드 = 시스템 보드 = 컴퓨터시스템 주기판

 

메인보드 구성


OS 운영체제 = 시스템 구성 요소들의 중재자

- 하드웨어 장악

- 다른 프로그램 관리


드라이버 : OS 요구 SW파일

vs

드라이브 : 하드디스크 저장장치


커널 ( 알맹이, 핵심)

- OS 핵심

- 주기억장치 상주

- HW & SW 사이의 통신, 시스템 관리 (ex. 주소공간, 메모리 관리, 스케줄러...)


프로그래밍 언어

- 컴퓨터와 대화하고, 명령을 내리기 위해 설계된 언어

고급언어 어셈블리언어 기계어
사람 이해 쉬운 형태
고수준 프로그래밍 언어
기계어와 1:1 형태
저수준 프로그래밍 언어
1과0으로 된 2진 코드
  어셈블리 명령어 = 니모닉 코드 (연상기호)
- 기호를 보면 동작 연상 가능

ex) ADD, SUB, MOVE, DEC, INC...
 

 

[고급어] 소스 코드 = 원시코드 = 소스 프로그램

[기계어] 오브젝트 코드 = 목적코드 = 오브젝트 프로그램


번역 프로그램 종류

컴파일러 VS 인터프리터
컴파일러 (프로그래밍 언어) 인터프리터 (스크립트 언어)
한 번에 번역 한 줄 씩 번역
메모리 공간 차지 메모리 공간 적게 차지
실행속도 빠름 실행속도 느림
  에러 찾기 쉬움

 

어셈블러 (주로 컴파일러 방식)

- 어셈블리 언어 소스 코드 -> 기계어 번역

- CPU 제조사/종류에 따라 달라짐


절차지향 언어 VS 객체지향 언어
절차지향 언어 객체지향 언어
설계자 중심 사용자 중심
동작, 절차 중심 객체의 실체와 동작 중심
하드웨어 구동 / 컴파일러 설계 easy 복잡 방대 SW -> 구축, 유지보수 easy
큰 규모 작업 복잡 큰 규모 프로그램 단순화 -> 생산성, 신뢰성 높음
C, basic 언어 C++, JAVA

프로그램 결합

 

- 소스 프로그램을 기능별 모듈로 나눠 작성 (서브루틴, 라이브러리 함수 사용)

서브루틴

- 메인 프로그램의 독립적인 일부분으로 필요할 때 호출 및 재사용 가능 프로그램 (코드 블록) ex. C언어 함수

 

- 서브루틴 호출call & 복귀return : 

메인 프로그램은 필요할 때 이 서브루틴을 호출(call) 해서 실행시키고, 실행이 끝나면 다시 돌아옵니다(return).

 

- 서브루틴 파라미터 : 메인에서 서브루틴 작업을 위해 보내주는 입력 데이터로 사용되는 매개변수

 

라이브러리 library

- 자주 사용되는 표준 서브루틴 ex) stdio.h, math.h

 

링크 link

- 실행 파일을 얻으려면 링크 과정 필요

- 컴파일 결과 .obj 코드 + 라이브러리 결과 .obj 코드 = .exe

- 컴파일 에러 ≠ 링크 에러


 
시뮬레이션 에뮬레이션
HW 구동 없이 SW 모의실험 다른 HW에 모방 실행
시뮬레이터 : 모의 실험 장치 / 프로그램 에뮬레이션 : 기능 흉내, 대리 실행 프로그램

태스크 ( 작업 ) : 컴퓨터 시스템에서 수행되는 하나의 작업

 

멀티태스크 / 멀티태스킹 ( 다중 작업 ) : 동시에 처리해야 할 여러개의 컴퓨터 시스템 작업


CPU 스케줄링

- 다중 작업에서 어떤 작업에 CPU 처리시간을 어느정도 할당할 것인지 결정하는 것

- CPU는 1개, 작업多 경우 시간 쪼개야함

 

스케줄러 : 작업 순서나 일정을 조율해주는 프로그램

 

라운드로빈 방식( 순환 순서)

- 순서 순환, 기회 균등 분할 -> 각 작업에 차례대로 일정한 시간 균등 할당

 

우선순위 방식 : 각 작업 우선순위에 따라 시간 할당 조절

- 우선순위 : 전면 작업 > 후면 작업

- 전면 작업 (foreground) : 다중 작업 가능한 컴퓨터의 활성 창에서 수행되는 작업

- 후면 작업 (background) : 우선순위가 높은 프로그램이 쉴 때만 우선순위가 낮은 프로그램 실행 


스레드 (바느질 실, 이야기 줄거리)

- 컴퓨터에서 정상적으로 작업이 완료되기까지 세부적으로 해야하는 작은 일들에 대한 일정표

   ㄴ 각 프로그램 작업에 대한 줄거리, 진행정보

   ㄴ 내부 순차적 명령 수행 흐름 단위

   ㄴ 인터넷 게시물 답변을 모아 놓은 것에서 유래

 

멀티스레드 / 멀티스레딩

- OS에서 여러 스레드를 동시에 관리하는 것

   ㄴ 각 작업에 대한 줄거리와 진행 정보를 동시에 관리


시동과정

 

BIOS ( basic input output system )

 

ROM BIOS

- 메인보드에 장착된 ROM에 내장된 프로그램

- 부팅과 기본 입출력 시스템을 낮은 수준으로 제어

 

역할

- 컴퓨터시스템 부팅

- 하드웨어 저수준 제어


섀도우 랩 Shadow RAM

- ROM 실행 속도 중가를 위해 복사해 사용하는 RAM 메모리 영역

   ㄴ Shadowing : 따라하다, 복사하다.

- Shadow RAM 주소 = ROM 주소

 

메모리 실행 속도 비교 (빠른 순)

- 캐시메모리 > 메인메모리 > 바이오스칩

- SRAM > DRAM > ROM


컴퓨터 시스템 설정/셋업 = CMOS 설정/셋업 = 바이오스 설정

- 메인보드에 바이오스 값을 설정하는 것

 

- 기본적인 시스템 구성 환경 & 선택 사항 저장

   ㄴ 실시간 시계 값     ㄴ 메모리 크기

   ㄴ HDD, FDD, 모니터, 키보드 타입

   ㄴ 부팅 드라이브 우선순위

   ㄴ 바이러스 방지      ㄴ 전원 관리

   ㄴ 드라이브 우선순위

 

- 칩셋, 캐시, 램 type/speed 조절 가능

 

디폴트 값

- 기본 설정 값


신호선 (디지털 데이터 논리를 전기적으로 표현)

- High level : 논리 1 : + 전압

- Low level : 논리 0 : 0V / - 전압

 

논리 레벨 logic level

- 디지털 회로에서 전기 신호가 한정된 개수의 상태를 갖는 것

- 하드웨어 시스템마다 고유한 레벨을 가짐


신호의 액티브 레벨 active level

디지털 회로에서 신호가 high / low 중 어느 한 레벨에서 의미있는 동작을 하도록 신호의 활성 상태로 설계한 것

 

- 액티브 하이 active high

   ㄴ 신호가 high 레벨에서 본래 목적에 의미있는 동작을 하는 상태

 

- 액티브 로우 active low

   ㄴ 신호가 low 레벨에서 본래 목적에 의미있는 동작을 하는 상태


트리거 ( 방아쇠, 도화선장치 같은 어떤 사건의 계기)

- 어떤 하드웨어 장치를 동기에 맞추어 동작시킬 수 있도록 제공되는 신호

 

신호선 신호의 트리거 방식

- 레벨 트리거 level trigger

   ㄴ 신호선에 연결된 장치들이 입력 신호 high / low 레벨에 동기되어 동작하도록 설계한 방식

   ㄴ 입력 표시 :

        ㄴ High ----- 

        ㄴ Low -----o

 

- 에지 트리거 edge trigger

   ㄴ 신호선에 연결된 장치들이 입력 신호 riging / falling 에지에 동기되어 동작하도록 설계한 방식

   ㄴ 입력 표시 :

        ㄴ rising ------>

        ㄴ falling -----o>


버퍼 buffer

- 소프트웨어적 버퍼

  • 속도를 완충해주는 메모리의 임시저장소
  • 프로그램 작업 전환
  • 송수신 장치 간에 사용

- 하드웨어적 버퍼

  • 전압레벨 완충
  • 전기적 타이밍 속도 조절

버퍼 필요성

- 양방향 버스 이용하려면 전송방향을 바꿔야함. 그때 양쪽 출력 레벨이 서로 충돌하지 않게 조치해햐함. 

   ㄴ 입출력 방향이 바뀌는 중간에 버스선 잠깐 끊음. 

- 출력 신호 충돌

   ㄴ 양쪽 단자 모두 high level이 출력되면 전류 서로 충돌 후 부품 손상

 

하이 임피던스 ( high-Z 상태, 고 임피던스 상태 )

- 반도체 소자의 전기적 저항이 너무 커서 마치 전선이 끊어진(open)것 과 같은 효과

 

3상태 양방향 버퍼 tri-states buffer

- 3가지 레벨 출력 ( low, high, high-z )

728x90

'Basic > 컴퓨터구조' 카테고리의 다른 글

최종 정리  (0) 2025.12.08
컴퓨터구조 기말고사 퀴즈 정리  (1) 2025.12.05
컴퓨터구조 -1- 퀴즈  (0) 2025.10.17
'Basic/컴퓨터구조' 카테고리의 다른 글
  • 최종 정리
  • 컴퓨터구조 기말고사 퀴즈 정리
  • 컴퓨터구조 -1- 퀴즈
따`ddah
따`ddah
    250x250
  • 따`ddah
    IT's ddah
    따`ddah
  • 관리    글쓰기
  • 전체
    오늘
    어제
    • 분류 전체보기
      • Algorithm
        • [C] Do it! 자료구조와 함께 배우는 알고리..
        • 알고리즘 스터디
        • 코딩 테스트
      • Basic
        • 운영체제 OS
        • 컴퓨터구조
        • 소프트웨어공학 (UML)
        • 기계 학습 기반의 데이터 공학
      • Projects
        • Auto Post : SNS 자동 업로더
      • DBMS
        • 데이터베이스 이론
        • MySQL
        • Oracle SQL
        • BigQuery
        • Yammer
      • Programming
        • Python
        • C
        • Java
        • React
        • JavaScript
        • R
      • 빅데이터
      • AI
        • 멀티미디어응용
        • 머신러닝
        • 인공지능
      • 자격증
        • Azure DP-900
        • Azure AI-900
        • SQLD
        • CSTS
      • 대외활동 및 취업(인턴)
        • 취준 인턴
        • LG Aimers
        • OUTTA
        • 빅데이터 분석 학회 BDA
        • 세계시민교육연구소 청년단 GYIA
      • Tool
        • Git
        • IDE
      • 도서
        • IT
      • 그 외
        • 단축키
        • ✞
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    빅데이터분석
    AI역량검사
    취업준비
    티스토리챌린지
    이름나이
    input
    importturtle
    javascript
    sql
    js
    주석
    Py
    print(f"")
    jsx
    dbms
    BDA학회
    오라클SQL
    파이썬{}
    파이썬 챗봇 만들기
    대학생학회
    자바스크립트
    파이썬
    취업
    react
    python
    대외활동
    자료형
    리액트
    Oracle
    오블완
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
따`ddah
컴퓨터구조 -1-
상단으로

티스토리툴바