전체 글(22)
-
논리회로 chap 9. MSI Logic Circuits
9-0. MSI MSI란? medium-scale integration의 약어로, 중간 규모의 통합을 의미한다. 수백에서 수천 개의 전자 부품(트랜지스터, 저항기, 캐패시터 등)을 하나의 칩에 통합한 것을 의미한다. 이 범주는 소규모 통합(SSI)와 대규모 통합(LSI) 사이에 위치한다. 9-1. 디코더 디코더란? 디코더란 한 출력이 특정한 입력들의 조합에 의해서만 이루어질 때 사용한다. 카운터나 레지스터의 출력에 대해서 작동한다. 이진수를 나타내는 입력들을 받는다. 디코더는 특정한 입력의 조합에 대해 하나의 결과만이 active(HIGH)하며, 나머지는 LOW이다. 많은 디코더들은 active-LOW output을 만들게끔 설계되었다. 즉, 하나의 선택된 output만이 LOW, 나머지는 HIGH 상태..
2023.12.04 -
논리회로 chap 5. Flip-Flops and Related Devices
기말 시험 범위는 5-6부터!
2023.12.04 -
시스템 프로그래밍 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