순서대로 문제 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 )

'Basic > 컴퓨터구조' 카테고리의 다른 글
| 최종 정리 (0) | 2025.12.08 |
|---|---|
| 컴퓨터구조 기말고사 퀴즈 정리 (1) | 2025.12.05 |
| 컴퓨터구조 -1- 퀴즈 (0) | 2025.10.17 |
