컴퓨터공학 전공공부(14)
-
시스템 프로그래밍 chap 5. Machine-Level 프로그래밍 과정
0. 기존 내용 복습. Stack & 호출 관습 : 제어 전송 1. 호출 관습 : 데이터 전송 데이터 흐름의 절차 데이터 저장소는 레지스터와 스택으로 구성된다. 처음 6개의 인자는 레지스터로 구성되며, 7번째 인자부터는 스택으로 구성된다. 스택 공간은 필요할 때 할당된다. 레지스터 : %rdi, %rsi, %rdx, %rcx, %r8, %r9 + return value %rax 스택 : 데이터 흐름의 예시 //C code void multstore (long x, long y, long *dest) { long t = mult2(x,y); *dest = t; } long mult2 (long a, long b) { long s = a*b; return s; } //assembly 0000000000400..
2023.12.04 -
오픈소스sw개론 Part2, chap 6. NumPy Example, Random Walks
1. 순수 파이썬만을 이용한 구현 2. NumPy를 이용한 구현 NumPy를 이용한 구현 관련 통계 도출 여러 무작위 걸음을 한 번에 시뮬레이션 n번째 계단에 언제 도달? line 14 부연설명 np.abs(walks[hits30]) >= 30 walks[hits30] : walks 배열에서 hits30이 True값을 가지는 row를 선택한다. 즉, walks 중에서 |30|을 찍는 이벤트가 발생한 모든 row를 추출한다. np.abs(walks[hits30]) : 위에서 선택된 행들에 대해 절대값을 취한다. np.abs(walks[hits30]) >= 30 : 위에서 취한 절대값이 30 이상인지 여부를 판단해 이에 따른 boolean 배열을 반환한다. .argmax(1) .argmax(1) : 위에서 ..
2023.12.01 -
오픈소스sw개론 Part2, chap 6. NumPy (2)
1. Universal Functions : 빠른 요소별 배열 함수 ufunc 보편적인 함수인 ufunc은 ndarray의 데이터에 대해 요소 단위 연산을 수행하는 함수이다. vectorization 연산을 지원한다. unary ufunc 인자가 하나인 ufunc이다. sqrt (제곱근을 구하는 함수), exp (ex를 반환하는 함수) 등이 있다. sqrt에 두 개의 같은 인자를 넣을 수 있는데, 이는 출력값으로 인자 배열을 초기화한다. binary ufunc 인자를 두 개 받는 ufunc이다. maximum (인자로 들어온 두 배열을 요소 단위로 비교해서 큰 요소를 출력하는 함수) 등이 있다. 반환 값이 여러 개인 ufunc ufunc은 여러 개의 배열을 반환할 수 있다. 예를 들어 modf 함수(첫 ..
2023.12.01 -
오픈소스sw개론 Part 2, chap 5. NumPy (1)
1. NumPy란? NumPy : Numerical Python 넘파이란 파이썬에서 수치적 계산을 하는 데에 기본적인 패키지 중 하나이다. 과학적 기능을 제공하는 대부분의 계산 패키지는 넘파이 배열 객체를 사용한다. 대규모 데이터 배열의 효율성을 위해 설계되었다. NumPy의 특징 ndarray : 빠른 배열지향 산술 연산과 유연한 broadcasting 기능을 제공하는 효율적인 다차원 배열이다. 데이터의 모든 배열에 대해, 빠른 수행을 위한 수학적 함수. loop를 작성할 필요가 없어서 빠른 연산이 가능하다. 선형대수 내용을 넘파이로 구현할 수 있다. C, C++, FORTRAN으로 작성된 라이브러리와 넘파이를 연결하는 A C API가 있다. NumPy가 수치적 계산에 용이한 이유 C로 쓰인 넘파이의 ..
2023.11.30 -
논리회로 chap 7. Counters and Registers
7-1. 비동기적(리플) 카운터 리플이란? carry가 전달되는 것을 말한다. 4비트 비동기적 카운터 한편, 상태가 시계와 정확히 동기화되어 바뀌는 것은 아니다. MOD 숫자 : 모드 숫자(MOD number)는 카운터가 처음 상태로 되돌아가기까지 한 주기를 이루는 상태 개수와 같다. 여기서 MOD 숫자는 16이다. 연결된 FF의 개수를 N이라 할 때, MOD 숫자 = 2N이다. 주파수 분할 : 각 FF의 출력 주파수는 입력 주파수의 1/2이다. 클럭의 주기는 총 delay보단 커야 한다. 7-2. 리플 카운터에서의 전파 지연 입력 클럭 주파수의 최대값 일반적인 동작에서, 입력 펄스 간의 주기는 카운터 전체 전파 지연 시간보다 길어야 한다. 따라서 Tclock ≥ N * tpd 여기서 T는 입력 펄스 간..
2023.11.28 -
JAVA chap 9. GUI 기초, AWT와 Swing
1. 자바의 GUI, AWT, Swing 자바의 GUI GUI란 Graphical User Interface로, 사용자가 편리하게 사용할 수 있도록 입출력 등의 기능을 알기 쉬운 아이콘 등의 그래픽으로 나타낸 것을 말한다. 자바의 AWT AWT란 Abstract Windowing Toolkit으로, 자바가 처음 나왔을 때 함께 배포된 GUI 라이브러리를 말한다. AWT 컴포넌트는 중량 컴포넌트이다. native(peer) 운영체제의 GUI 컴포넌트의 도움을 받아 작동한다. 이에 따라 운영체제에 많은 부담을 주지만, 오히려 처리 속도는 빠르다. 자바의 Swing AWT 기술을 기반으로, 순수 자바 언어로 만들어진 라이브러리이다. Swing 컴포넌트는 경량 컴포넌트이다. native(peer) 운영체제에 의..
2023.11.21