Greetings

I'm a 4th-year Ph.D. candidate in Computer Science at the University of Toronto, working with Prof. Khai Truong in the DGP lab.

My research lies at the intersection of human–AI interaction, accessibility, and creativity support, with a special focus on improving music accessibility for d/Deaf and hard-of-hearing (DHH) individuals. My projects include song signing (CHI ’23) to explore how music is experienced and expressed within Deaf culture, and ELMI (CHI ’25), an LLM-supported English lyrics to ASL gloss translation system.

I completed my B.Sc. in Computer Science and Engineering at Ewha Womans University, where I was advised by Prof. Uran Oh (Human-Computer Interaction Lab) and Prof. Hyokyung Bahn (Distributed Computing and Operating Systems Lab).

Additionally, I worked as a research intern at Samsung AI Center Toronto, where I was mentored by Iqbal Mohomed, and at NAVER AI LAB under the supervision of Young-Ho Kim. Most recently, I interned at Adobe Research in the STORIE Lab, supervised by Anh Truong and Justin Salamon .

💼 I am currently exploring academic (Assistant Professor) and industry (Research Scientist) positions starting in Summer/Fall 2026.

Google Scholar | LinkedIn | suhyeon.yoo[at]mail.utoronto.ca

Cache Implementation (Fall, 2018)

 Computer Architecture
   Prof. HyungJune Lee

http://eureka.ewha.ac.kr/eureka/hs/hssg4005q.do?YEAR=2018&TERM_CD=20&GROUP_CD=20&SUBJECT_CD=20493&CLASS_NUM=02


3. Overall Flow

 First, in main(), initialize memory and cache using init_memory_content() and init_cache_content().

Read address and data type from input file ‘accessed_input.txt’ line by line while input file pointer does not meet EOF(end of file).

After read data from input file, global_timestamp increase at each line read.

Get data from cache or memory with retrieve_data(). retrieve_data() needs 2 arguments, void pointer type addr and character type data_type.

main() pass addr and data type that reads from input file. 

In retrieve_data(), get accessed_data by invoking check_cache_data_hit().

check_cache_data_hit() needs 2 arguments same as retrieve_data(). retrieve_data() pass 2 arguments received from main() to check_cache_data_hit(). 

In check_cache_data_hit(), if it can access data using cache return that accessed data to retrieve_data() and increase num_cach_hits.

If not, return -1 so retrieve_data() invoke access_memory().

After invoking check_cache_data_hit(), if value_returned is -1, it means cache miss, so invoke access_memory().

access_memory() needs 2 arguments same with check_cache_data_hit(). 

In access_memory(), increase num_cache_memory and invoke find_entry_index_in_set() to find entry index.

Using entry index that found by find_entry_index_set(), save data into cache from memory. And return the data to retrieve_data(). 


Increase num_bytes according to data_type to calculate bandwidth. Finally, returned the accessed_data to main().

If there are errors in access memory, -1 will be returned.

Print the accessed data received by retrieve_data() and accessed_addr, accessed_data type to an output file every time accessed.

After finish reading the input file, print the hit ratio and bandwidth.


Comments