ahlight
개발 저장소
ahlight
전체 방문자
오늘
어제
  • 분류 전체보기 (197)
    • Java (7)
    • Spring (5)
    • JPA (2)
    • JavaScript (0)
    • Computer Science (12)
      • 디자인패턴, 프로그래밍 패러다임 (1)
      • 네트워크 (4)
      • 운영체제 (4)
      • 데이터베이스 (3)
      • 자료구조 (0)
    • 알고리즘 (1)
    • 프로그래머스 (13)
    • 백준 (94)
    • 서평 (3)
    • 회고 (1)
    • TIL (58)
    • 기타 (1)

블로그 메뉴

  • 홈

공지사항

인기 글

태그

  • TDD
  • 클린코드
  • 넥스트스텝
  • 라즈베리파이4 #홈서버 #포트포워딩 #dhcp
  • Java

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
ahlight
TIL

TIL - 0220

TIL

TIL - 0220

2023. 2. 20. 22:43

1. 자바 플레이 그라운드 with TDD, 클린 코드

  • 블랙잭 구현 중
  • 스페이드, 하트, 클로버, 다이아몬드 종류의 카드를 Card 인터페이스로 추상화
  • 플레이어, 딜러의 카드 Cards 클래스로 객체 생성

2. 혼자서 공부하는 컴퓨터 구조 + 운영체제

입출력장치

* 장치 컨트롤러

  • 배경 : 다양한 종류의 입출력 장치(호환의 문제), CPU 및 메모리와 입출력장치의 데이터 전송률 차이
  • 역할 : CPU와 입출력장치 간의 통신중개, 오류 검출, 데이터 버퍼링(데이터를 모았다가 한번에 전송 or 많이 받아서 조금씩 전송)
  • 내부 구성
데이터 레지스터 데이터 버퍼 역할을 하는 레지스터(최근 레지스터 대신 RAM을 사용하기도 함)
상태 레지스터 입출력장치의 입출력 준비 상태, 작업 완료 상태, 오류 상태 등의 정보 저장
제어 레지스터 입출력장치가 수행할 내용에  대한 제어정보 ,명령 저장

 

* 장치 드라이버

  • 장치 컨트롤러의 동작을 감지, 제어한다. 장치 컨트롤러가 컴퓨터 내부와 정보를 주고 받을 수 있게 해주는 프로그램
  • 장치 컨트롤러(하드웨어적 통로) - 장치 드라이버(소프트웨어적 통로)

* 입출력 방법

명칭 특징
프로그램 입출력 - 프로그램 속 명령어로 입출력장치를 제어
- CPU가 장치 레지스터의 주소를 아는 방식은 두가지
- 메모리 맵 입출력(메모리에 입출력 장치에 접근하기 위한 주소공간을 배정)
   CPU가 메모리 접근할 때와 같은 명령어를 사용하는 것이 장점
   메로리 주소공간이 축소되는 단점
- 고립형 입출력 (메모리 주소공간과 입출력장치 주소공간을 분리)
   많은 주소공간 활용이 장점  
   입출력 전용어를 사용해야하는 단점
인터럽트 기반 입출력 - 장치 컨트롤러에서 인터럽트를 발생시켜 CPU에 전달
- 동시 다발적인 경우 우선순위대로 수행(단, NMI(Non-Maskable Interrupt)가 발생한 경우는 최우선으로 -> 플래그 레지스터의 인터럽트 비트가 활성화 되어있는 경우에도 뚫고 최우선으로)
- 우선순위는 PIC라는 하드웨어를 사용해 정한다.
DMA 입출력
(Direct Memory Access)
- CPU를 거치지 않고 메모리와 입출력장치간의 데이터 전송을 진행
- CPU에서 DMA컨트롤러에게 필요한 데이터를 전송하며 입출력작업 명령
- DMA컨트롤러가 입출력장치와 상호작용하며 수행, 필요 시 메모리에 직접 접근해 정보 읽고 씀
- 작업 종료 후 DMA컨트롤러 -> CPU에 작업완료 인터럽트 전달
- 시스템 버스는 공유 자원이기 때문에 DMA컨트롤러, CPU가 동시 사용할 수 없다.
- DMA 컨트롤러와 장치컨트롤러들을 입출력 버스로 연결(시스템버스 사용X) -> 시스템버스 사용빈도 낮춤

3. 알고리즘

  • 백준 1747번
  • https://ahlight.tistory.com/105
 

백준 1747번 자바

문제 https://www.acmicpc.net/problem/1747 1747번: 소수&팰린드롬 어떤 수와 그 수의 숫자 순서를 뒤집은 수가 일치하는 수를 팰린드롬이라 부른다. 예를 들어 79,197과 324,423 등이 팰린드롬 수이다. 어떤 수

ahlight.tistory.com

 

'TIL' 카테고리의 다른 글

TIL - 0222  (0) 2023.02.22
TIL - 0221  (0) 2023.02.21
TIL - 0218  (0) 2023.02.18
TIL - 0217  (0) 2023.02.17
TIL - 0216  (0) 2023.02.16
  • 1. 자바 플레이 그라운드 with TDD, 클린 코드
  • 2. 혼자서 공부하는 컴퓨터 구조 + 운영체제
  • 3. 알고리즘
'TIL' 카테고리의 다른 글
  • TIL - 0222
  • TIL - 0221
  • TIL - 0218
  • TIL - 0217
ahlight
ahlight

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.